@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-vietnamese-400-normal-BF4g3tCF.woff2) format("woff2"),url(/assets/archivo-vietnamese-400-normal-FGOLYM1a.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-latin-ext-400-normal-B5tPZzqW.woff2) format("woff2"),url(/assets/archivo-latin-ext-400-normal-DrmqtLj6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-latin-400-normal-C81ewxNO.woff2) format("woff2"),url(/assets/archivo-latin-400-normal-Bl602Mgc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-vietnamese-600-normal-anCjMumA.woff2) format("woff2"),url(/assets/archivo-vietnamese-600-normal-C8xBVdfP.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-latin-ext-600-normal-Dm61iqcg.woff2) format("woff2"),url(/assets/archivo-latin-ext-600-normal-D7uErJuz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-latin-600-normal-3BBy0ZsW.woff2) format("woff2"),url(/assets/archivo-latin-600-normal-DwYieO8P.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/archivo-vietnamese-800-normal-DHDgv4cm.woff2) format("woff2"),url(/assets/archivo-vietnamese-800-normal-BKe5Z8rz.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/archivo-latin-ext-800-normal-BC6piDwP.woff2) format("woff2"),url(/assets/archivo-latin-ext-800-normal-B9NTbsU1.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/archivo-latin-800-normal-cB6v3kRN.woff2) format("woff2"),url(/assets/archivo-latin-800-normal-DZa_k145.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-vietnamese-600-normal-B3iMS2rD.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-600-normal-BOVNaV0C.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-latin-ext-600-normal-DNmONYTo.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-600-normal-CFDqFZjW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-latin-600-normal-l2jiltzb.woff2) format("woff2"),url(/assets/archivo-narrow-latin-600-normal-DZkbuzR9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-vietnamese-700-normal-VsvP8OcS.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-700-normal-CB0yIOvF.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-ext-700-normal-DCLoHMFv.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-700-normal-C4q0W15T.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-700-normal-DtADLsoy.woff2) format("woff2"),url(/assets/archivo-narrow-latin-700-normal-DxmyBkwC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cement: #d6d4ce;--cement-2: #e4e2dd;--ink: #1d1d1b;--ink-2: #4f4d47;--ink-3: #6b6962;--paper: #ffffff;--rule: #cfccc5;--danger: #b3261e;--primary: #1f5c4a;--on-primary: #fff;--primary-text: #1f5c4a;--accent: #d29a2a;--on-accent: #1d1d1b;--accent-on-ink: #d29a2a;--f-body: "Archivo", system-ui, sans-serif;--f-narrow: "Archivo Narrow", "Archivo", system-ui, sans-serif;--gutter: 20px;--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}body{margin:0;background:var(--cement);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.4;caret-color:var(--primary);-webkit-tap-highlight-color:transparent}body.locked{overflow:hidden}h1,h2,h3,p,ul,dl,dd,fieldset{margin:0;padding:0}ul{list-style:none}fieldset{border:0;min-width:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary-text);text-underline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}*{scrollbar-color:var(--ink-3) transparent;scrollbar-width:thin}.layout{min-height:100dvh}.menu-col{max-width:640px;margin:0 auto;background:var(--cement)}.side-panel{display:none}.masthead{background:var(--paper);padding:22px var(--gutter) 16px}.masthead-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.brand{font-family:var(--f-narrow);font-weight:700;font-size:clamp(28px,8vw,36px);line-height:1;letter-spacing:-.01em}.logo-img{max-height:56px;max-width:60%;object-fit:contain}.status{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;padding-top:6px}.status:before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}.status.is-open{color:var(--primary-text)}.status.is-closed{color:var(--danger)}.tagline{margin-top:6px;color:var(--ink-2);font-size:15px}.mode-line{margin-top:12px;font-size:15px;color:var(--ink-2)}.mode-line b{color:var(--ink);font-weight:800}.cenefa{height:12px;background-image:var(--cenefa);background-size:12px 12px;background-repeat:repeat-x}.cenefa-run{height:14px;background-size:14px 14px;background-position-x:calc(var(--step, 0) * 14px);transition:background-position-x .7s var(--ease-out)}.catnav{position:sticky;top:0;z-index:10;display:flex;align-items:center;background:var(--ink);color:#e9e7e2;min-height:52px}.cat-tabs{flex:1;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:0 8px;scroll-snap-type:x proximity}.cat-tabs::-webkit-scrollbar{display:none}.cat-tabs button{border:0;background:none;white-space:nowrap;scroll-snap-align:center;font-family:var(--f-narrow);font-weight:600;font-size:16px;letter-spacing:.01em;color:#cfccc5;padding:15px 12px;min-height:52px;transition:background-color .2s,color .2s}.cat-tabs button:hover{color:#fff}.cat-tabs button.on{background:var(--accent);color:var(--on-accent)}.icon-btn{display:inline-grid;place-items:center;flex:none;width:48px;height:48px;border:0;background:none;color:inherit}.search-btn{border-left:1px solid #3a3935}.search{flex:1;display:flex;align-items:center;gap:8px;padding-left:16px}.search input{flex:1;min-width:0;height:52px;border:0;background:none;color:#fff;font-size:16px;caret-color:var(--accent-on-ink)}.search input::placeholder{color:#a9a69e}.search input:focus-visible{outline:none}.search input::-webkit-search-cancel-button{display:none}.closed-note{background:var(--paper);border-bottom:1px solid var(--rule);padding:12px var(--gutter);font-size:15px;color:var(--ink-2)}.cat{padding-bottom:8px}.cat-title{font-family:var(--f-narrow);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding:28px var(--gutter) 10px}.items{background:var(--paper)}.item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text price" "text control";column-gap:16px;row-gap:10px;padding:18px var(--gutter);border-bottom:1px solid var(--cement)}.item.has-img{grid-template-columns:84px minmax(0,1fr) auto;grid-template-areas:"img text price" "img text control"}.item-img{grid-area:img;width:84px;height:84px;object-fit:cover;background:var(--cement-2)}.item-text{grid-area:text}.item-name{font-size:19px;font-weight:800;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}.item-desc{margin-top:5px;font-size:15px;color:var(--ink-2);line-height:1.4;max-width:46ch}.item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.tag{font-size:12px;font-weight:600;letter-spacing:.02em;padding:3px 7px;background:var(--cement-2);color:var(--ink-2)}.tag-in{background:var(--primary);color:var(--on-primary)}.item-price{grid-area:price;text-align:right;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.item-control{grid-area:control;justify-self:end;align-self:end}.add{display:grid;place-items:center;width:48px;height:48px;border:0;background:var(--primary);color:var(--on-primary);transition:transform .16s var(--ease-out),filter .16s}.add:hover{filter:brightness(1.12)}.add:active{transform:scale(.92)}.stepper{display:inline-flex;align-items:center;background:var(--accent);color:var(--on-accent)}.stepper .step{display:grid;place-items:center;width:44px;height:44px;border:0;background:none;color:inherit}.stepper .step:disabled{opacity:.4;cursor:default}.stepper output{min-width:22px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.stepper-lg .step{width:48px;height:52px}.is-soldout .item-name,.is-soldout .item-price{color:var(--ink-3)}.is-soldout .item-price{text-decoration:line-through;text-decoration-thickness:2px}.soldout{display:inline-block;font-size:13px;font-weight:700;padding:7px 10px;color:var(--ink-2);background:repeating-linear-gradient(45deg,var(--cement) 0 5px,var(--cement-2) 5px 10px)}.empty-search{background:var(--paper);padding:24px var(--gutter);color:var(--ink-2)}.foot{padding:36px var(--gutter) 140px;display:grid;gap:28px;color:var(--ink-2);font-size:15px}.foot-title{display:flex;align-items:center;gap:8px;font-family:var(--f-narrow);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}.hours{display:grid;gap:4px;max-width:320px}.hours-row{display:flex;justify-content:space-between;gap:16px}.hours-row dt{text-transform:capitalize}.hours-row dd{font-variant-numeric:tabular-nums}.credit{font-size:13px;color:var(--ink-3);border-top:1px solid var(--rule);padding-top:16px}.credit a{color:var(--ink-2);font-weight:600}.order-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;animation:bar-in .42s var(--ease-out)}.order-bar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--ink);color:#fff;padding:12px var(--gutter) calc(14px + env(safe-area-inset-bottom))}.order-bar-count{font-size:14px;color:#cfccc5}.order-bar-total{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}@keyframes bar-in{0%{transform:translateY(100%)}}.btn-accent,.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:0;font-weight:800;font-size:16px;text-decoration:none;transition:filter .16s,transform .16s var(--ease-out)}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-ghost{background:none;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.btn-accent:hover,.btn-primary:hover{filter:brightness(1.08)}.btn-accent:active,.btn-primary:active{transform:scale(.98)}.btn-accent:disabled{background:var(--cement);color:var(--ink-3);cursor:not-allowed;filter:none}.block{display:flex;width:100%}.grow{flex:1}.btn-text{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:10px 4px;min-height:44px;font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.btn-text.danger{color:var(--danger)}.sheet{margin:auto auto 0;padding:0;border:0;width:100%;max-width:min(560px,100vw);max-height:92dvh;background:var(--paper);color:var(--ink);animation:sheet-in .38s var(--ease-out)}.sheet::backdrop{background:#1d1d1b8c;animation:fade .3s}.sheet-body{padding:0 var(--gutter) calc(20px + env(safe-area-inset-bottom))}.sheet:before{content:"";display:block;height:12px;background-image:var(--cenefa);background-size:12px 12px;background-repeat:repeat-x}@keyframes sheet-in{0%{transform:translateY(40%);opacity:0}}@keyframes fade{0%{opacity:0}}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 0 14px}.sheet-head .icon-btn{margin:-8px -12px 0 0}.sheet-title{font-family:var(--f-narrow);font-weight:700;font-size:26px;line-height:1.1}.sheet-sub{margin-top:6px;color:var(--ink-2);font-size:15px}.sheet-foot{position:sticky;bottom:0;display:flex;gap:12px;align-items:stretch;background:var(--paper);padding:14px 0 4px;margin-top:8px}.opt-group{border-top:1px solid var(--cement);padding:16px 0 8px}.opt-group legend{display:flex;justify-content:space-between;align-items:baseline;width:100%;font-weight:800;font-size:17px;padding-top:16px;margin-bottom:6px}.opt-req{font-size:13px;font-weight:600;color:var(--ink-3)}.opt-group.has-error legend{color:var(--danger)}.opt{display:flex;align-items:center;gap:12px;min-height:48px;border-bottom:1px solid var(--cement-2);cursor:pointer}.opt:last-child{border-bottom:0}.opt input{width:20px;height:20px;accent-color:var(--primary);margin:0}.opt-name{flex:1}.opt-price{font-variant-numeric:tabular-nums;color:var(--ink-2)}.field{display:grid;gap:6px;margin-top:16px}.field-label{font-weight:800;font-size:15px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.field input,.field textarea,.field select{width:100%;min-height:48px;padding:11px 12px;border:0;border-radius:0;background:var(--cement-2);box-shadow:inset 0 -2px 0 var(--ink-3);font-size:16px;resize:vertical}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none;box-shadow:inset 0 -3px 0 var(--primary);background:#eceae6}.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field.has-error input,.field.has-error textarea{box-shadow:inset 0 -3px 0 var(--danger)}.field-error{color:var(--danger);font-size:14px;font-weight:600;margin-top:4px}.hint{font-size:14px;color:var(--ink-3)}.hint.center{text-align:center;margin-top:10px}.panel{padding-bottom:8px}.lines{border-top:1px solid var(--cement)}.line{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text price" "text control";gap:8px 14px;padding:14px 0;border-bottom:1px solid var(--cement)}.line-text{grid-area:text}.line-name{font-weight:800;font-size:16px}.line-sel{font-size:14px;color:var(--ink-2);margin-top:3px}.line-price{grid-area:price;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.line .stepper{grid-area:control;justify-self:end;background:var(--cement-2);color:var(--ink)}.line .stepper .step{width:40px;height:40px}.modes{margin-top:22px}.modes .field-label{margin-bottom:8px}.mode-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--cement-2)}.mode-tab{position:relative;display:grid;place-items:center;text-align:center;min-height:52px;padding:6px;cursor:pointer;font-family:var(--f-narrow);font-weight:700;font-size:16px;color:var(--ink-2);transition:background-color .22s,color .22s}.mode-tab input{position:absolute;opacity:0;pointer-events:none}.mode-tab.on{background:var(--ink);color:var(--accent-on-ink)}.mode-tab:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.sum{margin:22px 0 14px;border-top:2px solid var(--ink);padding-top:12px;display:grid;gap:6px}.sum-row{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;color:var(--ink-2)}.sum-total{color:var(--ink);font-size:22px;font-weight:800}.send{margin-top:6px}.danger-zone{margin-top:28px;padding-top:14px;border-top:1px dashed var(--rule);display:flex;justify-content:center}.confirm-clear{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-weight:600}.empty,.sent{text-align:center;padding:8px 4px 24px;display:grid;gap:12px;justify-items:center;color:var(--ink-2)}.empty-tile,.sent-tile{width:96px;height:96px;margin-bottom:4px;background-image:var(--tile);background-size:48px 48px}.sent-tile{animation:tile-turn .9s var(--ease-out)}@keyframes tile-turn{0%{transform:rotate(-90deg) scale(.6);opacity:0}}.empty-title,.sent-title{font-family:var(--f-narrow);font-weight:700;font-size:22px;color:var(--ink)}.sent .block{width:100%}@media(min-width:960px){:root{--gutter: 28px}.layout{display:grid;grid-template-columns:minmax(0,640px) 400px;justify-content:center;gap:32px;padding:0 24px}.menu-col{margin:0;width:100%}.side-panel{display:block;position:sticky;top:24px;align-self:start;max-height:calc(100dvh - 48px);overflow-y:auto;margin-top:24px;background:var(--paper)}.side-panel:before{content:"";display:block;height:14px;position:sticky;top:0;z-index:1;background-image:var(--cenefa);background-size:14px 14px;background-repeat:repeat-x}.side-panel .panel{padding:0 24px 20px}.order-bar,.only-sheet{display:none}.foot{padding-bottom:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
