/* =====================================================================
 * css/screens/equipment.css — 装备信息 / 武功信息 / 包裹 三页专属样式
 * 归属：equipment 组（js/screens/equipment.js、skills.js、bag.js 共用本文件；index.html 只链接这一份）
 * 类名前缀：eqp-（装备）skl-（武功）bag-（包裹）ip-（三页共用的信息弹窗零件）
 * 参照：docs/ref t034/t031（装备信息）、frames f025~f028（武功信息）
 * 只依赖 theme.css 的变量与 .btn/.seal/.stat-seal/.item/.slot/.list-row 组件；不改动任何公共文件。
 * ===================================================================== */

/* ---------- 0. 信息弹窗通用 ---------- */
.ip-modal .modal-body { padding: 8px 8px 10px; }
.ip-top { display: flex; gap: 8px; align-items: stretch; }
/* 竹节框（宣纸内层，简介用） */
.ip-bamboo { position: relative; flex: 1 1 auto; min-width: 0; padding: 8px 8px 30px; border: 7px solid transparent; border-radius: 8px;
  background: linear-gradient(var(--tex-paper), var(--tex-paper)) padding-box, linear-gradient(180deg, #f3e6c4, #e8d3a3) padding-box,
    repeating-linear-gradient(180deg, #b6df7e 0 3px, #7fb64a 3px 19px, #4f7d2c 19px 22px, #6f9e3f 22px 24px) border-box;
  box-shadow: inset 0 0 0 1px rgba(90, 60, 20, .35), inset 0 0 18px rgba(120, 80, 30, .25), 0 2px 4px rgba(0, 0, 0, .35); }
.ip-bamboo .h { font-family: var(--font-brush); font-size: 15px; letter-spacing: 1px; color: #6e140c; margin-bottom: 2px; }
.ip-bamboo .d { font-size: 12px; line-height: 1.5; color: var(--ink); text-align: justify; }
.ip-bamboo .worth { position: absolute; left: 6px; right: 6px; bottom: 4px; display: flex; align-items: center; justify-content: flex-end; gap: 4px; font-size: 13px; font-weight: 700; color: #7a1e12; }
.ip-bamboo .worth .k { margin-right: auto; font-family: var(--font-brush); font-size: 14px; color: var(--ink-soft); }
.ip-bamboo .worth svg { width: 20px; height: 20px; }
/* 昵称金牌钮：骑在卡面下沿 */
.ip-nick-row { text-align: center; margin-top: -16px; position: relative; z-index: 2; height: 34px; }
.ip-nick { display: inline-flex; align-items: center; justify-content: center; width: 118px; height: 34px; border-radius: 17px; background: var(--bg-gold); border: 2px solid #7a4f00;
  font-family: var(--font-brush); font-size: 21px; letter-spacing: 6px; text-indent: 6px; color: #7a1e12; text-shadow: 0 1px 0 rgba(255, 245, 210, .8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 -3px 0 rgba(120, 80, 10, .45), 0 3px 4px rgba(0, 0, 0, .45); cursor: pointer; }
.ip-nick:active { transform: translateY(1px); filter: brightness(.95); }
/* 三钮行 */
.ip-btns { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 6px 2px 4px; }
.ip-btns .btn { min-width: 0; flex: 1 1 0; padding: 0 8px; font-size: 21px; letter-spacing: 2px; height: 46px; }
.ip-btns .btn.btn-stone { color: #f4f4f4; }
/* 圆石钮（专属状态） */
.ip-round { flex: none; width: 68px; height: 68px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; cursor: pointer;
  background: radial-gradient(circle at 40% 30%, #d8d8d8 0%, #9a9a9a 38%, #5a5a5a 78%, #3a3a3a 100%); color: #f4f4f4;
  font-family: var(--font-brush); font-size: 17px; line-height: 1.05; letter-spacing: 1px; text-shadow: 0 1px 0 #222, 0 0 3px rgba(0, 0, 0, .5);
  box-shadow: 0 0 0 2px #2a2a2a, 0 0 0 3px #6a6a6a, inset 0 3px 3px rgba(255, 255, 255, .45), inset 0 -5px 8px rgba(0, 0, 0, .65), 0 3px 5px rgba(0, 0, 0, .55); transition: transform .1s; }
.ip-round span { display: block; transform: rotate(-8deg); }
.ip-round.on { background: radial-gradient(circle at 40% 30%, #fff6cf 0%, #f2c245 40%, #c48d22 80%, #8a5c08 100%); color: #7a1e12; text-shadow: 0 1px 0 rgba(255, 245, 210, .9);
  box-shadow: 0 0 0 2px #5a3800, 0 0 0 3px #f2c245, inset 0 3px 3px rgba(255, 255, 255, .6), inset 0 -5px 8px rgba(120, 70, 0, .45), 0 0 12px rgba(255, 210, 80, .6); }
.ip-round:active { transform: scale(.94); }
/* 属性文字行 */
.ip-lines { padding: 2px 6px 4px; font-size: 15px; font-weight: 700; line-height: 1.5; color: var(--ink); text-shadow: 0 1px 0 rgba(255, 248, 225, .8); }
.ip-lines .sub { font-size: 12px; font-weight: 400; color: var(--ink-soft); }
.ip-lines .jade { color: var(--jade-dark); }
.ip-lines .gold { color: #b8720a; }
.ip-lines .off { color: var(--ink-faint); font-weight: 400; }
/* 通用暗木行（强化/精炼/洗炼/开光、参悟/精研） */
.ip-row { position: relative; display: flex; align-items: center; gap: 8px; margin: 6px 0; padding: 7px 8px; border-radius: 7px; overflow: hidden;
  background: var(--tex-wood), linear-gradient(180deg, #5f3418, #3f2010 55%, #2c160a); color: #f3e6c4;
  box-shadow: inset 0 0 0 1px rgba(242, 194, 69, .35), inset 0 0 0 2px rgba(0, 0, 0, .35), inset 0 2px 6px rgba(0, 0, 0, .55), 0 1px 2px rgba(0, 0, 0, .35); }
.ip-row .rico { position: relative; flex: none; width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 40%, #4a2a12, #1a0c04 70%); box-shadow: 0 0 0 2px #7a4f00, 0 0 0 3px #1a0c04, inset 0 0 10px #000; }
.ip-row .rico svg { width: 40px; height: 40px; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .6)); }
.ip-row .rico .lvb { position: absolute; left: -4px; bottom: -4px; min-width: 20px; height: 18px; padding: 0 5px; border-radius: 9px; font-family: var(--font-body); font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; color: #ffe9a3; background: linear-gradient(180deg, #4a2410, #1a0c04); box-shadow: 0 0 0 1px #f2c245; text-shadow: 0 1px 0 #000; }
.ip-row .rb { flex: 1 1 auto; min-width: 0; }
.ip-row .t { display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 700; color: #ffe9a3; text-shadow: 0 1px 0 #000; line-height: 1.2; }
.ip-row .s { font-size: 12px; color: #e8d3a3; line-height: 1.35; margin-top: 1px; }
.ip-row .c { display: flex; align-items: center; flex-wrap: wrap; gap: 2px 8px; font-size: 13px; font-weight: 700; color: #ffe08a; text-shadow: 0 1px 0 #000; margin-top: 2px; }
.ip-row .c .ci { display: inline-flex; align-items: center; gap: 2px; }
.ip-row .c .ci svg { width: 20px; height: 20px; }
.ip-row .c .lack { color: #ff7a5c; }
.ip-row .eff { font-size: 12px; font-weight: 400; color: #8fe39f; }
.ip-row .rbtn { flex: none; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ip-row .rbtn .btn { min-width: 76px; height: 40px; padding: 0 10px; font-size: 21px; letter-spacing: 3px; text-indent: 3px; }
.ip-row .rbtn .hint { font-size: 10px; color: #c9a96e; line-height: 1; }
.ip-row .rbtn.two { flex-direction: row; gap: 6px; }
.ip-row .rbtn.two .btn { min-width: 54px; padding: 0 6px; font-size: 17px; letter-spacing: 1px; text-indent: 0; }
.ip-tag { display: inline-block; padding: 0 6px; height: 18px; line-height: 18px; border-radius: 3px; background: var(--bg-red); color: #ffe9a3; font-family: var(--font-brush); font-size: 13px; letter-spacing: 1px; transform: rotate(-4deg); box-shadow: 0 0 0 1px #3f0a06, 0 1px 2px rgba(0, 0, 0, .5); text-shadow: 0 1px 0 #3f0a06; }
.ip-tag.gold { background: var(--bg-gold); color: #7a1e12; text-shadow: none; box-shadow: 0 0 0 1px #5a3800; }
.ip-tag.grey { background: var(--bg-stone); color: #f0f0f0; text-shadow: 0 1px 0 #222; box-shadow: 0 0 0 1px #222; }
.ip-tag.jade { background: linear-gradient(180deg, #7ed08f, #3f8f5a 60%, #215c34); color: #f0fff0; box-shadow: 0 0 0 1px #143d20; }
/* 成功特效：金光横扫 + 数字跳动 + 金屑 */
.ip-row.flash::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, transparent 15%, rgba(255, 240, 160, .95) 50%, transparent 85%); animation: ipSweep .55s ease-out forwards; }
@keyframes ipSweep { from { transform: translateX(-110%); opacity: .2; } 40% { opacity: 1; } to { transform: translateX(110%); opacity: 0; } }
.ip-float { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; z-index: 5; white-space: nowrap;
  font-family: var(--font-dmg); font-weight: 900; font-size: 24px; color: #ffe08a; -webkit-text-stroke: 1px #6e140c; text-shadow: 0 0 6px rgba(255, 200, 60, .9), 0 2px 0 #3f0a06;
  animation: ipFloat 1s cubic-bezier(.2, .9, .3, 1) forwards; }
@keyframes ipFloat { 0% { transform: translate(-50%, -50%) scale(2.2); opacity: 0; } 15% { transform: translate(-50%, -50%) scale(1); opacity: 1; } 60% { transform: translate(-50%, -80%) scale(1.05); opacity: 1; } 100% { transform: translate(-50%, -160%) scale(.9); opacity: 0; } }
.ip-bump { display: inline-block; animation: ipBump .5s cubic-bezier(.2, 1.4, .4, 1); color: #fff2b3 !important; }
@keyframes ipBump { 0% { transform: scale(1); } 35% { transform: scale(1.5); } 100% { transform: scale(1); } }
.ip-sp { position: absolute; left: var(--x); top: var(--y); width: 6px; height: 6px; border-radius: 50%; pointer-events: none; z-index: 6;
  background: radial-gradient(circle, #fff6cf, #f2c245 60%, transparent 70%); box-shadow: 0 0 6px 2px rgba(255, 220, 90, .8); animation: ipSpark .8s ease-out forwards; animation-delay: var(--d); opacity: 0; }
@keyframes ipSpark { 0% { transform: translate(0, 0) scale(.4); opacity: 0; } 20% { opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) scale(1.2); opacity: 0; } }
.ip-shine { position: absolute; inset: 0; pointer-events: none; z-index: 4; background: radial-gradient(circle at 50% 50%, rgba(255, 245, 190, .95), rgba(255, 220, 100, .5) 35%, transparent 70%); animation: ipShine .7s ease-out forwards; }
@keyframes ipShine { 0% { opacity: 0; transform: scale(.4); } 30% { opacity: 1; } 100% { opacity: 0; transform: scale(1.6); } }
/* 分节标题（弹窗内） */
.ip-sec { display: flex; align-items: center; gap: 8px; margin: 10px 4px 4px; font-family: var(--font-brush); font-size: 19px; letter-spacing: 2px; color: #6e140c; }
.ip-sec::before, .ip-sec::after { content: ''; flex: 1 1 auto; height: 2px; background: linear-gradient(90deg, transparent, #b8860b 40%, #f2c245 50%, #b8860b 60%, transparent); }
/* 弹窗内列表（更换装备/武功、装备给弟子） */
.ip-list .list-row { margin: 6px 0 0; }
.ip-list .list-row .title .qtag { margin-right: 4px; }
.ip-list .list-row.cur { box-shadow: inset 0 0 0 2px #f2c245, inset 0 0 12px rgba(255, 210, 80, .35), 0 2px 3px rgba(0, 0, 0, .5); }
.ip-list .btn.btn-sm { min-width: 62px; height: 34px; font-size: 18px; }
.ip-cur { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; background: rgba(43, 29, 18, .08); box-shadow: inset 0 0 0 1px rgba(90, 60, 20, .35); font-size: 13px; color: var(--ink); }
.ip-cur .k { font-family: var(--font-brush); font-size: 15px; color: #6e140c; }
.ip-cur .v { flex: 1 1 auto; min-width: 0; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-cost { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 12px; padding: 8px 4px; font-size: 15px; font-weight: 700; color: var(--ink); }
.ip-cost .ci { display: inline-flex; align-items: center; gap: 3px; }
.ip-cost .ci svg { width: 22px; height: 22px; }
.ip-cost .lack { color: var(--red-bright); }
.ip-preview { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 4px 0 6px; font-size: 14px; color: var(--ink-soft); }
.ip-preview b { color: var(--ink); font-size: 16px; }
.ip-preview .arr { color: #b8720a; font-size: 18px; }
.ip-preview .to { color: #b8720a; font-size: 16px; font-weight: 700; }
.ip-note { text-align: center; font-size: 12px; color: var(--ink-soft); padding: 2px 6px 4px; }
/* 弟子选择行内小图标 */
.ip-list .avatar .frame { background: radial-gradient(circle at 50% 30%, #4a3a2a, #1e130a 70%); }

/* ---------- 1. 装备信息卡（t034） ---------- */
.eqp-card { position: relative; flex: 0 0 246px; height: 300px; border-radius: 8px; padding: 5px;
  background: linear-gradient(180deg, #fff2c8, #e6cf95); box-shadow: 0 0 0 2px #8a5c08, inset 0 0 0 1px #fff8e0, 0 3px 6px rgba(0, 0, 0, .4); }
.eqp-card .in { position: absolute; inset: 5px; border-radius: 6px; overflow: hidden; background: var(--qbg); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25), inset 0 0 40px rgba(60, 30, 0, .28); }
.eqp-card .in::before { content: ''; position: absolute; inset: 0; background: var(--tex-cloud) 0 0 / 120px 48px repeat; opacity: .45; mix-blend-mode: multiply; }
.eqp-card .in::after { content: ''; position: absolute; left: -10%; right: -10%; bottom: -30px; height: 90px; background: radial-gradient(ellipse at 50% 100%, rgba(60, 30, 0, .35), transparent 70%); }
.eqp-card .glow { position: absolute; left: 50%; top: 46%; width: 210px; height: 210px; margin: -105px 0 0 -105px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(255, 255, 255, .85) 0%, rgba(255, 245, 200, .45) 35%, transparent 68%); animation: eqpGlow 3.2s ease-in-out infinite; }
@keyframes eqpGlow { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.08); opacity: 1; } }
.eqp-card .ico { position: absolute; left: 50%; top: 47%; transform: translate(-50%, -50%); filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .45)); z-index: 1; }
.eqp-card .ico svg { width: 156px; height: 156px; }
.eqp-vname { position: absolute; left: 10px; top: 10px; z-index: 2; writing-mode: vertical-rl; font-family: var(--font-brush); font-size: 30px; line-height: 1; letter-spacing: 4px; color: #1e1208;
  text-shadow: 0 0 6px rgba(255, 255, 255, .95), 0 0 2px #fff, 0 1px 0 #fff; max-height: 200px; white-space: nowrap; }
.eqp-vname.long { font-size: 24px; letter-spacing: 3px; }
.eqp-seal { position: absolute; left: 12px; bottom: 74px; z-index: 2; }
.eqp-seal .seal { width: 34px; height: 34px; font-size: 22px; }
.eqp-lv { position: absolute; left: 14px; bottom: 40px; z-index: 2; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #e0523a, #a8261b 60%, #6e140c); transform: rotate(45deg); border: 1px solid #ffe08a; box-shadow: 0 0 0 1px #3f0a06, 0 2px 3px rgba(0, 0, 0, .5); }
.eqp-lv b { transform: rotate(-45deg); font-family: var(--font-body); font-size: 12px; font-weight: 900; color: #fff3c2; text-shadow: 0 1px 0 #3f0a06; white-space: nowrap; }
.eqp-tier { position: absolute; left: 6px; bottom: 8px; z-index: 2; padding: 0 7px; height: 20px; line-height: 20px; border-radius: 3px; background: var(--bg-gold); color: #6e140c; font-family: var(--font-brush); font-size: 13px; letter-spacing: 1px; box-shadow: 0 0 0 1px #5a3800, 0 1px 2px rgba(0, 0, 0, .5); }
.eqp-cstats { position: absolute; right: 10px; bottom: 8px; z-index: 2; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.eqp-cstats .st { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-body); font-size: 16px; font-weight: 900; color: #1e1208; text-shadow: 0 0 5px #fff, 0 0 2px #fff, 0 1px 0 #fff; }
.eqp-cstats .st.sm { font-size: 13px; }
.eqp-cstats .st.jade { color: #1f6a35; }
.eqp-excl { position: absolute; right: 8px; top: 8px; z-index: 2; writing-mode: vertical-rl; padding: 6px 3px; border-radius: 3px; background: var(--bg-red); color: #ffe9a3; font-family: var(--font-brush); font-size: 15px; letter-spacing: 2px; box-shadow: 0 0 0 1px #3f0a06, 0 2px 3px rgba(0, 0, 0, .5); text-shadow: 0 1px 0 #3f0a06; }
.eqp-excl.off { background: var(--bg-stone); color: #f0f0f0; text-shadow: 0 1px 0 #222; box-shadow: 0 0 0 1px #222; }
.eqp-bless { position: absolute; right: 8px; top: 96px; z-index: 2; writing-mode: vertical-rl; padding: 5px 3px; border-radius: 3px; background: var(--bg-gold); color: #6e140c; font-family: var(--font-brush); font-size: 14px; letter-spacing: 2px; box-shadow: 0 0 0 1px #5a3800, 0 0 8px rgba(255, 220, 100, .8); }
/* 套装区（t031 竹框深底） */
.eqp-set { position: relative; margin: 8px 0 2px; padding: 8px 10px 6px; border: 7px solid transparent; border-radius: 8px; color: #e6ffd0; font-size: 13px;
  background: linear-gradient(rgba(24, 34, 18, .9), rgba(24, 34, 18, .9)) padding-box, repeating-linear-gradient(180deg, #b6df7e 0 3px, #7fb64a 3px 19px, #4f7d2c 19px 22px, #6f9e3f 22px 24px) border-box;
  box-shadow: inset 0 0 14px rgba(0, 0, 0, .8), 0 2px 4px rgba(0, 0, 0, .4); }
.eqp-set .h { color: #b9c9a3; font-size: 13px; }
.eqp-set .nm { text-align: center; font-weight: 700; font-size: 17px; color: #f2c245; text-shadow: 0 1px 0 #000, 0 0 6px rgba(255, 210, 80, .4); margin-top: 2px; }
.eqp-set .nm.dim { color: #9ab08c; text-shadow: none; }
.eqp-set .pcs { display: flex; justify-content: space-between; gap: 6px; margin: 2px 0 6px; font-size: 13px; font-weight: 700; }
.eqp-set .pcs span { flex: 1 1 0; text-align: center; color: #7ed08f; text-shadow: 0 1px 0 #000; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eqp-set .pcs span.off { color: #7f9074; font-weight: 400; }
.eqp-set .pcs span.me { color: #ffe08a; }
.eqp-set .bn { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 44px 7px 6px; margin-top: 4px; border-top: 1px dashed rgba(255, 255, 255, .18); overflow: hidden; }
.eqp-set .bn .bl { min-width: 0; }
.eqp-set .bn .bt { color: #7ed08f; font-weight: 700; font-size: 14px; text-shadow: 0 1px 0 #000; }
.eqp-set .bn .bd { font-size: 12px; color: #c9d8b0; margin-top: 1px; }
.eqp-set .bn .fin { flex: none; color: #7ed08f; font-weight: 900; font-size: 15px; text-shadow: 0 1px 0 #000; }
.eqp-set .bn.off .bt, .eqp-set .bn.off .fin { color: #8a9a80; text-shadow: none; }
.eqp-set .bn.off .bd { color: #8a9a80; }
.eqp-set .rib { position: absolute; right: -30px; top: 8px; width: 104px; transform: rotate(35deg); text-align: center; font-size: 11px; line-height: 18px; letter-spacing: 1px; background: var(--bg-red); color: #ffe9a3; text-shadow: 0 1px 0 #3f0a06; box-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
.eqp-set .rib.off { background: linear-gradient(180deg, #8a8a8a, #4f4f4f); color: #e8e8e8; text-shadow: 0 1px 0 #222; }
.eqp-set .none { text-align: center; color: #9ab08c; padding: 6px 0; font-family: var(--font-brush); font-size: 15px; letter-spacing: 1px; }
/* 洗炼待定 */
.ip-row .wash-new { display: inline-flex; align-items: center; gap: 4px; color: #fff2b3; font-weight: 700; }
.ip-row .wash-new .arr { color: #8fe39f; }

/* ---------- 2. 列表页（装备 / 武学） ---------- */
/* 页底：宣纸 + 祥云暗纹 + 淡化山水（与主页/江湖同一套底子） */
.eqp-page {
  height: 100%; display: flex; flex-direction: column;
  background:
    var(--tex-damask) center top / 130px 130px repeat,
    linear-gradient(180deg, rgba(246, 237, 210, .93) 0%, rgba(234, 219, 183, .9) 52%, rgba(215, 193, 148, .93) 100%),
    url(../../assets/bg/ink_landscape.webp) 50% 92% / 448px auto no-repeat,
    var(--bg-paper);
}
/* 筛选条：加一线金 */
.eqp-filter { box-shadow: inset 0 -2px 0 #7a4f00, inset 0 -4px 0 rgba(242, 194, 69, .55), inset 0 1px 0 #fff8e0; }
.eqp-page .tab-paper .tab { font-size: 20px; height: 42px; }
.eqp-page .tab-paper .tab.active { height: 46px; }
.eqp-filter { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; background: var(--tex-paper), linear-gradient(180deg, #d9bf8a, #c9a96e); box-shadow: inset 0 -2px 0 #7a4f00, inset 0 1px 0 #fff3cf; }
.eqp-filter .toggle .opt { padding: 0 9px; height: 28px; line-height: 28px; font-size: 16px; }
.eqp-filter .cnt { font-size: 12px; color: var(--ink-soft); white-space: nowrap; }
.eqp-filter .cnt b { color: var(--ink); }
.eqp-list { flex: 1 1 auto; min-height: 0; padding: 2px 0 12px; }
.eqp-list .list-row { min-height: 72px; }
.eqp-list .list-row .lead .slot { width: 60px; }
.eqp-list .list-row .title .qtag { margin-right: 5px; }
.eqp-list .list-row .title .lvl { margin-left: 6px; font-size: 12px; color: #f2c245; font-weight: 700; }
.eqp-list .list-row .sub .own { color: #8fe39f; }
.eqp-list .list-row .sub .idle { color: #c9a96e; }
.eqp-list .list-row .sub .excl { color: #ffd54a; }
.eqp-list .list-row .right .btn-sm { min-width: 58px; height: 34px; font-size: 18px; }
.eqp-list .empty-tip { padding-top: 90px; }
.eqp-list .empty-tip small { display: block; margin-top: 8px; font-family: var(--font-body); font-size: 13px; letter-spacing: 0; }
.eqp-list .power { font-size: 11px; color: #ffe08a; margin-left: 6px; font-weight: 400; }

/* ---------- 3. 武功信息（f025~f028） ---------- */
.skl-scroll { position: relative; flex: 0 0 246px; height: 312px; }
.skl-scroll .roller { position: absolute; left: -4px; right: -4px; height: 16px; border-radius: 8px; z-index: 3;
  background: var(--tex-wood), linear-gradient(180deg, #8a5228, #5a2d10 55%, #3a1d0c); box-shadow: 0 0 0 1px #24110a, inset 0 2px 0 rgba(255, 220, 150, .35), inset 0 -2px 0 rgba(0, 0, 0, .5), 0 2px 3px rgba(0, 0, 0, .5); }
.skl-scroll .roller::before, .skl-scroll .roller::after { content: ''; position: absolute; top: -2px; width: 20px; height: 20px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff3c2, #f2c245 45%, #7a4f00); box-shadow: 0 0 0 1px #3f0a06, 0 1px 2px rgba(0, 0, 0, .6); }
.skl-scroll .roller::before { left: -6px; } .skl-scroll .roller::after { right: -6px; }
.skl-scroll .roller.top { top: 0; } .skl-scroll .roller.bot { bottom: 0; }
.skl-scroll .paper { position: absolute; left: 4px; right: 4px; top: 10px; bottom: 10px; overflow: hidden; border-radius: 2px;
  background: var(--tex-paper), linear-gradient(180deg, #fbf3dc 0%, #f3e6c4 50%, #ecd9b0 100%); box-shadow: inset 0 0 0 1px #c9a96e, inset 0 0 26px rgba(120, 80, 30, .25); }
.skl-scroll .paper::before { content: ''; position: absolute; inset: 0; background: var(--tex-cloud) 0 0 / 120px 48px repeat; opacity: .35; }
.skl-scroll .paper::after { content: ''; position: absolute; left: 12px; right: 12px; top: 16px; bottom: 16px; border: 1px solid rgba(184, 134, 11, .35); border-radius: 2px; pointer-events: none; }
.skl-scroll .ico { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -52%); z-index: 1; filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .35)); }
.skl-scroll .ico svg { width: 150px; height: 150px; }
.skl-scroll .halo { position: absolute; left: 50%; top: 50%; width: 190px; height: 190px; margin: -95px 0 0 -95px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, var(--qc3, #fff0b3) 0%, rgba(255, 255, 255, 0) 65%); opacity: .8; }
.skl-vname { position: absolute; left: 16px; top: 18px; z-index: 2; writing-mode: vertical-rl; font-family: var(--font-brush); font-size: 30px; line-height: 1; letter-spacing: 5px; color: #1e1208; text-shadow: 0 0 5px rgba(255, 255, 255, .9), 0 1px 0 #fff; white-space: nowrap; max-height: 210px; }
.skl-vname.long { font-size: 24px; letter-spacing: 3px; }
.skl-ink { position: absolute; right: 16px; top: 18px; z-index: 2; width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; border-radius: 52% 46% 55% 42%; transform: rotate(-14deg);
  background: radial-gradient(circle at 42% 38%, #4a3626, #1c110a 62%, #0b0603); box-shadow: 0 0 0 4px rgba(20, 10, 5, .12), 0 0 0 7px rgba(20, 10, 5, .06), 0 2px 4px rgba(0, 0, 0, .4); }
.skl-ink b { font-family: var(--font-brush); font-weight: 400; font-size: 30px; color: #e8d3a3; transform: rotate(14deg); text-shadow: 0 1px 0 #000; }
.skl-seal { position: absolute; left: 16px; bottom: 60px; z-index: 2; }
.skl-seal .seal { width: 34px; height: 34px; font-size: 22px; }
.skl-lv { position: absolute; left: 18px; bottom: 26px; z-index: 2; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #e0523a, #a8261b 60%, #6e140c); transform: rotate(45deg); border: 1px solid #ffe08a; box-shadow: 0 0 0 1px #3f0a06, 0 2px 3px rgba(0, 0, 0, .5); }
.skl-lv b { transform: rotate(-45deg); font-family: var(--font-body); font-size: 13px; font-weight: 900; color: #fff3c2; text-shadow: 0 1px 0 #3f0a06; }
.skl-cstats { position: absolute; right: 14px; bottom: 20px; z-index: 2; display: flex; align-items: center; gap: 10px; }
.skl-cstats .st { display: inline-flex; align-items: center; gap: 4px; font-family: var(--font-body); font-size: 16px; font-weight: 900; color: #1e1208; text-shadow: 0 0 4px #fff, 0 1px 0 #fff; }
.skl-cstats .st .k { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; font-family: var(--font-brush); font-size: 13px; color: #fff6e6; background: radial-gradient(circle at 40% 35%, #e8523a, #a8261b 60%, #6e140c); box-shadow: 0 0 0 1px #fff0c8, 0 0 0 2px #8f1d13; text-shadow: none; }
.skl-cstats .st .k.b { background: radial-gradient(circle at 40% 35%, #6aa5e8, #2f6fb5 60%, #173d6b); box-shadow: 0 0 0 1px #d8ecff, 0 0 0 2px #2f6fb5; }
.skl-cstats .st .k.p { background: radial-gradient(circle at 40% 35%, #b58ae0, #7b3fb5 60%, #48206e); box-shadow: 0 0 0 1px #efe0ff, 0 0 0 2px #6b32a8; }
.skl-cstats .st .k.g { background: radial-gradient(circle at 40% 35%, #7ed08f, #3f8f5a 60%, #215c34); box-shadow: 0 0 0 1px #e0ffe6, 0 0 0 2px #2f7a48; }
.skl-elem { position: absolute; right: 16px; top: 88px; z-index: 2; padding: 4px 3px; writing-mode: vertical-rl; border-radius: 3px; background: var(--bg-red); color: #ffe9a3; font-family: var(--font-brush); font-size: 14px; letter-spacing: 2px; box-shadow: 0 0 0 1px #3f0a06; text-shadow: 0 1px 0 #3f0a06; }
.skl-owner { position: absolute; right: 14px; top: 84px; z-index: 2; }
.skl-owner .avatar { --as: 40px; }
/* 秘诀位（天/地/人） */
.skl-slots { display: flex; justify-content: space-around; align-items: flex-start; padding: 8px 2px 2px; }
.skl-slot { width: 100px; text-align: center; cursor: pointer; }
.skl-slot .ring { position: relative; width: 78px; height: 78px; margin: 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 40%, #5a3416, #2a1608 60%, #120904); box-shadow: 0 0 0 3px #8a5c08, 0 0 0 5px #2a1608, inset 0 0 14px #000, 0 3px 5px rgba(0, 0, 0, .5); }
.skl-slot .ring svg { width: 56px; height: 56px; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .6)); }
.skl-slot .ring .tag { position: absolute; right: -8px; top: -4px; width: 22px; height: 22px; border-radius: 4px; display: flex; align-items: center; justify-content: center; background: var(--bg-red); color: #ffe9a3; font-family: var(--font-brush); font-size: 15px; box-shadow: 0 0 0 1px #3f0a06, 0 1px 2px rgba(0, 0, 0, .5); text-shadow: 0 1px 0 #3f0a06; }
.skl-slot .ring .tag.t { background: var(--bg-gold); color: #6e140c; text-shadow: none; box-shadow: 0 0 0 1px #5a3800; }
.skl-slot .ring .lv { position: absolute; left: -2px; bottom: -2px; min-width: 20px; height: 17px; padding: 0 5px; border-radius: 9px; font-family: var(--font-body); font-size: 10px; font-weight: 700; line-height: 17px; color: #ffe9a3; background: linear-gradient(180deg, #4a2410, #1a0c04); box-shadow: 0 0 0 1px #f2c245; }
.skl-slot .ring .lock { font-family: var(--font-brush); font-size: 13px; letter-spacing: 1px; color: rgba(242, 194, 69, .55); writing-mode: vertical-rl; }
.skl-slot.empty .ring { background: radial-gradient(circle at 50% 40%, #3a2412, #1a0c04 70%); box-shadow: 0 0 0 3px #5a3800, 0 0 0 5px #2a1608, inset 0 0 14px #000; }
.skl-slot.me .ring { box-shadow: 0 0 0 3px #fff0b3, 0 0 0 5px #f2c245, 0 0 14px 3px rgba(255, 210, 80, .7), inset 0 0 14px #000; }
.skl-slot .nm { margin-top: 5px; font-size: 12px; font-weight: 700; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.skl-slot .nm .p { color: #6e140c; font-family: var(--font-brush); font-size: 14px; }
.skl-slot.empty .nm { color: var(--ink-faint); font-weight: 400; }
.skl-bigbtn { display: flex; justify-content: center; padding: 6px 0 2px; }
.skl-bigbtn .btn { min-width: 240px; height: 46px; font-size: 23px; letter-spacing: 4px; }
/* 共鸣 / 进阶 文本区 */
.skl-text { padding: 4px 6px 2px; font-size: 14px; font-weight: 700; line-height: 1.55; color: var(--ink); text-shadow: 0 1px 0 rgba(255, 248, 225, .8); }
.skl-text .lead { color: #1e1208; }
.skl-text .r { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.skl-text .r.on { color: #b8720a; }
.skl-text .r.on::after { content: ' ✓'; color: #3f8f5a; }
.skl-text .r.next { color: #a8261b; }
.skl-text .r.off { color: var(--ink-faint); font-weight: 400; }
.skl-text .adv { white-space: normal; line-height: 1.5; margin-top: 2px; }
.skl-text .adv .n { color: #6e140c; }
.skl-text .adv.on .n { color: #b8720a; }
.skl-text .adv.off { color: var(--ink-faint); font-weight: 400; }
.skl-text .adv.off .n { color: var(--ink-faint); }
.skl-text .tip { font-size: 12px; font-weight: 400; color: var(--ink-soft); }
.skl-score { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 4px 0; padding: 4px 10px; border-radius: 16px; background: rgba(43, 29, 18, .08); box-shadow: inset 0 0 0 1px rgba(90, 60, 20, .35); font-size: 13px; color: var(--ink-soft); }
.skl-score b { font-size: 18px; color: #a8261b; font-family: var(--font-body); }
.skl-score .lv { color: #b8720a; font-weight: 700; }

/* ---------- 4. 包裹 ---------- */
.bag-page { height: 100%; display: flex; flex-direction: column; background: var(--bg-paper); }
.bag-page .tab-paper { padding: 6px 4px 0; gap: 3px; }
.bag-page .tab-paper .tab { font-size: 17px; height: 40px; letter-spacing: 0; padding: 0 2px; white-space: nowrap; }
.bag-page .tab-paper .tab.active { height: 44px; }
.bag-page .tab-paper .tab .badge { right: 2px; }
.bag-body { flex: 1 1 auto; min-height: 0; }
.bag-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px 4px; padding: 12px 6px 18px; justify-items: center; }
.bag-grid .item { --is: 68px; }
.bag-grid .item .box { box-shadow: 0 0 0 2px var(--qc, #9a8a70), 0 0 0 3px #1a0c04, inset 0 2px 3px rgba(255, 255, 255, .5), inset 0 -3px 5px rgba(0, 0, 0, .3), 0 2px 3px rgba(0, 0, 0, .5); }
.bag-grid .item .nm { max-width: 84px; font-size: 11px; }
.bag-grid .item .n { font-size: 12px; }
.bag-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 12px; font-size: 12px; color: var(--ink-soft); background: var(--tex-paper), linear-gradient(180deg, #d9bf8a, #c9a96e); box-shadow: inset 0 2px 0 #7a4f00, inset 0 -1px 0 #fff3cf; }
.bag-foot b { color: var(--ink); }
.bag-foot .btn-sm { min-width: 74px; height: 30px; font-size: 16px; }
.bag-empty { padding: 70px 30px 0; text-align: center; color: var(--ink-faint); font-family: var(--font-brush); font-size: 20px; letter-spacing: 2px; }
.bag-empty small { display: block; margin-top: 8px; font-family: var(--font-body); font-size: 13px; letter-spacing: 0; }
/* 物品弹窗 */
.bag-info { display: flex; gap: 12px; align-items: flex-start; padding: 2px 2px 6px; }
.bag-big { position: relative; flex: none; width: 96px; height: 96px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--qbg);
  box-shadow: 0 0 0 2px var(--qc, #9a8a70), 0 0 0 4px #1a0c04, inset 0 2px 4px rgba(255, 255, 255, .55), inset 0 -4px 8px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .5); }
.bag-big svg { width: 82px; height: 82px; filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .4)); position: relative; z-index: 1; }
.bag-big .n { position: absolute; right: -4px; bottom: -4px; z-index: 3; min-width: 24px; height: 20px; padding: 0 6px; border-radius: 4px; font-family: var(--font-body); font-size: 13px; font-weight: 700; line-height: 20px; text-align: center; color: #fff; background: linear-gradient(180deg, #3a2a1a, #0e0805); box-shadow: 0 0 0 1px #c9a96e; text-shadow: 0 1px 0 #000; }
.bag-big.shake { animation: bagShake .75s ease-in-out; }
@keyframes bagShake { 0%, 100% { transform: rotate(0); } 10% { transform: rotate(-8deg) translateX(-2px); } 20% { transform: rotate(8deg) translateX(2px); } 30% { transform: rotate(-10deg); } 40% { transform: rotate(10deg); } 50% { transform: rotate(-8deg) scale(1.05); } 60% { transform: rotate(8deg) scale(1.08); } 70% { transform: rotate(-5deg) scale(1.1); } 80% { transform: rotate(5deg) scale(1.12); } 90% { transform: rotate(0) scale(1.15); } }
.bag-big .burst { position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; pointer-events: none; z-index: 4;
  background: radial-gradient(circle, #fffbe0 0%, rgba(255, 230, 120, .95) 30%, rgba(255, 200, 60, .5) 55%, transparent 72%); animation: bagBurst .8s ease-out forwards; }
@keyframes bagBurst { 0% { transform: scale(.2); opacity: 0; } 25% { opacity: 1; } 100% { transform: scale(6); opacity: 0; } }
.bag-big .ray { position: absolute; left: 50%; top: 50%; width: 4px; height: 140px; margin: -70px 0 0 -2px; transform: rotate(var(--r)); border-radius: 2px; pointer-events: none; z-index: 4;
  background: linear-gradient(180deg, transparent, rgba(255, 240, 160, .95) 50%, transparent); animation: bagRay .8s ease-out forwards; opacity: 0; }
@keyframes bagRay { 0% { transform: rotate(var(--r)) scaleY(.2); opacity: 0; } 30% { opacity: 1; } 100% { transform: rotate(calc(var(--r) + 25deg)) scaleY(1.4); opacity: 0; } }
.bag-meta { flex: 1 1 auto; min-width: 0; }
.bag-meta .nm { font-family: var(--font-brush); font-size: 24px; letter-spacing: 1px; line-height: 1.2; display: flex; align-items: center; gap: 6px; }
.bag-meta .ty { font-size: 12px; color: var(--ink-soft); margin-top: 2px; }
.bag-meta .cnt { margin-top: 4px; font-size: 14px; font-weight: 700; color: var(--ink); }
.bag-meta .cnt b { color: #a8261b; font-size: 18px; }
.bag-meta .key { margin-top: 3px; font-size: 12px; color: var(--ink-soft); display: flex; align-items: center; gap: 4px; }
.bag-meta .key svg { width: 18px; height: 18px; }
.bag-meta .key .lack { color: var(--red-bright); font-weight: 700; }
.bag-meta .key .ok { color: var(--jade-dark); font-weight: 700; }
.bag-desc { margin: 2px 0 6px; padding: 8px 10px; border-radius: 5px; background: rgba(43, 29, 18, .07); box-shadow: inset 0 0 0 1px rgba(90, 60, 20, .3); font-size: 13px; line-height: 1.6; color: var(--ink); text-align: justify; }
.bag-eff { margin: 0 0 6px; text-align: center; font-size: 13px; color: var(--jade-dark); font-weight: 700; }
.bag-acts { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 10px; padding: 6px 0 2px; }
.bag-acts .btn { min-width: 96px; height: 42px; padding: 0 14px; font-size: 20px; letter-spacing: 2px; }
.bag-acts .btn.btn-stone { color: #f4f4f4; }
.bag-drops { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; font-size: 12px; color: var(--ink-soft); }
.bag-drops span { padding: 0 6px; border-radius: 3px; background: rgba(43, 29, 18, .08); }
/* 数量选择 */
.bag-qty { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 0 4px; }
.bag-qty .q { width: 44px; height: 40px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-family: var(--font-brush); font-size: 26px; color: #7a1e12; background: var(--bg-gold); border: 2px solid #7a4f00; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 -3px 0 rgba(120, 80, 10, .45); }
.bag-qty .q:active { transform: translateY(1px); }
.bag-qty input { width: 90px; height: 40px; text-align: center; font-family: var(--font-body); font-size: 20px; font-weight: 700; color: var(--ink); background: #fffaf0; border: 2px solid #b8945a; border-radius: 4px; outline: none; }
.bag-qty .max { font-size: 12px; color: var(--ink-soft); }

/* ---------- 5. 武功信息补充（skills.js：精研/参悟费用条、卷位、进阶角标、秘诀位修炼弹窗） ---------- */
.skl-fx { position: relative; overflow: hidden; border-radius: 6px; }
.skl-fx.flash::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, transparent 15%, rgba(255, 240, 160, .95) 50%, transparent 85%); animation: ipSweep .55s ease-out forwards; }
.skl-fx .ip-float { color: #ffe08a; -webkit-text-stroke: 1px #6e140c; text-shadow: 0 0 6px rgba(255, 200, 60, .9), 0 2px 0 #3f0a06, 0 0 2px #fff; }
.skl-costs { display: flex; gap: 6px; padding: 0 2px 4px; }
.skl-costs .c { flex: 1 1 0; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; padding: 4px 6px; border-radius: 5px; font-size: 12px; font-weight: 700; color: #ffe08a; text-shadow: 0 1px 0 #000;
  background: var(--tex-wood), linear-gradient(180deg, #5f3418, #3f2010 55%, #2c160a); box-shadow: inset 0 0 0 1px rgba(242, 194, 69, .35), inset 0 0 0 2px rgba(0, 0, 0, .35), inset 0 2px 6px rgba(0, 0, 0, .55); }
.skl-costs .c .t { width: 100%; font-family: var(--font-brush); font-size: 14px; letter-spacing: 1px; color: #ffe9a3; }
.skl-costs .c .ci { display: inline-flex; align-items: center; gap: 2px; }
.skl-costs .c .ci svg { width: 18px; height: 18px; }
.skl-costs .c .ci small { font-weight: 400; color: #c9a96e; }
.skl-costs .c .lack { color: #ff7a5c; }
.skl-eff { font-size: 15px; font-weight: 700; color: var(--ink); }
.skl-adv { position: absolute; left: 18px; bottom: 4px; z-index: 2; padding: 0 6px; height: 18px; line-height: 18px; border-radius: 3px; background: var(--bg-gold); color: #6e140c; font-family: var(--font-body); font-size: 12px; font-weight: 900; box-shadow: 0 0 0 1px #5a3800, 0 1px 2px rgba(0, 0, 0, .5); }
.skl-slot.locked .ring { background: radial-gradient(circle at 50% 40%, #2c2c2c, #101010 70%); box-shadow: 0 0 0 3px #4a4a4a, 0 0 0 5px #1a1a1a, inset 0 0 14px #000; cursor: default; }
.skl-slot.locked .ring .lock { font-size: 12px; color: rgba(220, 220, 220, .55); letter-spacing: 0; }
.skl-slot.locked .nm { color: var(--ink-faint); font-weight: 400; }
.skl-slot.empty .ring svg { width: 30px; height: 30px; opacity: .55; }
.skl-slot:active .ring { transform: scale(.95); }
.skl-jhead { display: flex; align-items: center; gap: 10px; padding: 4px 6px 8px; }
.skl-jhead .grow { flex: 1 1 auto; min-width: 0; }
.skl-jhead .t { font-family: var(--font-brush); font-size: 22px; color: #6e140c; letter-spacing: 1px; }
.skl-jhead .s { font-size: 12px; color: var(--ink-soft); }
.skl-jrow { position: relative; display: flex; align-items: center; gap: 8px; margin: 6px 0; padding: 7px 8px; border-radius: 7px;
  background: var(--tex-wood), linear-gradient(180deg, #5f3418, #3f2010 55%, #2c160a); color: #f3e6c4;
  box-shadow: inset 0 0 0 1px rgba(242, 194, 69, .35), inset 0 0 0 2px rgba(0, 0, 0, .35), inset 0 2px 6px rgba(0, 0, 0, .55), 0 1px 2px rgba(0, 0, 0, .35); }
.skl-jrow.focus { box-shadow: inset 0 0 0 2px #f2c245, inset 0 0 14px rgba(255, 210, 80, .35), 0 1px 2px rgba(0, 0, 0, .35); }
.skl-jrow.off { opacity: .7; }
.skl-jrow .rk { flex: none; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-brush); font-size: 24px; color: #ffe9a3; text-shadow: 0 1px 0 #000;
  background: radial-gradient(circle at 50% 40%, #4a2a12, #1a0c04 70%); box-shadow: 0 0 0 2px #7a4f00, 0 0 0 3px #1a0c04, inset 0 0 10px #000; }
.skl-jrow.on .rk { background: radial-gradient(circle at 40% 30%, #fff6cf 0%, #f2c245 40%, #c48d22 80%, #8a5c08 100%); color: #7a1e12; text-shadow: none; }
.skl-jrow .rb { flex: 1 1 auto; min-width: 0; }
.skl-jrow .t { font-size: 16px; font-weight: 700; color: #ffe9a3; text-shadow: 0 1px 0 #000; }
.skl-jrow .s { font-size: 12px; color: #e8d3a3; line-height: 1.35; }
.skl-jrow .s.gold { color: #ffd54a; }
.skl-jrow .c { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: 12px; font-weight: 700; color: #ffe08a; text-shadow: 0 1px 0 #000; margin-top: 2px; }
.skl-jrow .c .ci { display: inline-flex; align-items: center; gap: 2px; }
.skl-jrow .c .ci svg { width: 18px; height: 18px; }
.skl-jrow .c .ci small { font-weight: 400; color: #c9a96e; }
.skl-jrow .c .lack { color: #ff7a5c; }
.skl-jrow .rbtn { flex: none; display: flex; flex-direction: column; gap: 4px; }
.skl-jrow .btn.btn-sm { min-width: 58px; height: 32px; font-size: 17px; }
.skl-jico { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 40%, #4a2a12, #1a0c04 70%); box-shadow: 0 0 0 2px #7a4f00, 0 0 0 3px #1a0c04, inset 0 0 10px #000; }
.skl-jico svg { width: 40px; height: 40px; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .6)); }
.ip-cur .ci { display: inline-flex; align-items: center; gap: 2px; font-weight: 700; }
.ip-cur .ci svg { width: 18px; height: 18px; }
.ip-cur .ci small { font-weight: 400; color: var(--ink-soft); }
.ip-cur .lack { color: var(--red-bright); }
.skl-text .adv b { color: #3f8f5a; }
.skl-page .eqp-list .list-row .lead .slot .tier { font-size: 13px; }

/* ---------- 6. 包裹补充（bag.js） ---------- */
.bag-tip { padding: 5px 12px 3px; font-size: 12px; color: var(--ink-soft); text-align: center; font-family: var(--font-brush); letter-spacing: 1px; background: var(--tex-paper), linear-gradient(180deg, #e2cb95, #d9bf8a); box-shadow: inset 0 -1px 0 #b8945a; }
.bag-grid .item .box .n { font-size: 12px; min-width: 20px; height: 18px; line-height: 18px; }
.bag-grid .item .nm.q-甲 { color: #b8720a; }
.bag-grid .item .nm.q-乙 { color: #6b32a8; }
.bag-grid .item .nm.q-丙 { color: #2f6fb5; }
.bag-grid .item .nm.q-丁 { color: #2f7a48; }
.bag-grid .item:active { transform: scale(.94); }
.bag-foot .lk { display: inline-flex; gap: 6px; }
.bag-foot .lk .btn-sm { min-width: 0; padding: 0 10px; height: 30px; font-size: 15px; letter-spacing: 0; }
.bag-eff.dim { color: var(--ink-faint); font-weight: 400; }
.bag-meta .nm .qtag { flex: none; }
.bag-qty-modal .modal-body { text-align: center; }
.bag-qty-row { display: flex; justify-content: center; gap: 14px; padding: 2px 0 6px; }
.bag-qty-row .max { cursor: pointer; padding: 2px 10px; border-radius: 12px; background: rgba(43, 29, 18, .08); box-shadow: inset 0 0 0 1px rgba(90, 60, 20, .35); font-size: 12px; color: var(--ink); }
.bag-qty-row .max:active { background: rgba(43, 29, 18, .16); }
.bag-qty input::-webkit-outer-spin-button, .bag-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bag-qty input { -moz-appearance: textfield; }
