:root{--so-accent: #ff6a00;--so-accent-soft: #ffe4c9;--so-price: #f83419;--so-text: #212121;--so-sub: #757575;--so-line: #ebebeb;--so-bg: #f5f5f5;--so-footer: #0f0f0e}.so-root{--so-top: 0px;--so-head-h: 90px;--so-footer-h: calc(64px + env(safe-area-inset-bottom)) ;color:var(--so-text);background:#fff;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,PingFang SC,Microsoft YaHei,sans-serif;padding-bottom:var(--so-footer-h);position:relative}.so-root.embedded{--so-top: 64px;padding-bottom:0}.so-top{position:sticky;top:var(--so-top);z-index:30;background:#fff;border-bottom:1px solid var(--so-line)}.so-header{display:flex;align-items:center;gap:10px;padding:10px 14px 6px}.so-burger{border:0;background:transparent;font-size:22px;color:var(--so-text);padding:0;cursor:pointer;line-height:1}.so-shop{flex:1;min-width:0;font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-table{flex:none;display:inline-flex;align-items:center;gap:4px;color:var(--so-accent);font-size:15px;font-weight:700}.so-filter{display:flex;align-items:center;gap:8px;padding:4px 14px 10px}.so-pill{border:0;border-radius:18px;background:var(--so-line);color:var(--so-text);font-size:15px;font-weight:600;min-width:64px;height:34px;padding:0 16px;cursor:pointer}.so-pill.on{background:var(--so-accent);color:#fff}.so-view{margin-left:auto;border:0;background:transparent;color:#8a8a8a;font-size:24px;cursor:pointer;line-height:1;padding:0}.so-body{display:flex;align-items:flex-start}.so-menu{position:sticky;top:calc(var(--so-top) + var(--so-head-h));flex:none;width:88px;max-height:calc(100vh - var(--so-top) - var(--so-head-h) - var(--so-footer-h));overflow-y:auto;scrollbar-width:none;background:var(--so-bg);border-right:1px solid var(--so-line);padding-bottom:12px}.so-menu::-webkit-scrollbar{display:none}.so-cat-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:72px;margin:10px auto 6px;padding:8px 0;border:0;border-radius:8px;background:#fff;box-shadow:0 0 12px #00000014;color:var(--so-text);font-size:13px;cursor:pointer}.so-menu-item{position:relative;display:block;width:100%;border:0;background:transparent;cursor:pointer;padding:14px 8px;color:var(--so-text);font-size:14px;line-height:1.3;text-align:center}.so-menu-item span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:break-all}.so-menu-item.on{background:#ff6a001f}.so-menu-item.on:after{content:"";position:absolute;right:0;top:0;height:100%;width:3px;background:var(--so-accent)}.so-main{flex:1;min-width:0;min-height:calc(100vh - var(--so-top) - var(--so-head-h) - var(--so-footer-h))}.so-section{padding:0 10px 6px 12px}.so-section-title{font-size:16px;font-weight:700;padding:12px 0 8px}.so-list{display:flex;flex-direction:column}.so-item{position:relative;display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--so-line);cursor:pointer}.so-item.disabled{cursor:default}.so-item:focus-visible{outline:2px solid var(--so-accent);outline-offset:2px}.so-img{position:relative;flex:none;width:104px;height:104px;border-radius:8px;background:#eee;overflow:hidden}.so-img img{width:100%;height:100%;object-fit:cover;display:block}.so-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ccc;font-size:28px}.so-info{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;min-height:104px}.so-name{font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.so-price{color:var(--so-price);font-weight:700;font-size:19px;line-height:1.3;margin-top:2px}.so-price small{font-size:13px;margin-right:1px}.so-tax-line{color:var(--so-sub);font-size:12px}.so-staff{font-size:11px;color:#e07a00;margin-top:2px}.so-action{margin-top:auto;align-self:flex-end}.so-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:6px}@media (min-width: 720px){.so-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.so-grid .so-item{flex-direction:column;gap:6px;padding:0 0 8px;border-bottom:0}.so-grid .so-img{width:100%;height:auto;aspect-ratio:1 / 1}.so-grid .so-info{min-height:0}.so-grid .so-name{font-size:14px}.so-stamp{position:absolute;top:6px;left:4px;z-index:2;background:#d7161e;color:#fff;font-size:12px;font-weight:800;letter-spacing:1px;padding:3px 7px;border-radius:7px 11px 8px 12px;transform:rotate(-8deg);box-shadow:0 0 0 2px #d7161e4d}.so-soldout{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#ffffff8c;display:flex;align-items:center;justify-content:center}.so-soldout span{border:2px solid #fff;color:#fff;background:#3c3c3cbf;font-weight:800;font-size:12px;letter-spacing:1px;padding:2px 8px;transform:rotate(-12deg)}.so-add{width:32px;height:32px;border-radius:50%;border:0;background:var(--so-accent);color:#fff;font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.so-add:disabled{background:#ccc;cursor:default}.so-choose{border:0;border-radius:18px;background:var(--so-accent);color:#fff;font-size:15px;font-weight:700;height:34px;padding:0 16px;cursor:pointer;white-space:nowrap}@media (max-width: 420px){.so-menu{width:74px}.so-img{width:88px;height:88px}.so-info{min-height:88px}.so-name{font-size:15px}.so-choose{font-size:13px;padding:0 10px;height:30px}}.so-count{min-width:22px;height:22px;border-radius:11px;background:var(--so-accent-soft);color:var(--so-accent);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.so-footer{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--so-footer);color:#fff;display:flex;align-items:stretch;height:var(--so-footer-h);padding-bottom:env(safe-area-inset-bottom)}.so-footer.embedded{position:sticky}.so-tab{flex:1;border:0;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;cursor:pointer;position:relative}.so-tab .anticon{font-size:24px}.so-tab .so-badge{position:absolute;top:6px;left:calc(50% + 6px);min-width:18px;height:18px;border-radius:9px;background:#ff3b30;font-size:11px;line-height:18px;padding:0 5px;font-weight:700}.so-sheet-group{padding:6px 0 10px;border-bottom:1px solid var(--so-line)}.so-sheet-group:last-child{border-bottom:0}.so-sheet-title{position:relative;font-size:17px;font-weight:700;padding:8px 0 8px 12px}.so-sheet-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--so-text)}.so-sheet-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.so-sheet-item{position:relative;text-align:left;border:0;background:transparent;font-size:15px;padding:11px 8px 11px 26px;cursor:pointer;color:var(--so-text)}.so-sheet-item:before{content:"";position:absolute;left:12px;top:50%;width:6px;height:6px;border-radius:50%;background:currentColor;transform:translateY(-50%)}.so-sheet-item.on{color:var(--so-accent);font-weight:600}.so-sheet-close{width:100%;height:46px;border:0;border-radius:8px;background:#1f1f1f;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.so-nav .ant-modal-content{padding:28px 22px 16px}.so-nav-item{position:relative;display:block;width:100%;text-align:left;border:0;background:transparent;font-size:16px;padding:12px 8px;cursor:pointer;color:var(--so-text)}.so-nav-item.static{cursor:default}.so-nav-item.sub{padding-left:24px}.so-nav-check{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--so-accent);font-size:18px}.so-nav-sep{border-top:1px solid var(--so-line);margin:6px 0}.so-detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;background:#fff;display:flex;flex-direction:column;color:var(--so-text)}.so-detail-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.so-back{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;font-size:17px;padding:14px 16px;cursor:pointer;color:var(--so-text)}.so-detail-img{width:100%;aspect-ratio:4 / 3;background:#eee}.so-detail-img img{width:100%;height:100%;object-fit:cover;display:block}.so-detail-body{padding:14px 16px 24px;max-width:760px}.so-detail-name{font-size:20px;font-weight:700}.so-detail-desc{color:var(--so-sub);font-size:13px;margin-top:4px}.so-detail-price-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.so-price-lg{font-size:24px;font-weight:600}.so-stepper{display:inline-flex;align-items:center;gap:14px}.so-step{width:30px;height:30px;border-radius:50%;border:0;background:var(--so-accent);color:#fff;font-size:15px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.so-step.minus,.so-step:disabled{background:var(--so-accent-soft);color:#fff}.so-step.minus:not(:disabled){background:var(--so-accent)}.so-step:disabled{cursor:default}.so-step-num{font-size:18px;font-weight:600;min-width:16px;text-align:center}.so-min-note{color:var(--so-sub);font-size:12px;margin-top:2px}.so-prefer{margin-top:16px;padding:10px 0;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;font-size:16px;font-weight:600}.so-opt-group{padding:14px 4px 4px}.so-opt-head{display:flex;align-items:center;gap:8px}.so-opt-name{font-size:17px;font-weight:700}.so-must{border:1px solid var(--so-price);color:var(--so-price);font-size:11px;padding:0 4px;border-radius:3px;line-height:18px}.so-opt-msg{font-size:14px;color:var(--so-text);margin:6px 0 8px}.so-opt-msg.err{color:var(--so-price);font-weight:600}.so-unit-tax{color:var(--so-sub);font-weight:400;margin-left:4px}.so-opt-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.so-opt{border:1px solid #d9d9d9;border-radius:6px;background:#fff;padding:10px 4px;text-align:center;cursor:pointer;color:var(--so-text)}.so-opt.on{border-color:var(--so-accent);box-shadow:inset 0 0 0 1px var(--so-accent);background:#fff7f0}.so-opt-label{font-size:14px;margin-bottom:6px}.so-opt-price{font-size:17px;font-weight:600}.so-opt-tax{font-size:11px;color:var(--so-sub)}.so-detail-bar{flex:none;display:flex;gap:14px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--so-line);background:#fff}.so-checkout-btn{flex:0 0 40%;height:48px;border:0;border-radius:8px;background:var(--so-line);color:#555;font-size:16px;font-weight:700;cursor:pointer}.so-checkout-btn:disabled{color:#bdbdbd;cursor:default}.so-addcart-btn{flex:1;height:48px;border:0;border-radius:8px;background:var(--so-accent);color:#fff;font-size:17px;font-weight:700;cursor:pointer}.so-addcart-btn:disabled,.so-addcart-btn.blocked{background:#ffc69e;cursor:default}
