*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:#f5f6fa;color:#333;font-size:14px;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit;font-size:14px;outline:none}

/* 开屏 */
.splash-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center}
.splash-logo{width:100px;height:100px;border-radius:50%;position:relative;margin-bottom:20px}
.splash-logo img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.splash-logo::after{content:'';position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;border:3px solid transparent;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.splash-name{font-size:20px;font-weight:bold;color:#2563eb;margin-bottom:30px}
.splash-bar{width:200px;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}
.splash-bar-inner{height:100%;background:#2563eb;width:0;animation:progress 2s ease-in-out forwards}
@keyframes progress{to{width:100%}}

/* 隐私弹窗 */
.privacy-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:99998;display:flex;align-items:center;justify-content:center;padding:20px}
.privacy-box{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:100%;max-height:80vh;overflow-y:auto}
.privacy-box h3{font-size:18px;margin-bottom:15px;text-align:center}
.privacy-box p{font-size:13px;color:#666;line-height:1.8;margin-bottom:15px}
.privacy-btns{display:flex;gap:10px}
.privacy-btns button{flex:1;padding:10px;border-radius:8px;font-size:14px}
.btn-agree{background:#2563eb;color:#fff}
.btn-disagree{background:#f3f4f6;color:#666}

/* 顶部导航 */
.top-nav{background:#2563eb;color:#fff;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.top-nav .logo{display:flex;align-items:center;gap:8px;font-weight:bold;font-size:16px}
.top-nav .logo img{width:32px;height:32px;border-radius:50%}
.top-nav .nav-right{display:flex;gap:15px;align-items:center}
.top-nav .nav-right a{color:#fff;font-size:13px}

/* 搜索栏 */
.search-bar{padding:10px 15px;background:#fff}
.search-bar form{display:flex;gap:8px}
.search-bar input{flex:1;padding:10px 15px;border:1px solid #e5e7eb;border-radius:20px;background:#f9fafb}
.search-bar button{padding:10px 20px;background:#2563eb;color:#fff;border-radius:20px}

/* 公告 */
.notice-bar{background:#fff8e1;color:#d97706;padding:8px 15px;font-size:12px;display:flex;align-items:center;gap:8px;overflow:hidden}
.notice-bar .notice-text{white-space:nowrap;animation:scroll 15s linear infinite}
@keyframes scroll{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}

/* 轮播 */
.banner{position:relative;overflow:hidden;margin:10px 15px;border-radius:10px}
.banner-track{display:flex;transition:transform .5s}
.banner-slide{min-width:100%}
.banner-slide img{width:100%;height:160px;object-fit:cover}
.banner-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px}
.banner-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.banner-dots span.active{background:#fff;width:18px;border-radius:3px}

/* 分类 */
.category-bar{display:flex;overflow-x:auto;padding:10px 15px;gap:10px;background:#fff;margin-bottom:10px}
.category-bar::-webkit-scrollbar{display:none}
.category-item{flex-shrink:0;padding:6px 16px;background:#f3f4f6;border-radius:20px;font-size:13px;white-space:nowrap}
.category-item.active{background:#2563eb;color:#fff}

/* 筛选 */
.filter-bar{display:flex;padding:10px 15px;background:#fff;border-bottom:1px solid #f0f0f0}
.filter-tabs{display:flex;gap:20px}
.filter-tab{font-size:13px;color:#666;padding:5px 0;position:relative}
.filter-tab.active{color:#2563eb;font-weight:bold}

/* 商品网格 */
.goods-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px 15px}
.goods-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.goods-img{position:relative;aspect-ratio:1;overflow:hidden;background:#f5f5f5}
.goods-img img{width:100%;height:100%;object-fit:cover}
.goods-info{padding:10px}
.goods-title{font-size:13px;color:#333;line-height:1.4;height:36px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.goods-price{display:flex;align-items:baseline;justify-content:space-between;margin-top:8px}
.goods-price .price{color:#ef4444;font-size:16px;font-weight:bold}
.goods-price .sales{font-size:11px;color:#999}

/* 商品详情 */
.detail-swiper{position:relative;background:#fff}
.detail-swiper img{width:100%;aspect-ratio:1;object-fit:cover}
.detail-info{background:#fff;padding:15px}
.detail-price{display:flex;align-items:baseline;gap:10px}
.detail-price .now{color:#ef4444;font-size:24px;font-weight:bold}
.detail-price .old{color:#999;text-decoration:line-through;font-size:13px}
.detail-title{font-size:16px;font-weight:bold;margin:10px 0}
.detail-meta{display:flex;gap:15px;font-size:12px;color:#999;margin-top:8px}
.detail-section{background:#fff;margin-top:10px;padding:15px}
.detail-section h3{font-size:15px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}
.goods-detail-content{font-size:14px;line-height:1.8;color:#555}
.goods-detail-content img{max-width:100%;border-radius:8px;margin:10px 0}
.detail-bottom{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:10px 15px;display:flex;gap:10px;align-items:center;border-top:1px solid #f0f0f0;z-index:100}
.detail-bottom .service{display:flex;flex-direction:column;align-items:center;font-size:10px;color:#666;width:50px}
.detail-bottom .btn-cart{flex:1;padding:12px;background:#fbbf24;color:#fff;border-radius:25px;font-size:14px;font-weight:bold;text-align:center}
.detail-bottom .btn-buy{flex:1;padding:12px;background:#ef4444;color:#fff;border-radius:25px;font-size:14px;font-weight:bold;text-align:center}

/* 登录 */
.login-box{max-width:400px;margin:50px auto;padding:30px 20px;text-align:center}
.login-logo{width:80px;height:80px;margin:0 auto 20px;border-radius:50%;overflow:hidden}
.login-logo img{width:100%;height:100%;object-fit:cover}
.login-title{font-size:22px;font-weight:bold;color:#2563eb;margin-bottom:30px}
.login-tabs{display:flex;margin-bottom:20px;border-bottom:2px solid #f0f0f0}
.login-tab{flex:1;padding:12px;font-size:14px;color:#666;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}
.login-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:bold}
.form-group{margin-bottom:15px;text-align:left}
.form-group label{display:block;font-size:13px;color:#666;margin-bottom:5px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px}
.form-group textarea{resize:vertical}
.code-input{display:flex;gap:10px}
.code-input input{flex:1}
.code-input button{padding:0 15px;background:#2563eb;color:#fff;border-radius:8px;font-size:13px;white-space:nowrap}
.code-input button:disabled{background:#9ca3af}
.btn-login{width:100%;padding:14px;background:#2563eb;color:#fff;border-radius:8px;font-size:16px;font-weight:bold;margin-top:10px}
.login-links{display:flex;justify-content:space-between;margin-top:20px;font-size:13px}
.login-links a{color:#2563eb}
.login-tip{margin-top:20px;font-size:12px;color:#999}

/* 购物车 */
.cart-page{padding:10px 15px;padding-bottom:80px}
.cart-item{display:flex;gap:10px;background:#fff;padding:12px;border-radius:10px;margin-bottom:10px}
.cart-img{width:80px;height:80px;border-radius:8px;object-fit:cover;flex-shrink:0}
.cart-info{flex:1;min-width:0}
.cart-title{font-size:14px;margin-bottom:5px}
.cart-price{color:#ef4444;font-weight:bold;margin-bottom:8px}
.cart-qty{display:flex;align-items:center;gap:8px}
.cart-qty input{width:60px;padding:5px;border:1px solid #e5e7eb;border-radius:4px;text-align:center}
.cart-del{padding:5px 10px;background:#f3f4f6;border-radius:4px;font-size:12px;color:#666}
.cart-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f0f0}
.cart-total{font-size:14px}
.cart-total span{color:#ef4444;font-size:20px;font-weight:bold}

/* 支付 */
.pay-page{padding:10px 15px;padding-bottom:30px}
.order-goods{background:#fff;border-radius:10px;padding:12px;margin-bottom:10px}
.order-goods-item{display:flex;gap:10px;align-items:center}
.order-goods-img{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0}
.order-goods-info{flex:1;min-width:0}
.order-goods-title{font-size:14px;margin-bottom:5px}
.order-goods-price{color:#ef4444;font-weight:bold}
.pay-form{background:#fff;border-radius:10px;padding:15px}
.pay-total{padding:15px 0;border-top:1px solid #f0f0f0;margin-top:10px;font-size:14px;line-height:2}
.pay-amount{color:#ef4444;font-size:22px;font-weight:bold}
.btn-pay{width:100%;padding:14px;background:#ef4444;color:#fff;border-radius:8px;font-size:16px;font-weight:bold;margin-top:15px}

/* 订单 */
.order-tabs{display:flex;background:#fff;padding:0 15px;border-bottom:1px solid #f0f0f0;overflow-x:auto}
.order-tab{padding:12px 15px;font-size:13px;color:#666;white-space:nowrap;border-bottom:2px solid transparent}
.order-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:bold}
.order-list{padding:10px 15px}
.order-item{background:#fff;border-radius:10px;padding:12px;margin-bottom:10px}
.order-header{display:flex;justify-content:space-between;font-size:12px;color:#999;margin-bottom:10px}
.order-status{color:#2563eb;font-weight:bold}
.order-body{display:flex;gap:10px;align-items:center}
.order-img{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0}
.order-info{flex:1;min-width:0}
.order-title{font-size:14px;margin-bottom:5px}
.order-price{color:#ef4444;font-weight:bold}
.order-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #f5f5f5}

/* 用户中心 */
.user-header{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;padding:30px 20px;display:flex;align-items:center;gap:15px}
.user-avatar{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:bold}
.user-name{font-size:18px;font-weight:bold}
.user-email{font-size:12px;opacity:.8;margin-top:4px}
.user-stats{display:flex;background:#fff;padding:15px 0}
.user-stat{flex:1;text-align:center}
.user-stat .num{font-size:20px;font-weight:bold;color:#2563eb}
.user-stat .label{font-size:12px;color:#999;margin-top:4px}
.user-balance{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:15px 20px;margin-top:10px}
.balance-num{color:#ef4444;font-size:20px;font-weight:bold}
.user-menu{background:#fff;margin-top:10px}
.menu-item{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #f5f5f5;font-size:14px}
.menu-item span{display:flex;align-items:center;gap:10px}
.menu-badge{background:#ef4444;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px}

/* 按钮 */
.btn{display:inline-block;padding:8px 16px;background:#f3f4f6;color:#333;border-radius:6px;font-size:13px;text-align:center}
.btn-primary{display:inline-block;padding:8px 16px;background:#2563eb;color:#fff;border-radius:6px;font-size:13px;text-align:center}
.btn-sm{display:inline-block;padding:5px 10px;background:#f3f4f6;color:#333;border-radius:4px;font-size:12px}
.btn-danger{background:#ef4444;color:#fff}

/* 空状态 */
.empty-box{text-align:center;padding:60px 20px;color:#999}
.empty-box p{margin-bottom:20px}

/* 底部导航 */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;border-top:1px solid #f0f0f0;padding:8px 0;z-index:100}
.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:#999}
.bottom-nav a.active{color:#2563eb}
.bottom-nav a svg{width:22px;height:22px}

/* 底部版权 */
.footer{text-align:center;padding:20px 15px 80px;font-size:12px;color:#999;line-height:2}
.footer a{color:#2563eb}

/* 区块 */
.section{background:#fff;margin:10px 15px;padding:15px;border-radius:10px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.section-title h3{font-size:16px}
.section-title .more{font-size:12px;color:#999}

/* 文章 */
.article-list{display:flex;flex-direction:column}
.article-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f5f5f5}
.article-title{font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.article-date{font-size:12px;color:#999;flex-shrink:0;margin-left:10px}

/* Toast */
.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:999999;max-width:80%;text-align:center}

/* 徽章 */
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px}
.badge-success{background:#dcfce7;color:#16a34a}
.badge-danger{background:#fee2e2;color:#ef4444}
.badge-warning{background:#fef3c7;color:#d97706}
.badge-info{background:#dbeafe;color:#2563eb}

/* 分页 */
.pagination{display:flex;gap:5px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.pagination a,.pagination span{padding:6px 12px;border:1px solid #e5e7eb;border-radius:4px;font-size:13px}
.pagination .current{background:#2563eb;color:#fff;border-color:#2563eb}

/* 响应式 */
@media(max-width:768px){
    .goods-grid{grid-template-columns:repeat(2,1fr)}
}
