:root{color-scheme:light;--pink:#ed4e97;--pink-dark:#d8327e;--pink-soft:#fff0f7;--bg:#fffafd;--text:#29212b;--muted:#8a7b86;--line:#ecdae5}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.45;overscroll-behavior-y:contain}
body.detail-lock{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
svg{width:19px;height:19px;display:block;flex-shrink:0;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
a{color:inherit;text-decoration:none}
.app{width:100%;max-width:1120px;margin:auto;padding:0 18px 40px}
.header{position:sticky;top:0;z-index:20;background:#fffafdF5;border-bottom:1px solid var(--line);box-shadow:0 6px 16px -12px #6b2f4d66;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);margin:0 -18px;padding:calc(env(safe-area-inset-top,0px) + 11px) 18px 11px}
.header-inner{max-width:1084px;margin:auto;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.brand-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#ff85bd,#e83989);color:#fff;box-shadow:0 4px 10px #ed4e9730;overflow:hidden}
.brand-icon svg{width:21px;height:21px;stroke-width:2}
.brand-icon img{width:100%;height:100%;object-fit:contain;display:block}
.brand-name{font-size:17px;line-height:1.1;font-weight:850;letter-spacing:-.7px}
.brand-name span{color:var(--pink)}
.brand-sub{font-size:10px;color:var(--muted);margin-top:3px}
.search{height:39px;min-width:0;flex:1;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #ead7e3;background:#fff;border-radius:12px;color:#9a8a95;box-shadow:0 1px 2px #3b22300d}
.search svg{width:17px;height:17px}
.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}
.search input::placeholder{color:#a596a0}
.header-action{width:38px;height:38px;border:1px solid #ead7e3;border-radius:12px;background:#fff;color:#51434d;display:grid;place-items:center;position:relative;box-shadow:0 1px 3px #3b22300f}
.cart-count{position:absolute;top:-5px;right:-4px;background:var(--pink);color:white;border:2px solid var(--bg);border-radius:20px;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-weight:800;display:grid;place-items:center}
main{padding-top:18px}
.flash-sale{position:relative;overflow:hidden;border:1px solid #f6cade;border-radius:19px;background:linear-gradient(115deg,#ffeaf4,#ffd5e9 56%,#f8b9da);padding:16px 18px;box-shadow:0 3px 14px #b13a7414}
.flash-sale:before{content:"";position:absolute;width:220px;height:220px;right:50px;top:-150px;border-radius:50%;background:#ffffff45;pointer-events:none}
.flash-banner{position:relative;z-index:1;margin-bottom:13px}
.flash-headline{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;row-gap:7px}
.flash-title{display:flex;align-items:center;gap:6px;margin:0;font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.9px;color:#d52f7d}
.flash-shine{display:inline-block;white-space:nowrap;padding-right:2px;margin-right:-2px}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
.flash-shine{background-image:linear-gradient(90deg,#d52f7d 0%,#d52f7d 46%,#ec6ea9 48%,#ffb6d5 49%,#ffffff 50%,#ffb6d5 51%,#ec6ea9 52%,#d52f7d 54%,#d52f7d 100%);background-size:300% 100%;background-repeat:no-repeat;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:flashShine 6s ease-in-out infinite}
@keyframes flashShine{0%{background-position:100% 0}45%,100%{background-position:0% 0}}
}
.flash-bolt{width:22px;height:22px;flex-shrink:0;fill:currentColor;stroke:none;color:#d52f7d;transform-origin:50% 55%;animation:boltPulse 2.4s ease-in-out infinite;filter:drop-shadow(0 1px 2px #d52f7d26)}
@keyframes boltPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 1px 2px #d52f7d26)}50%{transform:scale(1.14);filter:drop-shadow(0 2px 7px #ed4e9766)}}
.flash-sub{margin:5px 0 0;color:#7d4863;font-size:10.5px;line-height:1.5;max-width:340px}
.flash-timer{display:flex;align-items:center;gap:7px}
.flash-timer>span{font-size:10px;color:#7d4863;white-space:nowrap}
.timer-units{display:flex;align-items:center;gap:3px}
.timer-units b{display:grid;place-items:center;min-width:24px;padding:4px 5px;border:1px solid #ffffffa8;border-radius:7px;background:#fff;color:#c92d73;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:800;box-shadow:0 1px 3px #b13a7414}
.timer-units i{font-size:10px;font-style:normal;color:#c92d73;font-weight:800}
.flash-deals{position:relative;z-index:2;padding-top:12px;border-top:1px dashed #ffffffcc}
.flash-deals-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.flash-deals-title{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:850;letter-spacing:-.2px;color:#a92a6d}
.flash-deals-title svg{width:14px;height:14px}
.flash-nav{display:flex;gap:6px}
.flash-nav button{width:29px;height:29px;border:1px solid #f3c3da;border-radius:9px;background:#fff;color:#c73b81;display:grid;place-items:center;box-shadow:0 2px 6px #b13a7418;transition:background .15s,color .15s}
.flash-nav button:active{background:#ffeaf4;color:var(--pink-dark)}
.flash-nav button[disabled]{opacity:.4;pointer-events:none}
.flash-nav button svg{width:15px;height:15px}
.flash-nav button.prev svg{transform:rotate(180deg)}
.flash-track{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 4px;cursor:grab}
.flash-track::-webkit-scrollbar{display:none}
.flash-track.dragging{cursor:grabbing;scroll-snap-type:none}
.flash-card{flex:0 0 148px;scroll-snap-align:start;background:#fff;border:1px solid #f7d3e4;border-radius:14px;padding:8px;box-shadow:0 5px 16px #b13a7420;user-select:none;transition:border-color .18s,transform .18s}
.flash-card:hover{border-color:#f2a9ca}
.flash-card:active{transform:scale(.985)}
.flash-card-art{height:72px;border-radius:10px;display:grid;place-items:center;position:relative;overflow:hidden}
.flash-card-art:before{content:"";position:absolute;width:70px;height:70px;border:1px solid #ffffff85;border-radius:50%;top:-38px;right:-20px}
.flash-card-art:after{content:"";position:absolute;width:46px;height:46px;border:1px solid #ffffff90;border-radius:50%;bottom:-26px;left:-10px}
.flash-card-logo{position:relative;z-index:1;width:40px;height:40px;border-radius:13px;background:#ffffffdc;display:grid;place-items:center;box-shadow:0 4px 12px #47324710;overflow:hidden}
.flash-card-logo svg{width:23px;height:23px}
.flash-card-logo img{width:100%;height:100%;object-fit:cover;border-radius:13px;display:block}
.flash-discount{position:absolute;top:6px;left:6px;z-index:3;background:var(--pink);color:#fff;border-radius:5px;padding:2px 5px;font-size:8px;font-weight:850;letter-spacing:.2px;overflow:hidden;animation:discountPulse 2.6s ease-in-out infinite;will-change:transform}
.flash-discount::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);transform:translateX(-180%);animation:discountShine 4.2s ease-in-out infinite;pointer-events:none}
@keyframes discountPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}
@keyframes discountShine{0%,18%{transform:translateX(-180%)}55%,100%{transform:translateX(180%)}}
.flash-card:nth-child(1) .flash-discount{animation-delay:0s,0s}
.flash-card:nth-child(2) .flash-discount{animation-delay:-.4s,-.7s}
.flash-card:nth-child(3) .flash-discount{animation-delay:-.8s,-1.4s}
.flash-card:nth-child(4) .flash-discount{animation-delay:-1.2s,-2.1s}
.flash-card:nth-child(5) .flash-discount{animation-delay:-1.6s,-2.8s}
.flash-card:nth-child(6) .flash-discount{animation-delay:-2s,-3.5s}
.flash-card-name{margin-top:8px;font-size:11px;font-weight:800;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flash-card-plan{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flash-stock{margin-top:7px}
.flash-stock-bar{height:4px;border-radius:3px;background:#f4e0ea;overflow:hidden}
.flash-stock-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#ff8bbf,#e83e8c)}
.flash-stock-text{display:flex;justify-content:space-between;gap:4px;margin-top:4px;font-size:8.5px;color:var(--muted)}
.flash-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:4px;margin-top:8px}
.flash-price-start{font-size:8.5px;color:var(--muted);margin-bottom:1px}
.flash-price{font-size:12px;font-weight:850;color:var(--pink-dark);letter-spacing:-.3px;white-space:nowrap}
.flash-old{font-size:8.5px;color:#a89aa5;text-decoration:line-through;margin-top:1px}
.flash-buy{width:27px;height:27px;flex-shrink:0;border:1px solid #fbd9ea;border-radius:9px;background:var(--pink-soft);color:var(--pink-dark);display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s}
.flash-buy svg{width:15px;height:15px}
.flash-buy:active{background:var(--pink);border-color:var(--pink);color:#fff}
.section{margin-top:23px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.section-title{font-size:15px;font-weight:800;letter-spacing:-.35px;margin:0}
.section-sub{font-size:10px;color:var(--muted);margin-top:3px}
.app-count{font-size:10px;font-weight:750;color:var(--pink-dark);white-space:nowrap;background:var(--pink-soft);border:1px solid #fbd3e7;border-radius:7px;padding:4px 9px}
.order-guide{padding:15px;background:linear-gradient(145deg,#fff0f7,#fff5fa 80%);border:1px solid #f6d3e4;border-radius:16px;box-shadow:0 2px 12px #5b2c4510}
.guide-label{font-size:9px;font-weight:800;letter-spacing:.4px;color:#d83d87;background:#fff;border:1px solid #f5d8e7;border-radius:20px;padding:6px 8px;white-space:nowrap}
.route-map{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-top:5px;isolation:isolate}
.route-line{position:absolute;top:24px;left:12.5%;right:12.5%;border-top:2px dashed #e9a5c7;z-index:0}
.route-progress{position:absolute;top:24px;left:12.5%;right:12.5%;height:2px;border-radius:2px;background:linear-gradient(90deg,#ed4e97 0%,#ff8bbf 100%);box-shadow:0 0 8px #ed4e9740;z-index:1;pointer-events:none;clip-path:inset(0 100% 0 0);opacity:0;animation:fillProgress 8s linear infinite}
@keyframes fillProgress{0%,6%{clip-path:inset(0 100% 0 0);opacity:0}25%{clip-path:inset(0 66.66% 0 0);opacity:1}50%{clip-path:inset(0 33.33% 0 0);opacity:1}75%{clip-path:inset(0 0 0 0);opacity:1}87%,100%{clip-path:inset(0 0 0 0);opacity:0}}
.route-dot{position:absolute;top:24px;left:12.5%;width:11px;height:11px;margin-top:-5.5px;margin-left:-5.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0%,#ff6fae 45%,#d8327e 100%);box-shadow:0 0 0 2px #fff,0 0 0 4px #ed4e9744,0 2px 8px #ed4e9788;z-index:3;pointer-events:none;opacity:0;animation:travelRoute 8s infinite}
@keyframes travelRoute{0%{left:12.5%;opacity:0;animation-timing-function:cubic-bezier(.4,0,.6,1)}6%{left:12.5%;opacity:1;animation-timing-function:cubic-bezier(.4,0,.6,1)}25%{left:37.5%;opacity:1;animation-timing-function:cubic-bezier(.4,0,.6,1)}50%{left:62.5%;opacity:1;animation-timing-function:cubic-bezier(.4,0,.6,1)}75%{left:87.5%;opacity:1;animation-timing-function:cubic-bezier(.4,0,.6,1)}87%{left:87.5%;opacity:0}100%{left:87.5%;opacity:0}}
.route-step{position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;text-align:center;min-width:0}
.route-node{position:relative;width:43px;height:43px;display:grid;place-items:center;border:1px solid #f0bdd6;border-radius:15px;background:#fff;color:#e44791;box-shadow:0 3px 10px #b13a7418;animation:nodeActive 8s infinite}
.route-step:nth-child(5) .route-node{animation-delay:-6s}
.route-step:nth-child(6) .route-node{animation-delay:-4s}
.route-step:nth-child(7) .route-node{animation-delay:-2s}
@keyframes nodeActive{0%,12%{background:linear-gradient(135deg,#ff8bbf,#ed4e97);border-color:#ed4e97;color:#fff;box-shadow:0 4px 14px #ed4e9744,0 0 0 3px #ed4e9720;transform:scale(1.08) translateY(-1px)}22%,100%{background:#fff;border-color:#f0bdd6;color:#e44791;box-shadow:0 3px 10px #b13a7418;transform:scale(1) translateY(0)}}
.route-node svg{width:19px;height:19px;position:relative;z-index:1}
.route-node span{position:absolute;top:-6px;right:-6px;width:17px;height:17px;display:grid;place-items:center;background:#ed4e97;color:#fff;border:2px solid #fff;border-radius:50%;font-size:8px;font-weight:800;z-index:2}
.route-copy{margin-top:9px;min-width:0}
.route-copy strong{display:block;font-size:10px;font-weight:800;white-space:nowrap}
.route-copy>span{display:block;margin-top:3px;font-size:9px;color:#8a7b86;white-space:nowrap}
.filter-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:1px 0 4px}
.filter-row::-webkit-scrollbar{display:none}
.filter{border:1px solid #e8d2df;background:white;color:#7b6b76;border-radius:9px;padding:7px 12px;white-space:nowrap;font-size:10px;font-weight:650;flex-shrink:0;box-shadow:0 1px 2px #3b22300a}
.filter.active{background:var(--pink);border-color:var(--pink);color:white;box-shadow:0 2px 8px #ed4e9733}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:11px}
.product{background:#fff;border:1px solid #eddae6;border-radius:15px;padding:10px;min-width:0;position:relative;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:0 1px 2px #3b22300a,0 3px 12px #5b2c4512;cursor:pointer}
.product:hover{border-color:#f7bcd8;box-shadow:0 4px 18px #b13a7418}
.product:active{transform:scale(.985)}
.product-art{height:105px;border-radius:11px;display:grid;place-items:center;position:relative;overflow:hidden}
.product-art:before{content:"";position:absolute;width:100px;height:100px;border:1px solid #ffffff85;border-radius:50%;top:-50px;right:-25px}
.product-art:after{content:"";position:absolute;width:65px;height:65px;border:1px solid #ffffff90;border-radius:50%;bottom:-38px;left:-13px}
.art-netflix{background:linear-gradient(145deg,#ffe8ed,#ffd2da);color:#e32636}
.art-spotify{background:linear-gradient(145deg,#e4f8e9,#c5f0d1);color:#198c51}
.art-canva{background:linear-gradient(145deg,#e4f3ff,#c9e5ff);color:#1678cf}
.art-youtube{background:linear-gradient(145deg,#ffe9e5,#ffd0c6);color:#e34035}
.art-ai{background:linear-gradient(145deg,#eee7ff,#d9ceff);color:#7755d7}
.art-music{background:linear-gradient(145deg,#fff1da,#ffe1ae);color:#bb791d}
.art-cloud{background:linear-gradient(145deg,#e4f8ff,#c8edff);color:#318eb9}
.art-office{background:linear-gradient(145deg,#e5eaff,#cbd5ff);color:#455fd2}
.app-logo{width:54px;height:54px;border-radius:17px;background:#ffffffdc;display:grid;place-items:center;box-shadow:0 5px 18px #47324710;position:relative;z-index:1;overflow:hidden}
.app-logo svg{width:31px;height:31px}
.app-logo img{width:100%;height:100%;object-fit:cover;display:block}
.product-category{position:absolute;top:7px;left:7px;z-index:2;background:#fff;border:1px solid #ffffff;border-radius:5px;padding:3px 6px;font-size:8px;font-weight:800;color:var(--pink-dark);letter-spacing:.2px;box-shadow:0 1px 4px #00000018}
.product-info{padding-top:10px}
.product-name{font-size:12px;font-weight:800;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-desc{font-size:10px;color:var(--muted);margin-top:3px;min-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:4px;margin-top:11px}
.price-label{font-size:9px;color:var(--muted);margin-bottom:1px;letter-spacing:.1px}
.price{font-size:13px;font-weight:850;letter-spacing:-.35px;white-space:nowrap}
.open{width:31px;height:31px;flex-shrink:0;border:1px solid #fbd9ea;border-radius:10px;background:var(--pink-soft);color:var(--pink-dark);display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s}
.open svg{width:16px;height:16px}
.open:active{background:var(--pink);border-color:var(--pink);color:white}
.empty-state{grid-column:1/-1;text-align:center;padding:35px 10px;color:var(--muted);background:white;border:1px dashed #e0c6d6;border-radius:14px}
.empty-state svg{margin:0 auto 10px;width:27px;height:27px}
.empty-state strong{display:block;color:var(--text);margin-bottom:4px}
.toast{position:fixed;z-index:60;left:50%;bottom:25px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#30242e;color:white;padding:11px 16px;border-radius:12px;box-shadow:0 8px 28px #21101b24;font-size:11px;font-weight:650;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.detail-root{position:fixed;inset:0;z-index:80;display:none;background:rgba(41,33,43,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.detail-root.show{display:block}
.detail-panel{position:absolute;inset:0;margin:auto;width:100%;max-width:760px;height:100%;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #21101b4d;animation:detailIn .28s cubic-bezier(.22,1,.36,1)}
@keyframes detailIn{from{transform:translateY(18px);opacity:.65}to{transform:translateY(0);opacity:1}}
.detail-header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;background:rgba(255,250,253,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.detail-back,.detail-cart{width:38px;height:38px;min-width:38px;border:1px solid #ead7e3;border-radius:12px;background:#fff;color:#51434d;display:grid;place-items:center;position:relative;box-shadow:0 1px 3px #3b22300f;transition:all .18s;line-height:0}
.detail-back:hover,.detail-cart:hover{border-color:#f5b7d5;background:#fff7fb;color:var(--pink-dark)}
.detail-back:active,.detail-cart:active{transform:scale(.94)}
.detail-back svg{width:18px;height:18px;stroke-width:2.1}
.detail-cart svg{width:19px;height:19px}
.detail-cart-count{position:absolute;top:-5px;right:-4px;background:var(--pink);color:#fff;border:2px solid #fff;border-radius:20px;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-weight:800;display:grid;place-items:center}
.detail-brand{display:flex;align-items:center;gap:10px;min-width:0}
.detail-logo{width:40px;height:40px;min-width:40px;border-radius:14px;background:linear-gradient(145deg,#fff0f7,#fff);border:1px solid #f4d7e7;display:grid;place-items:center;overflow:hidden;color:var(--pink-dark);box-shadow:0 2px 8px #b13a7414}
.detail-logo svg{width:23px;height:23px}
.detail-logo img{width:100%;height:100%;object-fit:cover;display:block}
.detail-title-wrap{min-width:0;flex:1}
.detail-title{font-size:14px;font-weight:900;letter-spacing:-.35px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detail-desc{font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detail-body{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 14px calc(env(safe-area-inset-bottom,0px) + 28px)}
.price-group{margin-top:12px;border:1px solid #eddae6;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #3b22300a,0 3px 12px #5b2c4512}
.detail-body>.price-group:first-child{margin-top:0}
.price-group-head{display:flex;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid #f2e1eb;background:linear-gradient(180deg,#fffafc,#fff)}
.price-group-icon{width:30px;height:30px;min-width:30px;border-radius:10px;background:var(--pink-soft);border:1px solid #f8d7e8;color:var(--pink-dark);display:grid;place-items:center;flex:0 0 auto;line-height:0}
.price-group-icon svg{width:16px;height:16px;stroke-width:1.9}
.price-group-title{flex:1;min-width:0;font-size:12.5px;font-weight:900;letter-spacing:-.2px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-group-count{font-size:9.5px;font-weight:850;color:var(--pink-dark);background:#fff;border:1px solid #fbd3e7;border-radius:999px;padding:4px 8px;white-space:nowrap;flex:0 0 auto}
.price-list{display:flex;flex-direction:column}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid #f6e7ef}
.price-row:last-child{border-bottom:0}
.price-row.in-cart{background:#fff7fb}
.price-row-main{min-width:0;flex:1}
.price-row-text{min-width:0}
.price-row-name{font-size:12px;font-weight:850;letter-spacing:-.15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-row-sub{font-size:9.5px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-row-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.price-row-price{font-size:12.5px;font-weight:900;color:var(--pink-dark);letter-spacing:-.25px;white-space:nowrap}
.price-add{width:32px;height:32px;min-width:32px;border:1px solid #fbd9ea;border-radius:11px;background:var(--pink-soft);color:var(--pink-dark);display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s,transform .15s;line-height:0}
.price-add svg{width:17px;height:17px}
.price-add:hover{background:#ffe4f0;border-color:#f8b7d8}
.price-add:active{transform:scale(.94)}
.price-add.in-cart{background:var(--pink);border-color:var(--pink);color:#fff}
.price-empty{padding:12px;color:var(--muted);font-size:10.5px;font-weight:750}
.detail-empty{margin-top:18px;text-align:center;padding:34px 12px;color:var(--muted);background:#fff;border:1px dashed #e0c6d6;border-radius:16px}
.detail-empty-icon{width:42px;height:42px;margin:0 auto 10px;border-radius:14px;background:var(--pink-soft);border:1px solid #f8d7e8;color:var(--pink-dark);display:grid;place-items:center;line-height:0}
.detail-empty-icon svg{width:22px;height:22px;margin:0}
.detail-empty strong{display:block;color:var(--text);margin-bottom:4px;font-size:12.5px}
.detail-empty span{font-size:10.5px}
@media(min-width:760px){
.detail-panel{top:28px;bottom:28px;border-radius:24px;border:1px solid #f1d5e5}
.detail-header{padding-top:12px;border-radius:24px 24px 0 0}
.detail-body{padding:16px 18px 32px}
}
@media(min-width:900px){
.app{padding-left:28px;padding-right:28px}
.header{margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px}
.product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.product-art{height:125px}
.flash-sale{padding:20px 26px}
.section{margin-top:27px}
.flash-card{flex:0 0 162px}
.flash-card-art{height:78px}
}
@media(max-width:650px){
.app{padding-left:13px;padding-right:13px}
.header{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px}
.header-inner{gap:9px}
.brand{gap:7px}
.brand-icon{width:33px;height:33px;border-radius:11px}
.brand-name{font-size:15px}
.brand-sub{font-size:9px}
.search{height:36px;padding:0 9px}
.search input{font-size:11px}
.header-action{width:35px;height:35px;border-radius:11px}
main{padding-top:13px}
.flash-sale{padding:14px 13px;border-radius:17px}
.flash-title{font-size:21px}
.flash-bolt{width:18px;height:18px}
.flash-sub{font-size:10px;margin-top:4px}
.flash-timer{gap:5px}
.flash-timer>span{font-size:9px}
.timer-units b{min-width:21px;padding:4px 3px;font-size:10.5px}
.flash-deals{padding-top:11px}
.flash-deals-title{font-size:11px}
.flash-card{flex:0 0 134px;padding:7px;border-radius:13px}
.flash-card-art{height:64px}
.flash-card-logo{width:36px;height:36px;border-radius:11px}
.flash-card-logo svg{width:21px;height:21px}
.flash-price{font-size:11px}
.flash-nav button{width:27px;height:27px;border-radius:8px}
.section{margin-top:19px}
.section-head{margin-bottom:10px}
.section-title{font-size:14px}
.order-guide{padding:12px}
.route-map{gap:2px;padding-top:5px}
.route-node{width:38px;height:38px;border-radius:12px}
.route-line,.route-progress,.route-dot{top:21px}
.route-node svg{width:17px;height:17px}
.route-copy{margin-top:8px}
.route-copy strong{font-size:9px}
.route-copy>span{font-size:8px}
.guide-label{font-size:8px;padding:5px 6px}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product{padding:8px;border-radius:13px}
.product-art{height:105px}
.product-info{padding-top:8px}
.product-name{font-size:12px}
.product-bottom{margin-top:9px}
.price{font-size:13px}
.detail-header{padding:calc(env(safe-area-inset-top,0px) + 9px) 12px 9px;gap:8px}
.detail-back,.detail-cart{width:36px;height:36px;min-width:36px;border-radius:11px}
.detail-back svg{width:17px;height:17px}
.detail-logo{width:36px;height:36px;min-width:36px;border-radius:12px}
.detail-title{font-size:13px}
.detail-desc{font-size:9.5px}
.detail-body{padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 24px)}
.price-group-head{padding:10px}
.price-row{padding:10px}
}
@media(max-width:370px){
.app{padding-left:10px;padding-right:10px}
.header{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}
.brand-sub{display:none}
.brand-name{font-size:14px}
.header-inner{gap:7px}
.flash-sale{padding:12px 10px}
.flash-title{font-size:19px}
.flash-bolt{width:16px;height:16px}
.flash-sub{font-size:9.5px}
.flash-timer>span{font-size:8.5px}
.timer-units b{min-width:19px;font-size:9.5px;padding:3px 2px}
.flash-card{flex:0 0 122px}
.order-guide{padding:10px 7px}
.route-map{gap:1px}
.route-node{width:34px;height:34px;border-radius:10px}
.route-line,.route-progress,.route-dot{top:19px}
.route-dot{width:9px;height:9px;margin-top:-4.5px;margin-left:-4.5px}
.route-node svg{width:15px;height:15px}
.route-copy strong{font-size:8px}
.route-copy>span{font-size:7px}
.product-art{height:90px}
.app-logo{width:48px;height:48px;border-radius:15px}
.detail-brand{gap:8px}
.detail-logo{width:34px;height:34px;min-width:34px;border-radius:11px}
.detail-logo svg{width:20px;height:20px}
.detail-title{font-size:12.5px}
.detail-desc{font-size:9px}
.price-row-name{font-size:11.5px}
.price-row-price{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
