.modal-announcement[data-v-31eb8eb3]{max-height:min(78vh,560px);display:flex;flex-direction:column}.modal-announcement-body[data-v-31eb8eb3]{overflow-y:auto}.announcement-time[data-v-31eb8eb3]{margin-bottom:10px;font-size:12px;color:var(--text-light)}.announcement-content[data-v-31eb8eb3]{font-size:14px;color:var(--text);line-height:1.7;white-space:pre-wrap;word-break:break-word}.home-page[data-v-5cd0d7ba]{margin:-4px -4px 0}.home-hero[data-v-5cd0d7ba]{padding:14px 14px 12px;border-radius:var(--radius);background:linear-gradient(145deg,#faf6ef,#efe4d4 48%,#e6d8c4);border:1px solid rgba(201,169,98,.22);box-shadow:var(--shadow)}.home-hero-brand[data-v-5cd0d7ba]{display:flex;align-items:center;gap:12px}.home-hero-icon[data-v-5cd0d7ba]{width:52px;height:52px;border-radius:50%;flex-shrink:0;object-fit:cover;box-shadow:0 2px 8px #3d38321f}.home-hero-copy[data-v-5cd0d7ba]{min-width:0;flex:1}.home-hero-title[data-v-5cd0d7ba]{font-size:22px;font-weight:700;color:var(--text);letter-spacing:3px;line-height:1.2}.home-hero-en[data-v-5cd0d7ba]{margin-top:2px;font-size:11px;color:var(--text-light);letter-spacing:.3px}.home-hero-slogan[data-v-5cd0d7ba]{margin-top:6px;font-size:11px;color:var(--primary);letter-spacing:.5px;line-height:1.45}.home-hero-banner[data-v-5cd0d7ba]{position:relative;margin-top:12px;height:120px;border-radius:var(--radius-sm);overflow:hidden;background:#ffffff6b;border:1px solid rgba(255,255,255,.55)}.home-banner-slide[data-v-5cd0d7ba]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .45s ease}.home-banner-slide.active[data-v-5cd0d7ba]{opacity:1;z-index:1}.home-banner-slide.clickable[data-v-5cd0d7ba]{cursor:pointer}.home-banner-image[data-v-5cd0d7ba]{width:100%;height:100%;object-fit:cover;display:block}.home-banner-caption[data-v-5cd0d7ba]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:12px 16px 20px;font-size:13px;font-weight:600;color:#fff;text-align:center;letter-spacing:.5px;line-height:1.45;background:#00000047;pointer-events:none;z-index:1}.home-banner-dots[data-v-5cd0d7ba]{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:6px;z-index:2}.home-banner-dot[data-v-5cd0d7ba]{width:6px;height:6px;border-radius:50%;background:#3d383233;transition:background .25s ease,transform .25s ease}.home-banner-dot.active[data-v-5cd0d7ba]{background:var(--primary);transform:scale(1.15)}.home-announcement-panel[data-v-5cd0d7ba]{margin-top:10px;padding:10px;border-radius:var(--radius-sm);background:#ffffff8c;border:1px solid rgba(201,169,98,.24)}.home-announcement-head[data-v-5cd0d7ba]{margin-bottom:8px}.home-announcement-badge[data-v-5cd0d7ba]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--brand-gold) 0%,var(--primary) 100%);letter-spacing:.5px}.home-announcement-list[data-v-5cd0d7ba]{list-style:none;margin:0;padding:0}.home-announcement-item[data-v-5cd0d7ba]{display:flex;align-items:center;gap:8px;padding:9px 4px;border-top:1px solid rgba(201,169,98,.16);cursor:pointer}.home-announcement-item[data-v-5cd0d7ba]:first-child{border-top:none;padding-top:2px}.home-announcement-item[data-v-5cd0d7ba]:active{opacity:.82}.home-announcement-item-main[data-v-5cd0d7ba]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.home-announcement-unread-dot[data-v-5cd0d7ba]{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#e6a23c}.home-announcement-item-text[data-v-5cd0d7ba]{font-size:12px;color:var(--text);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.home-announcement-item.unread .home-announcement-item-text[data-v-5cd0d7ba]{font-weight:600}.home-announcement-item-time[data-v-5cd0d7ba]{flex-shrink:0;font-size:11px;color:var(--text-light)}.home-announcement-arrow[data-v-5cd0d7ba]{flex-shrink:0;font-size:18px;line-height:1;color:var(--text-light)}.home-announcement-loading[data-v-5cd0d7ba]{padding:8px 4px 4px;font-size:12px;color:var(--text-light)}.home-announcement-pagination[data-v-5cd0d7ba]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(201,169,98,.16)}.announcement-page-btn[data-v-5cd0d7ba]{min-width:64px;padding:4px 10px;border:1px solid rgba(201,169,98,.35);border-radius:999px;background:#ffffffbf;font-size:12px;color:var(--text);cursor:pointer}.announcement-page-btn[data-v-5cd0d7ba]:disabled{opacity:.45;cursor:not-allowed}.announcement-page-info[data-v-5cd0d7ba]{font-size:12px;color:var(--text-light);min-width:48px;text-align:center}.home-shortcuts[data-v-5cd0d7ba]{display:grid;gap:8px;margin-top:14px;padding:12px 10px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.home-shortcut-item[data-v-5cd0d7ba]{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--text)}.home-shortcut-icon[data-v-5cd0d7ba]{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--brand-gold-light) 0%,#ead9b8 100%);border:1px solid rgba(201,169,98,.28)}.home-shortcut-emoji[data-v-5cd0d7ba]{font-size:22px;line-height:1}.home-shortcut-img[data-v-5cd0d7ba]{width:28px;height:28px;object-fit:contain;border-radius:4px}.home-shortcut-label[data-v-5cd0d7ba]{font-size:11px;color:var(--text);text-align:center;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-section[data-v-5cd0d7ba]{margin-top:18px}.home-section-head[data-v-5cd0d7ba]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.home-section-mark[data-v-5cd0d7ba]{width:3px;height:14px;border-radius:2px;background:linear-gradient(180deg,var(--brand-gold) 0%,var(--primary) 100%)}.home-section-title[data-v-5cd0d7ba]{font-size:15px;font-weight:600;color:var(--text);letter-spacing:.5px}@media (max-width: 360px){.home-hero-title[data-v-5cd0d7ba]{font-size:20px;letter-spacing:2px}}.series-tabs[data-v-f489d996]{margin-bottom:0}.sub-tabs[data-v-f489d996]{padding-top:4px;margin-bottom:8px}.cat-tab--sub[data-v-f489d996]{font-size:13px;padding:6px 12px}.cat-tab-inner[data-v-f489d996]{display:inline-flex;align-items:center;gap:6px;max-width:100%}.cat-tab-img[data-v-f489d996]{width:22px;height:22px;border-radius:4px;object-fit:cover;flex-shrink:0}.cat-tab-label[data-v-f489d996]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-register-btn[data-v-47795808]{margin-top:10px;width:100%;border:none;background:transparent;color:var(--primary);font-size:13px;cursor:pointer}.identity-order-mask[data-v-e58843bd]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px}.identity-order-panel[data-v-e58843bd]{width:min(100%,340px);background:#fff;border-radius:14px;padding:22px 18px;text-align:center;box-shadow:0 12px 40px #0000002e}.identity-order-icon[data-v-e58843bd]{font-size:40px;margin-bottom:8px}.identity-order-title[data-v-e58843bd]{margin:0 0 8px;font-size:18px;font-weight:700}.identity-order-desc[data-v-e58843bd]{margin:0 0 16px;font-size:13px;line-height:1.55;color:#666}.btn-text[data-v-e58843bd]{margin-top:10px;border:0;background:transparent;color:#888;font-size:13px;cursor:pointer}:root{--bg: #f7f5f1;--card: #ffffff;--text: #3d3832;--text-light: #7a7268;--primary: #8b7355;--primary-light: #a89078;--brand-gold: #c9a962;--brand-gold-light: #f5ecd8;--brand-red: #b83232;--border: #e8e4de;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 12px rgba(61, 56, 50, .06);--tabbar-h: 56px;--safe-top: env(safe-area-inset-top, 0);--safe-bottom: env(safe-area-inset-bottom, 0)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom));min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent}#app{min-height:100vh}.main-content{min-height:calc(100vh - var(--tabbar-h) - var(--safe-bottom));padding:12px 16px 20px}.tab-page{animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-header{text-align:center;padding:20px 0 16px}.page-header.compact{padding:12px 0;text-align:left}.page-header.compact h2{font-size:18px;font-weight:600;color:var(--text)}.logo{font-size:22px;font-weight:600;color:var(--primary);letter-spacing:2px}.slogan{font-size:12px;color:var(--text-light);margin-top:4px}.brand-header{padding-top:8px}.brand-logo{display:block;object-fit:contain}.brand-logo--horizontal{width:min(280px,88vw);height:auto;margin:0 auto}.brand-logo--vertical{width:min(160px,56vw);height:auto;margin:0 auto}.brand-logo--icon{width:36px;height:36px;border-radius:50%;flex-shrink:0}.brand-logo--modal{width:min(220px,72vw);height:auto;margin:0 auto}.brand-subtitle{margin-top:8px;font-size:12px;color:var(--text-light);text-align:center}.modal-brand{padding:20px 20px 12px;text-align:center;background:linear-gradient(180deg,var(--brand-gold-light) 0%,var(--card) 100%)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand-icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;object-fit:cover}.auth-brand-copy{min-width:0}.auth-brand-title{font-size:18px;font-weight:600;color:var(--text);line-height:1.25}.auth-brand-sub{margin-top:3px;font-size:11px;color:var(--text-light);letter-spacing:.3px}.modal-auth{position:relative;background:linear-gradient(180deg,#faf6ef 0%,var(--card) 36%);border:1px solid rgba(201,169,98,.16);box-shadow:var(--shadow)}.modal-auth-close{position:absolute;top:10px;right:10px;z-index:2}.modal-auth-body{padding:22px 20px 20px}.register-page .register-panel{background:linear-gradient(180deg,#faf6ef 0%,rgba(255,255,255,.72) 38%,transparent 100%);border-radius:var(--radius);padding:8px 14px 16px}.register-brand{text-align:center;padding:8px 0 16px}.profile-brand-header{display:flex;align-items:center;gap:10px;text-align:left}.profile-brand-header h2{font-size:18px;font-weight:600;color:var(--text)}.profile-brand-sub{margin-top:2px;font-size:11px;color:var(--text-light)}.profile-pv-card{width:100%;margin-top:0;padding:10px 12px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#f8f0dc,#ead9b8 55%,#dcc89a);border:1px solid rgba(201,169,98,.35);box-shadow:inset 0 1px #ffffff8c}.profile-pv-card-meta{display:flex;flex-direction:column;gap:6px}.profile-meta-row{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.4}.profile-meta-label{flex-shrink:0;color:var(--text-light)}.profile-meta-value{flex:1;min-width:0;font-weight:600;color:var(--text)}.profile-pv-card-divider{height:1px;margin:10px 0 8px;background:#8b735529}.profile-pv-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-pv-card-label{font-size:11px;color:var(--text-light);letter-spacing:.5px}.profile-pv-card-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 3px;border-radius:3px;background:var(--brand-red);color:#fff;font-size:11px;font-weight:600;line-height:1}.profile-pv-card-value{margin-top:4px;font-size:22px;font-weight:700;color:var(--primary);letter-spacing:.5px}.profile-pv-card-sub{margin-top:4px;font-size:11px;color:var(--text-light)}.profile-avatar--brand{background:#1a1a1a}.profile-avatar-default{width:100%;height:100%;object-fit:cover}.banner-wrap{margin-bottom:20px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.banner{position:relative;height:140px;background:var(--border)}.banner-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease}.banner-slide.active{opacity:1;z-index:1}.banner-text{font-size:16px;color:var(--text);font-weight:500;letter-spacing:1px}.category-shortcut{display:flex;justify-content:space-around;background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:20px;box-shadow:var(--shadow)}.shortcut-item{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text);text-decoration:none;font-size:13px}.shortcut-item .icon{font-size:28px}.shortcut-item .shortcut-img{width:40px;height:40px;object-fit:cover;border-radius:50%}.section-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:12px;padding-left:2px}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.product-card:active{transform:scale(.98)}.product-card .img-wrap{aspect-ratio:1;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--primary-light);overflow:hidden}.product-card .img-wrap .product-card-img{width:100%;height:100%;object-fit:contain;object-position:center}.product-card .img-wrap .product-card-emoji{font-size:48px}.product-card .price .original-price{font-size:12px;color:var(--text-light);text-decoration:line-through;margin-left:6px;font-weight:400}.product-card .info{padding:10px 12px}.product-card .name{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-card .price{font-size:13px;line-height:1.35;color:var(--primary);font-weight:600;margin-top:4px}.product-card .price small{font-size:12px;font-weight:400}.category-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.cat-tab{padding:8px 16px;border:1px solid var(--border);background:var(--card);color:var(--text-light);border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s ease}.cat-tab.active,.cat-tab:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.sub-page .page-header.with-back{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;margin:-12px -16px 0;padding:calc(12px + var(--safe-top)) 16px 12px;background:var(--bg);box-shadow:0 1px 0 var(--border)}.sub-page .page-header.with-back h2{flex:1;margin:0;font-size:18px}.back-btn{width:36px;height:36px;border:none;background:var(--bg);border-radius:50%;font-size:24px;line-height:1;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.back-btn:active{background:var(--border)}.order-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.order-tab{padding:6px 14px;border:1px solid var(--border);background:var(--card);color:var(--text-light);border-radius:20px;font-size:13px;cursor:pointer}.order-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.order-list{display:flex;flex-direction:column;gap:12px}.order-card{background:var(--card);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.order-card .order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.order-no{font-size:12px;color:var(--text-light)}.order-status-tag{font-size:12px;color:var(--primary);font-weight:500}.order-items{margin-bottom:10px}.order-item-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}.order-item-row .item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-item-row .item-qty{color:var(--text-light)}.order-item-row .item-price{color:var(--primary);font-weight:500}.order-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border)}.order-total{font-size:14px;font-weight:600;color:var(--text)}.order-actions{display:flex;gap:8px}.btn-sm{padding:6px 14px;font-size:12px;border-radius:20px}.empty-state{text-align:center;padding:48px 20px}.empty-state .empty-icon{font-size:48px;display:block;margin-bottom:12px;opacity:.8}.empty-state p{margin:4px 0;color:var(--text-light);font-size:14px}.empty-state .empty-hint{font-size:12px;margin-bottom:20px}.empty-state .btn-primary{margin-top:8px}.address-list{display:flex;flex-direction:column;gap:12px;padding-bottom:80px}.address-card{background:var(--card);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);border:1px solid var(--border)}.address-card.default{border-color:var(--primary-light);background:linear-gradient(135deg,#fdfcfb,#f8f5f0)}.address-main{position:relative;padding-right:60px}.address-name{font-weight:600;margin-right:12px}.address-phone{font-size:13px;color:var(--text-light)}.address-detail{font-size:13px;color:var(--text);margin-top:8px;line-height:1.5}.address-card .default-tag{position:absolute;top:0;right:0;font-size:11px;color:var(--primary);background:#8b73551f;padding:2px 8px;border-radius:10px}.address-actions{display:flex;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.address-actions .btn-text{padding:0;border:none;background:none;color:var(--primary);font-size:13px;cursor:pointer}.address-footer{position:fixed;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px);left:16px;right:16px}.address-footer .btn-block{width:100%}.modal-address-form .modal-body{max-height:70vh}.form-row{margin-bottom:0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text)}.checkbox-label input[type=checkbox]{width:18px;height:18px}.profile-card{background:linear-gradient(135deg,#e8e0d5,#d4c4b0);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px;margin-bottom:16px;box-shadow:var(--shadow)}.profile-card-top{display:flex;align-items:flex-start;gap:14px;width:100%}.profile-avatar{width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;overflow:hidden;flex-shrink:0}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-info{flex:1;min-width:0}.profile-name{font-size:16px;font-weight:600;color:var(--text)}.profile-desc{font-size:12px;color:var(--text-light);margin-top:2px}.profile-stats{width:100%;margin-top:0;padding-top:0;border-top:none;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text);line-height:1.45}.profile-stat-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.profile-stat-label{color:var(--text-light);margin-right:4px;font-size:12px}.profile-stat-value{font-weight:600;color:var(--text)}.profile-pv-row{color:var(--text-light);flex-wrap:nowrap}.profile-pv-row span{white-space:nowrap}.profile-pv-row .pv-gap{margin-left:4px}.profile-xdno-row{align-items:center;gap:8px;flex-wrap:nowrap}.profile-xdno-row .xdno-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.xdno-label{flex:1;min-width:0;word-break:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:inherit;color:var(--primary);font-size:inherit}.copy-xdno-btn{flex-shrink:0;padding:4px 10px;font-size:11px;color:var(--primary);background:#fff9;border:1px solid rgba(0,0,0,.12);border-radius:12px;cursor:pointer}.copy-xdno-btn:active{opacity:.85}.profile-login-btn,.profile-logout-btn{flex-shrink:0;margin-left:auto}.profile-login-btn{padding:8px 18px;background:var(--primary);color:#fff;border-radius:20px;font-size:13px;text-decoration:none}.profile-logout-btn{padding:8px 16px;font-size:13px;color:var(--text-light);background:transparent;border:1px solid var(--border);border-radius:20px;cursor:pointer}.profile-logout-btn:active{background:#0000000d}.profile-menu{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:16px}.menu-item{display:flex;align-items:center;padding:14px 16px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border);transition:background .2s ease}.menu-item:last-child{border-bottom:none}.menu-item:active{background:var(--bg)}.menu-icon{font-size:20px;margin-right:12px}.menu-extra{margin-left:auto;color:var(--text-light);font-size:13px}.cart-count{background:var(--primary);color:#fff;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.profile-actions{margin-top:20px}.btn-outline,.btn-primary{padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;border:none;transition:all .2s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{opacity:.9}.btn-outline{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn-outline:active{background:#8b735514}.btn-block{width:100%;display:block;text-align:center}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--card);display:flex;align-items:center;justify-content:space-around;box-shadow:0 -2px 12px #0000000f;z-index:100}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px;color:var(--text-light);text-decoration:none;font-size:11px;transition:color .2s ease}.tab-item.active{color:var(--primary);font-weight:500}.tab-icon{font-size:22px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:none;align-items:center;justify-content:center;z-index:200;padding:20px;animation:fadeIn .2s ease}.modal-overlay.show{display:flex}.modal{background:var(--card);border-radius:var(--radius);width:100%;max-width:340px;max-height:90vh;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:16px;font-weight:600}.modal-close{width:32px;height:32px;border:none;background:none;font-size:24px;color:var(--text-light);cursor:pointer;line-height:1;padding:0}.modal-body{padding:20px;overflow-y:auto;max-height:60vh}.modal-invite .modal-body{text-align:center;padding:12px 16px 16px;max-height:calc(60vh + 50px)}.invite-loading,.invite-error{padding:24px;color:var(--text-light)}.invite-error{color:#c45}.invite-code-box{margin-bottom:10px}.invite-code-label{display:block;font-size:12px;color:var(--text-light);margin-bottom:4px}.invite-code-value{font-size:18px;font-weight:600;letter-spacing:3px;color:var(--primary);margin-bottom:6px;word-break:break-all}.invite-code-box .btn-copy{padding:6px 16px;font-size:12px}.invite-qr-wrap{margin:8px 0;padding:10px;background:var(--bg);border-radius:var(--radius-sm);display:inline-block}.invite-qr{display:block;width:140px;height:140px;object-fit:contain}.invite-qr-hint{font-size:11px;color:var(--text-light);margin-top:4px}.invite-url-wrap{margin:8px 0 0;display:flex;flex-direction:column;align-items:center;text-align:center}.invite-url-label{display:block;font-size:12px;color:var(--text-light);margin-bottom:4px}.invite-url-value{width:100%;max-width:100%;font-size:11px;line-height:1.3;color:var(--text);white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:6px;box-sizing:border-box}.invite-url-wrap .btn-copy{padding:6px 16px;font-size:12px}.invite-expire{font-size:11px;color:var(--text-light);margin-top:6px;margin-bottom:0}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--text-light);margin-bottom:6px}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--bg)}.login-tabs{display:flex;gap:8px;margin-bottom:16px}.login-tab{flex:1;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);font-size:13px;color:var(--text-light);cursor:pointer}.login-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.captcha-img{width:90px;height:34px;border-radius:6px;object-fit:cover;cursor:pointer;background:#fff}.avatar-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.avatar-preview{width:72px;height:72px;border-radius:50%;border:2px dashed var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.avatar-preview:hover{border-color:var(--primary-light)}.avatar-preview-img{width:100%;height:100%;object-fit:cover}.avatar-preview-placeholder{font-size:12px;color:var(--text-light)}.idcard-upload .avatar-preview{width:260px;height:160px;border-radius:var(--radius-sm)}.idcard-upload .avatar-preview-img{object-fit:cover}.avatar-file-input{display:none}.avatar-clear-btn{padding:6px 12px;font-size:12px}.input-with-btn{display:flex;gap:8px}.input-with-btn input{flex:1}.btn-code{padding:10px 14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:12px;white-space:nowrap;cursor:pointer}.btn-code:disabled{opacity:.6;cursor:not-allowed}.payment-method-list{display:flex;flex-direction:column;gap:8px}.payment-method-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:13px}.payment-method-item input[type=radio]{margin-right:6px}.payment-method-name{font-weight:500;color:var(--text)}.payment-method-desc{font-size:12px;color:var(--text-light)}.product-detail-qty{margin:12px 0}.product-detail-qty label{display:block;font-size:13px;margin-bottom:6px;color:var(--text-light)}.qty-row{display:flex;align-items:center;gap:8px}.qty-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:18px;line-height:1;cursor:pointer}.qty-btn:disabled{opacity:.4;cursor:not-allowed}.qty-input{width:56px;text-align:center;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:15px}.qty-error{display:block;font-size:12px;color:#c0392b;margin-top:4px}.modal-payment .payment-summary{padding:12px;background:var(--bg);border-radius:var(--radius-sm);margin-bottom:16px}.modal-payment .payment-summary p{display:flex;justify-content:space-between;margin:6px 0;font-size:14px}.modal-payment .payment-summary .label{color:var(--text-light)}.modal-payment .payment-summary .amount{font-weight:600;color:var(--primary)}.modal-payment .payment-summary .balance{font-weight:500}.payment-hint.warn{font-size:13px;color:#b8860b;margin-bottom:10px}.modal-product{max-width:96%;max-height:85vh}.modal-product .modal-close{position:absolute;top:12px;right:12px;z-index:2;background:#ffffffe6;border-radius:50%}.product-detail{display:flex;flex-direction:column;max-height:85vh}.product-detail-img{aspect-ratio:1;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:80px;color:var(--primary-light)}.product-detail-img .product-detail-cover{width:100%;height:100%;object-fit:contain;object-position:center}.product-carousel{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pan-y pinch-zoom}.product-carousel-track{display:flex;height:100%;transition:transform .3s ease}.product-carousel-slide{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg)}.product-carousel-slide img{width:100%;height:100%;object-fit:contain;object-position:center}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:50%;background:#00000059;color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent}.carousel-btn:active{background:#00000080}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}.carousel-dot{width:6px;height:6px;border-radius:50%;border:none;padding:0;background:#ffffff80;cursor:pointer;transition:background .2s,transform .2s}.carousel-dot:hover,.carousel-dot.active{background:#fff}.carousel-dot.active{transform:scale(1.25)}.product-detail-info{padding:16px;overflow-y:auto}.product-detail-info h3{font-size:16px;font-weight:600;margin-bottom:8px}.product-detail-desc{font-size:13px;color:var(--text-light);line-height:1.6;margin-bottom:12px}.product-detail-price{font-size:18px;font-weight:600;color:var(--primary);margin-bottom:8px}.product-detail-price .original-price{font-size:14px;color:var(--text-light);text-decoration:line-through;margin-left:8px;font-weight:400}.product-detail-subtitle{font-size:13px;color:var(--text-light);margin-bottom:8px}.product-detail-stock{font-size:12px;color:var(--text-light);margin-bottom:16px}.product-detail-actions{display:flex;gap:12px}.product-detail-actions .btn-outline,.product-detail-actions .btn-primary{flex:1}.wallet-body .wallet-balance-box{text-align:center;padding:24px;background:var(--bg);border-radius:var(--radius-sm);margin-bottom:16px}.wallet-label{display:block;font-size:12px;color:var(--text-light);margin-bottom:8px}.wallet-amount{font-size:28px;font-weight:600;color:var(--primary)}.wallet-records{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.wallet-records-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px}.wallet-records-list{list-style:none;max-height:200px;overflow-y:auto}.wallet-record-item{display:block;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.wallet-record-item:last-child{border-bottom:none}.wallet-record-item .record-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.wallet-record-item .record-type{color:var(--text);font-weight:500}.record-amount.positive{color:#27ae60}.record-amount.negative{color:#c0392b}.record-remark{font-size:12px;color:var(--text-light);margin-bottom:4px}.record-time{color:var(--text-light);font-size:12px}.wallet-balance-row{display:flex;flex-direction:column;align-items:center;gap:8px}.wallet-freeze{font-size:12px;color:var(--text-light);margin-top:8px}.wallet-records-list{max-height:280px}.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:150;display:none;visibility:hidden;animation:fadeIn .2s ease}.cart-overlay.show{display:block;visibility:visible}.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:360px;background:var(--card);z-index:151;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease;box-shadow:-4px 0 20px #0000001a;visibility:hidden;pointer-events:none}.cart-drawer.show{transform:translate(0);visibility:visible;pointer-events:auto}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.cart-header h3{font-size:16px;font-weight:600}.cart-list{flex:1;overflow-y:auto;padding:12px}.cart-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.cart-item .img-wrap{width:64px;height:64px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg);font-size:28px}.cart-item .img-wrap .cart-item-img{width:100%;height:100%;object-fit:contain;object-position:center}.cart-item .info{flex:1;min-width:0}.cart-item .name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-item .price{font-size:14px;color:var(--primary);margin-top:4px}.cart-item .remove{align-self:center;padding:4px 10px;font-size:12px;color:var(--text-light);background:var(--bg);border:none;border-radius:4px;cursor:pointer}.cart-footer{padding:16px 20px;padding-bottom:calc(16px + var(--safe-bottom));border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-total{font-size:15px;font-weight:600;color:var(--text)}.cart-total span{color:var(--primary)}.cart-footer .btn-primary{padding:12px 24px}.empty-tip{text-align:center;padding:40px 20px;color:var(--text-light);font-size:13px}.loading-tip,.load-error-tip{text-align:center;padding:24px 20px;font-size:14px}.loading-tip,.load-error-tip{color:var(--text-light)}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#000000bf;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:300;pointer-events:none;outline:none;animation:toastFade .3s ease}@keyframes toastFade{0%{opacity:0}to{opacity:1}}.pay-launch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pay-launch-panel{min-width:200px;padding:28px 32px;border-radius:14px;background:#fff;box-shadow:0 12px 40px #0000002e;display:flex;flex-direction:column;align-items:center;gap:16px}.pay-launch-spinner{width:40px;height:40px;border-radius:50%;border:3px solid #e8e8e8;border-top-color:#c62828;animation:pay-launch-spin .75s linear infinite}.pay-launch-text{margin:0;font-size:15px;font-weight:600;color:#333}@keyframes pay-launch-spin{to{transform:rotate(360deg)}}
