:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafaf5;--surface:#fff;--surface-soft:#f4efe8;--surface-tint:#f4efe8;--text:#2c1810;--muted:#63574d;--line:#e4d8ca;--line-strong:#d1c1b1;--primary:#2c1810;--primary-strong:#21110b;--primary-soft:#f0ebe8;--accent:#c8873a;--accent-soft:#f8ecdf;--success:#3a7a55;--danger:#a83030;--shadow-sm:0 3px 12px #2c18100e;--shadow-md:0 12px 30px #2c181017;--shadow-lg:0 24px 64px #2c18102e;--radius-sm:10px;--radius-md:14px;--radius-lg:12px;--radius-xl:22px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{color:var(--text);background:var(--bg);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Sukhumvit Set,Noto Sans Thai,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button,input,textarea{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #2c181029}.option-chip:has(input:focus-visible){box-shadow:0 0 0 3px #2c181029}button:focus-visible,textarea:focus-visible{border-color:var(--primary)}.shell{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.topbar{z-index:10;border-bottom:1px solid var(--line);min-height:84px;box-shadow:none;-webkit-backdrop-filter:blur(20px)saturate(1.35);background:#fafaf5f0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:14px max(24px,50vw - 640px);display:grid;position:sticky;top:0}.brand{min-width:0}.brand:before{display:none}.brand-title{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(21px,2.2vw,27px);font-weight:760;line-height:1.12;overflow:hidden}.brand-subtitle{width:fit-content;color:var(--muted);align-items:center;gap:6px;margin:6px 0 0;font-size:13px;font-weight:550;display:flex}.brand-subtitle:before{display:none}.header-actions{align-items:center;gap:9px;min-width:0;display:flex}.bill-button,.language-button,.primary-button,.icon-button,.close-button,.secondary-button{border-radius:var(--radius-sm);border:1px solid #0000;min-height:46px;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s}.bill-button{min-width:0;color:var(--primary-strong);border-color:var(--line);box-shadow:var(--shadow-sm);white-space:nowrap;background:#fffffff0;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:14px;font-weight:680;display:inline-flex}.bill-button svg,.language-button svg,.primary-button svg{flex:none}.header-actions .bill-button:last-child{color:#8a571d;background:var(--accent-soft);box-shadow:none;border-color:#ead4ba}.language-button{min-width:46px;color:var(--text);border-color:var(--line);background:#ffffffeb;padding:0 12px;font-size:13px;font-weight:760}.bill-button:hover,.language-button:hover,.secondary-button:hover,.icon-button:hover,.close-button:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.header-action-active,.header-actions .header-action-active{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:none}.content{width:min(1280px,100%);padding:28px 24px calc(132px + env(safe-area-inset-bottom));margin:0 auto}.menu-tools{margin-bottom:14px}.search-field{min-height:56px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fffffff5;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:0 18px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:grid}.search-field:focus-within{color:var(--primary);background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px #2c181021}.search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;font-size:15px}.search-field input::placeholder{color:#918986;opacity:1}.tabs{scrollbar-width:none;scroll-snap-type:x proximity;gap:9px;padding:2px 1px 20px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:#655d59;border:1px solid var(--line);min-height:44px;box-shadow:none;scroll-snap-align:start;background:#ffffffe6;border-radius:999px;flex:none;padding:0 16px;font-size:14px;font-weight:640;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s,transform .16s}.tab:hover{color:var(--primary-strong);border-color:var(--line-strong);transform:translateY(-1px)}.tab-active{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:none}.product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.product-card{min-width:0;min-height:0;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-rows:auto 1fr;padding:0;transition:transform .19s,border-color .19s,box-shadow .19s;display:grid;position:relative;overflow:hidden;transform:translateZ(0)}.product-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-4px)}.product-card:active{box-shadow:var(--shadow-sm);transform:translateY(-1px)scale(.995)}.product-image,.product-fallback{aspect-ratio:4/3;object-fit:cover;background:#f0ebe6;place-items:center;width:100%;transition:transform .26s;display:grid}.product-card:hover .product-image{transform:scale(1.025)}.product-fallback{filter:saturate(.85);font-size:54px}.product-image-large,.product-fallback-large{aspect-ratio:16/9;border-radius:0}.product-fallback-large{font-size:78px}.product-info{text-align:center;align-content:start;justify-items:center;gap:5px;min-width:0;padding:14px 12px 16px;display:grid}.product-name{letter-spacing:-.012em;min-width:0;font-size:16px;font-weight:720;line-height:1.35}.product-subtitle{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:450;line-height:1.4;overflow:hidden}.product-card .product-subtitle{display:none}.price{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;margin-top:3px;font-size:16px;font-weight:760}.product-chevron{display:none}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);overscroll-behavior:contain;touch-action:none;background:#2c18106b;place-items:end center;padding:18px;animation:.16s both backdrop-in;display:grid;position:fixed;inset:0}.product-modal{background:var(--surface);border-radius:var(--radius-xl);width:min(620px,100%);max-height:min(820px,100dvh - 36px);box-shadow:var(--shadow-lg);touch-action:auto;border:1px solid #ffffffb8;grid-template-rows:auto minmax(0,1fr);animation:.2s cubic-bezier(.2,.8,.2,1) both sheet-in;display:grid;overflow:hidden}.modal-image-wrap{background:#eee9e4;position:relative;overflow:hidden}.close-button{width:44px;min-height:44px;color:var(--text);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-color:#ffffffbd;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:24px;overflow:auto}.modal-title-row{justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:6px;display:flex}.modal-title-row>div,.confirm-row>div:first-child,.current-order-row>div:first-child{min-width:0}.modal-title-row h2{letter-spacing:-.025em;margin:0;font-size:clamp(22px,4vw,27px);font-weight:760;line-height:1.25}.modal-title-row p{color:var(--muted);margin:6px 0 0;font-size:14px}.modal-title-row strong{color:var(--primary-strong);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:22px;font-weight:780}.option-group{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.option-title{color:var(--text);justify-content:space-between;gap:16px;margin-bottom:11px;font-size:14px;font-weight:680;display:flex}.option-title span:last-child:not(:first-child){color:#8a571d;font-size:12px;font-weight:700}.option-list{flex-wrap:wrap;gap:9px;display:flex}.option-chip{color:#655d59;background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:9px 13px;font-size:14px;font-weight:570;transition:color .14s,background-color .14s,border-color .14s,box-shadow .14s;display:inline-flex}.option-chip:has(input:checked){color:var(--primary-strong);background:var(--primary-soft);box-shadow:none;border-color:#cdb9ac}.option-chip input{width:17px;height:17px;accent-color:var(--primary);margin:0}.note{resize:vertical;width:100%;min-height:94px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);margin-top:20px;padding:14px 15px;line-height:1.5;transition:background-color .16s,border-color .16s,box-shadow .16s}.note:focus{background:var(--surface);border-color:var(--primary)}.modal-actions{padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:22px -24px -24px;display:grid;position:sticky;bottom:-24px}.section-head{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-top:22px;display:flex}.current-order-page{width:min(760px,100%);margin:0 auto}.current-order-page .section-head{border-top:0;margin-top:0;padding-top:0}.current-order-page .section-head>span{display:none}.shell:has(.current-order-page) .cart{display:none}.section-head h2{letter-spacing:-.02em;margin:0;font-size:clamp(21px,3vw,27px);font-weight:750}.section-head>span{color:var(--primary-strong);font-variant-numeric:tabular-nums;font-size:18px;font-weight:750}.current-order-list{gap:0;margin-top:14px;display:grid}.order-total-panel{color:#fff;background:var(--primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:0;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:20px 22px;font-weight:620;display:flex;position:relative;overflow:hidden}.order-total-panel strong{font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:28px;font-weight:760}.current-order-row,.confirm-row{background:var(--surface);border:0;border-bottom:1px solid var(--line);min-width:0;box-shadow:none;border-radius:0;justify-content:space-between;gap:18px;padding:15px 2px;display:flex}.current-order-row strong,.confirm-row strong{overflow-wrap:anywhere;font-weight:680}.current-order-row p,.confirm-row p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;line-height:1.42}.current-order-row>span,.confirm-row>span,.cart-line-actions>span{color:var(--primary-strong);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:750}.kitchen-status{border-radius:999px;width:fit-content;margin-top:9px;padding:5px 9px;font-size:11.5px;font-weight:680;display:inline-flex}.kitchen-status.sent{color:var(--success);background:#e7f1eb}.kitchen-status.pending{color:#84500b;background:#fff0d1}.confirm-modal{background:var(--surface);border-radius:var(--radius-xl);width:min(560px,100%);max-height:min(760px,100dvh - 36px);box-shadow:var(--shadow-lg);touch-action:auto;border:1px solid #ffffffb8;grid-template-rows:auto minmax(0,1fr) auto;animation:.2s cubic-bezier(.2,.8,.2,1) both sheet-in;display:grid;overflow:hidden}.small-modal{grid-template-rows:auto auto}.confirm-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:22px 22px 18px;display:flex}.confirm-head h2{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:750;line-height:1.25}.confirm-head p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.45}.confirm-close{background:var(--surface-soft);border-color:var(--line);box-shadow:none;flex:none;position:static}.confirm-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;gap:0;min-height:0;padding:14px 18px;display:grid;overflow:auto}.confirm-actions{padding:16px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefbf2;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px;display:grid}.secondary-button{color:var(--text);background:var(--surface-soft);border-color:var(--line);padding:0 16px;font-size:14px;font-weight:660}.wide-button{width:100%;margin-top:16px}.empty-inline{color:var(--muted);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:#fffefb8c;margin-top:14px;padding:24px;line-height:1.55}.modal-empty{margin:18px}.stepper{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:44px 42px 44px;align-items:center;min-height:48px;display:inline-grid;overflow:hidden}.compact-stepper{grid-template-columns:40px 34px 40px;min-height:44px}.compact-stepper .icon-button{min-height:44px}.cart-line-actions{align-content:start;justify-items:end;gap:9px;display:grid}.icon-button{min-height:46px;color:var(--text);background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid}.qty{text-align:center;font-variant-numeric:tabular-nums;font-weight:720}.primary-button{color:#fff;background:var(--primary);border-color:var(--primary);min-width:0;box-shadow:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled,.bill-button:disabled{cursor:not-allowed;box-shadow:none;opacity:.48;transform:none}.cart{z-index:20;padding:0 18px calc(16px + env(safe-area-inset-bottom));pointer-events:none;position:fixed;bottom:0;left:0;right:0}.cart-inner{width:min(760px,100%);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px);pointer-events:auto;background:#fffffff7;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 auto;padding:12px 12px 12px 18px;display:grid;box-shadow:0 -2px 18px #2c18101f}.cart-title{color:var(--text);align-items:center;gap:9px;margin:0;font-size:15px;font-weight:680;display:flex}.cart-summary-button{min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:0}.cart-summary-button:focus-visible{border-radius:8px}.cart-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:3px 0 0 27px;font-size:12.5px;font-weight:500}.cart .primary-button{color:#fff;background:var(--primary);border-color:var(--primary);min-height:50px;box-shadow:none}.cart .primary-button:hover:not(:disabled){color:#fff;background:var(--primary-strong);border-color:var(--primary-strong);box-shadow:none}.empty,.closed{width:min(560px,100% - 28px);color:var(--text);text-align:center;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fffefbe6;margin:clamp(76px,18vh,160px) auto;padding:38px 32px;position:relative;overflow:hidden}.empty:before,.closed:before{content:"";background:var(--accent);border-radius:999px;width:42px;height:6px;margin:0 auto 20px;display:block}.empty h1,.closed h1,.empty h2{letter-spacing:-.025em;margin:0;font-size:clamp(23px,5vw,29px);font-weight:750}.empty p,.closed p{color:var(--muted);margin:10px 0 0;line-height:1.6}.content>.empty{box-shadow:none;background:#fffefb99;border-style:dashed;margin:36px auto}.toast{right:14px;bottom:calc(112px + env(safe-area-inset-bottom));z-index:40;color:#fff;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2c1810f5;border:1px solid #ffffff1f;border-radius:999px;width:fit-content;max-width:min(520px,100% - 28px);margin:0 auto;padding:12px 16px;font-size:13.5px;font-weight:570;line-height:1.4;animation:.19s both toast-in;position:fixed;left:14px;box-shadow:0 12px 32px #111d1738}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:720px){.modal-backdrop{place-items:center}}@media (max-width:720px){.topbar{grid-template-rows:auto auto;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:10px 8px;min-height:0;padding:13px 14px 12px;display:grid}.brand{grid-area:1/1/auto/6;padding-left:0}.brand-title{font-size:21px}.brand-subtitle{margin-top:4px}.header-actions{display:contents}.language-button{grid-area:1/6/auto/7;justify-self:end;width:46px}.header-actions .bill-button:nth-child(2){grid-area:2/1/auto/4}.header-actions .bill-button:nth-child(3){grid-area:2/4/auto/7}.header-actions .bill-button{overflow-wrap:anywhere;white-space:normal;min-width:0;min-height:48px;padding:6px 9px;font-size:12.5px;line-height:1.2}.header-actions .bill-button svg{width:17px;height:17px}.language-button{min-width:0;min-height:48px;padding:0 6px}.content{padding:18px 14px calc(112px + env(safe-area-inset-bottom))}.search-field{border-radius:15px;min-height:52px;padding:0 15px}.tabs{margin:0 -14px;padding:2px 14px 17px;scroll-padding-inline:14px}.tab{min-height:42px;padding:0 14px;font-size:13px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{border-radius:18px}.product-image,.product-fallback{aspect-ratio:1/.92}.product-image-large,.product-fallback-large{aspect-ratio:16/10;max-height:34dvh}.product-fallback{font-size:46px}.product-info{gap:4px;padding:12px 10px 14px}.product-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.product-subtitle{font-size:11.5px}.price{font-size:15px}.product-chevron{width:29px;height:29px;bottom:13px;right:10px}.modal-backdrop{padding:0}.product-modal{width:100%;height:calc(100dvh - max(16px, env(safe-area-inset-top)));border-bottom:0;border-left:0;border-right:0;border-radius:26px 26px 0 0;max-height:none}.modal-body{padding:20px}.modal-title-row h2{font-size:22px}.modal-title-row strong{font-size:20px}.modal-actions{padding:14px 20px calc(14px + env(safe-area-inset-bottom));margin:20px -20px -20px;bottom:-20px}.confirm-modal{border-bottom:0;border-left:0;border-right:0;border-radius:26px 26px 0 0;align-self:end;width:100%;max-height:min(86dvh,760px)}.confirm-head{padding:20px 18px 16px}.confirm-head h2{font-size:22px}.confirm-list{padding:12px 14px}.confirm-actions{padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.confirm-actions .primary-button,.confirm-actions .secondary-button{min-height:48px;padding:5px 10px;font-size:13px;line-height:1.25}.cart{padding:0 10px calc(10px + env(safe-area-inset-bottom))}.cart-inner{border-radius:18px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 10px 10px 14px}.cart-title{font-size:14px}.cart-meta{margin-left:26px;font-size:11.5px}.cart .primary-button{min-height:48px;padding:0 14px;font-size:13px}.toast{bottom:calc(96px + env(safe-area-inset-bottom));font-size:12.5px}}@media (max-width:360px){.topbar{padding-inline:10px}.language-button{width:42px}.header-actions .bill-button{padding-inline:6px;font-size:11.5px}.header-actions .bill-button svg{width:15px;height:15px}.content{padding-left:10px;padding-right:10px}.tabs{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.product-grid{gap:9px}.product-info{padding-left:8px;padding-right:8px}.confirm-actions{grid-template-columns:1fr}.cart-title{font-size:13px}.cart .primary-button{padding:0 11px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
