/* ============================== 页面标题 ============================== */ .page-header { margin-bottom: 24px; text-align: center; } .page-title { margin: 0 0 10px; font-size: 40px; line-height: 1.3; font-weight: 800; color: #222; } .page-subtitle { margin: 0; color: #777; font-size: 19px; line-height: 1.7; } /* ============================== 主卡片 ============================== */ .main-card { overflow: hidden; margin-bottom: 30px; background: #fff; border-radius: 20px; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.09); } .main-card-top { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 30px; padding: 32px; text-align: left; } .main-icon-wrapper { display: flex; align-items: flex-start; justify-content: center; } .main-icon { display: flex; width: 190px; height: 190px; align-items: center; justify-content: center; overflow: hidden; background: #f4f1f9; border: 3px solid rgba(138, 79, 211, 0.3); border-radius: 22px; box-shadow: 0 5px 18px rgba(0, 0, 0, 0.1); } .main-icon img, .material-icon img { display: block; width: 100%; height: 100%; object-fit: cover; } .main-info, .material-info { min-width: 0; } .main-name-row { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 16px; } .main-name { margin: 0; font-size: 36px; line-height: 1.35; font-weight: 800; color: #222; } .quality-badge { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 7px 16px; border-radius: 999px; font-size: 17px; font-weight: 700; white-space: nowrap; } .tip-list { margin: 0 0 22px; padding: 0; list-style: none; } .tip-list li { position: relative; margin-bottom: 9px; padding-left: 22px; color: var(--jx3-text-secondary); font-size: 19px; line-height: 1.8; } .tip-list li::before { position: absolute; top: 14px; left: 2px; width: 8px; height: 8px; background: #8a4fd3; border-radius: 50%; content: ""; } /* ============================== 主信息参数 ============================== */ .stat-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 14px; } .stat-item { padding: 18px 15px; background: #f7f7fa; border: 1px solid #ededf2; border-radius: 13px; text-align: center; } .stat-label { margin-bottom: 8px; color: #777; font-size: 16px; } .stat-value { color: #333; font-size: 22px; line-height: 1.4; font-weight: 800; } /* ============================== 汇总区域 ============================== */ .summary-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #e9e9ef; border-top: 1px solid #e9e9ef; } .summary-panel { padding: 28px 30px 30px; background: #fff; text-align: left; } .summary-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; font-size: 25px; font-weight: 800; } .summary-title.market, .price-box.highest .price-box-value { color: #d93939; } .summary-title.cost, .price-box.lowest .price-box-value { color: #2e8b57; } .summary-count { color: #888; font-size: 16px; font-weight: 500; } .price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } .price-box { padding: 20px 14px; background: #f8f8fa; border-radius: 13px; text-align: center; } .price-box-label { margin-bottom: 10px; color: #777; font-size: 16px; } .price-box-value { color: #333; font-size: 21px; font-weight: 800; line-height: 1.55; } .price-box.average .price-box-value { color: #d98b16; } .summary-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 22px; margin-top: 18px; color: #777; font-size: 16px; line-height: 1.7; } .subtotal-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 17px; padding: 17px 18px; background: #f4f4f8; border-radius: 11px; } .subtotal-label { color: #555; font-size: 18px; } .subtotal-value { color: #2e8b57; font-size: 23px; font-weight: 800; } /* ============================== 游戏币显示 ============================== */ .money { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px; } .money-gold { color: #cc8b00; } .money-silver { color: var(--jx3-text-secondary); } .money-copper { color: #e6a25f; } .raw-price { display: block; margin-top: 5px; color: #999; font-size: 14px; font-weight: 500; } /* ============================== 材料区域标题 ============================== */ .material-section { margin-top: 12px; } .section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; } .section-title { margin: 0; font-size: 31px; font-weight: 800; color: #222; } .section-desc { color: #777; font-size: 18px; line-height: 1.6; } /* ============================== 材料卡片 ============================== */ .material-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; } .material-card { overflow: hidden; background: #fff; border: 1px solid #e5e5eb; border-radius: 17px; box-shadow: 0 5px 18px rgba(0, 0, 0, 0.07); text-align: left; transition: transform 0.18s ease, box-shadow 0.18s ease; } .material-card:hover { transform: translateY(-3px); box-shadow: 0 9px 25px rgba(0, 0, 0, 0.11); } .material-card-header { display: grid; grid-template-columns: 98px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px; border-bottom: 1px solid #eeeeef; } .material-icon { display: flex; width: 98px; height: 98px; align-items: center; justify-content: center; overflow: hidden; background: #f4f1f9; border: 2px solid rgba(138, 79, 211, 0.18); border-radius: 14px; } .material-name { margin: 0 0 10px; font-size: 26px; line-height: 1.35; font-weight: 800; color: #222; } .material-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; } .material-tag { display: inline-flex; align-items: center; min-height: 31px; padding: 5px 11px; border-radius: 999px; color: #666; background: #f0f0f3; font-size: 15px; line-height: 1.3; font-weight: 600; } .tag-trading { color: #1e6bd6; background: #e9f1fe; } .tag-store { color: #2e8b57; background: #e7f5ed; } .quality-1, .tag-quality-1 { color: #555; background: #efefef; } .quality-2, .tag-quality-2 { color: #237a3b; background: #e5f6e9; } .quality-3, .tag-quality-3 { color: #1e6bd6; background: #e7f0fd; } .quality-4, .tag-quality-4 { color: #7c3fc2; background: #f0e7fb; } .quality-5, .tag-quality-5 { color: #c76b00; background: #fff0d9; } .material-quantity { min-width: 90px; text-align: right; } .quantity-label { margin-bottom: 4px; color: #888; font-size: 15px; } .quantity-value { color: #333; font-size: 29px; font-weight: 800; } .material-card-body { padding: 20px 22px 23px; } .material-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .material-price-item { padding: 15px 10px; background: #f8f8fa; border-radius: 11px; text-align: center; } .material-price-label { margin-bottom: 8px; color: #777; font-size: 15px; } .material-price-value { color: #333; font-size: 18px; font-weight: 700; line-height: 1.55; } .material-total { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 16px; padding: 16px 17px; background: #f5f5f8; border-radius: 10px; } .material-total-label { color: #555; font-size: 17px; } .material-total-value { color: #d93939; font-size: 21px; font-weight: 800; } .material-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 18px; margin-top: 15px; color: #888; font-size: 15px; line-height: 1.6; } /* ============================== 商店材料 ============================== */ .store-price-box { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .store-price-item { padding: 20px 14px; background: #f8f8fa; border-radius: 11px; text-align: center; } .store-price-label { margin-bottom: 9px; color: #777; font-size: 16px; } .store-price-value { color: #2e8b57; font-size: 22px; font-weight: 800; line-height: 1.55; } .empty-card { grid-column: 1 / -1; min-height: 170px; display: flex; align-items: center; justify-content: center; background: #fff; border: 2px dashed #ccc; border-radius: 16px; color: #888; font-size: 20px; }