:root{--bg: #14161B;--bg2: #1C1F26;--panel: #22262E;--line: #3A3427;--gold: #C9A55C;--gold-lt: #E7CE94;--gold-dk: #8A6A2F;--text: #F4EFE3;--muted: #ADA69A;--chilli: #D8553C;--ok: #6FBF73;--radius: 14px;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{font-family:Lato,system-ui,sans-serif;color:var(--text);font-size:15px;line-height:1.4;background:radial-gradient(120% 60% at 50% -10%,rgba(201,165,92,.14),transparent 60%),linear-gradient(180deg,#1A1D23,var(--bg) 40%);min-height:100vh;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea{font:inherit;color:var(--text)}.app{max-width:640px;margin:0 auto;padding-bottom:110px}.top{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;position:sticky;top:0;z-index:20;background:#14161bf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.logo{width:46px;height:46px;border-radius:50%}.top-txt{display:flex;flex-direction:column;flex:1;min-width:0}.brand{font-family:Montserrat;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-lt);font-size:15px}.sub{font-family:Cormorant;font-style:italic;font-weight:600;color:var(--gold);font-size:15px}.tablepill{background:var(--gold);color:#15171c;font-family:Montserrat;font-weight:700;font-size:13px;padding:7px 12px;border-radius:99px;white-space:nowrap;display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}.tablepill small{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.75}.tabs{display:flex;gap:6px;padding:10px 16px 0;position:sticky;top:71px;z-index:19;background:#14161bf0}.tabs button{flex:1;padding:10px;border-radius:10px 10px 0 0;font-family:Montserrat;font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid transparent}.tabs button.on{color:var(--gold-lt);border-bottom-color:var(--gold)}.dot{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;border-radius:99px;background:var(--gold);color:#15171c;font-size:11px}.catbar{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;position:sticky;top:117px;z-index:18;background:#14161bf0;scrollbar-width:none;border-bottom:1px solid var(--line)}.catbar::-webkit-scrollbar{display:none}.catbar button{flex:0 0 auto;padding:8px 14px;border:1px solid var(--gold-dk);border-radius:99px;font-family:Montserrat;font-weight:600;font-size:12.5px;color:var(--gold-lt);white-space:nowrap}.catbar button.on{background:var(--gold);color:#15171c;border-color:var(--gold)}.notice{margin:12px 16px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:12.5px;color:var(--muted);background:var(--bg2)}.notice.warn{border-color:var(--chilli);color:var(--text)}.legend{margin:10px 16px 0;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.legend .sep{width:10px}.cat{padding:6px 16px 4px;scroll-margin-top:170px}.cat-title{font-family:Cormorant;font-style:italic;font-weight:600;color:var(--gold-lt);font-size:28px;margin:18px 0 2px;text-align:center}.cat-title:after{content:"";display:block;width:90px;height:1px;margin:6px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.cat-intro{text-align:center;color:var(--muted);font-style:italic;font-size:13px;margin:6px 8px 0}.items{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:10px}.item{width:100%;display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,var(--panel),var(--bg2))}.item:active{transform:scale(.99)}.item.soldout{opacity:.45}.item-body{display:flex;flex-direction:column;gap:3px;min-width:0}.item-name{font-family:Montserrat;font-weight:600;font-size:14.5px;color:var(--text)}.item-desc{font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-var{font-family:Montserrat;font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.item-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-family:Montserrat;font-weight:700;color:var(--gold-lt);font-size:14px;white-space:nowrap;position:relative}.item-price small{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.item-price em{font-style:normal;color:var(--chilli);font-size:12px}.incart{display:grid;place-items:center;min-width:22px;height:22px;border-radius:99px;background:var(--gold);color:#15171c;font-size:12px}.ph{border-radius:50%;overflow:hidden;border:1.5px solid var(--gold);outline:1px solid var(--gold-dk);outline-offset:2px;background:#1b1e25;display:grid;place-items:center}.ph img{width:100%;height:100%;object-fit:cover;display:block}.ph .ph-mark{width:46%;height:auto;opacity:.35;object-fit:contain}.ph-sm{width:60px;height:60px;margin:2px}.ph-lg{width:170px;height:170px;margin:6px auto 4px}.heat{display:inline-flex;gap:1px;margin-left:6px;vertical-align:-2px}.chilli{width:14px;height:14px;fill:var(--chilli)}.new{display:inline-block;margin-left:7px;background:var(--chilli);color:#fff4ec;font-family:Montserrat;font-weight:700;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;border-radius:99px;padding:3px 7px 2px;vertical-align:2px}.basketbar{position:fixed;left:50%;transform:translate(-50%);bottom:max(14px,env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:612px;z-index:30;display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:99px;background:var(--gold);color:#15171c;font-family:Montserrat;font-weight:700;font-size:15px;box-shadow:0 10px 30px #00000073}.bb-count{display:grid;place-items:center;min-width:28px;height:28px;border-radius:99px;background:#15171c;color:var(--gold-lt);font-size:13px}.bb-total{margin-left:auto}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#050609a8;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{position:relative;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;background:var(--bg2);border-top:1px solid var(--gold-dk);border-radius:22px 22px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));animation:up .2s ease}@keyframes up{0%{transform:translateY(40px);opacity:.6}}@keyframes fade{0%{opacity:0}}.close{position:absolute;top:10px;right:12px;width:38px;height:38px;border-radius:50%;font-size:26px;line-height:1;color:var(--muted);background:var(--panel)}.dish{display:flex;flex-direction:column;gap:12px}.dish h3,.basket h3{font-family:Montserrat;font-weight:700;font-size:19px;text-align:center}.dish-desc{color:var(--muted);text-align:center;font-size:14px}.sizes{border:0;display:flex;flex-direction:column;gap:8px}.sizes legend{font-family:Montserrat;font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.sizes label{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.sizes label.on{border-color:var(--gold);background:#c9a55c14}.sizes input{accent-color:var(--gold);width:18px;height:18px}.sizes span{flex:1;font-weight:700}.sizes b{color:var(--gold-lt);font-family:Montserrat}.note span,.field span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px}.note input,.field input,.field textarea{width:100%;padding:12px 13px;border-radius:12px;border:1px solid var(--line);background:var(--bg);outline:none;resize:vertical}.note input:focus,.field input:focus,.field textarea:focus{border-color:var(--gold)}.addrow{display:flex;gap:12px;align-items:center;margin-top:4px}.qty{display:flex;align-items:center;gap:4px;border:1px solid var(--gold-dk);border-radius:99px;padding:4px}.qty button{width:38px;height:38px;border-radius:50%;font-size:20px;color:var(--gold-lt);background:var(--panel)}.qty span{min-width:26px;text-align:center;font-family:Montserrat;font-weight:700}.qty.sm button{width:30px;height:30px;font-size:17px}.primary{flex:1;padding:15px 18px;border-radius:99px;background:var(--gold);color:#15171c;font-family:Montserrat;font-weight:700;font-size:15px}.primary:disabled{opacity:.45}.primary.big{width:100%;padding:17px;font-size:16px;margin-top:6px}.ghost{margin-top:10px;width:100%;padding:12px;color:var(--muted);text-decoration:underline;font-size:13px}.basket{display:flex;flex-direction:column;gap:14px}.lines{list-style:none;display:flex;flex-direction:column;gap:10px}.lines li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.ln-main{display:flex;flex-direction:column;min-width:0}.ln-name{font-weight:700}.ln-opt{font-size:12.5px;color:var(--gold)}.ln-price{font-family:Montserrat;font-weight:700;color:var(--gold-lt);min-width:64px;text-align:right}.sum{display:flex;justify-content:space-between;font-family:Montserrat;font-size:17px}.sum b{color:var(--gold-lt)}.err{color:#ff9c86;background:#d8553c1f;border:1px solid var(--chilli);padding:10px 12px;border-radius:10px;font-size:14px}.hint{color:var(--muted);font-size:12.5px;text-align:center;margin:4px 0 8px}.bill{padding:4px 16px;display:flex;flex-direction:column;gap:12px}.sent{margin-top:14px;padding:14px;border-radius:var(--radius);border:1px solid var(--ok);background:#6fbf731a;display:flex;flex-direction:column;gap:2px;font-family:Montserrat;font-weight:600}.sent b{color:var(--gold-lt)}.sent span{font-family:Lato;font-weight:400;font-size:13px;color:var(--muted)}.round{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--bg2)}.round-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.round-head b{font-family:Montserrat;color:var(--gold-lt)}.round-head span{font-size:12px;color:var(--muted)}.round ul{list-style:none;display:flex;flex-direction:column;gap:6px}.round li{display:flex;justify-content:space-between;gap:10px;font-size:14px}.round li em{color:var(--gold);font-style:normal;font-size:12.5px}.totals{border:1px solid var(--gold-dk);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px}.totals>div{display:flex;justify-content:space-between;gap:10px}.sc{color:var(--muted)}.sc-note{font-size:12px;color:var(--ok);margin-top:-4px}.tiprow{flex-direction:column;align-items:stretch!important;padding:8px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.tiprow>span{font-size:13px;color:var(--muted);margin-bottom:8px}.tips{display:flex;gap:8px;flex-wrap:wrap}.tips button{flex:1;min-width:64px;padding:10px;border:1px solid var(--gold-dk);border-radius:99px;font-family:Montserrat;font-weight:600;font-size:13px;color:var(--gold-lt)}.tips button.on{background:var(--gold);color:#15171c;border-color:var(--gold)}.grand{font-family:Montserrat;font-weight:700;font-size:18px;color:var(--gold-lt);padding-top:4px}.state{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px;color:var(--muted)}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.foot{text-align:center;color:var(--muted);font-size:12.5px;padding:26px 16px 10px}.credit{margin-top:6px;font-size:11px;opacity:.7}.picker{padding:8px 16px 0}.tablegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:14px;margin:22px 4px 18px}.tablegrid button{aspect-ratio:1;border-radius:50%;border:1.5px solid var(--gold);outline:1px solid var(--gold-dk);outline-offset:3px;background:linear-gradient(160deg,var(--panel),var(--bg2));font-family:Montserrat;font-weight:700;font-size:26px;color:var(--gold-lt)}.tablegrid button:active{background:var(--gold);color:#15171c}.confirm{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:6px}.confirm-n{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:var(--gold);color:#15171c;font-family:Montserrat;font-weight:700;font-size:44px}.confirm h3{font-family:Montserrat;font-weight:700;font-size:20px}.confirm p{color:var(--muted);font-size:14px;margin-bottom:4px}
