:root{color:#333;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ececec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(90deg,#ffffffa6,#fff0),#ececec;min-width:320px;margin:0}#root{min-height:100svh}.phone-shell{color:#4b4b4b;background:#f6f6f6;flex-direction:column;width:min(100vw,430px);height:100svh;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 60px #1c120c2e}button{font:inherit;cursor:pointer;border:0}button:disabled{cursor:not-allowed}.image-crop{background-repeat:no-repeat;background-size:cover}.square-btn{color:#444;background:#ffffffeb;border-radius:5px;flex:none;place-items:center;width:32px;height:32px;display:grid}.app-header{z-index:5;color:#fff;background:radial-gradient(circle at 78% 20%,#ffe5a557,#0000 22%),linear-gradient(132deg,#ff8c60 0%,#ff2f20 100%);border-bottom-right-radius:14px;border-bottom-left-radius:14px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:108px;padding:48px 16px 12px;display:grid;position:relative}.header-metrics{text-align:left;justify-self:start;line-height:1.05}.header-metrics strong,.header-metrics span{text-shadow:0 1px #c31e16;font-size:14px;display:block}.header-tools{grid-column:2/4;justify-self:end;gap:7px;display:flex}.header-tools button{color:#383838;background:#ffffffe0;border-radius:5px;place-items:center;width:39px;height:38px;font-size:10px;line-height:1;display:grid}.table-chip{white-space:nowrap;text-shadow:0 1px #c31e16;grid-area:1/3;font-size:19px;font-weight:700}.table-chip b{color:#ff381e;-webkit-text-stroke:2px #fff;paint-order:stroke fill;font-size:35px}.header-small-status{display:none}.stall-screen{background:linear-gradient(155deg,#ff3029 0%,#ffd1b6 100%);min-height:100svh;padding:61px 16px 28px}.canteen-hero{color:#fff;text-align:left;justify-content:space-between;align-items:flex-end;margin-bottom:15px;display:flex}.canteen-hero h1{color:#fff;text-shadow:0 2px #e3441d;margin:0 0 3px;font-size:17px;line-height:1.05}.canteen-hero p{font-size:11px}.brand-slice{background:radial-gradient(circle at 24% 44%,#f6c45e 0 8%,#0000 9%),radial-gradient(circle at 54% 32%,#dc5b45 0 7%,#0000 8%),radial-gradient(circle at 70% 60%,#e85f51 0 7%,#0000 8%),linear-gradient(135deg,#ffd88a 0%,#f6a43e 100%);border-radius:24px 8px;flex:none;width:74px;height:46px;transform:rotate(9deg);box-shadow:0 8px 18px #a42a122e}.stall-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stall-card{text-align:left;background:#fff;border-radius:6px;padding:0;position:relative;overflow:hidden;box-shadow:0 7px 18px #6b25121f}.stall-card.is-closed{cursor:not-allowed}.stall-card .image-crop{height:166px}.stall-copy{padding:9px 7px 10px}.stall-copy h2{color:#444;margin:0 0 5px;font-size:12px;line-height:1.25}.stall-copy p{color:#b1b1b1;margin-bottom:4px;font-size:11px}.stall-copy small{color:#aaa;gap:12px;font-size:10px;display:flex}.stall-copy b{color:#ff3826}.closed-mask{text-align:center;color:#fff;background:#0000007a;place-items:center;width:50%;height:166px;font-size:18px;font-weight:800;display:grid;position:absolute;top:0;right:0}.menu-screen{background:#f7f7f7;border-top-left-radius:15px;border-top-right-radius:15px;min-height:calc(100svh - 108px);padding:0 16px 98px}.fulfillment-strip{text-align:left;grid-template-columns:auto 56px 56px;align-items:center;gap:8px;padding:13px 0 4px;display:grid}.fulfillment-strip span{color:#666;font-size:13px;font-weight:800}.fulfillment-strip button{color:#999;background:#fff;border:1px solid #eee;border-radius:999px;height:28px;font-size:12px;font-weight:800}.fulfillment-strip button.active{color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c);border-color:#0000}.fulfillment-strip button:disabled{opacity:.5}.fulfillment-strip small{color:#aaa;grid-column:1/-1;font-size:11px;line-height:1.35}.category-rail{scrollbar-width:none;gap:23px;padding:16px 0 10px;display:flex;overflow-x:auto}.category-rail button{color:#777;background:0 0;flex:none;padding:0 0 9px;font-size:15px;position:relative}.category-rail button.active{color:#ff3423;font-weight:800}.category-rail button.active:after{content:"";background:#ff3423;border-radius:99px;width:26px;height:3px;position:absolute;bottom:0;left:0}.tiny-badge{color:#fff;background:#ff3423;border-radius:999px;place-items:center;width:18px;height:18px;font-size:10px;display:grid;position:absolute;top:-11px;right:-12px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;display:grid}.product-card{text-align:left;background:#fff;border-radius:4px;min-height:248px;position:relative;overflow:hidden;box-shadow:0 7px 18px #0000000a}.product-card .image-crop{height:164px}.ordered-tag{color:#fff;background:#49a63e;border-radius:3px;padding:3px 8px;font-size:11px;position:absolute;top:8px;left:8px}.sold-mask{color:#fff;background:#0000007a;place-items:center;height:164px;font-size:22px;display:grid;position:absolute;top:0;left:0;right:0}.product-card-copy{padding:8px 8px 10px}.product-card h3,.product-row h3,.cart-line h3{color:#4b4b4b;margin:0;font-size:15px;line-height:1.2}.product-card h3 span,.product-row h3 span,.detail-title h1 span{color:#ff3423;margin-right:2px}.product-card p,.product-row p{color:#777;margin:4px 0 8px;font-size:13px}.price-row{align-items:center;gap:7px;display:flex}.price-row strong,.row-copy strong,.cart-line strong,.order-line b{color:#ff3423;font-size:18px}del{color:#aaa;font-size:11px}.qty-control{color:#565656;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.qty-control button{color:#ff3423;background:#fff;border:1.5px solid;border-radius:999px;place-items:center;width:18px;height:18px;padding:0;display:grid}.qty-control button:last-child{color:#fff;background:linear-gradient(135deg,#ff8a55,#ff211a);border:0}.qty-control span{text-align:center;min-width:20px;font-weight:700}.qty-control.is-disabled{opacity:.48}.split-menu{grid-template-columns:78px 1fr;gap:11px;padding-top:15px;display:grid}.category-rail.vertical{flex-direction:column;gap:12px;padding:0;display:flex;overflow:visible}.category-rail.vertical button{color:#aaa;background:#fff;border-radius:7px;width:76px;height:46px;font-weight:700}.category-rail.vertical button.active{color:#fff;background:linear-gradient(#ff8a55,#ff211a)}.category-rail.vertical button.active:after{display:none}.product-list h2{color:#ff4c35;text-align:center;margin:0 0 9px;font-size:18px}.product-row{text-align:left;background:#fff;border-radius:6px;grid-template-columns:92px 1fr 29px;align-items:center;gap:8px;min-height:94px;margin-bottom:12px;padding:8px 8px 8px 7px;display:grid;position:relative;box-shadow:0 4px 15px #0000000d}.round-add{color:#fff;background:#ff261e;border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.row-sold{color:#fff;background:#00000085;border-radius:3px;place-items:center;width:92px;height:76px;display:grid;position:absolute;top:8px;left:7px}.row-qty{color:#ff3022;background:#fff3ef;border:1px solid #ff3022;border-radius:999px;width:21px;height:21px;font-size:12px;font-weight:800;position:absolute;top:13px;right:32px}.sold-out{opacity:.7}.category-switches{justify-content:center;gap:31px;margin:26px 0 8px;display:flex}.category-switches button{color:#fff;background:linear-gradient(#ff8a52,#ff241b);border-radius:6px;width:110px;height:44px;font-weight:800}.bottom-tabs{z-index:20;grid-template-columns:repeat(3,1fr);gap:7px;height:57px;padding:0;display:grid;position:absolute;inset:auto 16px 16px}.bottom-tabs button{color:#3f3f3f;background:#fff;border:1px solid #ff3826;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-size:13px;line-height:1.05;display:flex}.bottom-tabs b{color:#ff3022;font-size:24px;display:block}.bottom-tabs .hot{color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c)}.bottom-tabs .hot b{color:#fff}.floating-cart{z-index:22;color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c);border-radius:999px;align-items:center;gap:6px;min-width:104px;height:40px;padding:0 11px;display:flex;position:absolute;bottom:88px;right:16px;box-shadow:0 12px 28px #ff362359}.floating-cart b{color:#ff3022;background:#fff;border-radius:999px;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.modal-backdrop,.drawer-backdrop{z-index:60;background:#00000080;place-items:center;display:grid;position:absolute;inset:0}.dine-modal{background:#fff;border-radius:16px;grid-template-columns:1fr 1fr;gap:13px;width:310px;min-height:190px;padding:52px 16px 16px;display:grid;position:relative}.dine-modal-title{color:#555;text-align:center;grid-column:1/-1;margin:-26px 0 0;font-size:14px;font-weight:800}.dine-modal button:not(.close-btn){color:#ff5138;background:#fff;border:1.5px solid #ff5138;border-radius:10px;align-content:center;place-items:center;gap:7px;height:145px;font-size:28px;font-weight:900;display:grid}.dine-modal button.active{color:#fff;background:linear-gradient(#ff8955,#ff261e)}.dine-modal small{font-size:14px;font-weight:700}.close-btn{color:#aaa;background:#fff;border:1px solid #aaa;border-radius:999px;width:22px;height:22px;line-height:1;position:absolute;top:13px;right:14px}.detail-screen{background:#fff;min-height:100svh;overflow-y:auto}.detail-hero{height:365px;position:relative}.detail-hero .image-crop{height:100%}.detail-hero .square-btn{z-index:3;color:#fff;background:#0000006b;position:absolute;top:377px;left:16px}.detail-hero span{color:#ddd;background:#00000047;padding:2px 6px;font-size:12px;position:absolute;bottom:20px;right:17px}.detail-panel{background:#fff;border-top-left-radius:15px;border-top-right-radius:15px;margin-top:-2px;padding:16px 16px 96px;position:relative}.detail-title{justify-content:space-between;align-items:end;gap:8px;min-height:40px;padding-left:38px;display:flex}.detail-title h1{color:#4b4b4b;margin:0;font-size:23px;line-height:1.1}.detail-title p{color:#555;margin-top:4px;font-size:14px}.lang-toggle{background:#f1f1f1;border-radius:9px;align-items:center;padding:2px;font-size:12px;display:flex}.lang-toggle b{color:#0aa33a;background:#fff;border-radius:8px;padding:3px 7px}.lang-toggle span{color:#aaa;padding:3px 4px}.dish-desc{color:#fff;background:#aaa;border-radius:3px;margin:13px 0;padding:9px 10px;font-size:12px;line-height:1.35}.detail-price-row{border-bottom:1px solid #e3e3e3;grid-template-columns:1fr auto auto;align-items:end;gap:14px;padding-bottom:16px;display:grid}.detail-price-row small{color:#ff3423;font-size:12px;display:block}.detail-price-row strong{color:#ff3423;font-size:22px;display:block}.detail-price-row>span{color:#aaa;font-size:12px}.detail-price-row>span b{color:#ff3423}.option-section{text-align:left;border-bottom:1px solid #e3e3e3;padding:15px 0 18px}.option-section h2{color:#555;margin:0 0 13px;font-size:24px;line-height:1.05}.option-chips{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.option-chips.wrap{grid-template-columns:repeat(3,auto);justify-content:start}.option-chips button{color:#ff4c35;white-space:nowrap;background:#fff7ec;border-radius:999px;height:32px;padding:0 13px;font-size:13px;font-weight:700}.option-chips button.active{color:#fff;background:linear-gradient(#ff8654,#ff261d)}.addon-grid{grid-template-columns:repeat(2,1fr);gap:10px 14px;display:grid}.addon-grid button{color:#555;text-align:center;background:#fff7ed;border-radius:999px;grid-template-columns:24px 1fr 24px;align-items:center;gap:6px;min-height:50px;display:grid}.addon-grid button.active{color:#fff;background:linear-gradient(135deg,#ff8c57,#ff281f)}.addon-grid button.disabled{opacity:.45;background:#ddd}.addon-grid svg{border:1.5px solid;border-radius:999px;width:22px;height:22px;padding:2px}.line-addon{color:#555;justify-content:space-between;align-items:center;min-height:36px;font-size:14px;display:flex}.line-addon:first-of-type{color:#ff3423}.line-addon.muted{color:#aaa}.instruction-box{text-align:left;color:#444;padding:15px 0;display:block}.instruction-box span{margin-bottom:10px;display:block}.instruction-box textarea{resize:none;box-sizing:border-box;color:#555;width:100%;height:102px;font:inherit;border:1px solid #ddd;border-radius:7px;padding:14px 12px}.segmented{background:#e8e8e8;border-radius:7px;grid-template-columns:1fr 1fr;gap:0;height:36px;margin:9px 0;padding:3px;display:grid}.segmented button{color:#444;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:4px;display:flex}.segmented button.active{color:#00a133;background:#fff;font-weight:800}.fulfillment-note{color:#666;text-align:left;background:#fff7ef;border:1px solid #ffe0d4;border-radius:7px;margin:14px 0 8px;padding:9px 11px;font-size:12px}.fulfillment-note b{color:#ff3423}.fulfillment-note span{color:#999;margin-top:4px;line-height:1.35;display:block}.action-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.action-row button{color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c);border-radius:999px;justify-content:center;align-items:center;gap:7px;height:48px;font-weight:800;display:flex}.action-row .outline{color:#ff3423;background:#fff;border:1px solid #ff3423}.sticky-actions{margin-top:22px;position:sticky;bottom:16px}.drawer-backdrop{align-items:end}.cart-drawer{box-sizing:border-box;background:#fff;border-top-left-radius:16px;border-top-right-radius:16px;width:100%;min-height:552px;padding:17px 16px 28px;animation:.18s ease-out slideUp}@keyframes slideUp{0%{opacity:.5;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.cart-drawer header{color:#555;grid-template-columns:1fr auto auto;align-items:center;gap:13px;padding-bottom:11px;display:grid}.cart-drawer header strong{color:#ff3423;align-items:center;gap:6px;display:flex}.cart-drawer header button{color:#aaa;background:0 0;align-items:center;gap:3px;display:flex}.cart-lines{gap:12px;display:grid}.cart-lines.compact{gap:0}.cart-line{text-align:left;border-bottom:1px solid #eee;grid-template-columns:26px 44px 1fr auto;align-items:center;gap:9px;padding:13px 0;display:grid;position:relative}.cart-line.compact{grid-template-columns:44px 1fr auto}.select-dot{color:#fff;background:#ff4b32;border:1px solid #ff4b32;border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.cart-line.unselected .select-dot{color:#0000;background:#fff;border-color:#aaa}.avatar{color:#fff;background:#ddd;border-radius:999px;place-items:center;width:40px;height:40px;font-size:10px;font-weight:800;display:grid}.avatar.me{background:linear-gradient(#ff8955,#ff261d)}.cart-line-copy h3{font-size:17px}.cart-line-copy p{color:#aaa;margin:3px 0 0;font-size:14px}.drawer-actions{grid-template-columns:90px 1fr;gap:12px;display:grid;position:absolute;bottom:50px;left:16px;right:16px}.drawer-actions button{color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c);border-radius:999px;justify-content:center;align-items:center;gap:6px;height:48px;font-weight:800;display:flex}.drawer-actions .outline{color:#ff3423;background:#fff;border:1px solid #ff3423}.cart-page,.orders-page{background:#f7f7f7;border-top-left-radius:15px;border-top-right-radius:15px;min-height:calc(100svh - 108px);padding:18px 16px 92px}.cart-title,.orders-title{color:#ff3423;align-items:center;gap:13px;min-height:54px;display:flex}.cart-title b,.orders-title b{color:#ff3423;display:block}.cart-page .cart-lines{margin-top:14px}.cart-page .cart-line{background:#fff;border:0;border-radius:7px;grid-template-columns:24px 82px 1fr auto;min-height:112px;margin-bottom:12px;padding:12px}.cart-page .avatar{color:#0000;background:linear-gradient(#ffffff26,#ffffff26),url(/prototype/640662.png) top/cover;border-radius:3px;width:80px;height:80px}.cart-actions{grid-template-columns:1fr 1fr 1fr;position:absolute;bottom:50px;left:16px;right:16px}.clear-link{color:#fff;background:#ffffff2b;position:absolute;top:62px;right:16px}.orders-list{background:#fff;border-radius:14px;margin-top:16px;padding:12px 0}.order-group{text-align:left;border-bottom:1px solid #eee;padding:7px 16px 14px}.order-group h2{color:#aaa;margin:0 0 9px;font-size:16px}.order-line{justify-content:space-between;align-items:center;gap:12px;margin:9px 0;display:flex}.order-line strong{color:#444;font-size:17px;display:block}.order-line span{color:#aaa}.ticket-screen{color:#fff;background:linear-gradient(#ff8b58 0%,#ff2119 100%);min-height:100svh;padding:63px 16px 28px;position:relative}.ticket-screen>.square-btn{position:absolute;top:59px;left:16px}.ticket-screen header{text-align:center;text-shadow:0 1px #c72218;margin-bottom:17px;font-weight:800}.ticket-screen header span{font-size:12px;display:block}.ticket-screen header strong{font-size:17px}.ticket-card{color:#555;background:#fff;border-radius:8px;padding-bottom:12px;position:relative;overflow:hidden}.ticket-shop{color:#555;align-items:center;height:36px;padding:0 15px;font-weight:700;display:flex}.ticket-mode{color:#ff3423;text-align:left;padding:0 15px 8px;font-size:12px;font-weight:800}.ticket-meta{border-block:1px dashed #ff7a5d;grid-template-columns:repeat(4,1fr);align-items:center;display:grid;position:relative}.ticket-meta span{border-right:1px solid #eee;place-items:center;min-height:64px;font-size:12px;display:grid}.ticket-meta span.active{color:#0aa33a;background:#effbea;font-weight:900}.ticket-meta b{color:#ff261d;-webkit-text-stroke:2px #fff;paint-order:stroke fill;font-size:35px;display:block}.ticket-meta .discount{color:#ff261d;background:radial-gradient(circle,#ffe973 0 45%,#0000 48%);font-size:12px}.ticket-meta .discount b{-webkit-text-stroke:0;font-size:12px}.ticket-card h1{color:#ff4c35;text-align:center;text-shadow:0 2px #ffd4c8;margin:13px 0 4px;font-size:28px;line-height:1}.queue-line{color:#555;justify-content:center;align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.queue-line b{color:#ff100d;font-size:22px}.qr-mark{background:#fff;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);gap:3px;width:128px;height:128px;margin:8px auto 11px;padding:9px;display:grid;box-shadow:inset 0 0 0 3px #000}.qr-mark span.active{background:#000}.pay-countdown{text-align:center;color:#555;margin:0;font-size:14px}.pay-countdown b{color:#ff100d}.stamp-row{grid-template-columns:repeat(5,1fr);gap:12px;padding:12px 18px;display:grid}.stamp-row span{background:#d7d7d7;border-radius:7px;height:52px}.ticket-note{color:#888;text-align:left;border-top:1px dashed #ff7a5d;padding:11px 12px;font-size:11px}.ticket-note p{margin:0 0 5px}.ticket-note strong{float:right;color:#ff100d;font-weight:500}.ticket-items{padding:0 12px}.ticket-items div{color:#aaa;text-align:left;grid-template-columns:1fr 48px 23px;gap:6px;margin:5px 0;font-size:11px;display:grid}.ticket-items b,.ticket-items em{color:#888;font-style:normal}.check-pay{color:#ff5138;background:#fff;border-radius:999px;width:100%;height:52px;margin-top:16px;font-size:16px;font-weight:700}.float-mail{color:#fff;background:linear-gradient(135deg,#bbb,#555);border-radius:999px;place-items:center;width:54px;height:54px;display:grid;position:absolute;bottom:101px;right:16px;box-shadow:0 6px 20px #00000038}.float-mail svg{color:currentColor}.float-mail.blue{background:linear-gradient(135deg,#78d6ff,#1672ff);bottom:37px}.mock-modal{text-align:center;background:#fff;border-radius:16px;width:310px;padding:34px 18px 18px;position:relative;box-shadow:0 22px 60px #0000002e}.mock-modal-icon{color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c);border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 12px;display:grid}.mock-modal h2{color:#444;margin:0 0 8px;font-size:20px}.mock-modal p{color:#777;margin:0;font-size:13px;line-height:1.5}.mock-modal textarea{resize:none;width:100%;height:92px;font:inherit;border:1px solid #ddd;border-radius:8px;margin-top:13px;padding:10px}.mock-confirm{color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c);border-radius:999px;width:100%;height:42px;margin-top:14px;font-weight:800}.app-header{border-bottom-right-radius:18px;border-bottom-left-radius:18px;flex:none;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr) auto;min-height:118px;padding:14px 16px 12px;box-shadow:0 10px 24px #ff312129}.header-metrics{align-self:center}.header-metrics strong,.header-metrics span{font-size:13px}.header-tools{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));justify-self:stretch;gap:8px;display:grid}.header-tools button{border-radius:12px;width:auto;height:42px;font-size:10px;font-weight:800;box-shadow:0 6px 14px #c41e161f}.table-chip{align-self:center;font-size:15px}.table-chip b{font-size:31px}.stall-screen{flex:auto;min-height:0;padding:24px 16px 28px;overflow-y:auto}.menu-screen,.cart-page,.orders-page,.detail-screen,.ticket-screen{flex:auto;min-height:0;position:relative;overflow:hidden}.menu-screen{background:#f6f7f9;border-top-left-radius:16px;border-top-right-radius:16px;padding:0;display:flex}.menu-scroll,.page-scroll,.detail-scroll,.ticket-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.menu-scroll::-webkit-scrollbar{display:none}.page-scroll::-webkit-scrollbar{display:none}.detail-scroll::-webkit-scrollbar{display:none}.ticket-scroll::-webkit-scrollbar{display:none}.menu-scroll{box-sizing:border-box;width:100%;padding:0 16px 218px}.fulfillment-strip{z-index:6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f7f9f5;border-bottom:1px solid #eaeaeadb;grid-template-columns:auto 60px 60px;margin:0 -16px 6px;padding:12px 16px 9px;position:sticky;top:0}.fulfillment-strip button{height:32px}.fulfillment-strip small{font-size:11px}.category-rail{padding:12px 0 10px}.category-rail button{min-height:34px;font-size:17px;font-weight:700}.split-menu{grid-template-columns:82px minmax(0,1fr);gap:12px;padding-top:10px}.category-rail.vertical{align-self:start;max-height:calc(100svh - 300px);position:sticky;top:68px;overflow-y:auto}.category-rail.vertical button{border-radius:12px;width:82px;min-height:48px}.product-list h2{text-align:left;font-size:19px}.product-row{border-radius:14px;grid-template-columns:104px minmax(0,1fr) 36px;gap:12px;min-height:112px;margin-bottom:12px;padding:10px;box-shadow:0 10px 24px #1a1a1a0f}.product-row .image-crop{border-radius:10px;height:92px}.product-row h3{font-size:18px}.product-row p{color:#777;min-height:18px}.round-add,.row-qty{width:32px;height:32px}.row-qty{font-size:14px;top:auto;bottom:18px;right:46px}.menu-dock{z-index:35;padding:12px 16px calc(12px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#f6f7f900,#f6f7f9f5 14%,#fff 42%);position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #1a1a1a14}.menu-dock *{pointer-events:auto}.category-switches{gap:18px;margin:0 0 12px}.category-switches button{border-radius:10px;width:min(40%,128px);height:46px;font-size:18px;box-shadow:0 10px 22px #ff31213d}.floating-cart{z-index:1;gap:10px;width:max-content;min-width:190px;height:54px;margin:0 auto 12px;padding:0 20px;font-size:22px;position:relative;bottom:auto;right:auto;box-shadow:0 16px 30px #ff312147}.floating-cart b{width:30px;height:30px;font-size:16px}.bottom-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:66px;display:grid;position:static}.bottom-tabs button{background:#fffffff2;border-radius:10px;min-width:0;height:100%;font-size:14px}.bottom-tabs b{font-size:26px;line-height:1}.detail-screen{background:#fff;flex-direction:column;display:flex}.detail-scroll{box-sizing:border-box;width:100%;padding-bottom:96px}.detail-hero{height:min(42svh,330px)}.detail-hero .square-btn{background:#00000075;top:16px;left:16px}.detail-panel{padding:16px 16px 22px}.detail-title{padding-left:0}.detail-price-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.detail-price-row>span{grid-column:1/-1;justify-self:end}.option-section h2{font-size:22px}.page-action-dock{z-index:34;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#fff0,#fffffff5 18%,#fff 44%);gap:10px;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #1a1a1a14}.page-action-dock button,.drawer-actions button{color:#fff;background:linear-gradient(135deg,#ff8b55,#ff261c);border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:52px;font-weight:900;display:flex}.page-action-dock .outline,.drawer-actions .outline{color:#ff3423;background:#fff;border:1.5px solid #ff3423}.detail-actions,.order-actions{grid-template-columns:1fr 1fr}.cart-page,.orders-page{background:#f6f7f9;border-top-left-radius:16px;border-top-right-radius:16px;min-height:0;padding:0;display:flex}.page-scroll{box-sizing:border-box;width:100%;padding:18px 16px 112px}.cart-title,.orders-title{background:#fff;border-radius:14px;min-height:66px;padding:12px 14px;position:relative;box-shadow:0 10px 24px #1a1a1a0f}.cart-page .cart-line{grid-template-columns:24px 74px minmax(0,1fr);align-items:start;gap:10px;padding:10px}.cart-page .cart-line .qty-control{grid-column:3;justify-self:end;margin-top:6px}.cart-page .avatar{border-radius:10px;width:74px;height:74px}.cart-actions{grid-template-columns:1fr .86fr 1.3fr}.clear-link{color:#ff3423;background:#fff3ef;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;position:absolute;top:24px;right:16px}.orders-list{box-shadow:0 10px 24px #1a1a1a0f}.order-actions{grid-template-columns:.9fr 1.5fr}.drawer-backdrop{place-items:end center}.cart-drawer{height:min(74svh,628px);min-height:0;padding:17px 16px calc(14px + env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;display:grid}.drawer-scroll{min-height:0;padding-bottom:8px;overflow-y:auto}.drawer-actions{grid-template-columns:92px 1fr;gap:12px;margin-top:12px;display:grid;position:static}.ticket-screen{flex-direction:column;min-height:0;padding:0;display:flex}.ticket-scroll{box-sizing:border-box;color:#fff;width:100%;padding:24px 16px 118px}.ticket-scroll>.square-btn{z-index:4;position:absolute;top:20px;left:16px}.ticket-screen header{margin:35px 0 16px}.ticket-actions{box-shadow:none;background:linear-gradient(#ff281c00,#ff281ce0 28%,#ff261c 62%);grid-template-columns:1fr}.check-pay{height:54px;margin:0}.float-mail{bottom:calc(92px + env(safe-area-inset-bottom))}.float-mail.blue{bottom:calc(152px + env(safe-area-inset-bottom))}.product-card .image-crop,.product-row .image-crop{background-position:50% 68%!important}.detail-hero .image-crop{background-position:50% 72%!important}.cart-page .avatar{background-position:50% 68%!important}@media (width<=374px){.phone-shell{width:100vw}.header-tools button{min-width:0;padding:0}.product-grid{gap:10px}.option-chips.wrap{grid-template-columns:repeat(2,auto)}.bottom-tabs button{font-size:12px}.bottom-tabs b{font-size:22px}}
