:root{color-scheme:light;--paper:#faf8f4;--red:#b54432;--ink:#292723;--muted:#8d8579;--line:#eee9e0;font:15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:default}a{color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:2px}input,textarea{font-size:16px}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:23px}h2{font-size:19px}h3{font-size:15px}.initial{padding:45px;text-align:center;color:var(--muted)}
#app{height:100vh;height:100dvh;max-width:640px;margin:auto;display:flex;flex-direction:column;background:var(--paper)}.top{display:flex;gap:12px;align-items:center;padding:14px 16px 9px;flex:none;background:var(--paper)}.top .grow{flex:1;min-width:0}.seal{display:grid;place-content:center;width:43px;height:43px;background:var(--red);color:#fff;font:27px serif;border-radius:11px;flex:none}.status{font-size:11px;color:#576d4b;background:#eaf0e4;border-radius:5px;padding:3px 7px;white-space:nowrap}.status.closed{color:#8a8175;background:#eee9e0}.sub{font-size:12px;color:var(--muted);margin-top:3px}.notice{font-size:12px;padding:3px 16px 8px;color:#807567;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{margin:0 16px 10px;display:flex;background:#eeeae2;border-radius:10px}.search input{width:100%;border:0;outline:0;background:transparent;padding:9px 12px;font-size:14px}.menu-body{min-height:0;flex:1;display:flex}.rail{width:83px;flex:none;overflow:auto;background:#f0ede7;padding-bottom:16px}.rail button{width:100%;background:none;text-align:left;font-size:12px;padding:17px 9px;color:#817a70;border-left:3px solid transparent}.rail button.active{color:var(--red);background:var(--paper);font-weight:600;border-left-color:var(--red)}.dish-list{flex:1;min-width:0;overflow:auto;overscroll-behavior:contain;padding:0 12px 30px;scroll-behavior:smooth}.section-title{font-size:14px;font-weight:600;padding:12px 0 3px}.dish{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);min-height:116px}.food-img{width:82px;height:82px;object-fit:cover;border-radius:11px;background:#eee6d8;flex:none}.food-placeholder{display:grid;place-content:center;color:#b69e7c;font:24px serif}.dish-info{flex:1;min-width:0;display:flex;flex-direction:column}.dish h3{font-size:15px;line-height:1.4}.dish .desc{font-size:11px;color:var(--muted);margin:4px 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dish-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:4px}.price{color:var(--red);font-size:19px;font-weight:650}.price small{font-size:11px;font-weight:400}.select-btn{padding:5px 9px;background:var(--red);color:white;border-radius:20px;font-size:11px}.plus{font-size:21px;width:27px;height:27px;line-height:25px;padding:0;border-radius:50%;background:var(--red);color:white}.sold{opacity:.55}.tag{font-size:10px;border-radius:3px;color:var(--red);background:#f6e7df;padding:1px 4px;margin-left:5px}.muted{color:var(--muted)}
.tabs{display:flex;background:#fffdf9;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);flex:none}.tabs a{flex:1;text-align:center;text-decoration:none;font-size:11px;color:#a69a88;padding:7px 0}.tabs a span{display:block;font-size:20px;line-height:25px}.tabs a.active{color:var(--red)}.cart-bar{margin:7px 12px 10px;background:#302d28;color:white;border-radius:30px;display:flex;align-items:center;flex:none;min-height:49px;overflow:hidden}.cart-summary{background:none;color:white;flex:1;text-align:left;padding:7px 16px}.cart-summary strong{font-size:20px}.cart-summary small{font-size:11px;margin-left:8px;color:#d0c6b7}.cart-count{display:inline-grid;place-content:center;background:#f4dfb6;color:#533e27;border-radius:15px;min-width:26px;height:26px;margin-right:8px}.cart-go{background:var(--red);color:white;align-self:stretch;padding:0 23px;font-weight:600}.page-scroll{flex:1;min-height:0;overflow:auto;padding:0 16px 28px}.card{background:#fffdf9;border:1px solid var(--line);border-radius:15px;padding:16px;margin:14px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card p{margin-top:8px}.primary,.outline{display:block;text-align:center;text-decoration:none;width:100%;padding:12px 16px;border-radius:10px;margin-top:12px}.primary{background:var(--red);color:white}.outline{border:1px solid #e3d9cb;background:transparent;color:#786853}.back{background:none;font-size:24px;padding:0 10px 0 0}.field{display:block;margin-top:16px;font-size:13px}.field input,.field textarea{display:block;margin-top:7px;width:100%;padding:12px;border:1px solid #e7dfd2;border-radius:8px;background:#faf8f4;resize:vertical}.field textarea{min-height:75px}.error{font-size:13px;color:var(--red);padding:12px;background:#f9e9e4;border-radius:8px;margin:12px 0}.empty{text-align:center;padding:55px 15px;color:var(--muted);font-size:14px}.line-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.line-item .food-img{width:58px;height:58px}.line-main{flex:1;min-width:0}.line-item .sub{font-size:11px}.totals{font-size:13px;line-height:2}.totals .price{font-size:23px}.footer{flex:none;border-top:1px solid var(--line);background:#fffdf9;padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:20px}.footer .primary{width:auto;flex:1;margin:0}.footnote{font-size:11px;color:var(--muted);margin:10px 0}.order-link{display:block;text-decoration:none}.order-link .status{color:var(--red);background:#f8eee5}.pickup{text-align:center;padding:20px}.pickup strong{display:block;color:var(--red);font-size:49px;letter-spacing:5px}.page-label{font-size:11px;letter-spacing:2px;color:#aa9275;margin:15px 0 7px}.profile{padding:18px 0;display:flex;align-items:center;gap:14px}.avatar{width:58px;height:58px;border-radius:50%;object-fit:cover}.profile .seal{width:58px;height:58px}.profile h1{font-size:25px}.switches{display:flex;gap:6px;margin:4px 0 15px}.switches button{flex:1;background:#ede8df;border-radius:20px;padding:7px 2px;font-size:12px}.switches button.active{background:var(--red);color:white}.detail-actions{display:flex;gap:10px}.detail-actions>*{flex:1}.policy{font-size:14px;line-height:1.9}.policy h2{font-size:17px;margin:24px 0 8px}.policy p{margin:10px 0}.inline-link{background:none;color:var(--red);text-decoration:underline;padding:0;font-size:13px}
#overlay:empty{display:none}#overlay{position:fixed;inset:0;z-index:20;background:#29251f88;display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top)}.sheet{width:100%;max-width:640px;max-height:92vh;max-height:92dvh;background:var(--paper);border-radius:22px 22px 0 0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 40px #0002}.sheet-head{padding:18px 18px 10px;flex:none}.close{background:none;font-size:24px;color:#928576;padding:0 0 0 12px}.sheet-scroll{overflow:auto;min-height:0;padding:0 18px 18px}.sheet .menu-body{height:52vh;flex:none}.sheet .dish-list{padding-right:15px}.sheet .dish{min-height:94px}.sheet .food-img{width:65px;height:65px}.sheet .footer{padding-bottom:10px}.selected{background:#faece5;border-radius:9px}.check{width:25px;height:25px;border:1px solid #d9cab5;border-radius:50%;background:transparent;flex:none;color:transparent}.check.on{color:white;background:var(--red);border-color:var(--red)}.qty{display:flex;align-items:center;gap:11px;white-space:nowrap}.qty button{width:27px;height:27px;border-radius:50%;background:#eee6d9;color:#764b39}.qty .inc{background:var(--red);color:white}.dialog-body{padding:20px}.dialog-body .sub{font-size:13px;line-height:1.8}.dialog-body .actions{margin-top:18px}#toast{position:fixed;z-index:50;left:50%;bottom:120px;transform:translateX(-50%);border-radius:10px;background:#29251fee;color:white;padding:12px 20px;max-width:90%;font-size:13px;pointer-events:none;opacity:0;transition:opacity .15s}#toast.show{opacity:1}.refresh{font-size:12px;background:#eee7dc;border-radius:8px;padding:6px 11px}
@media(min-width:700px){#app{border-left:1px solid var(--line);border-right:1px solid var(--line)}.sheet{margin-bottom:20px;border-radius:22px}.food-img{width:95px;height:95px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
