.app-icon svg{display:block;width:100%;height:100%}.app-icon-img{display:block;object-fit:contain}.cur-trigger[data-v-268265ee]{display:inline-flex;align-items:center;gap:3px;position:relative;min-width:60px;height:28px;border:1px solid rgba(255,255,255,.45);cursor:pointer;color:#fff;font-weight:700;font-size:12px;background:#ffffff38;padding:0 8px;border-radius:16px;white-space:nowrap;box-shadow:0 2px 6px #00000014;-webkit-tap-highlight-color:transparent;transition:background var(--dur, .2s) var(--ease, ease)}.cur-trigger[data-v-268265ee]:before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}.cur-trigger[data-v-268265ee]:active{background:#ffffff5c}.cur.plain .cur-trigger[data-v-268265ee]{color:var(--text-2, var(--tp-text-secondary));border:1px solid var(--border, #EDEDED);background:var(--fill, #F3F3F3);box-shadow:none}.cur.plain .cur-trigger[data-v-268265ee]:active{background:var(--border, #EDEDED)}.cur-sym[data-v-268265ee]{font-size:12px;line-height:1}.cur-code[data-v-268265ee]{letter-spacing:.3px;line-height:1}.cur-caret[data-v-268265ee]{opacity:.9;flex-shrink:0;margin-left:1px}[data-v-268265ee] .van-action-sheet__item{font-size:15px}[data-v-268265ee] .van-action-sheet__item--active{color:var(--brand);font-weight:700}.app-hd-back[data-v-a4a89bd2]{position:relative;color:#fff;cursor:pointer}.app-hd-back[data-v-a4a89bd2]:before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}.app-hd-actions[data-v-a4a89bd2]{display:flex;align-items:center;gap:8px;margin-left:auto}.app-hd-bell[data-v-a4a89bd2]{color:#fff;cursor:pointer;display:inline-flex;align-items:center}.action-btn[data-v-a4a89bd2]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:#ffffff2e;color:#fff;cursor:pointer;box-shadow:0 2px 6px #00000014;-webkit-tap-highlight-color:transparent;transition:background var(--dur, .2s) var(--ease, ease)}.action-btn[data-v-a4a89bd2]:active{background:#ffffff52}.action-btn[data-v-a4a89bd2]:before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}.app-loc-caret[data-v-a4a89bd2]{opacity:.8}.app-search-ic[data-v-a4a89bd2]{color:var(--text-3, #8A919E)}.lang-trigger[data-v-a4a89bd2]{display:inline-flex;align-items:center;justify-content:center;gap:3px;position:relative;min-width:64px;height:28px;border:1px solid rgba(255,255,255,.45);cursor:pointer;color:#fff;font-weight:700;font-size:12px;background:#ffffff38;padding:0 8px;border-radius:16px;white-space:nowrap;box-shadow:0 2px 6px #00000014;transition:background var(--dur, .2s) var(--ease, ease);-webkit-tap-highlight-color:transparent}.lang-trigger[data-v-a4a89bd2]:before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}.lang-trigger[data-v-a4a89bd2]:active{background:#ffffff5c}.lang-globe[data-v-a4a89bd2]{font-size:13px;line-height:1;filter:saturate(.9)}.lang-code[data-v-a4a89bd2]{letter-spacing:.3px;line-height:1}.lang-caret[data-v-a4a89bd2]{opacity:.9;flex-shrink:0;margin-left:1px}[data-v-a4a89bd2] .van-badge__wrapper{color:#fff}[data-v-a4a89bd2] .van-action-sheet__item{font-size:15px}[data-v-a4a89bd2] .van-action-sheet__item--active{color:var(--brand);font-weight:700}.app-search[data-v-a4a89bd2]{position:relative}.app-suggest[data-v-a4a89bd2]{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;background:#fff;border-radius:12px;box-shadow:0 8px 28px #00000024;padding:12px;text-align:left}.sg-sec[data-v-a4a89bd2]{margin-bottom:8px}.sg-sec[data-v-a4a89bd2]:last-child{margin-bottom:0}.sg-ttl[data-v-a4a89bd2]{font-size:12px;font-weight:700;color:var(--tp-text-secondary);margin-bottom:8px}.sg-chips[data-v-a4a89bd2]{display:flex;flex-wrap:wrap;gap:8px}.sg-chip[data-v-a4a89bd2]{font-size:13px;color:var(--tp-text);background:#f4f5f7;border-radius:16px;padding:4px 12px;cursor:pointer;white-space:nowrap}.sg-chip[data-v-a4a89bd2]:active{background:#e9eaf0}.sg-chip.benefit[data-v-a4a89bd2]{background:var(--brand-tint);color:var(--brand);font-weight:600}.sg-empty[data-v-a4a89bd2]{font-size:13px;color:#9aa0a6;padding:8px 2px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;padding:0;min-height:100%}html,body{overflow-x:clip;max-width:100vw;-webkit-overflow-scrolling:touch}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans Thai,Noto Sans Lao,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg, #f5f6f8);color:var(--text, #1A1D24);font-size:13px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.lt-brand{color:var(--brand, #FF5A1F);font-weight:700}.lt-card{background:var(--surface, #fff);border-radius:var(--r, 14px);margin:10px;padding:14px;border:1px solid var(--border, #ECEEF1);box-shadow:var(--shadow-sm, 0 2px 10px rgba(20,20,40,.06))}.lt-tag-hot{background:var(--red-tint, #FFEDEC);color:var(--red, #FF3541)}.lt-gap{height:12px}.lt-pad{padding:0 12px}::selection{background:color-mix(in srgb,var(--brand) 22%,transparent)}::-webkit-scrollbar-thumb{background:var(--border-strong, #DDE0E5);border-radius:4px}:root{--brand: #FF5A1F;--brand-600: #F24A10;--brand-700: #D63C06;--brand-light: #FF7A45;--brand-lighter: #FFB088;--brand-tint: #FFF1EA;--brand-tint-2: #FFE3D6;--brand-gradient-soft: linear-gradient(135deg, #FFE9DF 0%, #FFF6F1 100%);--brand-shadow: 0 8px 22px rgba(255, 90, 31, .3);--amber: #FFB020;--amber-tint: #FFF4DD;--green: #16A06A;--green-tint: #E5F5EC;--blue: #3FA7FF;--blue-tint: #E7F1FF;--red-tint: #FFEDEC;--purple: #8B5CF6;--purple-tint: #F1EBFF;--surface: #FFFFFF;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--fs-base: 13px;--ease: cubic-bezier(.4, 0, .2, 1);--dur: .2s}:root{--brand-soft: #FFE8DB;--brand-gradient: linear-gradient(-46deg, #FF5A1F 7%, #FD9402 100%);--brand-gradient-hero: linear-gradient(135deg, #FF8A52 0%, #FF5A1F 52%, #F24A10 100%);--red: #FF3541;--text-title: #262626;--text: #333;--text-2: #666;--text-3: #999;--placeholder: rgba(0, 0, 0, .45);--bg: #F7F7F7;--bg-deep: #F3F3F3;--surface-2: #FCFCFC;--fill: #F3F3F3;--border: #EDEDED;--border-strong:#DEDEDE;--hairline: #EBEBEB;--r-2xs: 2px;--r-xs: 4px;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--fs-3xs: 10px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 16px;--fs-2xl: 18px;--fs-3xl: 22px;--fs-4xl: 28px;--sz-kingkong-icon: 54px;--sz-kingkong-item: 68px;--sz-shop-logo: 108px;--sz-banner: 160px;--sz-goods-card: 176px;--sz-goods-img: 132px;--sz-cart-fab: 72px;--sz-search-btn-h: 28px;--sz-page-pad: 16px;--sz-card-gap: 8px;--sz-indicator-w: 12px;--shadow-xs: 0 1px 3px rgba(255, 90, 31, .04);--shadow-sm: 0 4px 14px rgba(255, 90, 31, .05);--shadow-md: 0 8px 26px rgba(255, 90, 31, .08);--shadow-lg: 0 18px 48px rgba(255, 90, 31, .14);--shadow-brand: 0 8px 22px rgba(255, 90, 31, .3);--mask: rgba(0, 0, 0, .5);--dur-fast: .12s}:root{--tp-primary: var(--brand);--tp-primary-light: var(--brand-light);--tp-primary-dark: var(--brand-600);--tp-primary-lighter: var(--brand-tint);--tp-accent: var(--amber);--tp-accent-light: #FFCA5C;--tp-accent-lighter: var(--amber-tint);--tp-bg: var(--bg);--tp-bg-deep: var(--bg-deep);--tp-surface: var(--surface);--tp-surface-2: var(--surface-2);--tp-border: var(--border);--tp-border-strong: var(--border-strong);--tp-text: var(--text);--tp-text-secondary: var(--text-2);--tp-text-muted: var(--text-3);--tp-success: var(--green);--tp-success-light: var(--green-tint);--tp-warning: #e89115;--tp-warning-light: #fff4e0;--tp-danger: var(--red);--tp-danger-light: var(--red-tint);--tp-info: var(--blue);--tp-info-light: var(--blue-tint);--tp-radius: var(--r);--tp-radius-sm: var(--r-sm);--tp-radius-lg: var(--r-lg);--tp-shadow-sm: var(--shadow-sm);--tp-shadow-md: var(--shadow-md);--tp-shadow-lg: var(--shadow-lg);--tp-ease: var(--ease);--tp-duration: var(--dur);--tp-gradient: var(--brand-gradient);--tp-radius-xs: var(--r-2xs);--tp-space-1: var(--sp-1);--tp-space-2: var(--sp-2);--tp-space-3: var(--sp-3);--tp-space-4: var(--sp-4);--tp-space-5: var(--sp-5);--tp-space-6: var(--sp-6);--tp-space-7: var(--sp-8);--tp-space-8: 40px;--tp-space-9: 48px;--tp-space-10: 64px;--tp-page-padding: var(--sz-page-pad);--tp-text-title: var(--text-title);--tp-fill: var(--fill);--tp-hairline: var(--hairline);--tp-brand-soft: var(--brand-soft);--tp-shadow-xs: var(--shadow-xs);--tp-fs-xs: var(--fs-xs);--tp-fs-sm: var(--fs-sm);--tp-fs-md: var(--fs-md);--tp-fs-lg: var(--fs-lg);--tp-fs-xl: var(--fs-xl);--tp-fs-stat: var(--fs-3xl)}:root{--van-primary-color: var(--brand);--van-primary-color-light: var(--brand-light);--van-primary-color-dark: var(--brand-600);--van-button-primary-background: var(--brand);--van-button-primary-border-color: var(--brand);--van-tabbar-item-active-color: var(--brand);--van-step-active-color: var(--brand);--van-radio-checked-color: var(--brand);--van-checkbox-checked-color: var(--brand);--van-dropdown-menu-active-color: var(--brand);--van-tag-primary-color: var(--brand);--van-switch-on-background: var(--brand);--van-nav-bar-icon-color: var(--brand);--van-rate-icon-full-color: var(--amber);--van-tabs-bottom-bar-color: var(--brand);--van-tabs-nav-text-color: var(--text-2);--van-tabs-nav-active-text-color: var(--text)}.van-nav-bar{background:var(--surface)}.van-nav-bar__title{color:var(--text);font-weight:700}.van-button--primary{background:var(--brand-gradient);border:0;box-shadow:var(--brand-shadow);font-weight:700;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.van-button--primary:active{transform:scale(.97)}.van-tag--primary{background:var(--brand-tint);color:var(--brand-600)}.van-field__control{color:var(--text)}.lt-brand{color:var(--brand)!important;font-weight:700}.lt-money{font-variant-numeric:tabular-nums}.lt-card{background:var(--surface);border-radius:var(--r);margin:12px;padding:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.app-hd{position:sticky;top:0;z-index:50;background:var(--brand-gradient);padding:16px;color:#fff;flex-shrink:0;overflow:visible}.app-hd:after{content:"";position:absolute;top:-60px;right:0;width:180px;height:180px;background:radial-gradient(circle,#ffffff47,#fff0 70%);pointer-events:none}.app-hd-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1;margin-bottom:16px}.app-logo{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001f;flex-shrink:0;overflow:hidden}.app-logo svg{width:100%;height:100%;display:block}.app-logo-sm{width:44px;height:44px;border-radius:12px}.app-logo-sm svg{width:100%;height:100%}.app-ttl{display:flex;flex-direction:column;line-height:1.2;flex:1 1 auto;min-width:0;overflow:hidden}.app-ttl b{font-size:17px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.app-ttl span{font-size:10px;opacity:.88;font-weight:500;margin-top:1px}.app-hd-top.is-home{gap:0}.app-hd-top.is-home .app-loc{flex:1 1 auto;min-width:0;margin:0;display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:#fff;cursor:pointer;padding:4px 0;border-radius:8px;-webkit-tap-highlight-color:transparent;transition:background var(--dur) var(--ease)}.app-hd-top.is-home .app-loc:active{opacity:.82}.app-hd-top.is-home .app-loc-txt{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-loc{font-size:12px;margin:12px 0;display:flex;align-items:center;gap:4px;opacity:.96;position:relative;z-index:1}.app-search-row{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.app-search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:#fff;border-radius:var(--r-pill);padding:8px 12px 8px 16px;color:var(--text-3);font-size:13px;position:relative;z-index:1;box-shadow:var(--shadow-sm)}.app-search input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.app-search .ph{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-search button{background:var(--brand-gradient);border:0;color:#fff;font-weight:800;font-size:13px;padding:8px 16px;border-radius:var(--r-pill);cursor:pointer}.app-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px 4px;margin:12px 12px 20px}.app-cat{text-align:center;cursor:pointer;transition:transform var(--dur) var(--ease)}.app-cat:active{transform:scale(.94)}.app-cat .ic{width:54px;height:54px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;color:var(--brand)}.app-cat:active .ic{transform:scale(.92)}.app-cat .t{font-size:11px;font-weight:600;color:var(--text)}.app-cat.is-active .ic{transform:scale(1.08)}.app-cat.is-active .t{color:var(--c, var(--brand));font-weight:800}.app-hscroll{display:flex;gap:12px;overflow-x:auto;padding:2px 12px 8px;margin-bottom:8px;scroll-snap-type:x proximity}.app-hscroll::-webkit-scrollbar{display:none}.rc-card{flex:0 0 30%;min-width:92px;scroll-snap-align:start;background:var(--surface);border-radius:var(--r);padding:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border);cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.rc-card:active{transform:scale(.975);box-shadow:var(--shadow-md)}.rc-img{width:100%;height:56px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;letter-spacing:.5px}.rc-nm{font-size:12px;font-weight:700;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-sub{font-size:10px;color:var(--text-3);margin-top:2px}.app-promo{display:flex;gap:12px;overflow-x:auto;padding:0 12px 4px;margin-bottom:16px}.app-promo::-webkit-scrollbar{display:none}.app-pc{flex:0 0 44%;background:var(--surface);border-radius:var(--r);padding:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.app-pc .h{font-size:12px;font-weight:800;color:var(--brand-600)}.app-pc .d{font-size:10px;color:var(--text-3);margin:3px 0 8px}.app-pc .pr{font-size:12px;font-weight:800;color:var(--red)}.app-sec-title{font-size:18px;font-weight:800;margin:8px 16px 12px;display:flex;align-items:center;gap:8px;color:var(--text-title)}.app-sec-title .bar{width:4px;height:16px;background:var(--brand);border-radius:3px}.app-shop{display:flex;gap:12px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:12px;margin:0 12px 12px;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.app-shop:active{transform:scale(.985)}.app-shop-img{width:96px;height:96px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;flex-shrink:0}.app-shop-bd{flex:1;min-width:0;display:flex;flex-direction:column}.app-shop-nm{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shop-sub{font-size:11px;color:var(--text-3);margin-top:4px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.app-star{color:var(--amber);font-weight:800}.app-shop-tags{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.app-tag{font-size:9.5px;padding:1.5px 8px;border-radius:8px;font-weight:700;line-height:1.5}.app-tag.r{color:var(--brand-600);background:var(--brand-tint);border:.5px solid var(--brand-tint-2)}.app-tag.o{color:#c0530a;background:var(--brand-tint);border:.5px solid var(--brand-tint-2)}.app-tag.closed{color:#6b7280;background:#f3f4f6;border:.5px solid #e5e7eb}.app-shop-ft{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:11px}.app-free{color:var(--green);font-weight:700}.app-min{color:var(--text-3)}.app-min b{color:var(--text)}.app-menu-row{display:flex;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--border)}.app-menu-row:last-child{border:0}.app-thumb{width:56px;height:56px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0}.app-menu-row .nm{font-weight:700;font-size:14px}.app-menu-row .pr{color:var(--brand-600);font-weight:800;font-size:14px;margin-top:3px}.app-add{margin-left:auto;width:32px;height:32px;border-radius:50%;background:var(--brand-gradient);color:#fff;border:0;font-size:20px;cursor:pointer;flex-shrink:0;box-shadow:var(--brand-shadow);display:flex;align-items:center;justify-content:center;transition:transform var(--dur) var(--ease)}.app-add:active{transform:scale(.9)}.app-cart-bar{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:var(--r-pill);padding:8px 12px;box-shadow:0 -4px 18px #00000014;margin:8px 12px;position:fixed;left:0;right:0;bottom:56px;z-index:20;border:1px solid var(--border)}.app-cart-bar .amt{font-weight:800;color:var(--brand-600);font-size:17px}.app-cart-bar .tt{font-size:12px;color:var(--text-3)}.app-btn{background:var(--brand-gradient);color:#fff;border:0;border-radius:var(--r-pill);padding:12px 20px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:var(--brand-shadow);transition:transform var(--dur) var(--ease)}.app-btn:active{transform:scale(.97)}.app-btn.ghost{background:var(--bg-deep);color:var(--text);box-shadow:none}.app-pay-opt{display:flex;align-items:center;gap:12px;padding:16px;border:1.5px solid var(--border);border-radius:var(--r);margin-bottom:12px;cursor:pointer;background:var(--surface);transition:all var(--dur) var(--ease)}.app-pay-opt:active{transform:scale(.99)}.app-pay-opt.on{border-color:var(--brand);background:var(--brand-tint);box-shadow:var(--shadow-xs)}.app-pay-opt .ic{width:40px;height:40px;border-radius:var(--r-sm);background:var(--bg-deep);display:flex;align-items:center;justify-content:center;font-size:20px}.app-pay-opt .nm{font-weight:800;font-size:14px}.app-pay-opt .ds{font-size:11px;color:var(--text-3);margin-top:2px}.app-dot{width:9px;height:9px;border-radius:50%;background:var(--brand);margin-left:auto}.app-steps{display:flex;flex-direction:column}.app-step{display:flex;gap:12px;align-items:flex-start}.app-step .ln{display:flex;flex-direction:column;align-items:center}.app-cir{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800}.app-cir.off{background:var(--bg-deep);color:var(--text-3)}.app-vline{flex:1;width:2px;background:var(--brand);min-height:18px}.app-vline.off{background:var(--border)}.app-step .lab{font-size:13px;font-weight:600;padding-bottom:16px}.app-step .lab .tm{font-size:11px;color:var(--text-3);font-weight:400}.app-map{height:150px;border-radius:var(--r);background:linear-gradient(135deg,#dfe7f1,#cdd9e8);position:relative;overflow:hidden;margin-bottom:12px}.app-map .pin{position:absolute;top:38%;left:46%;font-size:26px}.app-map .r{position:absolute;top:30%;right:14%;font-size:26px}.app-rider-card{display:flex;align-items:center;gap:12px}.app-av{width:44px;height:44px;border-radius:50%;background:var(--brand-tint);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.app-kv{display:flex;justify-content:space-between;font-size:13px;padding:12px 0;border-bottom:1px solid var(--border)}.app-kv:last-child{border:0}.app-kv .k{color:var(--text-3)}.app-kv .v{font-weight:700}.app-list-row{display:flex;align-items:center;gap:12px;padding:16px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.app-list-row:last-child{border:0}.app-list-row .ti{font-weight:600;font-size:14px}.app-danger{color:var(--red);font-weight:700}.app-hint{font-size:10.5px;color:var(--text-3);text-align:center;padding:8px}.shop-safety{display:flex;flex-wrap:wrap;gap:2px;margin:12px 12px 0}.lt-empty{text-align:center;padding:48px 24px;color:var(--text-3)}.lt-empty .ic{font-size:44px;opacity:.5}.lt-empty .t{font-size:14px;font-weight:600;color:var(--text-2);margin-top:12px}.lt-empty .d{font-size:12px;margin-top:4px}.lt-section{margin:20px 12px 12px;display:flex;align-items:center;justify-content:space-between}.lt-section .tt{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--text)}.lt-section .tt .bar{width:4px;height:16px;background:var(--brand);border-radius:3px}.lt-section .more{font-size:12px;color:var(--brand-600);font-weight:600}.lt-avatar{width:44px;height:44px;border-radius:50%;background:var(--brand-gradient-soft);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;color:var(--brand-600);font-weight:700}.lt-pill{display:inline-flex;align-items:center;gap:4px;background:var(--brand-tint);color:var(--brand-600);font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill)}.lt-sortbar{display:flex;align-items:center;gap:8px;padding:2px 12px 4px}.lt-sort-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12px;font-weight:600;padding:8px 12px;border-radius:var(--r-pill);cursor:pointer;transition:all var(--dur) var(--ease);white-space:nowrap}.lt-sort-chip.on{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:var(--brand-shadow)}.lt-sort-chip.mini{font-size:11px;padding:8px 12px}.lt-sort-spacer{flex:1}.lt-shop-hero{display:flex;gap:12px;background:var(--surface);margin:12px 12px 0;padding:16px;border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.hero-logo{width:54px;height:54px;border-radius:16px;background:var(--brand-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;flex-shrink:0;box-shadow:var(--brand-shadow)}.hero-main{flex:1;min-width:0}.hero-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero-star{color:var(--amber);font-weight:800;font-size:14px}.hero-count{font-size:11px;color:var(--text-3)}.hero-status{font-size:11px;font-weight:700;padding:1px 8px;border-radius:var(--r-pill)}.hero-status.on{color:var(--green);background:var(--green-tint)}.hero-status.off{color:var(--text-3);background:var(--bg-deep)}.hero-addr{font-size:12px;color:var(--text-2);margin-top:4px}.hero-notice{font-size:11px;color:var(--brand-600);margin-top:4px;background:var(--brand-tint);border-radius:8px;padding:4px 8px}.hero-extra{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.hero-pill{font-size:11px;font-weight:700;color:var(--text);background:var(--bg-deep);padding:2px 8px;border-radius:var(--r-pill)}.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 16px 0}.lt-dish-img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-sm)}.lt-promo-badge{display:inline-block;font-size:10px;font-weight:800;padding:1.5px 8px;border-radius:8px;margin-bottom:4px}.lt-promo-badge.full{color:#fff;background:var(--brand)}.lt-promo-badge.disc{color:#fff;background:var(--purple)}.lt-promo-badge.fix{color:#fff;background:var(--green)}.lt-promo-badge.gen{color:#fff;background:var(--blue)}.lt-countdown{font-size:11px;font-weight:700;color:var(--red);margin:2px 0 4px;font-variant-numeric:tabular-nums}.app-shop-sk{padding:0 12px}.sk-row{display:flex;gap:12px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:12px;margin-bottom:12px}.sk-img{width:84px;height:84px;border-radius:var(--r-sm);flex-shrink:0}.sk-bd{flex:1;display:flex;flex-direction:column;gap:8px;padding:8px 0}.sk-ln{height:11px;border-radius:8px;display:block}.sk-ln.w70{width:70%}.sk-ln.w50{width:50%}.sk-ln.w90{width:90%}.sk-img,.sk-ln{background:linear-gradient(90deg,#eef0f3 25%,#f6f7f9 37%,#eef0f3 63%);background-size:400% 100%;animation:sk-shimmer 1.3s ease infinite}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.eg-screen{min-height:100%;display:flex;flex-direction:column;padding-bottom:64px;background:var(--bg, #F7F7F7)}.eg-screen>.app-hd{margin-bottom:0}.eg-body{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.eg-body::-webkit-scrollbar{display:none}.eg-bar{height:44px;flex-shrink:0;background:#fff;display:flex;align-items:center;gap:8px;padding:0 8px;border-bottom:1px solid #F3F3F3}.eg-bar .ic{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#333;flex-shrink:0;cursor:pointer}.eg-bar .ic :deep(svg){width:20px;height:20px}.eg-bar .ttl{flex:1;text-align:center;font-size:16px;font-weight:600;color:#262626;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eg-bar .r{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#333;flex-shrink:0;cursor:pointer}.eg-bar .r :deep(svg){width:20px;height:20px}.eg-bar .r.r-ctl{width:auto;gap:12px}.eg-card{background:#fff;border-radius:12px;margin:0 8px 8px;overflow:hidden}.eg-card.pad{padding:12px}.eg-card.flush{margin-left:0;margin-right:0;border-radius:12px}.eg-sec-t{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 8px}.eg-sec-t .t{font-size:18px;font-weight:600;color:#262626;letter-spacing:-.4px}.eg-sec-t .more{font-size:12px;color:#999}.eg-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px 8px}.eg-kpi{background:#fff;border-radius:12px;padding:12px}.eg-kpi .l{font-size:12px;color:#999}.eg-kpi .v{font-size:22px;font-weight:700;color:#262626;margin-top:6px;line-height:1.1}.eg-kpi .v small{font-size:12px;font-weight:400;color:#999;margin-left:2px}.eg-kpi .d{font-size:12px;color:#16a06a;font-weight:600;margin-top:4px}.eg-kpi .d.down{color:#ff3541}.eg-kpi .d.flat{color:#999}.eg-kpi.hot .v{color:var(--brand)}.eg-chips{display:flex;gap:8px;padding:0 8px 8px;overflow:hidden;flex-shrink:0}.eg-chips .c{flex-shrink:0;background:#f3f3f3;border-radius:4px;padding:6px 12px;font-size:13px;color:#333;white-space:nowrap}.eg-chips .c.on{background:#ffe8db;color:var(--brand);font-weight:600}.eg-li{display:flex;align-items:center;gap:10px;padding:12px;background:#fff}.eg-li+.eg-li{border-top:1px solid #F3F3F3}.eg-li .ic{width:36px;height:36px;border-radius:8px;background:#ffe8db;color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.eg-li .ic :deep(svg){width:18px;height:18px}.eg-li .ic.gray{background:#f3f3f3;color:#666}.eg-li .ic.green{background:#e5f5ec;color:#16a06a}.eg-li .ic.amber{background:#fff4dd;color:#b97b05}.eg-li .ic.blue{background:#e7f1ff;color:#3fa7ff}.eg-li .bd{flex:1;min-width:0}.eg-li .bd .t{font-size:14px;color:#333;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eg-li .bd .s{font-size:12px;color:#999;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eg-li .arr{width:16px;height:16px;color:#c7ccd4;display:flex;flex-shrink:0;cursor:pointer}.eg-li .arr :deep(svg){width:16px;height:16px}.eg-li .arr.arr-ctl{width:auto;height:auto;color:inherit;cursor:default}.eg-li .arr.arr-ctl :deep(svg){width:auto;height:auto}.eg-ord{background:#fff;border-radius:12px;margin:0 8px 8px;padding:12px}.eg-ord .hd{display:flex;align-items:center;gap:8px}.eg-ord .hd .no{font-size:14px;font-weight:600;color:#333}.eg-ord .hd .tm{margin-left:auto;font-size:12px;color:#999}.eg-ord .bd{margin-top:6px;font-size:12px;color:#666;line-height:1.6}.eg-ord .ft{margin-top:10px;padding-top:10px;border-top:1px solid #F3F3F3;display:flex;align-items:center;gap:8px}.eg-ord .ft .amt{font-size:16px;font-weight:700;color:var(--brand)}.eg-ord .ft .acts{margin-left:auto;display:flex;gap:6px}.eg-st{display:inline-block;font-size:12px;line-height:18px;padding:1px 6px;border-radius:4px;white-space:nowrap}.eg-st.brand{background:#ffe8db;color:var(--brand)}.eg-st.green{background:#e5f5ec;color:#16a06a}.eg-st.amber{background:#fff4dd;color:#b97b05}.eg-st.red{background:#ffeaec;color:#ff3541}.eg-st.gray{background:#f3f3f3;color:#666}.eg-btn{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 14px;border-radius:4px;border:0;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;background:var(--brand-gradient);color:#fff}.eg-btn.ghost{background:#f3f3f3;color:#333}.eg-btn.line{background:#fff;color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.eg-btn.lg{height:40px;padding:0 20px;font-size:14px;border-radius:20px}.eg-btn.sm{height:28px;padding:0 10px;font-size:12px}.eg-btn:disabled,.eg-btn[disabled]{opacity:.5;cursor:not-allowed}.eg-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 0;background:#fff;border-radius:12px;margin:0 8px 8px;padding:12px 0}.eg-quick .q{text-align:center}.eg-quick .q .ic{width:48px;height:48px;border-radius:12px;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;background:#ffe8db;color:var(--brand)}.eg-quick .q .ic :deep(svg){width:24px;height:24px}.eg-quick .q .ic.amber{background:#fff4dd;color:#b97b05}.eg-quick .q .ic.green{background:#e5f5ec;color:#16a06a}.eg-quick .q .ic.blue{background:#e7f1ff;color:#3fa7ff}.eg-quick .q .t{font-size:12px;color:#333}.eg-dish{display:flex;gap:10px;align-items:center;padding:12px;background:#fff}.eg-dish+.eg-dish{border-top:1px solid #F3F3F3}.eg-dish .thumb{width:64px;height:64px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,#ffe9df,#fff6f1);display:flex;align-items:center;justify-content:center;font-size:26px;overflow:hidden}.eg-dish .thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px}.eg-dish .bd{flex:1;min-width:0}.eg-dish .nm{font-size:14px;font-weight:600;color:#333;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eg-dish .desc{font-size:12px;color:#999;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eg-dish .meta{margin-top:4px;display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.eg-dish .meta .star{color:var(--amber);font-weight:700}.eg-dish .pr{margin-top:4px;font-size:16px;font-weight:700;color:var(--brand)}.eg-dish .pr del{font-size:12px;color:#999;font-weight:400;margin-left:4px}.eg-dish .add{width:28px;height:28px;border-radius:50%;border:0;background:var(--brand-gradient);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #ff5a1f47;cursor:pointer;flex-shrink:0}.eg-dish .add :deep(svg){width:16px;height:16px}.eg-steps{background:#fff;border-radius:12px;margin:0 8px 8px;padding:14px 12px}.eg-steps .st{display:flex;gap:10px;align-items:flex-start}.eg-steps .ln{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px}.eg-steps .dot{width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eg-steps .dot.off{background:#f3f3f3;color:#999}.eg-steps .vln{width:2px;flex:1;min-height:22px;background:var(--brand);margin:4px 0;opacity:.35}.eg-steps .vln.off{background:#f3f3f3;opacity:1}.eg-steps .l{flex:1;padding-bottom:14px;min-width:0}.eg-steps .st:last-child .l{padding-bottom:0}.eg-steps .l .t{font-size:14px;font-weight:600;color:#333}.eg-steps .l .t.off{color:#999;font-weight:400}.eg-steps .l .tm{font-size:12px;color:#999;margin-top:2px}.eg-map{height:170px;margin:0 8px 8px;border-radius:12px;overflow:hidden;position:relative;background:linear-gradient(135deg,#dfe7f1,#cdd9e8);flex-shrink:0}.eg-map .pin{position:absolute;font-size:26px}.eg-map .p1{top:36%;left:44%}.eg-map .p2{top:28%;right:16%}.eg-map .p3{bottom:20%;left:20%}.eg-map .me{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:#ff5a1f29;display:flex;align-items:center;justify-content:center}.eg-map .me i{width:14px;height:14px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px #fff}.eg-bar-bot{flex-shrink:0;background:#fff;border-top:1px solid #F3F3F3;padding:10px 12px;display:flex;align-items:center;gap:10px}.eg-bar-bot .amt{font-size:18px;font-weight:700;color:var(--brand)}.eg-bar-bot .amt small{display:block;font-size:11px;color:#999;font-weight:400;margin-top:1px}.eg-bar-bot .acts{margin-left:auto;display:flex;gap:8px}.eg-empty{padding:36px 16px;text-align:center;color:#999}.eg-empty .ic{width:56px;height:56px;border-radius:50%;background:#f3f3f3;color:#999;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}.eg-empty .ic :deep(svg){width:26px;height:26px}.eg-empty .t{font-size:14px;color:#666}.eg-empty .d{font-size:12px;margin-top:4px}.eg-banner-wrap{margin:0 16px 12px;border-radius:8px;overflow:hidden;flex-shrink:0}.eg-banner-swipe{height:160px}.eg-banner{height:160px;padding:26px 20px;background:linear-gradient(120deg,#ff7a45,#f24a10 60%,#d63c06);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.eg-banner:after{content:"";position:absolute;right:-18px;bottom:-40px;width:130px;height:130px;border-radius:50%;background:#ffffff29}.eg-banner h4{margin:0;font-size:20px;font-weight:800;position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eg-banner p{margin:6px 0 0;font-size:13px;opacity:.94;position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eg-banner-swipe .van-swipe__indicators{bottom:10px}.eg-banner-swipe .van-swipe__indicator{width:12px;height:4px;border-radius:2px;background:#ffffff80;opacity:1;transition:width .2s,background .2s}.eg-banner-swipe .van-swipe__indicator--active{width:12px;background:#fff}.eg-sw{display:flex;align-items:center;gap:8px}.eg-sw .sw{width:44px;height:24px;border-radius:12px;background:var(--brand);position:relative;flex-shrink:0;transition:background .2s}.eg-sw .sw i{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#fff}.eg-sw.off .sw{background:#d8d8d8}.eg-sw.off .sw i{right:auto;left:2px}.so-topbar .tb-side.tb-ctl{width:auto;min-width:40px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 8px}.so-topbar .tb-side.tb-ctl :deep(svg){width:20px;height:20px}:root{--tp-primary: #FF5A1F;--tp-primary-600: #F24A10;--tp-primary-700: #D63C06;--tp-primary-light: #FF7A45;--tp-primary-lighter: #FFE8DB;--tp-primary-tint: #FFF1EA;--tp-primary-tint-2: #FFE3D6;--tp-accent: #FFB020;--tp-accent-light: #FFCA5C;--tp-accent-lighter: #FFF4DD;--tp-gradient: linear-gradient(-46deg, #FF5A1F 7%, #FD9402 100%);--tp-gradient-hero: linear-gradient(135deg, #FF8A52 0%, #FF5A1F 52%, #F24A10 100%);--tp-gradient-soft: linear-gradient(135deg, #FFF6F1 0%, #FFE8DB 100%);--brand: var(--tp-primary);--brand-600: var(--tp-primary-600);--brand-light: var(--tp-primary-light);--brand-soft: var(--tp-primary-lighter);--brand-tint: var(--tp-primary-tint);--brand-gradient: var(--tp-gradient);--brand-gradient-hero: var(--tp-gradient-hero);--tp-success: #16A06A;--tp-success-light: #E5F5EC;--tp-warning: #E89115;--tp-warning-light: #FFF4DD;--tp-danger: #FF3541;--tp-danger-light: #FFEDEC;--tp-info: #3FA7FF;--tp-info-light: #E7F1FF;--tp-purple: #8B5CF6;--tp-purple-light: #F1EBFF;--tp-cyan: #13C2C2;--tp-bg: #F7F7F7;--tp-bg-deep: #F3F3F3;--tp-surface: #FFFFFF;--tp-surface-2: #FCFCFC;--tp-fill: #F3F3F3;--tp-border: #EDEDED;--tp-border-strong: #DEDEDE;--tp-hairline: #EBEBEB;--tp-text-title: #262626;--tp-text: #333333;--tp-text-secondary: #666666;--tp-text-muted: #999999;--tp-text-disabled: #BFBFBF;--tp-text-inverse: #FFFFFF;--tp-placeholder: rgba(0, 0, 0, .35);--tp-radius-2xs: 2px;--tp-radius-xs: 4px;--tp-radius-sm: 8px;--tp-radius: 12px;--tp-radius-lg: 16px;--tp-radius-xl: 24px;--tp-radius-pill: 999px;--radius-card: 12px;--radius-control: 8px;--radius-chip: 4px;--tp-fs-3xs: 10px;--tp-fs-2xs: 11px;--tp-fs-xs: 12px;--tp-fs-sm: 13px;--tp-fs-md: 14px;--tp-fs-lg: 15px;--tp-fs-xl: 16px;--tp-fs-2xl: 18px;--tp-fs-3xl: 22px;--tp-fs-4xl: 28px;--tp-fs-display: 34px;--tp-leading-tight: 1.25;--tp-leading-snug: 1.4;--tp-leading-normal: 1.55;--tp-leading-relaxed: 1.75;--tp-fw-regular: 400;--tp-fw-medium: 500;--tp-fw-semibold: 600;--tp-fw-bold: 700;--tp-fw-extrabold: 800;--tp-space-1: 4px;--tp-space-2: 8px;--tp-space-3: 12px;--tp-space-4: 16px;--tp-space-5: 20px;--tp-space-6: 24px;--tp-space-8: 32px;--tp-space-10: 40px;--tp-space-12: 48px;--pad-page: 12px;--gap-card: 8px;--pad-card: 12px;--tp-shadow-xs: 0 1px 3px rgba(255, 90, 31, .04);--tp-shadow-sm: 0 2px 8px rgba(255, 90, 31, .06);--tp-shadow-md: 0 8px 26px rgba(255, 90, 31, .08);--tp-shadow-lg: 0 12px 32px rgba(255, 90, 31, .12);--tp-shadow-brand: 0 8px 22px rgba(255, 90, 31, .3);--tp-mask: rgba(0, 0, 0, .55);--tp-ease: cubic-bezier(.4, 0, .2, 1);--tp-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--tp-ease-out: cubic-bezier(0, 0, .2, 1);--tp-duration-fast: .12s;--tp-duration: .2s;--tp-duration-slow: .32s;--tp-z-base: 1;--tp-z-sticky: 200;--tp-z-tabbar: 300;--tp-z-dropdown: 400;--tp-z-drawer: 1000;--tp-z-modal: 1050;--tp-z-toast: 2000;--sz-topbar-h: 44px;--sz-tabbar-h: 52px;--sz-bottom-bar-h: 56px;--sz-kingkong-icon: 54px;--sz-kingkong-cell: 68px;--sz-shop-logo: 64px;--sz-banner: 132px;--sz-dish-thumb: 64px;--sz-list-icon: 36px;--sz-avatar: 40px;--sz-touch-min: 44px;--sz-navbar-h: 52px;--sz-sidebar-w: 224px;--sz-sidebar-collapsed: 60px;--sz-tabs-h: 38px;--sz-page-max: 1440px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Thai", "Noto Sans Lao", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num: "SF Mono", "DIN Alternate", ui-monospace, "Noto Sans Thai", monospace}html.dark{--tp-bg: #131722;--tp-bg-deep: #0F131C;--tp-surface: #1B2130;--tp-surface-2: #202636;--tp-fill: #232A3B;--tp-border: #2A3247;--tp-border-strong: #38415A;--tp-hairline: #232A3B;--tp-text-title: #F0F2F7;--tp-text: #E8EBF3;--tp-text-secondary: #9AA4BC;--tp-text-muted: #5D6880;--tp-text-disabled: #444E63;--tp-placeholder: rgba(255, 255, 255, .3);--tp-primary-lighter: rgba(255, 90, 31, .18);--tp-primary-tint: rgba(255, 90, 31, .12);--tp-success-light: rgba(22, 160, 106, .18);--tp-warning-light: rgba(232, 145, 21, .18);--tp-danger-light: rgba(255, 53, 65, .18);--tp-info-light: rgba(63, 167, 255, .18);--tp-shadow-xs: 0 1px 3px rgba(0, 0, 0, .3);--tp-shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--tp-shadow-md: 0 8px 26px rgba(0, 0, 0, .4);--tp-shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--tp-mask: rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--tp-fs-md);line-height:var(--tp-leading-normal);color:var(--tp-text);background:var(--tp-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:clip}h1,h2,h3,h4,h5,h6,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.num,.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--tp-border-strong);border-radius:3px}::-webkit-scrollbar-track{background:transparent}.t-3xs{font-size:var(--tp-fs-3xs)}.t-2xs{font-size:var(--tp-fs-2xs)}.t-xs{font-size:var(--tp-fs-xs)}.t-sm{font-size:var(--tp-fs-sm)}.t-md{font-size:var(--tp-fs-md)}.t-lg{font-size:var(--tp-fs-lg)}.t-2xl{font-size:var(--tp-fs-2xl);font-weight:var(--tp-fw-bold)}.t-3xl{font-size:var(--tp-fs-3xl);font-weight:var(--tp-fw-bold)}.t-secondary{color:var(--tp-text-secondary)}.t-muted{color:var(--tp-text-muted)}.t-primary{color:var(--tp-primary)}.t-success{color:var(--tp-success)}.t-danger{color:var(--tp-danger)}.t-bold{font-weight:var(--tp-fw-semibold)}.t-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.so-page{min-height:100vh;max-width:480px;margin:0 auto;background:var(--tp-bg);display:flex;flex-direction:column;position:relative;overflow:hidden}.so-page.has-tabbar{padding-bottom:calc(var(--sz-tabbar-h) + env(safe-area-inset-bottom))}.so-page.has-bottombar{padding-bottom:calc(var(--sz-bottom-bar-h) + env(safe-area-inset-bottom))}.so-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--tp-space-4)}.so-topbar{position:sticky;top:0;z-index:var(--tp-z-sticky);height:var(--sz-topbar-h);display:flex;align-items:center;gap:var(--tp-space-2);padding:0 var(--tp-space-2);background:var(--tp-surface);border-bottom:1px solid var(--tp-hairline)}.so-topbar.ghost{background:transparent;border-bottom:none}.so-topbar .tb-side{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--tp-radius-sm);flex:none;transition:background var(--tp-duration-fast) var(--tp-ease)}.so-topbar .tb-side:active{background:var(--tp-fill)}.so-topbar .tb-title{flex:1;min-width:0;text-align:center;font-size:var(--tp-fs-xl);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-topbar .tb-title.left{text-align:left;padding-left:var(--tp-space-1)}.so-topbar .tb-sub{display:block;font-size:var(--tp-fs-2xs);font-weight:var(--tp-fw-regular);color:var(--tp-text-muted);line-height:1.2}.so-navhero{background:var(--tp-gradient-hero);padding:var(--tp-space-3) var(--pad-page) var(--tp-space-4);color:var(--tp-text-inverse);position:relative;overflow:hidden}.so-navhero:after{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%)}.so-navhero .nh-row{display:flex;align-items:center;gap:var(--tp-space-2);position:relative;z-index:1}.so-navhero .nh-addr{flex:1;min-width:0;display:flex;align-items:center;gap:var(--tp-space-1);font-size:var(--tp-fs-xl);font-weight:var(--tp-fw-semibold)}.so-navhero .nh-addr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-navhero .nh-act{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--tp-radius-pill);background:#ffffff2e;position:relative;flex:none}.so-search{display:flex;align-items:center;gap:var(--tp-space-2);margin-top:var(--tp-space-3);position:relative;z-index:1}.so-search .s-input{flex:1;height:34px;display:flex;align-items:center;gap:6px;padding:0 var(--tp-space-3);background:#fffffff2;border-radius:var(--tp-radius-pill);color:var(--tp-text-muted);font-size:var(--tp-fs-sm)}.so-search .s-btn{height:34px;padding:0 var(--tp-space-4);border-radius:var(--tp-radius-pill);background:var(--tp-accent);color:#fff;font-size:var(--tp-fs-sm);font-weight:var(--tp-fw-semibold);display:grid;place-items:center;flex:none}.so-card{background:var(--tp-surface);border-radius:var(--radius-card);margin:0 var(--pad-page) var(--gap-card);overflow:hidden}.so-card.pad{padding:var(--pad-card)}.so-card.flat{margin-left:0;margin-right:0;border-radius:0}.so-card+.so-card{margin-top:0}.so-card-head{display:flex;align-items:center;justify-content:space-between;padding:var(--tp-space-3) var(--pad-card);border-bottom:1px solid var(--tp-hairline)}.so-card-head h3{font-size:var(--tp-fs-lg);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-sec{display:flex;align-items:baseline;justify-content:space-between;padding:var(--tp-space-4) var(--pad-page) var(--tp-space-2)}.so-sec h2{font-size:var(--tp-fs-2xl);font-weight:var(--tp-fw-bold);color:var(--tp-text-title);letter-spacing:-.01em}.so-sec .more{font-size:var(--tp-fs-xs);color:var(--tp-text-muted)}.so-kingkong{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tp-space-3) 0;padding:var(--tp-space-4) var(--tp-space-2)}.so-kingkong .kk{display:flex;flex-direction:column;align-items:center;gap:6px}.so-kingkong .kk i{width:var(--sz-kingkong-icon);height:var(--sz-kingkong-icon);border-radius:var(--tp-radius-lg);display:grid;place-items:center;background:var(--tp-primary-tint);font-style:normal}.so-kingkong .kk b{font-size:var(--tp-fs-xs);font-weight:var(--tp-fw-medium);color:var(--tp-text);text-align:center;line-height:1.3}.so-banner{height:var(--sz-banner);border-radius:var(--radius-card);background:var(--tp-gradient-hero);margin:0 var(--pad-page) var(--tp-space-3);padding:var(--tp-space-5);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.so-banner:after{content:"";position:absolute;right:-30px;bottom:-50px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 70%)}.so-banner h4{font-size:var(--tp-fs-3xl);font-weight:var(--tp-fw-extrabold);position:relative;z-index:1}.so-banner p{font-size:var(--tp-fs-sm);opacity:.92;margin-top:2px;position:relative;z-index:1}.so-banner .bn-tag{align-self:flex-start;margin-top:var(--tp-space-3);padding:3px 10px;border-radius:var(--tp-radius-pill);background:#ffffff3d;font-size:var(--tp-fs-2xs);position:relative;z-index:1}.so-dots{display:flex;gap:4px;justify-content:center;margin-top:-6px}.so-dots i{width:12px;height:4px;border-radius:2px;background:var(--tp-border-strong)}.so-dots i.on{background:var(--tp-primary)}.so-chips{display:flex;gap:var(--tp-space-2);padding:0 var(--pad-page) var(--tp-space-3);overflow-x:auto;scrollbar-width:none}.so-chips::-webkit-scrollbar{display:none}.so-chips .c{flex:none;padding:6px 14px;border-radius:var(--radius-chip);background:var(--tp-fill);color:var(--tp-text-secondary);font-size:var(--tp-fs-sm);transition:all var(--tp-duration-fast) var(--tp-ease)}.so-chips .c.on{background:var(--tp-primary-lighter);color:var(--tp-primary);font-weight:var(--tp-fw-semibold)}.so-li{display:flex;align-items:center;gap:var(--tp-space-3);padding:var(--tp-space-3) var(--pad-card);background:var(--tp-surface);min-height:56px;position:relative}.so-li+.so-li:before{content:"";position:absolute;left:var(--pad-card);right:0;top:0;height:1px;background:var(--tp-hairline)}.so-li:active{background:var(--tp-surface-2)}.so-li .ic{width:var(--sz-list-icon);height:var(--sz-list-icon);border-radius:var(--radius-control);background:var(--tp-primary-lighter);color:var(--tp-primary);display:grid;place-items:center;flex:none}.so-li .ic.gray{background:var(--tp-fill);color:var(--tp-text-secondary)}.so-li .ic.green{background:var(--tp-success-light);color:var(--tp-success)}.so-li .ic.amber{background:var(--tp-warning-light);color:var(--tp-warning)}.so-li .ic.blue{background:var(--tp-info-light);color:var(--tp-info)}.so-li .bd{flex:1;min-width:0}.so-li .bd .t{font-size:var(--tp-fs-md);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-li .bd .s{font-size:var(--tp-fs-xs);color:var(--tp-text-muted);margin-top:2px}.so-li .ex{font-size:var(--tp-fs-sm);color:var(--tp-text-secondary);flex:none;text-align:right}.so-li .arr{color:var(--tp-text-disabled);flex:none}.so-shop{display:flex;gap:var(--tp-space-3);padding:var(--tp-space-3);background:var(--tp-surface);border-radius:var(--radius-card);margin:0 var(--pad-page) var(--gap-card);transition:transform var(--tp-duration-fast) var(--tp-ease),box-shadow var(--tp-duration-fast) var(--tp-ease)}.so-shop:active{transform:scale(.985)}.so-shop .logo{width:var(--sz-shop-logo);height:var(--sz-shop-logo);border-radius:var(--radius-control);display:grid;place-items:center;font-size:var(--tp-fs-2xl);font-weight:var(--tp-fw-bold);color:#fff;flex:none;position:relative}.so-shop .logo .verified{position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;background:var(--tp-info);color:#fff;display:grid;place-items:center;border:2px solid #fff}.so-shop .bd{flex:1;min-width:0}.so-shop .bd .nm{font-size:var(--tp-fs-lg);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title);display:flex;align-items:center;gap:4px}.so-shop .bd .meta{display:flex;align-items:center;gap:6px;font-size:var(--tp-fs-xs);color:var(--tp-text-muted);margin-top:4px}.so-shop .bd .meta .rate{color:var(--tp-accent);font-weight:var(--tp-fw-semibold)}.so-shop .bd .tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.so-dish{display:flex;gap:var(--tp-space-3);padding:var(--tp-space-3) var(--pad-card);background:var(--tp-surface)}.so-dish+.so-dish{border-top:1px solid var(--tp-hairline)}.so-dish .thumb{width:var(--sz-dish-thumb);height:var(--sz-dish-thumb);border-radius:var(--radius-control);background:var(--tp-fill);display:grid;place-items:center;font-size:var(--tp-fs-xl);font-weight:var(--tp-fw-bold);color:var(--tp-text-secondary);flex:none;overflow:hidden}.so-dish .bd{flex:1;min-width:0;display:flex;flex-direction:column}.so-dish .bd .nm{font-size:var(--tp-fs-md);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-dish .bd .desc{font-size:var(--tp-fs-xs);color:var(--tp-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-dish .bd .pr{margin-top:auto;display:flex;align-items:baseline;gap:6px}.so-dish .bd .pr b{font-size:var(--tp-fs-lg);font-weight:var(--tp-fw-bold);color:var(--tp-primary)}.so-dish .bd .pr del{font-size:var(--tp-fs-2xs);color:var(--tp-text-disabled)}.so-dish .act{flex:none;display:flex;align-items:flex-end}.so-stepper{display:flex;align-items:center;gap:var(--tp-space-2)}.so-stepper button{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:16px;line-height:1}.so-stepper button.minus{border:1px solid var(--tp-primary);color:var(--tp-primary);background:#fff}.so-stepper button.plus{background:var(--tp-gradient);color:#fff}.so-stepper span{min-width:20px;text-align:center;font-size:var(--tp-fs-md);font-weight:var(--tp-fw-semibold)}.so-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:var(--radius-chip);font-size:var(--tp-fs-2xs);font-weight:var(--tp-fw-medium);line-height:1.5;white-space:nowrap}.so-tag.brand{background:var(--tp-primary-lighter);color:var(--tp-primary)}.so-tag.green{background:var(--tp-success-light);color:var(--tp-success)}.so-tag.amber{background:var(--tp-warning-light);color:#b97b05}.so-tag.red{background:var(--tp-danger-light);color:var(--tp-danger)}.so-tag.blue{background:var(--tp-info-light);color:var(--tp-info)}.so-tag.gray{background:var(--tp-fill);color:var(--tp-text-secondary)}.so-tag.outline{background:transparent;border:1px solid var(--tp-border-strong);color:var(--tp-text-secondary)}.so-tag.solid{background:var(--tp-gradient);color:#fff}.so-btn{height:36px;padding:0 var(--tp-space-4);border-radius:var(--radius-control);font-size:var(--tp-fs-md);font-weight:var(--tp-fw-semibold);display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--tp-gradient);color:#fff;box-shadow:var(--tp-shadow-brand);transition:transform var(--tp-duration-fast) var(--tp-ease),filter var(--tp-duration-fast) var(--tp-ease)}.so-btn:active{transform:scale(.97);filter:brightness(.96)}.so-btn.lg{height:46px;width:100%;border-radius:var(--tp-radius-pill);font-size:var(--tp-fs-lg)}.so-btn.block{width:100%}.so-btn.sm{height:30px;padding:0 var(--tp-space-3);font-size:var(--tp-fs-sm);border-radius:var(--radius-chip)}.so-btn.ghost{background:var(--tp-fill);color:var(--tp-text);box-shadow:none}.so-btn.line{background:#fff;color:var(--tp-primary);border:1px solid var(--tp-primary);box-shadow:none}.so-btn.danger{background:#fff;color:var(--tp-danger);border:1px solid var(--tp-danger);box-shadow:none}.so-btn.plain-danger{background:var(--tp-danger);color:#fff;box-shadow:none}.so-btn[disabled],.so-btn.disabled{background:var(--tp-fill);color:var(--tp-text-disabled);box-shadow:none;pointer-events:none}.so-field{padding:var(--tp-space-3) var(--pad-card);background:var(--tp-surface);display:flex;align-items:center;gap:var(--tp-space-3);min-height:50px}.so-field+.so-field{border-top:1px solid var(--tp-hairline)}.so-field>label{width:88px;flex:none;font-size:var(--tp-fs-md);color:var(--tp-text-secondary)}.so-field .ctrl{flex:1;min-width:0}.so-field input,.so-field textarea,.so-field select{width:100%;border:none;outline:none;background:transparent;font-size:var(--tp-fs-md);color:var(--tp-text-title);padding:0}.so-field input::placeholder,.so-field textarea::placeholder{color:var(--tp-placeholder)}.so-field textarea{resize:none;line-height:1.5}.so-field .unit{flex:none;font-size:var(--tp-fs-sm);color:var(--tp-text-muted)}.so-field.col{flex-direction:column;align-items:stretch;gap:var(--tp-space-2)}.so-field.col>label{width:auto;font-size:var(--tp-fs-sm);color:var(--tp-text-secondary)}.so-input-box{background:var(--tp-fill);border-radius:var(--radius-control);padding:var(--tp-space-3);display:flex;align-items:center;gap:var(--tp-space-2)}.so-input-box input,.so-input-box textarea{flex:1;border:none;background:transparent;outline:none;font-size:var(--tp-fs-md)}.so-switch{width:44px;height:26px;border-radius:13px;background:var(--tp-border-strong);position:relative;transition:background var(--tp-duration) var(--tp-ease);flex:none}.so-switch:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--tp-duration) var(--tp-ease)}.so-switch.on{background:var(--tp-primary)}.so-switch.on:after{transform:translate(18px)}.so-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-card);padding:0 var(--pad-page) var(--tp-space-3)}.so-kpi{background:var(--tp-surface);border-radius:var(--radius-card);padding:var(--tp-space-4)}.so-kpi .k{font-size:var(--tp-fs-xs);color:var(--tp-text-muted)}.so-kpi .v{font-size:var(--tp-fs-3xl);font-weight:var(--tp-fw-bold);color:var(--tp-text-title);line-height:1.2;margin-top:2px}.so-kpi.hot .v{color:var(--tp-primary)}.so-kpi .sub{font-size:var(--tp-fs-2xs);color:var(--tp-text-muted);margin-top:2px}.so-kpi .delta{font-size:var(--tp-fs-2xs);font-weight:var(--tp-fw-semibold)}.so-kpi .delta.up{color:var(--tp-success)}.so-kpi .delta.down{color:var(--tp-danger)}.so-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tp-space-3) 0;padding:var(--tp-space-4) var(--tp-space-2)}.so-quick .q{display:flex;flex-direction:column;align-items:center;gap:6px}.so-quick .q i{width:48px;height:48px;border-radius:var(--radius-card);display:grid;place-items:center;background:var(--tp-primary-lighter);color:var(--tp-primary);font-style:normal}.so-quick .q i.amber{background:var(--tp-warning-light);color:var(--tp-warning)}.so-quick .q i.green{background:var(--tp-success-light);color:var(--tp-success)}.so-quick .q i.blue{background:var(--tp-info-light);color:var(--tp-info)}.so-quick .q b{font-size:var(--tp-fs-xs);font-weight:var(--tp-fw-regular);color:var(--tp-text-secondary)}.so-ord{background:var(--tp-surface);border-radius:var(--radius-card);margin:0 var(--pad-page) var(--gap-card);padding:var(--tp-space-3)}.so-ord .hd{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-2);padding-bottom:var(--tp-space-2);border-bottom:1px solid var(--tp-hairline)}.so-ord .hd .no{font-size:var(--tp-fs-sm);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-ord .hd .tm{font-size:var(--tp-fs-2xs);color:var(--tp-text-muted)}.so-ord .bd{padding:var(--tp-space-2) 0;font-size:var(--tp-fs-sm);color:var(--tp-text-secondary);line-height:1.6}.so-ord .ft{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-2);padding-top:var(--tp-space-2);border-top:1px solid var(--tp-hairline)}.so-ord .ft .amt{font-size:var(--tp-fs-xl);font-weight:var(--tp-fw-bold);color:var(--tp-text-title)}.so-ord .ft .acts{display:flex;gap:var(--tp-space-2)}.so-steps{padding:var(--tp-space-3) var(--pad-card)}.so-steps .st{display:flex;gap:var(--tp-space-3);position:relative;padding-bottom:var(--tp-space-4)}.so-steps .st:last-child{padding-bottom:0}.so-steps .st .dot{width:18px;height:18px;border-radius:50%;background:var(--tp-fill);border:2px solid var(--tp-border-strong);flex:none;z-index:1}.so-steps .st.done .dot{background:var(--tp-primary);border-color:var(--tp-primary)}.so-steps .st.now .dot{background:#fff;border-color:var(--tp-primary);box-shadow:0 0 0 4px var(--tp-primary-lighter)}.so-steps .st .vln{position:absolute;left:8px;top:18px;bottom:0;width:2px;background:var(--tp-hairline)}.so-steps .st.done .vln{background:var(--tp-primary)}.so-steps .st .l{flex:1;padding-top:1px}.so-steps .st .l .t{font-size:var(--tp-fs-md);color:var(--tp-text-secondary)}.so-steps .st.done .l .t,.so-steps .st.now .l .t{color:var(--tp-text-title);font-weight:var(--tp-fw-semibold)}.so-steps .st .l .tm{font-size:var(--tp-fs-2xs);color:var(--tp-text-muted)}.so-empty{display:flex;flex-direction:column;align-items:center;gap:var(--tp-space-3);padding:var(--tp-space-12) var(--tp-space-6);text-align:center}.so-empty .ic{width:56px;height:56px;border-radius:50%;background:var(--brand-tint-2, #FFE3D6);display:grid;place-items:center;color:var(--brand, #FF5A1F)}.so-empty .t{font-size:var(--tp-fs-md);color:var(--tp-text-secondary)}.so-empty .d{font-size:var(--tp-fs-xs);color:var(--tp-text-muted)}.so-skel{background:var(--tp-surface);border-radius:var(--radius-card);margin:0 var(--pad-page) var(--gap-card);padding:var(--tp-space-3)}.so-skel .bar{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--tp-fill) 25%,var(--tp-surface-2) 37%,var(--tp-fill) 63%);background-size:400% 100%;animation:skel 1.4s ease infinite}@keyframes skel{0%{background-position:100% 50%}to{background-position:0 50%}}.so-tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--sz-tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--tp-surface);border-top:1px solid var(--tp-hairline);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;z-index:var(--tp-z-tabbar)}.so-tabbar .tb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:var(--tp-fs-3xs);color:var(--tp-text-muted);position:relative}.so-tabbar .tb.on{color:var(--tp-primary);font-weight:var(--tp-fw-semibold)}.so-tabbar .tb .badge{position:absolute;top:4px;right:22%;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--tp-danger);color:#fff;font-size:9px;line-height:15px;text-align:center}.so-bottombar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;min-height:var(--sz-bottom-bar-h);padding:var(--tp-space-2) var(--pad-page) calc(var(--tp-space-2) + env(safe-area-inset-bottom));background:var(--tp-surface);border-top:1px solid var(--tp-hairline);display:flex;align-items:center;gap:var(--tp-space-3);z-index:var(--tp-z-tabbar)}.so-bottombar .amt{flex:1;min-width:0}.so-bottombar .amt b{font-size:var(--tp-fs-2xl);font-weight:var(--tp-fw-bold);color:var(--tp-primary)}.so-bottombar .amt small{display:block;font-size:var(--tp-fs-2xs);color:var(--tp-text-muted)}.so-bottombar .acts{display:flex;gap:var(--tp-space-2);flex:none}.so-cart-fab{position:fixed;left:50%;bottom:calc(var(--sz-tabbar-h) + 16px);transform:translate(-50%);width:56px;height:56px;border-radius:50%;background:var(--tp-gradient);color:#fff;display:grid;place-items:center;box-shadow:var(--tp-shadow-brand);z-index:var(--tp-z-tabbar)}.so-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tp-mask);z-index:var(--tp-z-modal);display:flex;align-items:flex-end;justify-content:center}.so-sheet{width:100%;max-width:480px;background:var(--tp-surface);border-radius:var(--tp-radius-lg) var(--tp-radius-lg) 0 0;max-height:82vh;display:flex;flex-direction:column;animation:sheet-up var(--tp-duration-slow) var(--tp-ease)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.so-sheet .sh-hd{display:flex;align-items:center;justify-content:space-between;padding:var(--tp-space-4) var(--pad-card) var(--tp-space-3);border-bottom:1px solid var(--tp-hairline)}.so-sheet .sh-hd h3{font-size:var(--tp-fs-lg);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-sheet .sh-bd{flex:1;overflow-y:auto;padding:var(--tp-space-3) 0}.so-sheet .sh-ft{padding:var(--tp-space-3) var(--pad-card) calc(var(--tp-space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--tp-hairline)}.so-dialog{width:calc(100% - 64px);max-width:320px;background:var(--tp-surface);border-radius:var(--tp-radius-lg);overflow:hidden}.so-mask.center{align-items:center}.so-dialog .dg-bd{padding:var(--tp-space-5) var(--tp-space-4);text-align:center}.so-dialog .dg-bd h4{font-size:var(--tp-fs-lg);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-dialog .dg-bd p{font-size:var(--tp-fs-sm);color:var(--tp-text-secondary);margin-top:var(--tp-space-2)}.so-dialog .dg-ft{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-top:1px solid var(--tp-hairline)}.so-dialog .dg-ft button{height:46px;font-size:var(--tp-fs-md);color:var(--tp-text-secondary)}.so-dialog .dg-ft button+button{border-left:1px solid var(--tp-hairline)}.so-dialog .dg-ft button.primary{color:var(--tp-primary);font-weight:var(--tp-fw-semibold)}.so-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);padding:var(--tp-space-3) var(--tp-space-5);background:#000000c7;color:#fff;border-radius:var(--radius-control);font-size:var(--tp-fs-sm);z-index:var(--tp-z-toast);max-width:70%;text-align:center}.so-notice{display:flex;align-items:flex-start;gap:var(--tp-space-2);padding:var(--tp-space-2) var(--tp-space-3);border-radius:var(--radius-control);font-size:var(--tp-fs-xs);line-height:1.5;margin:0 var(--pad-page) var(--gap-card)}.so-notice.brand{background:var(--tp-primary-tint);color:var(--tp-primary-700)}.so-notice.amber{background:var(--tp-warning-light);color:#8a5a00}.so-notice.red{background:var(--tp-danger-light);color:var(--tp-danger)}.so-notice.green{background:var(--tp-success-light);color:var(--tp-success)}.so-notice.gray{background:var(--tp-fill);color:var(--tp-text-secondary)}.so-map{height:170px;border-radius:var(--radius-card);margin:0 var(--pad-page) var(--gap-card);background:linear-gradient(#ffffff8c,#ffffffa6),repeating-linear-gradient(0deg,#E9EEF2 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,#E9EEF2 0 1px,transparent 1px 22px),#f2f6f9;position:relative;overflow:hidden}.so-map .pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;color:#fff;font-size:12px}.so-map .pin span{transform:rotate(45deg)}.so-map .pin.p1{left:18%;top:26%;background:var(--tp-primary)}.so-map .pin.p2{right:22%;bottom:30%;background:var(--tp-info)}.so-map .pin.p3{left:44%;top:52%;background:var(--tp-success)}.so-map .me{position:absolute;left:44%;top:52%;width:14px;height:14px;border-radius:50%;background:var(--tp-info);border:3px solid #fff;box-shadow:0 0 0 8px #3fa7ff2e}.so-map.legend{display:flex;align-items:flex-end;gap:var(--tp-space-3);padding:var(--tp-space-2);font-size:var(--tp-fs-2xs);color:var(--tp-text-secondary)}.so-map.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.so-avatar{width:var(--sz-avatar);height:var(--sz-avatar);border-radius:50%;background:var(--tp-gradient);color:#fff;display:grid;place-items:center;font-size:var(--tp-fs-lg);font-weight:var(--tp-fw-semibold);flex:none}.so-avatar.sq{border-radius:var(--radius-control)}.so-avatar.lg{width:56px;height:56px;font-size:var(--tp-fs-2xl)}.so-coupon{display:flex;background:var(--tp-surface);border-radius:var(--radius-card);margin:0 var(--pad-page) var(--gap-card);overflow:hidden;position:relative}.so-coupon .left{width:104px;flex:none;background:var(--tp-gradient-soft);color:var(--tp-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--tp-space-4) var(--tp-space-2)}.so-coupon .left b{font-size:var(--tp-fs-4xl);font-weight:var(--tp-fw-extrabold);line-height:1.1}.so-coupon .left small{font-size:var(--tp-fs-2xs);color:var(--tp-primary-600)}.so-coupon .right{flex:1;padding:var(--tp-space-3);min-width:0}.so-coupon .right .t{font-size:var(--tp-fs-md);font-weight:var(--tp-fw-semibold);color:var(--tp-text-title)}.so-coupon .right .s{font-size:var(--tp-fs-xs);color:var(--tp-text-muted);margin-top:3px}.so-coupon .right .op{display:flex;align-items:center;justify-content:space-between;margin-top:var(--tp-space-2)}.so-coupon.used{opacity:.6}.so-coupon .dash{position:absolute;left:104px;top:8px;bottom:8px;width:0;border-left:1px dashed var(--tp-border-strong)}.so-chat{padding:var(--tp-space-3);display:flex;flex-direction:column;gap:var(--tp-space-3)}.so-chat .msg{display:flex;gap:var(--tp-space-2)}.so-chat .msg .bubble{max-width:74%;padding:var(--tp-space-2) var(--tp-space-3);border-radius:var(--tp-radius-lg);font-size:var(--tp-fs-md);line-height:1.5}.so-chat .msg.peer .bubble{background:var(--tp-surface);color:var(--tp-text-title);border-bottom-left-radius:var(--radius-chip)}.so-chat .msg.me{justify-content:flex-end}.so-chat .msg.me .bubble{background:var(--tp-gradient);color:#fff;border-bottom-right-radius:var(--radius-chip)}.so-chat .tm{text-align:center;font-size:var(--tp-fs-2xs);color:var(--tp-text-muted)}.so-chat-input{position:sticky;bottom:0;display:flex;gap:var(--tp-space-2);padding:var(--tp-space-2) var(--pad-page) calc(var(--tp-space-2) + env(safe-area-inset-bottom));background:var(--tp-surface);border-top:1px solid var(--tp-hairline)}.so-chat-input .box{flex:1;background:var(--tp-fill);border-radius:var(--tp-radius-pill);padding:0 var(--tp-space-4);height:38px;display:flex;align-items:center}.so-chat-input .box input{flex:1;border:none;background:transparent;outline:none;font-size:var(--tp-fs-md)}.so-stars{display:inline-flex;gap:2px;color:var(--tp-accent)}.so-stars .off{color:var(--tp-border-strong)}.so-rate-bar{display:flex;align-items:center;gap:var(--tp-space-2);font-size:var(--tp-fs-2xs);color:var(--tp-text-muted)}.so-rate-bar .track{flex:1;height:5px;border-radius:3px;background:var(--tp-fill);overflow:hidden}.so-rate-bar .track i{display:block;height:100%;background:var(--tp-accent);border-radius:3px}.so-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-card);padding:0 var(--pad-page)}.so-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-card);padding:0 var(--pad-page)}.so-tile{background:var(--tp-surface);border-radius:var(--radius-card);padding:var(--tp-space-3);text-align:center}.so-tile .k{font-size:var(--tp-fs-2xs);color:var(--tp-text-muted)}.so-tile .v{font-size:var(--tp-fs-2xl);font-weight:var(--tp-fw-bold);color:var(--tp-text-title)}.so-tile.hot .v{color:var(--tp-primary)}.so-tile .s{font-size:var(--tp-fs-3xs);color:var(--tp-text-muted)}.row{display:flex;align-items:center}.row.between{justify-content:space-between}.row.center{justify-content:center}.row.wrap{flex-wrap:wrap}.gap-1{gap:var(--tp-space-1)}.gap-2{gap:var(--tp-space-2)}.gap-3{gap:var(--tp-space-3)}.gap-4{gap:var(--tp-space-4)}.col{display:flex;flex-direction:column}.flex-1{flex:1;min-width:0}.mt-1{margin-top:var(--tp-space-1)}.mt-2{margin-top:var(--tp-space-2)}.mt-3{margin-top:var(--tp-space-3)}.mt-4{margin-top:var(--tp-space-4)}.mb-2{margin-bottom:var(--tp-space-2)}.mb-3{margin-bottom:var(--tp-space-3)}.pad{padding:0 var(--pad-page)}.hair-top{border-top:1px solid var(--tp-hairline)}.ad-seg{display:inline-flex;background:var(--tp-fill);border-radius:6px;padding:2px;gap:2px}.ad-seg button{height:26px;padding:0 12px;border-radius:4px;font-size:12.5px;color:var(--tp-text-secondary)}.ad-seg button.on{background:var(--tp-surface);color:var(--tp-primary);font-weight:var(--tp-fw-semibold);box-shadow:var(--tp-shadow-xs)}.ad-heat{display:grid;gap:2px}.ad-heat .row{display:grid;grid-template-columns:34px repeat(24,1fr);gap:2px;align-items:center}.ad-heat i{height:14px;border-radius:2px;background:var(--tp-fill);display:block}.lb{font-size:10px;color:var(--tp-text-muted);line-height:1.4}.so-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:3px;background:var(--tp-fill);border-radius:var(--radius-control)}.so-seg button{height:36px;border-radius:calc(var(--radius-control) - 2px);font-size:var(--tp-fs-sm);font-weight:var(--tp-fw-medium);color:var(--tp-text-secondary);transition:background var(--tp-duration-fast) var(--tp-ease),color var(--tp-duration-fast) var(--tp-ease)}.so-seg button.on{background:var(--tp-surface);color:var(--tp-primary);font-weight:var(--tp-fw-semibold);box-shadow:var(--tp-shadow-xs)}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tp-space-2);margin-top:var(--tp-space-3)}.slot-grid .so-tag{display:flex;justify-content:center;padding:8px 4px;border-radius:var(--radius-control);font-size:var(--tp-fs-xs)}.so-tag.disabled,.slot-grid .so-tag.disabled{color:var(--tp-text-disabled);background:var(--tp-fill);cursor:not-allowed}.so-li.is-disabled{cursor:not-allowed}.so-li.is-disabled .bd .t{color:var(--tp-text-disabled)}.so-li.is-disabled .ic{opacity:.5}.total-num{font-size:var(--tp-fs-xl);font-weight:var(--tp-fw-bold);color:var(--tp-primary)}.so-sec .t{font-size:var(--tp-fs-2xl);font-weight:var(--tp-fw-bold);color:var(--tp-text-title);letter-spacing:-.01em}.so-kpi .l{font-size:var(--tp-fs-xs);color:var(--tp-text-muted)}.so-kpi .v small{font-size:var(--tp-fs-xs);font-weight:var(--tp-fw-regular);color:var(--tp-text-muted);margin-left:2px}.so-kpi .d{font-size:var(--tp-fs-2xs);font-weight:var(--tp-fw-semibold);margin-top:4px;color:var(--tp-success)}.so-kpi .d.down{color:var(--tp-danger)}.so-kpi .d.flat{color:var(--tp-text-muted)}.so-steps .st .dot.off{background:var(--tp-fill);border-color:var(--tp-border-strong)}.so-steps .st .vln.off{background:var(--tp-hairline)}.so-steps .st .l .t.off{color:var(--tp-text-muted);font-weight:var(--tp-fw-regular)}.so-dish .add{flex:none;display:flex;align-items:flex-end}.so-dish .add button,.so-dish .add .b{width:28px;height:28px;border-radius:50%;border:0;background:var(--tp-gradient);color:#fff;display:grid;place-items:center;box-shadow:0 4px 10px #ff5a1f47}.so-li .arr.arr-ctl{width:auto;height:auto;color:inherit;cursor:default}.so-li .arr.arr-ctl :deep(svg){width:auto;height:auto}.so-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:12px 16px;background:#fff}.so-row+.so-row{border-top:1px solid #F3F3F3}.so-row .t{font-size:14px;color:#333;font-weight:600}.so-row .v{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.so-money{font-variant-numeric:tabular-nums}.so-brand{color:var(--brand, #FF5A1F)!important;font-weight:700}.so-map-card{height:170px;margin:0 8px 8px;border-radius:12px;overflow:hidden;position:relative;background:linear-gradient(135deg,#dfe7f1,#cdd9e8);flex-shrink:0}.so-map-card .pin{position:absolute;font-size:26px}.so-map-card .p1{top:36%;left:44%}.so-map-card .p2{top:28%;right:16%}.so-map-card .p3{bottom:20%;left:20%}.so-map-card .me{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:#ff5a1f29;display:flex;align-items:center;justify-content:center}.so-map-card .me i{width:14px;height:14px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px #fff}.so-bar-bot{flex-shrink:0;background:#fff;border-top:1px solid #F3F3F3;padding:10px 12px;display:flex;align-items:center;gap:10px}.so-bar-bot .amt{font-size:18px;font-weight:700;color:var(--brand)}.so-bar-bot .amt small{display:block;font-size:11px;color:#999;font-weight:400;margin-top:1px}.so-bar-bot .acts{margin-left:auto;display:flex;gap:8px}.so-sw{display:flex;align-items:center;gap:8px}.so-sw .sw{width:44px;height:24px;border-radius:12px;background:var(--brand);position:relative;flex-shrink:0;transition:background .2s}.so-sw .sw i{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#fff}.so-sw.off .sw{background:#d8d8d8}.so-sw.off .sw i{right:auto;left:2px}.so-loading{padding:60px 0;display:flex;justify-content:center}.so-form-t{font-size:16px;font-weight:700;color:#262626;margin-bottom:12px}.so-acts{display:flex;gap:12px;margin-top:16px}.so-acts.end{justify-content:flex-end;margin-top:0;padding:12px 16px 4px}.so-ops{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.so-sw-t{font-size:13px;color:#666;margin-left:8px}
