:root{--bd:#dcdcdc;--hi:#0a8f63;--brand:#4f46e5;--brand-2:#6366f1;--brand-3:#818cf8;--brand-soft:#e0e7ff;--brand-tint:#eef2ff;--brand-rgb:79,70,229}
*{box-sizing:border-box}
body{font:14px/1.6 system-ui,"PingFang SC","Microsoft YaHei",sans-serif;margin:0 auto;padding:12px;color:#1d1d1d;background:linear-gradient(180deg,#f6f1f8 0,#f4f5f6 340px);max-width:820px;min-height:100vh}
.hero{position:relative;background:linear-gradient(120deg,#fff 0%,var(--brand-tint) 100%);border-radius:16px;padding:14px 16px;margin:4px 0 10px;box-shadow:0 2px 12px rgba(20,20,40,.05)}
h1{font-size:20px;margin:0 0 4px;font-weight:800;letter-spacing:.5px}
.sub{color:#8a8a93;margin:0;font-size:12px;line-height:1.7}
.feat{display:flex;gap:9px;align-items:flex-start;background:#fff;border-radius:12px;padding:9px 10px;box-shadow:0 1px 6px rgba(20,20,40,.05)}
.feat b{font-size:13px;color:#1d1d1d}
.feat i{display:block;font-style:normal;font-size:11px;color:#8a8a93;line-height:1.55;margin-top:1px}
.fic{width:30px;height:30px;border-radius:9px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:none}
.fic.o{background:linear-gradient(135deg,var(--brand-3),var(--brand))}
.fic.r{background:linear-gradient(135deg,#ff4d67,#ff0036)}
.fic.g{background:linear-gradient(135deg,#3dc483,#0a9e5b)}
.fic.b{background:linear-gradient(135deg,#4d8dff,#1a5fd0)}
.tabs{position:sticky;top:0;z-index:40;display:flex;justify-content:flex-start;gap:6px;background:linear-gradient(180deg,#f6f1f8,#f5f3f6);margin:0 -12px 10px;padding:8px 12px;overflow-x:auto;white-space:nowrap}
.tabs button{border:none;background:none;padding:9px 16px;font-size:16px;color:#222;font-weight:700;position:relative;border-radius:12px;flex:none}
.tabs button.active{background:#fff;color:var(--brand);font-weight:800;box-shadow:0 2px 10px rgba(20,20,40,.08)}
.tabs button.active::after{content:"";position:absolute;left:50%;bottom:5px;width:18px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--brand-2),var(--brand));transform:translateX(-50%)}
/* ---------- ⑤ 更新日志 ---------- */
.log-dlg .lg-head{text-align:center;margin:2px 0 16px}
.log-dlg .lg-head h2{font-size:18px;margin:0 0 4px}
.log-dlg .lg-head p{font-size:12px;color:#8a8a93;margin:0}
.log-dlg .lg-card{position:relative;overflow:hidden;background:#fff;border:1px solid #f0f0f3;border-radius:14px;padding:14px 14px 4px;margin-bottom:12px;box-shadow:0 2px 10px rgba(20,20,40,.04)}
.log-dlg .lg-card.latest::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-2),var(--brand))}
.log-dlg .lg-vhead{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;margin-bottom:10px;border-bottom:1px dashed #ececf0}
.log-dlg .lg-vtitle{display:flex;align-items:center;gap:8px}
.log-dlg .lg-vnum{font-size:17px;font-weight:800;color:#2c3440}
.log-dlg .lg-card.latest .lg-vnum{color:var(--brand)}
.log-dlg .lg-newtag{background:var(--brand-tint);color:var(--brand);border:1px solid var(--brand-soft);border-radius:12px;padding:1px 8px;font-size:11px;font-weight:700}
.log-dlg .lg-vdate{font-size:12px;color:#a0a0a8}
.log-dlg .lg-item{display:flex;gap:11px;align-items:flex-start;padding:0 0 12px}
.log-dlg .lg-ic{width:26px;height:26px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px}
.log-dlg .lg-ic.f{background:#eaf2ff}
.log-dlg .lg-ic.o{background:#e9f9f0}
.log-dlg .lg-ic.x{background:#f4f4f6}
.log-dlg .lg-ic.r{background:#fff1e8}
.log-dlg .lg-t{font-size:13.5px;font-weight:700;color:#222;margin-bottom:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.log-dlg .lg-d{font-size:12.5px;color:#6b6b74;line-height:1.65}
.log-dlg .lg-tag{font-size:10px;padding:1px 6px;border-radius:4px;color:#fff;font-weight:400}
.log-dlg .lg-tag.new{background:var(--brand)}
.log-dlg .lg-tag.rb{background:#ff8c00}
.log-dlg .lg-foot{text-align:center;font-size:12px;color:#b6b6be;margin:4px 0 2px}
/* ---------- 券包叠加效能预览（券包页） ---------- */
#cppWrap{margin:14px 0 4px}
.cpp{position:relative;border:1px solid var(--brand-soft);background:linear-gradient(180deg,#fdfcff,#fff);border-radius:16px;padding:14px 14px 12px 18px;box-shadow:0 2px 12px rgba(20,20,40,.05)}
.cpp::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--brand-3),var(--brand))}
.cpp.collapsed .cpp-body{display:none}
.cpp-h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:#1d1d1d;margin-bottom:11px}
.cpp-h .bd{margin-left:auto;font-size:11px;font-weight:600;color:#0a8f63;background:#e8f8f0;border:1px solid #c9efd9;border-radius:10px;padding:1px 8px;white-space:nowrap}
.cpp-tg{margin-left:6px;border:1px solid var(--brand-soft);background:#fff;color:var(--brand);font-size:11px;font-weight:700;border-radius:9px;padding:3px 9px;cursor:pointer;flex:none}
/* 券标签：图标 + 名称 + 数值 + 底部角标 */
.cpp-tags{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.cpp-tags::-webkit-scrollbar{display:none}
.cpp-tag{flex:none;min-width:78px;border:1px solid #ececf1;border-radius:11px;background:#fff;padding:6px 8px 0;display:flex;flex-direction:column;align-items:center;gap:1px;overflow:hidden}
.cpp-tag .ic{width:18px;height:18px;border-radius:50%;background:#c9ccd6;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}
.cpp-tag .lb{font-size:11px;font-weight:800;color:#3a3a42;white-space:nowrap}
.cpp-tag .vl{font-size:11.5px;font-weight:700;color:#4338ca;white-space:nowrap}
.cpp-tag .ft{width:100%;margin-top:5px;font-size:9px;padding:1px 0;text-align:center;background:#f6f6f8;color:#9a9aa4;border-radius:0 0 10px 10px}
.cpp-tag.base .ic{background:#b9c0cc}
.cpp-tag.base .vl{color:#5b5b66}
.cpp-tag.o .ic{background:linear-gradient(135deg,var(--brand-3),var(--brand))}
.cpp-tag.o .ft{background:#eef2ff;color:#4338ca}
.cpp-tag.g .ic{background:linear-gradient(135deg,#3dc483,#0a9e5b)}
.cpp-tag.g .vl{color:#0a8f63}
.cpp-tag.g .ft{background:#eaf7ef;color:#0a8f63}
.cpp-tag.r .ic{background:linear-gradient(135deg,#ff7a8a,#ff2d55)}
.cpp-tag.r .vl{color:#c0392b}
.cpp-tag.r .ft{background:#fff0ef;color:#c0392b}
.cpp-tag.off{opacity:.55}
/* 公式 */
.cpp-fx{padding:9px 0 11px;font-size:14px;font-weight:700;color:#2c2c33;letter-spacing:.3px;overflow-x:auto;white-space:nowrap;border-bottom:1px dashed #ffe6d6;scrollbar-width:none}
.cpp-fx::-webkit-scrollbar{display:none}
.cpp-fx i{font-style:normal;margin:0 5px;color:#2c2c33}
.cpp-fx em{font-style:normal;margin:0 5px;color:#0a8f63}
.cpp-fx b{color:#e1251b;font-size:15px}
/* 斜向阶梯 */
.cpp-wf{padding:12px 0 2px;overflow-x:auto;scrollbar-width:none}
.cpp-wf::-webkit-scrollbar{display:none}
.cpp-step{position:relative;display:flex;align-items:flex-end;gap:8px}
.cpp-step .rail{position:absolute;left:9px;top:-16px;bottom:8px;width:1px;background:#f1e6dd}
.cpp-step .n{position:relative;z-index:2;width:19px;height:19px;border-radius:50%;background:#fff;border:1px solid #e4d8cb;color:#a0795a;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.cpp-step .bx{background:#f7f8fa;border-radius:11px;padding:6px 13px 7px;min-width:120px;margin-bottom:8px}
.cpp-step .bx .v{font-size:17px;font-weight:800;color:#2c2c33;line-height:1.25}
.cpp-step .bx .d{font-size:10.5px;color:#9a9a9a;display:flex;align-items:center;gap:5px;margin-top:1px}
.cpp-step .bx .d b{width:13px;height:13px;border-radius:50%;background:#eceef2;color:#8a8a93;font-size:9px;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.cpp-step.last .n{border-color:var(--brand-2);color:var(--brand)}
.cpp-step.last .bx{background:#fff4ec;border:1px solid #ffd3b8}
.cpp-step.last .bx .v{color:#e1251b;font-size:19px}
.cpp-step.last .bx .t{font-size:10.5px;color:#8a8a93;margin-top:2px}
.cpp-empty{font-size:12px;color:#8a8a93;line-height:1.75;margin-top:2px}
.cpp-foot{font-size:11px;color:#a8a3ad;margin-top:6px;line-height:1.6}
/* ---------- 计算上限说明 ---------- */
details.limdoc{margin:10px 0 6px;border:1px solid #f3e3d5;border-radius:12px;background:#fffaf5;padding:10px 12px}
details.limdoc>summary{cursor:pointer;font-size:13px;font-weight:700;color:#a8630a;list-style:none}
details.limdoc>summary::-webkit-details-marker{display:none}
details.limdoc>summary::before{content:"▸ ";color:var(--brand-2);font-weight:700}
details.limdoc[open]>summary::before{content:"▾ "}
details.limdoc .ldb{font-size:12.5px;color:#6b6b74;line-height:1.8;margin-top:8px}
details.limdoc .ldb b{color:#4338ca}
details.limdoc table{margin:6px 0 4px;font-size:12.5px}
details.limdoc th,details.limdoc td{border-bottom:1px solid #f6ece3;padding:5px 8px}
details.limdoc th{color:#a0795a;font-weight:600}
section{background:#fff;border:none;border-radius:16px;padding:16px;margin:10px 0;box-shadow:0 2px 12px rgba(20,20,40,.05)}
h2{font-size:16px;margin:0 0 12px;font-weight:800}
table{width:100%;border-collapse:collapse}
th,td{border-bottom:1px solid #f4f4f6;padding:7px 8px;text-align:left;font-size:13px}
th{font-size:12px;color:#8a8a93;font-weight:500;letter-spacing:.3px}
td.c,th.c{text-align:center}
input[type=text],input[type=number],input[type=date],input[type=datetime-local]{width:100%;border:1px solid #e6e6ec;border-radius:10px;padding:7px 9px;font:inherit;background:#fbfbfd}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.10);outline:none;background:#fff}
select{width:100%;border:1px solid #e6e6ec;border-radius:10px;padding:7px 6px;font:inherit;background:#fbfbfd}
input[type=number]{text-align:right}
input.fundIn{background:#f0faf3;border-color:#bfe8d2}
input.fundIn:focus{border-color:#1a9e50;box-shadow:0 0 0 3px rgba(26,158,80,.14);background:#fff}
input[type=checkbox]{width:16px;height:16px}
button{font:inherit;border:1px solid #e6e6ec;background:#fff;border-radius:10px;padding:7px 14px;cursor:pointer;color:#333}
button:active{transform:scale(.98)}
button.primary{background:linear-gradient(90deg,var(--brand-2),var(--brand));color:#fff;border:none;padding:12px 26px;font-weight:700;border-radius:12px;box-shadow:0 4px 12px rgba(var(--brand-rgb),.28)}
button.del{color:#c33;border-color:#f2d5d5;padding:2px 9px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px}
label{display:block;font-size:12px;color:#6b6b6b;margin-bottom:3px}
.hint{font-size:12px;color:#8a8a93;margin-top:8px;line-height:1.7}
.card{background:#fff;border:none;border-radius:16px;padding:16px;margin:10px 0;box-shadow:0 2px 12px rgba(20,20,40,.05)}
.card.best{border-color:var(--hi);border-width:2px}
.total{font-size:26px;font-weight:700}
.save{color:#c0392b;font-weight:600}
.badge{display:inline-block;background:#eef4ff;color:#1a5fd0;border-radius:6px;padding:2px 8px;font-size:12px;margin:0 4px 4px 0}
.badge.g{background:#e8f8f0;color:#0a8f63}
.badge.o{background:#eef2ff;color:#a8630a}
.badge.n{background:#f2f2f2;color:#777}
.badge.pdd{background:#ffe9e9;color:#c0392b}
.badge.tb{background:#fff1e6;color:#c8651b}
.badge.jd{background:#e8f0ff;color:#2456b0}
.tip{font-size:12px;color:#a8630a;background:#fff8f0;border-radius:10px;padding:8px 10px;margin-top:8px}
.drow{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #f2f2f2}
.drow .ic{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ff4d67,#ff0036);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:none;box-shadow:0 2px 6px rgba(255,0,54,.25)}
.drow .ic.o{background:linear-gradient(135deg,var(--brand-3),var(--brand));box-shadow:0 2px 6px rgba(var(--brand-rgb),.25)}
.drow .ic.g{background:linear-gradient(135deg,#3dc483,#0a9e5b);box-shadow:0 2px 6px rgba(10,158,91,.25)}
.drow .ic.b{background:linear-gradient(135deg,#4d8dff,#1a5fd0);box-shadow:0 2px 6px rgba(26,95,208,.25)}
.drow .ic.n{background:linear-gradient(135deg,#d5d5da,#b0b0b8);box-shadow:none}
.drow .lb{font-weight:600;font-size:15px}
.drow .sb{color:#999;font-size:13px}
.drow .amt{margin-left:auto;color:var(--brand);font-weight:700;font-size:18px}
.drow .amt.na{color:#b7b7b7;font-weight:400}
.totrow{display:flex;align-items:baseline;gap:8px;padding:14px 2px 6px;font-weight:700;font-size:16px}
.totrow .amt{margin-left:auto;font-size:30px;color:#111;font-weight:800}
.cta{background:linear-gradient(90deg,var(--brand-2),var(--brand));color:#fff;border:none;border-radius:14px;padding:13px 16px;font-size:16px;font-weight:700;width:100%;margin-top:10px;text-align:center;box-shadow:0 4px 14px rgba(var(--brand-rgb),.28)}
.sumwrap{position:sticky;top:44px;z-index:30;background:rgba(244,245,246,.96);backdrop-filter:blur(4px);padding:6px 0 8px;margin-bottom:10px}
.sumcard{border:1px solid #ddd6fe;border-radius:16px;padding:12px 14px;background:linear-gradient(180deg,#fff 0%,#faf5ff 100%);box-shadow:0 6px 20px rgba(var(--brand-rgb),.10)}
.calcsteps{margin:10px 0 2px;border-top:1px dashed #ddd6fe;padding-top:8px}
.cst{display:flex;gap:8px;align-items:center;padding:5px 0;font-size:13px;border-bottom:1px dashed #f6e8de}
.cst:last-child{border-bottom:none}
.cst .n{width:20px;height:20px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}
.cst .l{font-weight:600;color:#333;flex:none}
.cst .s{color:#a0a0a6;font-size:11px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cst .d{color:#0a9e5b;font-weight:700;flex:none}
.cst .b{color:#111;font-weight:700;min-width:82px;text-align:right;flex:none}
.cst.head .l{color:#8a8a93}
.cst.head .b{color:#333}
.fchain{font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;background:#faf5ff;border:1px dashed #ddd6fe;border-radius:8px;padding:8px 10px;margin:8px 0 2px;color:#5b4636;word-break:break-all}
.fchain b{color:var(--brand)}
.cond{border:1px solid #e0efe7;background:#f6fbf8;border-radius:12px;padding:10px 12px;margin-bottom:8px}
.ghead{font-size:15px;font-weight:700;margin:16px 0 6px;display:flex;align-items:center;gap:8px}
/* ===== 券卡：照淘宝原图分三种 =====
   红卡 = 红包 / 国补·家电数码消费券 ；粉卡 = 平台加补券 / 主播折扣券 ；金卡 = 88VIP 消费券 */
.ticket{display:flex;position:relative;border-radius:10px;overflow:hidden;margin:8px 0;min-height:74px;
  background:linear-gradient(100deg,#ff3a2f 0%,#ff5f36 55%,#ff8347 100%);
  border:1px solid rgba(255,255,255,.35);color:#fff;box-shadow:0 2px 8px rgba(255,70,40,.13)}
.ticket .tleft{flex:none;width:92px;background:#fff;color:#ff2a20;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:10px 6px;border-radius:0 999px 999px 0/0 50% 50% 0}
.ticket .tleft b{font-size:22px;line-height:1.05;font-weight:800;letter-spacing:-.3px}
.ticket .tleft span{font-size:11px;color:#ff8f80;margin-top:5px;text-align:center;line-height:1.25}
.ticket .tleft em{display:block;font-style:normal;font-size:11px;color:#ff6b5e;margin-top:2px}
.ticket .tright{flex:1;padding:10px 22px;display:flex;flex-direction:column;gap:3px;min-width:0;justify-content:center}
.ticket .tname{font-weight:700;font-size:15px;line-height:1.3}
.ticket .tline{font-size:12px;opacity:.93;line-height:1.4}
.ticket .tbtn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:#fff;color:#ff2a20;
  border:none;border-radius:6px;min-width:58px;height:28px;padding:0 8px;white-space:nowrap;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.ticket .tbtn:active{transform:translateY(-50%) scale(.96)}
.ticket .tchev{position:absolute;right:14px;bottom:5px;color:rgba(255,255,255,.7);font-size:12px;line-height:1}
/* 粉卡：平台加补券 / 主播折扣券（虚线分隔 + 两个缺口 + 红色实心按钮 + 右下角箭头） */
.ticket.host{background:linear-gradient(100deg,#fdeeee 0%,#fbe6e7 100%);border-color:#f6d7d7;
  color:#1f1f24;box-shadow:none}
.ticket.host .tleft{position:relative;width:auto;min-width:104px;background:transparent;color:#ff2a20;
  border-radius:0;border-right:1px dashed #e9c0c0;padding:12px 18px}
.ticket.host .tleft::before,.ticket.host .tleft::after{content:"";position:absolute;right:-7px;width:14px;height:14px;
  border-radius:50%;background:#fff;border:1px solid #f6d7d7}
.ticket.host .tleft::before{top:-8px}
.ticket.host .tleft::after{bottom:-8px}
.ticket.host .tleft b{font-size:22px}
.ticket.host .tleft span{color:#ff6b5e}
.ticket.host .tright{padding:12px 30px 16px 16px}
.ticket.host .tname{color:#1f1f24;font-size:15px}
.ticket.host .tline{color:#ff3b30;opacity:1}
.ticket.host .tbtn{background:#ff3b30;color:#fff}
.ticket.host .tchev{color:#e0a3a3}
.ticket.host .ljq-tag{background:#fff;border-color:#ffbfa8;color:#c2410c}
/* 膨胀后的券：券面加「已膨胀」徽标 + 斜角标，左侧金额区换成膨胀后的数字 */
.inf-tag{display:inline-block;margin-left:7px;font-size:10px;font-weight:700;color:#fff;
  background:linear-gradient(90deg,var(--brand-2),#ff3b30);border-radius:5px;padding:1px 6px;vertical-align:1px}
.ticket.inf .tleft b{color:#ff3b30}
.ticket.inf .tleft em{font-style:normal;font-size:10px;color:#a9822f;opacity:1}
.ticket.inf{border-width:1.5px;box-shadow:0 0 0 2px rgba(255,122,0,.14)}
/* 金卡：88VIP 消费券 */
.ticket.gold{background:linear-gradient(100deg,#fff8ec 0%,#ffe9c8 100%);border-color:#edcf9a;
  color:#7b5b23;box-shadow:none}
.ticket.gold .tleft{color:#8c6c30}
.ticket.gold .tleft span{color:#c0a06c}
.ticket.gold .tline{color:#a9822f;opacity:1}
.ticket.gold .tbtn{color:#8c6c30}
.ticket.off{background:linear-gradient(100deg,#ff9d8f,#ffb3a4)}
.ticket.dead{background:#c9c9c9;box-shadow:none;border-color:#bbb}
.ticket.plain{background:#fff;color:#1d1d22;box-shadow:0 1px 3px rgba(0,0,0,.06);border-color:#eee}
.ticket.plain .tleft{color:#1d1d22}
.ticket.plain .tleft span{color:#8a8a93}
.ticket.plain .tbtn{color:#1d1d22}
.ticket.has-rib .tbtn{top:64%}
.tribbon{position:absolute;right:26px;top:10px;background:#fff;color:#ff3b30;font-size:10px;padding:2px 7px;
  border-radius:3px;transform:rotate(45deg);z-index:3;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.ticket.gold .tribbon{color:#a16207}
.ticket.host .tribbon{color:#ff3b30}
.ticket.off .tribbon{color:var(--brand)}
.ticket .ljq-tag{display:inline-block;margin-left:6px;background:#fff0e8;color:#c2410c;border:1px solid #ffcdb3;
  border-radius:5px;padding:0 6px;font-size:11px;font-weight:700;vertical-align:middle}
.tedit{background:#fff;border:1px solid #eee;border-radius:12px;padding:10px;margin:6px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trow{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:6px;margin:4px 0;grid-column:1/-1;align-items:end}
.sect{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;margin:18px 0 8px}
.sect::before{content:"";width:4px;height:18px;background:linear-gradient(180deg,var(--brand-2),var(--brand));border-radius:2px}
.ordhead{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#fdeeee,#fff7f5);padding:11px 14px}
.ordhead b{color:#c0392b;font-size:15px}
.ordhead .pay{color:#ff0036;font-weight:800;font-size:17px}
.subhead{font-size:12px;color:#8a8a93;margin:12px 0 4px}
.crow{display:flex;align-items:center;gap:8px;padding:10px 2px;border-bottom:1px solid #f4f4f6;font-size:13px}
.crow .cl{flex:1;color:#333}
.crow .cv2{color:#666;font-weight:600}
.baseband{background:#f7f7fa;border-radius:8px;padding:9px 12px;font-size:12px;color:#8a8a93;display:flex;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.dashbox{border:1.5px dashed #ddd6fe;border-radius:10px;padding:10px 14px;margin:8px 0;background:#fdfcff;font-size:13px;color:#a8630a;line-height:1.9}
.keyband{background:#f5f3ff;border-radius:10px;padding:10px 12px;font-size:12px;color:#a8630a;margin-top:8px;line-height:1.7}
.trow label{font-size:12px;color:#8a8a93;margin-bottom:2px}
.trow button.del{border:none;background:#fff0f0;color:#c33;border-radius:8px}
.ccardrow{border:1px solid #e6e6ec;border-radius:10px;padding:10px 12px;margin:8px 0;background:#fff}
.ccardrow .ctitle{font-size:12px;font-weight:700;color:#555;margin:0 0 6px;display:flex;align-items:center;gap:6px}
.ccardrow .ctitle .cur{margin-left:auto;font-weight:400;font-size:12px;color:#666;display:flex;align-items:center;gap:4px}
.tedit label{margin:0}
.tedit input{width:100%}
.pcard{background:#fff;border:1px solid #f0f0f3;border-radius:14px;padding:12px 12px 10px;margin:10px 0;box-shadow:0 1px 6px rgba(20,20,40,.04)}
.pcard.offcard{opacity:.55}
.phead{display:flex;align-items:center;gap:8px}
.phead input.name{border:none;background:none;font-weight:700;font-size:15px;flex:1;min-width:0;padding:2px 0;box-shadow:none}
.phead input.name:focus{box-shadow:none;border-bottom:1px solid var(--brand);border-radius:0}
.phead .ck{width:18px;height:18px;accent-color:var(--brand);flex:none}
.ro{background:#f7f7fa;border:1px solid #eee;border-radius:10px;padding:7px 9px;text-align:right;font-weight:700;color:#1d1d1d}
.pfoot{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:end;border-top:1px dashed #f0f0f3;margin-top:10px;padding-top:9px}
/* 定金红包：只给定金用，尾款口径不变，所以单独一行显示，不挤「实付−定金=尾款」那一行 */
.pred{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:end;margin-top:8px}
.pred .op{color:#8a8a93;font-weight:800;padding-bottom:9px;font-size:16px}
.pred label{font-size:12px;color:#8a8a93;margin-bottom:2px;display:block}
.pred .rednote{grid-column:1/-1;font-size:12px;color:#0a8f63;background:#f2fbf7;border-radius:6px;padding:5px 9px}
.pfoot .op{color:#8a8a93;font-weight:800;padding-bottom:9px;font-size:16px}
.pfoot label{font-size:12px;color:#8a8a93;margin-bottom:2px;display:block}
.tailbox{color:#ff0036;font-weight:800}
.phead select.tag{width:auto;font-size:12px;padding:3px 4px;border-radius:8px}
.phead button.del{border:none;background:#fff0f0;color:#c33;border-radius:8px;padding:4px 9px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 10px;margin:10px 0 8px}
.pgrid label{font-size:12px;color:#8a8a93;margin-bottom:2px}
.pchips{display:flex;flex-direction:column;gap:8px;border-top:1px dashed #f0f0f3;padding-top:8px}
.pchips .chip{margin:0}
.sharehint{font-size:12px;color:#0a8f63;background:#f2fbf7;border-radius:6px;padding:5px 9px;margin-top:6px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.thumb{position:relative;width:72px;height:72px;border:1px solid var(--bd);border-radius:8px;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb button{position:absolute;right:2px;top:2px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:6px;padding:0 6px;font-size:12px;line-height:18px;cursor:pointer}
.rpt{border:1px solid #dcdcdc;border-radius:12px;padding:14px}
.rpt-h{margin-bottom:8px}
.rpt-big{font-size:22px;font-weight:700;margin:6px 0}
.rpt-big b{color:var(--brand-2)}
.rpt-sub{display:block;font-size:12px;font-weight:400;color:#8a8a8a}
.rpt-row{display:flex;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid #f2f2f2}
.rpt-row .ic{width:24px;height:24px;border-radius:50%;background:#ff0036;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.rpt-row .ic.o{background:var(--brand-2)}
.rpt-row .lb{font-weight:600}
.rpt-row .sb{color:#999;font-size:12px}
.rpt-row .amt{margin-left:auto;font-weight:700}
@media (max-width:420px){ .pgrid{grid-template-columns:1fr 1fr} }
.chip{border:1px solid #ffd9cf;background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;color:#c0392b;margin:2px 6px 2px 0;cursor:pointer}
.padchips{display:flex;flex-wrap:wrap;gap:6px}
.padchips .chip{margin:0}
#padPoolRows td{vertical-align:middle}
#padPoolRows td:nth-child(3){padding-top:8px;padding-bottom:8px}
.chip.on{background:linear-gradient(90deg,var(--brand-tint),var(--brand-soft));border-color:var(--brand);color:var(--brand);font-weight:700}
.chrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* 商品卡上的「是否李佳琦直播间」开关：和输入框同高，占满一格 */
.ljqchip{height:38px;border-radius:10px;font-size:13px;margin:0;padding:5px 10px}
.chhead{margin:1px 0}
.chitems{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-left:2px}
.chrow-off .chitems .chip{background:#fafafa;border-color:#eee;color:#b9b6b1;opacity:.75}
/* ===== 智能凑单测算器（标签选券版）：券与②券包实时同步 ===== */
.pdc-banner{background:#fff7ed;border:1px solid #ffe3c2;border-radius:12px;padding:12px 14px;margin:0 0 12px;font-size:13px;color:#9a5b13;line-height:1.65}
.pdc-banner b{color:#e25c00;font-weight:800}
.pdc-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.05);margin:0 0 14px;border:1px solid #f0f0f3}
.pdc-title{font-size:18px;font-weight:800;color:#1d1d1f;margin-bottom:4px}
.pdc-sub{font-size:12px;color:#999;margin-bottom:14px}
.pdc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.pdc-box{display:flex;flex-direction:column;gap:6px}
.pdc-box label{font-size:12px;color:#666}
.pdc-box input{padding:10px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .2s}
.pdc-box input:focus{border-color:var(--brand)}
.pdc-sec{background:#fff;border:1px dashed #e0e0e0;border-radius:10px;padding:14px;margin-bottom:14px}
.pdc-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.pdc-row:last-child{margin-bottom:0}
.pdc-cat{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:all .15s}
.pdc-cat.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.pdc-cat.inactive{background:#fff;color:#999;border-color:#ddd}
.pdc-chips{display:flex;flex-wrap:wrap;gap:8px}
.pdc-chip{padding:6px 12px;border-radius:16px;font-size:12px;cursor:pointer;border:1px solid #ddd;background:#fff;color:#888;display:inline-flex;align-items:center;gap:4px;user-select:none;transition:all .15s}
.pdc-chip:hover{border-color:var(--brand);color:var(--brand)}
.pdc-chip.active{border-color:var(--brand);background:var(--brand-tint);color:var(--brand);font-weight:700}
.pdc-chip.active::after{content:"✓";font-size:10px}
.pdc-chips.off .pdc-chip{background:#f0f2f5;color:#bbb;border-color:#eee;cursor:not-allowed}
.pdc-chips.off .pdc-chip:hover{border-color:#eee;color:#bbb}
.pdc-chips.off .pdc-chip.active::after{content:""}
.pdc-btn{width:100%;background:var(--brand);color:#fff;border:none;padding:15px;border-radius:10px;font-size:15px;font-weight:800;cursor:pointer;letter-spacing:.5px}
.pdc-btn:hover{background:#e04600}
.pdc-res{display:none;border:1px solid #b3ffd9;background:#e8fff3;border-radius:12px;padding:15px;margin-top:14px}
.pdc-res-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.pdc-res-t{font-size:15px;font-weight:700;color:#00b365}
.pdc-res-d{font-size:12px;color:#00b365}
.pdc-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:12px;background:#fff;border-radius:8px;overflow:hidden}
.pdc-table th,.pdc-table td{padding:8px 10px;text-align:right;border-bottom:1px solid #f0f0f0}
.pdc-table th{background:#f9fafb;color:#888;font-weight:400}
.pdc-table th:first-child,.pdc-table td:first-child{text-align:left;color:#666}
.pdc-table .hl{color:#e1251b;font-weight:700}
.pdc-final-row td{background:#fafafa;font-weight:700}
.pdc-final-row td:first-child{color:#00b365}
#pdcFinalMain{color:#00b365;font-size:14px}
#pdcFinalFil{color:#e1251b;font-size:14px}
.pdc-sum{font-size:13px;color:#333;line-height:1.7;background:#fff;padding:12px;border-radius:8px;border:1px solid #b3ffd9}
.pdc-sum .pdc-green{color:#00b365;font-weight:700;font-size:15px}
.pdc-sum .pdc-red{color:#e1251b;font-weight:700;font-size:15px}
.pdc-sum .pdc-fn{font-size:12px;color:#666;display:block;margin-top:4px}
.pdc-add{width:100%;background:#00b365;color:#fff;border:none;padding:14px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;margin-top:12px}
.pdc-add:hover{background:#009955}
.pdc-foot{font-size:11px;color:#999;text-align:center;margin-top:8px}
.chipmaster{font-weight:700}
.chipmaster.on{background:var(--brand);border-color:var(--brand);color:#fff}
.chipmaster:not(.on){background:#f7f7f8;border:1px dashed #d9d9de;color:#8a8a93}
.chrow-off .chitems .chip{background:#fafafa;border-color:#eee;color:#b9b6b1;opacity:.75}
.subtot{color:#ff0036;font-weight:800}
.cond .cv{color:var(--brand);font-weight:700;text-align:right;font-size:16px}
#mobBar{display:none}
@media (max-width:720px){
  body{padding:12px;padding-bottom:76px}
  .tabs{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}
  .tabs button{padding:8px 14px;flex:none}
  input,select,textarea{font-size:16px}
  button{padding:9px 14px}
  table{display:block;overflow-x:auto}
  .drow{padding:10px 2px}
  .drow .sb{display:none}
  .totrow .amt{font-size:26px}
  #mobBar{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;box-shadow:0 -4px 16px rgba(20,20,40,.08);padding:10px 14px;gap:10px;align-items:center;z-index:60}
  #mobBar b{font-size:18px}
  #mobBar button{margin-left:auto;background:linear-gradient(90deg,var(--brand-2),var(--brand));color:#fff;border:none;border-radius:12px;padding:11px 18px;font-weight:700;font-size:15px;box-shadow:0 4px 12px rgba(var(--brand-rgb),.28)}
}
pre{white-space:pre-wrap;font:12px/1.7 ui-monospace,Consolas,monospace}
/* 截图识别 */
.modes{display:flex;gap:8px;margin-bottom:12px}
.modes button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.pills{display:flex;gap:8px;margin:8px 0}
.pills button.on{background:linear-gradient(90deg,var(--brand-2),var(--brand));color:#fff;border:none;box-shadow:0 3px 10px rgba(var(--brand-rgb),.25)}
/* ===== 货比三家 · 全网比价总览 ===== */
.cmpband{display:flex;align-items:center;gap:10px;padding:9px 2px 4px}
.cmpband .pl{width:120px;flex:none;font-size:13px;font-weight:600}
.cmpband input{max-width:130px;font-weight:700;margin-left:auto}
.cmpband input.lowest{border-color:#0a8f63;color:#0a8f63;background:#f4fbf7}
.cmpbar{height:8px;background:#f2f2f5;border-radius:4px;overflow:hidden;margin:2px 2px 10px}
.cmpbar i{display:block;height:100%;width:0;border-radius:4px;transition:width .3s}
.cmpbar .b-tb{background:linear-gradient(90deg,#ff9a3d,#ff5000)}
.cmpbar .b-jd{background:#2456b0}
.cmpbar .b-pdd{background:#c0392b}
.cmpbar .b-low{box-shadow:0 0 0 2px rgba(10,143,99,.25)}
.cmpsave{display:flex;align-items:center;gap:8px;background:#f6fbf8;border:1px solid #e0efe7;border-radius:10px;padding:8px 12px;font-size:13px;color:#0a8f63;margin-top:4px}
.cmpsave b{font-size:15px}
td.lowest{color:#0a8f63;font-weight:800}
.drop{border:2px dashed #c9c9c9;border-radius:10px;padding:22px;text-align:center;color:#8a8a8a;cursor:pointer}
.drop.drag{border-color:#0a8f63;color:#0a8f63;background:#f2fbf7}
.drop img{max-width:100%;max-height:260px;border-radius:8px}
.prog{height:6px;background:#eee;border-radius:3px;margin:8px 0;overflow:hidden}
.prog i{display:block;height:100%;width:0;background:#0a8f63;transition:width .2s}
/* 券包 */
.ccard{border:1px solid #eee;border-radius:10px;padding:12px;background:#fff}
.chead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600}
.stat{font-size:12px;font-weight:500;border-radius:5px;padding:1px 8px}
.stat.ok{background:#e8f8f0;color:#0a8f63}
.stat.warn{background:#eef2ff;color:#a8630a}
.stat.exp{background:#fdeaea;color:#c0392b}
.stat.na{background:#f2f2f2;color:#999}
details.acc{border:1px solid var(--bd);border-radius:8px;padding:8px 12px;margin-bottom:8px}
details.acc summary{cursor:pointer;font-weight:600;font-size:13px}
details.acc p{margin:6px 0 2px;font-size:13px;color:#444}

/* ===== 新增：隐私盾牌 / 优惠瀑布图 / 凑单对比 / 分享长图 / 方案口令 / 移动端表格卡片化 ===== */
.shield{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 12px;border-radius:999px;background:linear-gradient(90deg,#e9f9f0,#e6f4ff);border:1px solid #b9e6cf;color:#0a8f63;font-size:12.5px;font-weight:700}
.shield svg{width:15px;height:15px;flex:none}
/* 优惠瀑布图 */
.wf{margin:12px 0 4px}
.wf .wfbar{display:flex;height:30px;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(20,20,40,.06);background:#f2f2f5}
.wf .wfseg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;overflow:hidden;white-space:nowrap;box-sizing:border-box}
.wf .wfleg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;color:#555}
.wf .wfleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}
.wf .wfleg b{color:#111}
/* 凑单值不值对比 */
.padcmp{display:flex;align-items:stretch;gap:8px;margin:8px 0 4px;flex-wrap:wrap}
.padcmp .pc{background:#fff;border:1px solid #f0f0f3;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;justify-content:center;min-width:92px}
.padcmp .pc .t{font-size:11px;color:#8a8a93}
.padcmp .pc b{font-size:16px;line-height:1.2}
.padcmp .pc.good{border-color:#b9e6cf;background:#f3fbf7}
.padcmp .pc.good b{color:#0a9e5b}
.padcmp .pc.save{background:#f5f3ff;border-color:#c7d2fe}
.padcmp .pc.save b{color:#ff0036}
.padcmp .arrow{display:flex;align-items:center;color:#bbb;font-size:20px;background:none;border:none;padding:0 2px}
.padbadge{display:inline-block;margin:4px 0;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}
.padbadge.go{background:#e9f9f0;color:#0a8f63;border:1px solid #b9e6cf}
.padbadge.no{background:#eef2ff;color:#a8630a;border:1px solid #ffe0b0}
/* 分享长图弹层 */
#shareModal{position:fixed;inset:0;background:rgba(20,20,40,.55);display:none;align-items:center;justify-content:center;z-index:200;padding:16px}
#shareModal.show{display:flex}
#shareModal .box{background:#fff;border-radius:16px;max-width:380px;width:100%;max-height:92vh;overflow:auto;padding:14px}
#shareModal img{width:100%;border-radius:10px;display:block}
#shareModal .bar{display:flex;gap:8px;margin-top:10px}
#shareModal .bar a,#shareModal .bar button{flex:1;text-align:center;padding:10px;border-radius:10px;font-weight:700;text-decoration:none;border:none;cursor:pointer}
#shareModal .bar .dl{background:linear-gradient(90deg,var(--brand-2),var(--brand));color:#fff}
#shareModal .bar .cl{background:#f2f2f5;color:#333}
/* ============ 账号 / 云端记录 ============ */
.acctbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 2px;font-size:13px}
.acctbar .who{color:#0a8f63;font-weight:600}
.acctbar .mail{color:#8a8a93}
.abtn{border:1px solid #e2e2e8;background:#fff;border-radius:9px;padding:5px 12px;font-size:12.5px;font-weight:600;color:#3a3a44;cursor:pointer}
.abtn:hover{border-color:#c9c9d2}
.abtn.pri{background:linear-gradient(90deg,var(--brand-2),var(--brand));border:none;color:#fff}
.abtn.sm{padding:4px 9px;font-size:12px}
.mask{position:fixed;inset:0;background:rgba(20,20,35,.45);display:flex;align-items:center;justify-content:center;z-index:99;padding:16px}
.mask[hidden]{display:none}
.dlg{background:#fff;border-radius:16px;width:100%;max-width:380px;padding:20px 20px 16px;box-shadow:0 18px 50px rgba(20,20,40,.22)}
.dlg h3{margin:0 0 4px;font-size:17px}
.dlg .tip{font-size:12.5px;color:#8a8a93;margin:0 0 14px;line-height:1.6}
.dlg label{display:block;font-size:12px;color:#8a8a93;margin:10px 0 3px}
.dlg input[type=email],.dlg input[type=password],.dlg input[type=text],.dlg input[type=tel]{width:100%;border:1px solid #e2e2e8;border-radius:9px;padding:9px 11px;font-size:14px;box-sizing:border-box}
.dlg input:focus{outline:none;border-color:var(--brand-2)}
.dlg .err{color:#e5484d;font-size:12.5px;min-height:18px;margin:8px 0 0;line-height:1.5}
.dlg .acts{display:flex;gap:8px;margin-top:12px}
.dlg .acts .abtn{flex:1;padding:9px}
.dlg .swap{margin:12px 0 0;font-size:12.5px;color:#8a8a93;text-align:center}
.dlg .swap a{color:var(--brand);cursor:pointer;font-weight:600}
.dlgtabs{display:flex;gap:6px;margin-bottom:14px;background:#f4f4f6;border-radius:10px;padding:3px}
.dlgtabs button{flex:1;border:none;background:none;border-radius:8px;padding:7px 0;font-size:13.5px;font-weight:700;color:#8a8a93;cursor:pointer}
.dlgtabs button.on{background:#fff;color:#222;box-shadow:0 1px 4px rgba(20,20,40,.08)}
.dlg label .pwdshow{float:right;font-weight:400;display:flex;align-items:center;gap:4px;cursor:pointer}
.dlg label .pwdshow input{width:13px;height:13px;margin:0;cursor:pointer}
.dlg .hint2{font-size:12.5px;color:#8a8a93;margin:8px 0 0;line-height:1.6}
.dlg .hint2 b{color:#3a3a44}
.reclist{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.rec{display:flex;align-items:center;gap:10px;border:1px solid #f0f0f3;border-radius:12px;padding:9px 11px;background:#fff}
.rec .ri{flex:1;min-width:0}
.rec .rt{font-size:13.5px;font-weight:700;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec .rm{font-size:11.5px;color:#a0a0a8;margin-top:2px}
.rec .rb{display:flex;gap:6px;flex:none}
.recnote{font-size:12.5px;color:#8a8a93;margin:0 0 8px;line-height:1.6}
.recsave{display:flex;gap:8px;margin:10px 0 4px}
.recsave input{flex:1;border:1px solid #e2e2e8;border-radius:9px;padding:8px 11px;font-size:13.5px}
.recsave input:focus{outline:none;border-color:var(--brand-2)}

/* 移动端表格卡片化 */
@media (max-width:720px){
  .rtable{display:block;overflow:visible}
  .rtable thead{display:none}
  .rtable tbody,.rtable tfoot{display:block}
  .rtable tr{display:flex;flex-direction:column;gap:2px;border:1px solid var(--bd);border-radius:12px;padding:8px 10px;margin:8px 0;background:#fff;box-shadow:0 1px 4px rgba(20,20,40,.04)}
  .rtable td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:none;padding:4px 0;text-align:right;font-size:13px}
  .rtable td.c{text-align:right}
  .rtable td::before{content:attr(data-label);font-weight:600;color:#8a8a93;text-align:left;flex:none;font-size:12px}
  .rtable td:empty{display:none}
  .rtable tfoot tr{background:#f5f3ff;border-color:#c7d2fe}
}
/* 三种登录方式 */
.wxbtn{width:100%;border:none;border-radius:10px;background:#07c160;color:#fff;font-size:15px;font-weight:700;padding:11px;margin:12px 0 6px;cursor:pointer}
.wxbtn:hover{background:#06ad56}
.coderow{display:flex;gap:8px;align-items:stretch}
.coderow input{flex:1;min-width:0}
.coderow .abtn{flex:none;padding:0 12px;white-space:nowrap}
.dlgtabs.auth3 button{font-size:13px;padding:7px 0}

/* ---------- 顶部 HUD ---------- */
:root{--hud-h:56px}
.hud{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #ececf3}
.hud-in{max-width:820px;margin:0 auto;height:var(--hud-h);display:flex;align-items:center;gap:9px;padding:0 12px;box-sizing:border-box}
.hud-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:16px;white-space:nowrap;color:#1b1b22}
.hud-logo{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--brand-3));color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;box-shadow:0 3px 8px rgba(79,70,229,.22)}
.hud-ver{display:inline-flex;align-items:center;gap:4px;border:1px solid #e4e4ee;background:#f7f7fb;color:#6b6b78;border-radius:7px;padding:3px 7px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}
.hud-ver:hover{border-color:var(--brand-soft);color:var(--brand);background:var(--brand-tint)}
.hud-new{font-style:normal;font-size:9px;line-height:1;background:#ef4444;color:#fff;border-radius:4px;padding:2px 4px;font-weight:800;letter-spacing:.3px}
.hud-actions{margin-left:auto;display:flex;align-items:center;gap:7px;min-width:0}
.hud-btn{border:1px solid #e4e4ec;background:#fff;border-radius:9px;padding:6px 11px;font-size:12.5px;font-weight:600;color:#3a3a46;cursor:pointer;white-space:nowrap;font-family:inherit}
.hud-btn:hover{border-color:#c9c9d2}
.hud-btn.pri{background:linear-gradient(90deg,var(--brand-2),var(--brand));border-color:transparent;color:#fff}
.hud-btn.ghost{background:transparent;border-color:transparent;color:#8a8a93;padding-left:6px;padding-right:6px}
.hud-user{font-size:12px;font-weight:700;color:#0a8f63;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hud .sm{display:none}

body{padding-top:calc(12px + var(--hud-h))}

/* 页签吸顶要让出 HUD */
.tabs{top:var(--hud-h)}

/* ---------- 更新日志弹窗 ---------- */
.log-dlg{position:relative;max-width:640px;max-height:86vh;overflow:auto;padding:22px 22px 16px}
.log-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:24px;line-height:1;color:#a0a0aa;cursor:pointer;padding:4px 6px;border-radius:8px}
.log-x:hover{color:#333;background:#f3f3f6}
.log-dlg .lg-head{padding-right:28px}
.log-dlg .acts{margin-top:14px}

@media (max-width:520px){
  :root{--hud-h:54px}
  .hud-in{padding:0 10px;gap:7px}
  .hud-brand{font-size:14px;gap:6px}
  .hud-logo{width:24px;height:24px;border-radius:7px;font-size:12px}
  .hud-ver{font-size:10.5px;padding:3px 6px}
  .hud-btn{padding:5px 8px;font-size:12px}
  .hud-user{max-width:58px;font-size:11px}
  .hud .lg{display:none}
  .hud .sm{display:inline}
  .log-dlg{padding:18px 14px 14px;max-height:88vh}
}
@media (max-width:340px){
  .hud-logo{display:none}
  .hud-brand{font-size:13px}
  .hud-btn{padding:5px 7px}
}

/* ---------- 淘宝入口：沿用功能卡样式，只加可点击反馈 ---------- */
.feat.quick{border:0;font-family:inherit;text-align:left;cursor:pointer;color:inherit;width:100%;transition:box-shadow .15s,transform .15s}
.feat.quick:hover{box-shadow:0 4px 14px rgba(20,20,40,.09);transform:translateY(-1px)}
.feat.quick:active{transform:none}
.feat.quick .ft{flex:1;min-width:0}
.feat.quick .fgo{margin-left:auto;color:#c5c5ce;font-size:17px;line-height:1;flex:none;align-self:center;padding-left:2px}
.tb-copy-dlg{max-width:420px}
.taokouling{background:#fff7ed;border:1px dashed #fdba74;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.7;word-break:break-all;user-select:all;color:#7c2d12;margin:6px 0 12px}
@media (max-width:520px){
  .feat.quick .fgo{display:none}
}

.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fic.jd{background:linear-gradient(135deg,#ff5a4f,#e1251b)}
@media (max-width:640px){
  .promo-grid{grid-template-columns:1fr}
  .promo-grid .feat.quick{padding:9px 10px}
}
.promo-page{grid-template-columns:1fr;max-width:560px}
.promo-page .feat.quick{padding:12px 14px}
.promo-page .feat.quick b{font-size:14px}
@media (max-width:520px){
  .tabs{gap:4px;padding:8px 10px}
  .tabs button{padding:9px 8px;font-size:14px}
}
.linkbtn{border:0;background:none;padding:0;color:var(--brand);font:inherit;font-weight:700;cursor:pointer}
.linkbtn:hover{text-decoration:underline}

/* 四张功能卡收成一个面板：2×2，用分隔线代替四张浮卡 */
.feat-panel{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;background:#fff;border:1px solid #ececf2;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(20,20,40,.05)}
.feat-panel .feat{background:transparent;border-radius:0;box-shadow:none;padding:13px 14px;border-right:1px solid #f0f0f4;border-bottom:1px solid #f0f0f4}
.feat-panel .feat:nth-child(2n){border-right:0}
.feat-panel .feat:nth-last-child(-n+2){border-bottom:0}
.feat-panel.compact .feat{padding:10px 12px;gap:8px;align-items:center}
.feat-panel.compact .fic{width:28px;height:28px;border-radius:8px;font-size:13px}
.feat-panel.compact b{font-size:12.5px}
.feat-panel.compact i{font-size:10.5px;line-height:1.45;margin-top:1px}
.feat-more{margin:8px 2px 0}
.feat-more summary{font-size:11.5px;color:#8a8a93;cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:4px}
.feat-more summary::-webkit-details-marker{display:none}
.feat-more summary::before{content:"＋";font-size:11px;color:#b0b0b8}
.feat-more[open] summary::before{content:"－"}
.feat-more-body{margin-top:8px;padding:10px 12px;background:#fafafc;border:1px solid #f0f0f4;border-radius:10px;font-size:11.5px;color:#6f6f79;line-height:1.6}
.feat-more-body p{margin:0 0 6px}
.feat-more-body p:last-child{margin-bottom:0}
.feat-more-body b{color:#333;font-size:11.5px}
@media (max-width:640px){
  .feat-panel.compact{grid-template-columns:1fr 1fr}
}
@media (max-width:360px){
  .feat-panel.compact{grid-template-columns:1fr}
  .feat-panel.compact .feat{border-right:0;border-bottom:1px solid #f0f0f4}
  .feat-panel.compact .feat:last-child{border-bottom:0}
}

.feat-more .fm-open{display:none}
.feat-more[open] .fm-closed{display:none}
.feat-more[open] .fm-open{display:inline}
/* 功能点改成一条扁平清单，不再占四张卡的位置 */
.feat-strip{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;margin:11px 0 0;font-size:12px;color:#5f5f69;font-weight:600}
.feat-strip .fs{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.feat-strip .fs::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--brand);opacity:.65;flex:none}
.feat-strip .fs.o::before{background:var(--brand)}
.feat-strip .fs.r::before{background:#ff4d67}
.feat-strip .fs.g::before{background:#0a9e5b}
.feat-strip .fs.b::before{background:#1a5fd0}

/* 安全标识：右上角图标，点击展开完整说明 */
.sec-btn{float:right;width:30px;height:30px;margin:0 0 6px 10px;border-radius:50%;border:1px solid #b9e6cf;background:linear-gradient(135deg,#e9f9f0,#e6f4ff);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;z-index:3}
.sec-btn svg{width:16px;height:16px;flex:none}
.sec-btn:hover{box-shadow:0 2px 8px rgba(10,143,99,.16)}
.sec-btn[aria-expanded="true"]{background:#fff;border-color:#0a8f63}
.sec-pop{position:absolute;top:44px;right:12px;width:270px;max-width:calc(100vw - 48px);background:#fff;border:1px solid #e6e6ec;border-radius:12px;box-shadow:0 10px 30px rgba(20,20,40,.16);padding:12px 14px;z-index:30}
.sec-pop[hidden]{display:none}
.sec-pop b{display:block;font-size:12.5px;color:#1f2937;margin-bottom:4px}
.sec-pop p{margin:0;font-size:11.5px;color:#6f6f79;line-height:1.65}
.rules{margin-top:11px;padding-top:10px;border-top:1px solid #ececf2}
.rules summary{font-size:11.5px;color:#8a8a93;cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:4px}
.rules summary::-webkit-details-marker{display:none}
.rules summary::before{content:"＋";font-size:11px;color:#b0b0b8}
.rules[open] summary::before{content:"－"}
.rules-body{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:12px 14px;background:#fafafc;border:1px solid #f0f0f4;border-radius:10px}
.rules-body h4{margin:0 0 2px;font-size:12px;color:#333}
.rules-body p{margin:0;font-size:11.5px;color:#6f6f79;line-height:1.65}
@media (max-width:640px){
  .rules-body{grid-template-columns:1fr}
}
.rules-body section{background:none;border:0;border-radius:0;padding:0;margin:0;box-shadow:none}
