/* ============================================================
   styles.css — giao diện tối theo màu thật của Bitunix
   ------------------------------------------------------------
   Màu lấy bằng cách đo trực tiếp trên trang bitunix.com/contract-trade:
     nhấn (lime)  #B9F641   — màu nhận diện của Bitunix
     tăng (xanh)  #24C18D
     giảm (đỏ)    #F14B3F
     nền          #000000 · thẻ #131414 · khối #222324 · viền #2F3233
     chữ phụ      #919499 · chữ mờ #6D6F73
   Ưu tiên iPhone 390×844. Vùng chạm nút tối thiểu 44px theo Apple.
   ============================================================ */

:root{
  --accent:#B9F641;
  --accent-ink:#131F00;
  --up:#24C18D;
  --dn:#F14B3F;
  --bg:#0F0F0F;
  --card:#0F0F0F;
  --card2:#17171A;
  --block:#2B2B2D;
  --line:#232325;
  --tx:#FFFFFF;
  --tx2:#919499;
  --tx3:#6E7073;
  --r:10px;
  --sat:env(safe-area-inset-top);
  --sab:env(safe-area-inset-bottom);
  --sal:env(safe-area-inset-left);
  --sar:env(safe-area-inset-right);
  --tabh:58px;
  --font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Inter,Roboto,'Segoe UI',sans-serif;
  --mono:'SF Mono',ui-monospace,Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}

html,body{
  margin:0;padding:0;
  height:100dvh;
  background:var(--bg);
  color:var(--tx);
  font-family:var(--font);
  font-size:14px;
  line-height:1.35;
  /* Chặn iOS kéo nảy nền và chặn nháy xanh khi chạm */
  overscroll-behavior:none;
  touch-action:manipulation;
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
  overflow:hidden;
}

button,input,select{font-family:inherit;font-size:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer;color:inherit}
input{background:none;border:0;outline:none}
input[type=search]::-webkit-search-cancel-button{display:none}
.hidden{display:none !important}
.mono{font-family:var(--mono)}
.r{text-align:right}
.up{color:var(--up)}
.dn{color:var(--dn)}
.acc{color:var(--accent)}

/* ══════════ KHUNG ══════════ */
#app{
  display:flex;flex-direction:column;
  height:100dvh;
  padding-left:var(--sal);padding-right:var(--sar);
}

/* ---------- Thanh trên ---------- */
#topbar{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;
  padding:calc(var(--sat) + 8px) 12px 8px;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.tbLeft{display:flex;align-items:center;gap:7px;min-width:0}
.logo{display:inline-flex;gap:2px;transform:skewX(-12deg)}
.logo i{display:block;width:5px;height:15px;border-radius:1.5px;background:var(--accent)}
.logo i:last-child{height:10px;align-self:flex-end;opacity:.75}
.logoTxt{font-weight:700;font-size:16px;letter-spacing:-.2px}
.demoTag{
  font-size:9.5px;font-weight:700;letter-spacing:.5px;
  padding:2.5px 5px;border-radius:4px;
  background:var(--accent);color:var(--accent-ink);
}
.tbRight{display:flex;align-items:center;gap:4px}

.iconBtn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;   /* vùng chạm đủ lớn */
  color:var(--tx2);border-radius:8px;
}
.iconBtn:active{background:var(--block)}

.netChip{
  display:inline-flex;align-items:center;gap:5px;
  height:26px;padding:0 9px;border-radius:13px;
  background:var(--card2);border:1px solid var(--line);
  font-size:11px;color:var(--tx2);
  position:relative;
}
/* Nới vùng chạm của chip nhỏ bằng lớp giả, không làm phình giao diện */
.netChip::after{content:'';position:absolute;inset:-9px -6px}
.netChip .dot{width:6px;height:6px;border-radius:50%;background:var(--tx3)}
.netChip.live .dot{background:var(--up)}
.netChip.rest .dot{background:var(--accent)}
.netChip.down .dot{background:var(--dn)}
.netChip.down{color:var(--dn);border-color:var(--dn)}

/* ---------- Vùng cuộn ---------- */
#main{
  flex:1 1 auto;min-height:0;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:calc(var(--tabh) + var(--sab) + 12px);
}
.screen{display:none;padding:0 0 4px}
.screen.on{display:block}

.scrHead{padding:14px 16px 8px}
.scrHead.sm{padding:16px 16px 6px}
.scrHead h1{margin:0;font-size:21px;font-weight:700;letter-spacing:-.3px}
.scrHead h2{margin:0;font-size:15px;font-weight:600}
.scrHead .sub{margin:3px 0 0;font-size:12px;color:var(--tx2)}
.scrHead .sub.warn{color:var(--accent)}

/* ══════════ THANH DƯỚI ══════════ */
#tabbar{
  flex:0 0 auto;
  display:grid;grid-template-columns:repeat(5,1fr);
  background:var(--bg);
  border-top:1px solid var(--line);
  padding-bottom:var(--sab);
}
.tb{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:var(--tabh);
  color:var(--tx3);font-size:10px;font-weight:500;
}
.tb svg{width:21px;height:21px}
.tb.on{color:var(--accent)}
.tb:active{opacity:.6}

/* ══════════ 1. THỊ TRƯỜNG ══════════ */
.searchBar{
  display:flex;align-items:center;gap:8px;
  margin:4px 16px 10px;padding:0 12px;
  height:40px;border-radius:var(--r);
  background:var(--card);border:1px solid var(--line);
  color:var(--tx3);
}
.searchBar input{flex:1;min-width:0;height:100%;color:var(--tx);font-size:14px}
.searchBar input::placeholder{color:var(--tx3)}

.mkHead{
  display:grid;grid-template-columns:1.25fr 1fr .8fr;
  gap:8px;padding:6px 16px;
  font-size:11px;color:var(--tx3);
  border-bottom:1px solid var(--line);
}
.mkList{padding:0 0 8px}
.mkRow{
  display:grid;grid-template-columns:1.25fr 1fr .8fr;
  gap:8px;align-items:center;
  padding:0 16px;min-height:56px;   /* > 44px */
  border-bottom:1px solid #191A1B;
}
.mkRow:active{background:var(--card)}
.mkSym{display:flex;flex-direction:column;gap:2px;min-width:0}
.mkSym b{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkSym small{font-size:10.5px;color:var(--tx3)}
.mkLast{text-align:right;font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}
.mkChg{
  justify-self:end;
  min-width:72px;height:30px;
  display:flex;align-items:center;justify-content:center;
  border-radius:6px;font-size:12.5px;font-weight:600;
  font-variant-numeric:tabular-nums;
  background:var(--up);color:#00150D;
}
.mkChg.dn{background:var(--dn);color:#2A0603}
.mkEmpty{padding:34px 16px;text-align:center;color:var(--tx3);font-size:13px}

/* ══════════ 2. GIAO DỊCH ══════════ */
.pairBar{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:8px 16px 4px;
}
.pairBtn{
  display:flex;align-items:center;gap:6px;
  min-height:44px;padding:0 2px;
  font-size:17px;font-weight:700;letter-spacing:-.2px;
}
.perpTag{
  font-size:9.5px;font-weight:600;color:var(--tx2);
  padding:2px 5px;border-radius:4px;background:var(--block);
  letter-spacing:.2px;
}
.pairPx{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.pairPx b{font-family:var(--mono);font-size:17px;font-variant-numeric:tabular-nums;color:var(--up)}
.pairPx b.dn{color:var(--dn)}
.chg{font-size:12px;font-weight:600;color:var(--up);font-variant-numeric:tabular-nums}
.chg.dn{color:var(--dn)}

.statRow{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  padding:6px 16px 8px;
}
.stat{display:flex;flex-direction:column;gap:2px;min-width:0}
.stat span{font-size:9.5px;color:var(--tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat b{font-size:11.5px;font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums;
        white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.tfRow{
  display:flex;gap:4px;padding:0 16px 8px;
  overflow-x:auto;scrollbar-width:none;
}
.tfRow::-webkit-scrollbar{display:none}
.tfBtn{
  flex:0 0 auto;min-width:44px;height:30px;padding:0 10px;
  border-radius:6px;font-size:12px;font-weight:600;color:var(--tx2);
  background:var(--card);
}
.tfBtn.on{background:var(--block);color:var(--accent)}

.chartBox{
  position:relative;
  margin:0 8px 10px;height:230px;
  border-radius:var(--r);background:var(--card);
  overflow:hidden;
  /* Biểu đồ tự bắt cử chỉ kéo/phóng, không để trang cuộn theo */
  touch-action:none;
}
#chart{display:block;width:100%;height:100%}
.chartMsg{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;color:var(--tx3);pointer-events:none;
}

/* ---------- Phiếu lệnh + Sổ lệnh ---------- */
.tradeGrid{
  display:grid;grid-template-columns:1fr 132px;gap:10px;
  padding:0 12px;
}
.formCol{min-width:0;display:flex;flex-direction:column;gap:7px}

.segRow{display:flex;gap:4px;background:var(--card);border-radius:8px;padding:3px}
.segRow.sub{background:transparent;padding:0;gap:14px}
.segRow.inline{background:var(--card);padding:3px;width:auto}
.seg{
  flex:1;min-height:32px;border-radius:6px;
  font-size:12.5px;font-weight:600;color:var(--tx2);
}
.seg.on{background:var(--block);color:var(--tx)}
.segRow.sub .seg{flex:0 0 auto;min-height:34px;border-radius:0;background:none;padding:0}
.segRow.sub .seg.on{color:var(--tx);box-shadow:inset 0 -2px 0 var(--accent);background:none}
#segOpenClose .seg.on{background:var(--up);color:#00150D}

.miniRow{display:flex;gap:6px}
.mini{
  flex:1;min-height:34px;border-radius:7px;
  background:var(--card);border:1px solid var(--line);
  font-size:12px;font-weight:600;color:var(--tx2);
}
.mini.accent{color:var(--accent)}
.mini:active{background:var(--block)}

.availRow,.costRow{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:11.5px;color:var(--tx2);
}
.availRow b,.costRow b{font-family:var(--mono);font-size:11.5px;color:var(--tx);font-variant-numeric:tabular-nums}
.costRow.dim b{color:var(--tx2)}
.costRow:first-of-type b{color:var(--accent)}

.fLbl{font-size:11px;color:var(--tx3);margin-top:1px}
.field{
  display:flex;align-items:center;gap:6px;
  height:40px;padding:0 10px;
  border-radius:8px;background:var(--card);border:1px solid var(--line);
}
.field.sm{height:36px}
.field input{flex:1;min-width:0;font-family:var(--mono);font-size:13.5px;color:var(--tx)}
.field input::placeholder{color:var(--tx3);font-family:var(--font)}
.field .unit{font-size:11px;color:var(--tx3)}

.rng{
  -webkit-appearance:none;appearance:none;
  width:100%;height:24px;background:transparent;margin:2px 0 0;
}
.rng::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--line)}
.rng::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:16px;height:16px;border-radius:50%;background:var(--accent);
  margin-top:-6.5px;border:0;
}
.rng::-moz-range-track{height:3px;border-radius:2px;background:var(--line)}
.rng::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:0}

.pctRow{display:flex;justify-content:space-between;gap:3px}
.pctRow button{
  flex:1;min-height:28px;border-radius:5px;
  font-size:10.5px;color:var(--tx3);background:var(--card);
  position:relative;
}
.pctRow button::after{content:'';position:absolute;inset:-8px 0}
.pctRow button.on{color:var(--accent);background:var(--block)}

.chk{display:flex;align-items:center;gap:7px;min-height:34px;font-size:12px;color:var(--tx2)}
.chk input{width:15px;height:15px;accent-color:var(--accent)}
.tpslBox{display:flex;gap:6px}
.tpslBox .field{flex:1;min-width:0}

.btnRow{display:flex;gap:8px;margin-top:4px}
.bigBtn{
  flex:1;min-height:46px;border-radius:9px;
  font-size:13.5px;font-weight:700;letter-spacing:-.1px;
  padding:0 6px;
}
.bigBtn.long{background:var(--up);color:#00150D}
.bigBtn.short{background:var(--dn);color:#2A0603}
.bigBtn:active{opacity:.75}
.bigBtn[disabled]{opacity:.4}

/* ---------- Sổ lệnh ---------- */
.bookCol{display:flex;flex-direction:column;gap:2px;min-width:0}
.bookHead{
  display:flex;justify-content:space-between;
  font-size:9.5px;color:var(--tx3);padding:2px 1px 3px;
}
.bookSide{display:flex;flex-direction:column;gap:1px}
.bookRow{
  position:relative;display:flex;justify-content:space-between;align-items:center;
  height:17px;padding:0 3px;font-size:10.5px;
  font-family:var(--mono);font-variant-numeric:tabular-nums;
  overflow:hidden;
}
/* Thanh khối lượng cộng dồn — trượt mượt nhờ transition, không dựng lại DOM */
.bookRow i{
  position:absolute;top:0;right:0;bottom:0;
  width:0;opacity:.17;
  transition:width .18s linear;
}
.bookRow.ask i{background:var(--dn)}
.bookRow.bid i{background:var(--up)}
.bookRow .p{position:relative;z-index:1}
.bookRow.ask .p{color:var(--dn)}
.bookRow.bid .p{color:var(--up)}
.bookRow .q{position:relative;z-index:1;color:var(--tx2)}
.bookEmpty{padding:14px 2px;text-align:center;font-size:10px;color:var(--tx3)}

.bookMid{
  display:flex;flex-direction:column;align-items:flex-start;gap:0;
  padding:5px 3px;
}
.bookMid b{font-family:var(--mono);font-size:14px;color:var(--up);font-variant-numeric:tabular-nums}
.bookMid b.dn{color:var(--dn)}
.bookMid small{font-size:9.5px;color:var(--tx3);font-family:var(--mono)}

.ratioBar{display:flex;align-items:center;gap:4px;padding:6px 1px 2px;font-size:9px;color:var(--tx2)}
.ratioBar .rb{flex:1;display:flex;height:3px;border-radius:2px;overflow:hidden;background:var(--line)}
.ratioBar .rb i{display:block;height:100%;transition:width .18s linear}
#rbB{background:var(--up)}
#rbA{background:var(--dn)}

.bookView{
  min-height:30px;border-radius:6px;background:var(--card);
  font-size:10.5px;color:var(--tx2);margin-top:2px;
}

/* ══════════ 3. VỊ THẾ ══════════ */
.sumRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 10px}
.sum{
  display:flex;flex-direction:column;gap:3px;
  padding:10px 12px;border-radius:var(--r);background:var(--card);
}
.sum span{font-size:10.5px;color:var(--tx3)}
.sum b{font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}

.tabRow{
  display:flex;gap:16px;padding:0 16px;
  border-bottom:1px solid var(--line);
}
.tab{
  min-height:42px;font-size:13px;font-weight:600;color:var(--tx3);
  display:inline-flex;align-items:center;gap:4px;
}
.tab i{font-style:normal;font-size:10.5px;color:var(--tx3)}
.tab.on{color:var(--tx);box-shadow:inset 0 -2px 0 var(--accent)}
.tab.on i{color:var(--accent)}

.psBody,.cpBody{padding:10px 12px}
.pCard{
  border-radius:var(--r);background:var(--card);
  padding:11px 12px;margin-bottom:9px;
  border:1px solid var(--line);
}
.pTop{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.pTop b{font-size:14px;font-weight:700}
.sideTag{
  font-size:10px;font-weight:700;padding:2.5px 6px;border-radius:4px;
  background:rgba(36,193,141,.16);color:var(--up);
}
.sideTag.short{background:rgba(241,75,63,.16);color:var(--dn)}
.levTag{font-size:10px;color:var(--tx2);padding:2.5px 6px;border-radius:4px;background:var(--block)}
.pTop .sp{flex:1}
.pPnl{text-align:right;font-family:var(--mono)}
.pPnl b{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.pPnl small{font-size:10.5px}

.kv{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px 8px;margin-bottom:9px}
.kv div{display:flex;flex-direction:column;gap:2px;min-width:0}
.kv span{font-size:9.5px;color:var(--tx3)}
.kv b{font-size:11.5px;font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.riskBar{height:3px;border-radius:2px;background:var(--line);overflow:hidden;margin-bottom:9px}
.riskBar i{display:block;height:100%;background:var(--up);transition:width .2s linear}
.riskBar.mid i{background:var(--accent)}
.riskBar.high i{background:var(--dn)}

.pBtns{display:flex;gap:7px}
.pBtn{
  flex:1;min-height:36px;border-radius:7px;
  background:var(--block);font-size:12px;font-weight:600;color:var(--tx);
}
.pBtn.primary{background:var(--accent);color:var(--accent-ink)}
.pBtn.danger{background:rgba(241,75,63,.18);color:var(--dn)}
.pBtn:active{opacity:.7}

.oRow{
  display:flex;align-items:center;gap:10px;
  padding:11px 12px;margin-bottom:8px;
  border-radius:var(--r);background:var(--card);border:1px solid var(--line);
}
.oInfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.oInfo b{font-size:13px}
.oInfo small{font-size:10.5px;color:var(--tx2);font-family:var(--mono)}
.oX{
  min-width:44px;min-height:38px;border-radius:7px;
  background:rgba(241,75,63,.15);color:var(--dn);font-size:11.5px;font-weight:600;
}

.hRow{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-bottom:1px solid #191A1B;
}
.hInfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hInfo b{font-size:12.5px}
.hInfo small{font-size:10px;color:var(--tx3);font-family:var(--mono)}
.hPnl{font-family:var(--mono);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}

.emptyBox{padding:38px 16px;text-align:center;color:var(--tx3);font-size:13px}

/* ══════════ 4. SAO CHÉP ══════════ */
.cpCard{
  border-radius:var(--r);background:var(--card);border:1px solid var(--line);
  padding:12px;margin-bottom:9px;
}
.cpTop{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cpAva{
  width:38px;height:38px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:14px;color:var(--accent-ink);background:var(--accent);
}
.cpName{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cpName b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpName small{font-size:10.5px;color:var(--tx3)}
.cpRoi{text-align:right;font-family:var(--mono)}
.cpRoi b{display:block;font-size:16px;color:var(--up);font-variant-numeric:tabular-nums}
.cpRoi b.dn{color:var(--dn)}
.cpRoi small{font-size:9.5px;color:var(--tx3)}
.cpSpark{height:34px;margin-bottom:10px}
.cpSpark svg{display:block;width:100%;height:100%}
.cpBtn{
  width:100%;min-height:38px;border-radius:8px;
  background:var(--accent);color:var(--accent-ink);
  font-size:12.5px;font-weight:700;
}
.cpBtn.on{background:var(--block);color:var(--tx2)}
.cpNote{padding:4px 4px 12px;font-size:11px;color:var(--tx3);text-align:center}

/* ══════════ 5. TÀI SẢN ══════════ */
.totalCard{
  margin:0 16px 10px;padding:16px;
  border-radius:14px;
  background:linear-gradient(135deg,#1C2405,#131414 62%);
  border:1px solid var(--line);
}
.totalCard span{display:block;font-size:11px;color:var(--tx2);margin-bottom:5px}
.totalCard b{font-family:var(--mono);font-size:30px;font-weight:700;letter-spacing:-.8px;
             font-variant-numeric:tabular-nums}
.totalCard small{font-size:12px;color:var(--tx2);margin-left:5px}

.walletCards{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 10px}
.wCard{
  padding:11px 12px;border-radius:var(--r);
  background:var(--card);border:1px solid var(--line);
  display:flex;flex-direction:column;gap:3px;min-width:0;
}
.wCard span{font-size:10.5px;color:var(--tx3)}
.wCard b{font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}
.wCard small{font-size:9.5px;color:var(--tx3);font-family:var(--mono)}

.actRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 12px}
.act{
  min-height:44px;border-radius:9px;
  background:var(--block);font-size:13px;font-weight:600;
}
.act.primary{background:var(--accent);color:var(--accent-ink)}
.act:active{opacity:.75}

.noteCard{
  margin:0 16px 4px;padding:12px;
  border-radius:var(--r);background:var(--card2);
  border-left:3px solid var(--accent);
}
.noteCard b{display:block;font-size:12.5px;margin-bottom:4px;color:var(--accent)}
.noteCard p{margin:0;font-size:11.5px;color:var(--tx2);line-height:1.5}

.statGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px}
.sItem{
  padding:10px 12px;border-radius:var(--r);background:var(--card);
  display:flex;flex-direction:column;gap:3px;min-width:0;
}
.sItem span{font-size:10px;color:var(--tx3)}
.sItem b{font-family:var(--mono);font-size:15px;font-variant-numeric:tabular-nums}

/* ══════════ 6. CÀI ĐẶT ══════════ */
.setGroup{
  margin:0 16px 12px;border-radius:var(--r);
  background:var(--card);border:1px solid var(--line);
  overflow:hidden;
}
.setRow{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px;min-height:50px;
  border-bottom:1px solid var(--line);
  font-size:13px;
}
.setRow:last-child{border-bottom:0}
.setRow.col{flex-direction:column;align-items:flex-start;gap:5px}
.setRow.col b{font-size:13px}
.setRow.col p{margin:0;font-size:11.5px;color:var(--tx2);line-height:1.5}
.setRow.col small{font-size:10.5px;color:var(--tx3);word-break:break-all}
.setRow b{font-family:var(--mono);font-size:13px}
.setBtn{
  display:block;width:100%;min-height:48px;padding:0 12px;
  text-align:left;font-size:13px;
  border-bottom:1px solid var(--line);
}
.setBtn:last-of-type{border-bottom:0}
.setBtn:active{background:var(--block)}
.setBtn.danger{color:var(--dn)}
.setNote{margin:0;padding:8px 12px 12px;font-size:11px;color:var(--tx3);line-height:1.5}

/* ══════════ BẢNG TRƯỢT LÊN ══════════ */
.scrim{
  position:fixed;inset:0;z-index:40;
  background:rgba(0,0,0,.6);
  opacity:1;transition:opacity .2s ease;
}
.sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:41;
  max-height:86dvh;display:flex;flex-direction:column;
  background:var(--card);
  border-radius:16px 16px 0 0;
  border-top:1px solid var(--line);
  padding-bottom:var(--sab);
  /* --dragY do JS đặt khi ngón tay kéo bảng xuống */
  transform:translateY(var(--dragY,0px));
  transition:transform .26s cubic-bezier(.22,.7,.3,1);
  will-change:transform;
}
.sheet.slide{transform:translateY(100%)}
.sheet.drag{transition:none}
.grab{
  display:flex;align-items:center;justify-content:center;
  height:22px;flex:0 0 auto;touch-action:none;
}
.grab i{display:block;width:34px;height:4px;border-radius:2px;background:var(--line)}
.sheetHead{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 8px 6px 16px;flex:0 0 auto;
}
.sheetHead b{font-size:15px;font-weight:700}
.sheetBody{
  flex:1 1 auto;min-height:0;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:4px 16px 18px;
}

/* Nội dung hay dùng trong bảng trượt */
.pickList{display:flex;flex-direction:column}
.pickRow{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:50px;padding:0 2px;
  border-bottom:1px solid var(--line);font-size:14px;
}
.pickRow:last-child{border-bottom:0}
.pickRow.on{color:var(--accent)}
.pickRow small{font-size:11px;color:var(--tx3);font-family:var(--mono)}

.levGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 14px}
.levGrid button{
  min-height:44px;border-radius:8px;background:var(--block);
  font-size:13px;font-weight:600;
}
.levGrid button.on{background:var(--accent);color:var(--accent-ink)}

.sheetNote{font-size:11.5px;color:var(--tx2);line-height:1.55;margin:8px 0 0}
.sheetNote.warn{color:var(--accent)}
.sheetBtn{
  width:100%;min-height:48px;border-radius:10px;margin-top:14px;
  background:var(--accent);color:var(--accent-ink);
  font-size:14px;font-weight:700;
}
.sheetBtn.alt{background:var(--block);color:var(--tx)}
.sheetBtn:active{opacity:.8}

.tfRowSheet{display:flex;gap:8px;margin:10px 0}
.tfRowSheet button{flex:1;min-height:44px;border-radius:8px;background:var(--block);font-size:13px}
.tfRowSheet button.on{background:var(--accent);color:var(--accent-ink)}

.xferBox{display:flex;align-items:center;gap:10px;margin:8px 0 14px}
.xferSide{
  flex:1;padding:12px;border-radius:var(--r);background:var(--block);
  display:flex;flex-direction:column;gap:3px;min-width:0;
}
.xferSide span{font-size:10px;color:var(--tx3)}
.xferSide b{font-size:13px}
.xferSwap{
  min-width:44px;min-height:44px;border-radius:50%;
  background:var(--card2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--accent);
}

/* ══════════ LỜI NHẮN NỔI ══════════ */
.toast{
  position:fixed;left:50%;bottom:calc(var(--tabh) + var(--sab) + 18px);
  transform:translateX(-50%);z-index:60;
  max-width:88vw;padding:11px 16px;
  border-radius:10px;background:var(--block);
  border:1px solid var(--line);
  font-size:12.5px;line-height:1.4;text-align:center;
  box-shadow:0 8px 26px rgba(0,0,0,.55);
  opacity:1;transition:opacity .22s ease;
}
.toast.fade{opacity:0}
.toast.good{border-color:var(--up)}
.toast.bad{border-color:var(--dn)}

/* Màn hình rộng hơn iPhone: giữ app ở giữa cho dễ nhìn */
@media (min-width:520px){
  #app{max-width:470px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .sheet{max-width:470px;left:50%;transform:translateX(-50%) translateY(var(--dragY,0px))}
  .sheet.slide{transform:translateX(-50%) translateY(100%)}
}

/* ===================================================================
   BẢN 2 — nắn màn Tương lai theo ảnh chụp app Bitunix thật (21/09/2026)
   Sổ lệnh sang trái, phiếu lệnh sang phải, biểu đồ thu gọn xuống đáy.
   =================================================================== */

/* hàng tab trên cùng: Tương lai | CFD | Sao chép giao dịch | Sự kiện */
.topTabs{
  display:flex;align-items:center;gap:18px;
  padding:6px 14px 2px;overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.topTabs::-webkit-scrollbar{display:none}
.tt{
  flex:0 0 auto;min-height:36px;
  font-size:16px;font-weight:700;color:var(--tx2);white-space:nowrap;
}
.tt.on{color:var(--tx)}

/* tên cặp + phần trăm + 4 icon bên phải */
#scr-trade .pairBar{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:10px;padding:2px 14px 6px;
}
.pairLeft{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
#scr-trade .pairBtn{display:flex;align-items:center;gap:5px;color:var(--tx)}
#scr-trade #pairName{font-size:22px;font-weight:700;letter-spacing:-.3px}
#scr-trade #pairChg{font-size:13px;font-weight:600}
.pairIcons{display:flex;align-items:center;gap:14px;padding-top:6px}
.pIco{color:var(--tx);opacity:.92;min-height:32px}
.pIco:active{opacity:.5}

/* lưới: sổ lệnh TRÁI, phiếu lệnh PHẢI */
.tradeGrid{
  display:grid;grid-template-columns:.4fr .6fr;gap:14px;
  padding:0 14px;align-items:start;
}
.bookCol{min-width:0;order:1;display:flex;flex-direction:column;gap:4px}
.formCol{min-width:0;order:2;display:flex;flex-direction:column;gap:8px}

/* funding + đếm ngược trên đầu sổ lệnh */
.fundRow{display:flex;flex-direction:column;gap:2px;margin-bottom:2px}
.fundRow .dotted{font-size:10.5px;color:var(--tx2)}
.fundVal{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;color:var(--tx)}
.fundVal i{color:var(--tx3);font-style:normal}
.dotted{border-bottom:1px dotted var(--tx3);padding-bottom:1px}

/* đầu sổ lệnh 2 dòng: Giá / USDT — Số lượng / USDT */
#scr-trade .bookHead{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;padding:2px 0 3px}
#scr-trade .bookHead span{display:flex;flex-direction:column;font-size:10.5px;color:var(--tx2);line-height:1.35}
#scr-trade .bookHead span.r{align-items:flex-end;text-align:right}
#scr-trade .bookHead i{font-style:normal;color:var(--tx2)}

/* giá giữa sổ lệnh */
#scr-trade .bookMid{display:flex;flex-direction:column;gap:1px;padding:5px 0}
#scr-trade #bookLast{font-family:var(--mono);font-size:18px;font-weight:700;line-height:1.1}
#scr-trade #bookMark{font-family:var(--mono);font-size:11.5px;color:var(--tx2)}

/* ô bước giá dưới sổ lệnh */
#scr-trade .bookView{
  min-height:34px;border-radius:8px;background:var(--card);
  font-size:12px;color:var(--tx);margin-top:4px;
}

/* pill: Ký quỹ chéo - Đa | 20X */
.modeRow{
  display:flex;align-items:center;
  background:var(--card);border-radius:10px;min-height:38px;padding:0 4px;
}
.modeChip,.levChip{flex:1;min-height:36px;font-size:12px;font-weight:600;color:var(--tx);padding:0 4px}
.levChip{flex:0 0 auto;min-width:60px;color:var(--up)}
.modeSep{width:1px;height:16px;background:var(--line);flex:0 0 auto}

/* 2 ô loại lệnh: ô đang chọn có viền trắng */
.segRow.sub2{display:flex;gap:8px;background:transparent;padding:0}
.segRow.sub2 .seg{
  flex:1;min-height:42px;border-radius:8px;
  background:var(--card);border:1px solid transparent;
  font-size:12.5px;font-weight:500;color:var(--tx3);
}
.segRow.sub2 .seg.on{background:transparent;border-color:var(--tx);color:var(--tx)}

/* ô nhập */
#scr-trade .field{height:44px;border:0;background:var(--card);border-radius:8px}
#scr-trade .field input{font-size:13px}
#scr-trade .field .unit{font-size:12px;color:var(--tx2)}

/* hai nút bo tròn hoàn toàn, xếp dọc */
.btnCol{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.btnCol .bigBtn{
  width:100%;min-height:50px;border-radius:999px;
  font-size:17px;font-weight:700;letter-spacing:-.2px;
}
.btnCol .bigBtn.long{background:var(--up);color:#052a1c}
.btnCol .bigBtn.short{background:var(--dn);color:#2e0704}

/* tabs dưới: vị thế | Lệnh mở | Bots | Tài sản */
.lowTabs{
  display:flex;align-items:center;gap:22px;
  padding:16px 14px 0;margin-top:10px;
  border-top:1px solid var(--line);overflow-x:auto;
}
.lowTabs::-webkit-scrollbar{display:none}
.lt{
  flex:0 0 auto;min-height:36px;position:relative;
  font-size:14px;font-weight:600;color:var(--tx2);white-space:nowrap;
}
.lt.on{color:var(--tx)}
.lt.on::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:var(--tx);border-radius:2px;
}

/* biểu đồ thu gọn ở đáy */
.chartFold{margin:14px 0 0;border-top:1px solid var(--line)}
.chartFoldHead{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;min-height:52px;padding:0 14px;
  font-size:14px;font-weight:600;color:var(--tx);
}
.chartFoldHead:active{background:var(--card)}
#chartFoldIco{transition:transform .18s ease;color:var(--tx2)}
.chartFold.open #chartFoldIco{transform:rotate(180deg)}
.chartFoldBody{padding:0 14px 10px}

/* thanh trượt có 5 chấm mốc như app thật (bỏ hàng nút 0/25/50/75/100) */
#scr-trade .rng{
  height:26px;margin:6px 0 2px;
  background-image:
    radial-gradient(circle at 3px 50%, var(--line) 3px, transparent 3.6px),
    radial-gradient(circle at 25% 50%, var(--line) 3px, transparent 3.6px),
    radial-gradient(circle at 50% 50%, var(--line) 3px, transparent 3.6px),
    radial-gradient(circle at 75% 50%, var(--line) 3px, transparent 3.6px),
    radial-gradient(circle at calc(100% - 3px) 50%, var(--line) 3px, transparent 3.6px);
  background-repeat:no-repeat;
}
#scr-trade .rng::-webkit-slider-runnable-track{background:transparent}
#scr-trade .rng::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5.5px}

/* cỡ chữ bám sát ảnh chụp app thật */
.tt{font-size:15px}
#scr-trade #pairName{font-size:21px}
#scr-trade .availRow{font-size:12px}
#scr-trade .availRow b{font-size:12.5px}
#scr-trade .chk{font-size:12.5px;min-height:38px}
.modeChip{font-size:11.5px}
.levChip{font-size:12.5px;font-weight:700}

/* thanh tỷ lệ mua/bán: B 51% — 49% S như app thật */
#scr-trade .ratioBar{display:flex;align-items:center;gap:3px;font-size:10.5px;margin-top:4px}
#scr-trade .ratioBar .bs{font-weight:700;color:var(--up)}
#scr-trade .ratioBar .bs.s{color:var(--dn)}
#scr-trade #ratioB{color:var(--up)}
#scr-trade #ratioA{color:var(--dn)}
#scr-trade .ratioBar .rb{flex:1;min-width:0}

/* ============ Màn Tài sản — nắn theo ảnh app thật ============ */
.asCard{
  margin:10px 14px 0;padding:16px 16px 14px;
  background:var(--card);border-radius:14px;position:relative;overflow:hidden;
}
.asCardTop{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--tx2)}
.asEye{color:var(--tx2);min-height:30px}
.asCard #asTotal{display:block;font-family:var(--mono);font-size:34px;font-weight:700;line-height:1.15;margin-top:8px}
.asCard #asTotalUsd{display:block;font-size:12.5px;color:var(--tx2);margin-top:2px}
.asPnlRow{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12.5px;color:var(--tx2)}
.asPnlRow i{font-style:normal;color:var(--tx)}
.asSpark{position:absolute;right:0;bottom:14px;width:130px;height:46px;opacity:.9}

.asActs{display:flex;align-items:flex-start;gap:8px;padding:16px 14px 4px;overflow-x:auto}
.asActs::-webkit-scrollbar{display:none}
.asAct{flex:1 0 auto;min-width:62px;display:flex;flex-direction:column;align-items:center;gap:7px}
.asAct .ic{
  width:50px;height:50px;border-radius:14px;background:var(--card);
  display:flex;align-items:center;justify-content:center;color:var(--tx);
}
.asAct.first .ic{background:var(--accent);color:var(--accent-ink)}
.asAct span{font-size:11.5px;color:var(--tx2);text-align:center;line-height:1.25}
.asAct.first span{color:var(--accent)}
.asAct:active{opacity:.6}

.asSubTabs{display:flex;align-items:center;gap:20px;padding:18px 14px 0;border-top:1px solid var(--line);margin-top:14px}
.asList{padding:6px 14px 0}
.asCoin{padding:14px 0;border-bottom:1px solid var(--line)}
.asCoinTop{display:flex;align-items:center;gap:10px}
.asCoinTop .cIco{
  width:30px;height:30px;border-radius:50%;background:var(--up);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:#052a1c;flex:0 0 auto;
}
.asCoinTop b{font-size:15px;font-weight:600;flex:1;min-width:0}
.asCoinTop .amt{font-family:var(--mono);font-size:15px;text-align:right}
.asCoinSub{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:12px;color:var(--tx2)}
.asCoinSub .r{font-family:var(--mono)}
.asEmpty{padding:48px 0;text-align:center;color:var(--tx2);font-size:13px}

.asGuard{padding:26px 14px 10px;text-align:center}
.asGuard>span{font-size:11.5px;color:var(--tx3)}
.asGuardLogos{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:8px}
.asGuardLogos b{font-size:13.5px;color:var(--tx2)}
.asGuardList{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.asGuardList li{font-size:12.5px;color:var(--tx2);text-align:left;padding-left:30px;position:relative}
.asGuardList li::before{
  content:'';position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:4px;
  background:var(--block);
}

/* ============ BẢN 3 — Trang chủ + thanh trên + thanh dưới ============ */

/* app thật không có thanh "Bitunix / MÔ PHỎNG" ở các màn con — ẩn đi */
body[data-scr="trade"] #topbar,
body[data-scr="spot"] #topbar,
body[data-scr="assets"] #topbar,
body[data-scr="positions"] #topbar,
body[data-scr="copy"] #topbar{display:none}
body[data-scr="trade"] #main,
body[data-scr="spot"] #main,
body[data-scr="assets"] #main,
body[data-scr="positions"] #main,
body[data-scr="copy"] #main{padding-top:var(--sat)}

/* thanh trên thu gọn lại cho gần app thật */
#topbar{min-height:46px}
.logoTxt{font-size:16px}
.demoTag{font-size:9.5px;padding:2px 6px}
.netChip{font-size:10.5px;padding:4px 8px}

/* hàng 5 ô chức năng */
.homeQuick{display:flex;gap:6px;padding:12px 14px 4px;overflow-x:auto}
.homeQuick::-webkit-scrollbar{display:none}
.hq{flex:1 0 auto;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:8px}
.hq .ic{
  position:relative;width:54px;height:54px;border-radius:15px;background:var(--card);
  display:flex;align-items:center;justify-content:center;color:var(--tx);
}
.hqTag{
  position:absolute;top:-7px;right:-10px;
  background:var(--accent);color:var(--accent-ink);
  font-size:9px;font-weight:800;font-style:normal;
  padding:2px 5px;border-radius:5px;letter-spacing:.2px;
}
.hq>span:last-child{font-size:11.5px;color:var(--tx2);text-align:center;line-height:1.3}
.hq:active{opacity:.6}

/* hai thẻ quảng cáo */
.homeBanners{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 14px 0}
.hBan{
  background:var(--card);border-radius:14px;padding:14px 13px 16px;
  min-height:150px;display:flex;flex-direction:column;gap:4px;position:relative;
}
.hBan b{font-size:13.5px;font-weight:600;line-height:1.35}
.hBan p{font-size:11px;color:var(--tx2);line-height:1.35;margin:2px 0 0}
.hBan small{font-size:11.5px;font-weight:700;font-style:italic}
.hBan u{font-size:13.5px;font-weight:600;text-decoration:none;margin-top:auto}
.hDots{position:absolute;left:13px;bottom:10px;display:flex;gap:4px}
.hDots i{width:5px;height:2px;border-radius:1px;background:var(--tx3);opacity:.5}
.hDots i.on{width:12px;opacity:1;background:var(--tx2)}

/* hàng tab phụ: Tương lai | CFD | Giao ngay */
.homeSub{display:flex;gap:8px;padding:8px 14px 0}
.hs{
  min-height:34px;padding:0 14px;border-radius:9px;
  font-size:13px;font-weight:500;color:var(--tx2);
}
.hs.on{background:var(--block);color:var(--tx);font-weight:600}

/* lưới thẻ coin 2 cột */
.homeGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px 0}
.hCard{background:var(--card);border-radius:12px;padding:12px 12px 13px}
.hCard:active{background:var(--block)}
.hcTop{display:flex;align-items:center;gap:7px;position:relative}
.hcIco{
  width:22px;height:22px;border-radius:50%;background:var(--block);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:var(--tx);flex:0 0 auto;
}
.hcTop b{font-size:14px;font-weight:600;flex:1;min-width:0}
.hcTick{
  width:16px;height:16px;border-radius:4px;background:var(--accent);flex:0 0 auto;
  position:relative;
}
.hcTick::after{
  content:'';position:absolute;left:5px;top:2.5px;width:4px;height:8px;
  border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(43deg);
}
.hcPx{font-family:var(--mono);font-size:17px;font-weight:600;margin-top:10px}
.hcChg{font-size:12.5px;font-weight:600;color:var(--up);margin-top:3px}
.hcChg.dn{color:var(--dn)}

.homeAdd{
  display:block;margin:20px auto 8px;min-height:40px;padding:0 34px;
  border-radius:999px;background:var(--card);color:var(--tx);
  font-size:13.5px;font-weight:500;
}

/* thanh dưới 5 mục */
#tabbar .tb.on{color:var(--tx)}
#tabbar .tb.on svg{color:var(--tx)}

/* ============ BẢN 3 — thanh trên kiểu app thật ============ */
#topbar{
  display:flex;align-items:center;gap:10px;
  padding:6px 12px;min-height:52px;
}
.avaBtn{flex:0 0 auto}
.ava{
  width:34px;height:34px;border-radius:50%;background:var(--accent);
  display:flex;align-items:center;justify-content:center;
}
.srchBar{
  flex:1;min-width:0;display:flex;align-items:center;gap:8px;
  height:38px;padding:0 14px;border-radius:999px;
  background:var(--card);color:var(--tx3);
}
.srchBar span{font-size:13px;color:var(--tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srchBar:active{background:var(--block)}
.hIco{flex:0 0 auto;color:var(--tx);min-width:30px;min-height:34px}
.hIco:active{opacity:.5}

/* dải trạng thái: chỉ hiện khi CHƯA lấy được dữ liệu thật */
.netChip{
  display:flex;align-items:center;gap:7px;width:100%;
  padding:7px 14px;background:var(--card);border:0;border-radius:0;
  font-size:11.5px;color:var(--tx2);
}
.netChip .dot{width:6px;height:6px;border-radius:50%;background:var(--tx3);flex:0 0 auto}
.netChip .demoTag{
  margin-left:auto;background:var(--accent);color:var(--accent-ink);
  font-size:9px;font-weight:800;padding:2px 6px;border-radius:5px;
}
.netChip.live{display:none}
.netChip.rest .dot{background:var(--accent)}
.netChip.err .dot,.netChip.down .dot{background:var(--dn)}

/* các màn con không có thanh trên, cũng không có dải trạng thái */
body[data-scr="trade"] #netChip,
body[data-scr="spot"] #netChip,
body[data-scr="assets"] #netChip,
body[data-scr="positions"] #netChip,
body[data-scr="copy"] #netChip{display:none}

/* 5 ô chức năng vừa khít một màn */
.homeQuick{gap:2px;padding:10px 10px 2px}
.hq{min-width:0;flex:1 1 0}
.hq .ic{width:50px;height:50px;border-radius:14px}
.hq>span:last-child{font-size:10.5px}
.topTabs .tt{font-size:14.5px}

/* ===================================================================
   BẢN 5 — chỉnh tỉ lệ theo ảnh app thật X gửi 21/09/2026 (15:17)
   =================================================================== */

/* LỖI NẶNG: thanh trên đè lên đồng hồ iPhone — phải chừa vùng tai thỏ */
#topbar{
  padding:calc(var(--sat) + 8px) 14px 10px;
  min-height:0;gap:11px;
}
.ava{width:38px;height:38px}
.srchBar{height:42px;padding:0 15px;border-radius:999px}
.srchBar span{font-size:14px}
.hIco{min-width:26px}

/* dải trạng thái nằm dưới thanh trên, không chồng lên */
.netChip{padding:6px 14px}

/* các màn con: vẫn phải chừa vùng tai thỏ dù không có thanh trên */
body[data-scr="trade"] #main,
body[data-scr="spot"] #main,
body[data-scr="assets"] #main,
body[data-scr="positions"] #main,
body[data-scr="copy"] #main{padding-top:calc(var(--sat) + 6px)}

/* hàng 5 ô chức năng — to và thưa hơn, đúng ảnh */
.homeQuick{gap:4px;padding:16px 12px 0}
.hq{gap:9px}
.hq .ic{width:58px;height:58px;border-radius:17px}
.hq .ic svg{width:26px;height:26px}
.hq>span:last-child{font-size:12px;line-height:1.28;max-width:70px}
.hqTag{top:-8px;right:-8px;font-size:9.5px;padding:2.5px 6px}

/* chấm chỉ số trang dưới hàng ô chức năng */
.homeQuick + .qDots{display:flex;justify-content:center;gap:4px;padding:12px 0 0}
.qDots i{width:14px;height:2.5px;border-radius:2px;background:var(--tx2)}
.qDots i:last-child{width:6px;background:var(--tx3);opacity:.6}

/* hai thẻ quảng cáo — cao hơn, chữ nằm dưới như ảnh */
.homeBanners{gap:11px;padding:18px 14px 0}
.hBan{
  min-height:196px;padding:16px 14px 20px;border-radius:16px;
  justify-content:flex-end;gap:3px;
}
.hBan b{font-size:15px;line-height:1.35;font-weight:600}
.hBan p{font-size:11.5px;line-height:1.4}
.hBan small{font-size:12.5px;position:absolute;top:16px;left:14px}
.hBan u{font-size:14.5px;font-weight:600;margin-top:6px}
.hBanArt{
  flex:1;display:flex;align-items:center;justify-content:center;
  min-height:56px;margin-bottom:6px;
}
.hDots{bottom:12px}

/* tabs Yêu thích / Phổ biến / Tăng giá — to hơn */
#homeTabs{padding:22px 14px 0;gap:20px}
#homeTabs .tt{font-size:18px;font-weight:700}
#homeTabs .tt:not(.on){font-weight:600}

/* hàng Tương lai | CFD | Giao ngay */
.homeSub{padding:14px 14px 0;gap:6px}
.hs{min-height:38px;padding:0 16px;border-radius:10px;font-size:14px}

/* thẻ coin — chữ to hơn, icon màu thật */
.homeGrid{gap:11px;padding:14px 14px 0}
.hCard{padding:14px 13px 15px;border-radius:13px}
.hcTop{gap:9px}
.hcIco{
  width:26px;height:26px;font-size:0;color:transparent;
  background-size:cover;background-position:center;
}
.hcTop b{font-size:15.5px;font-weight:600}
.hcTick{width:19px;height:19px;border-radius:5px}
.hcTick::after{left:6.5px;top:3px;width:4.5px;height:9px}
.hcPx{font-size:19px;font-weight:600;margin-top:12px;letter-spacing:-.3px}
.hcChg{font-size:13px;margin-top:4px}

.homeAdd{margin:26px auto 10px;min-height:44px;padding:0 40px;font-size:14px}

/* thanh dưới — chữ nhỏ lại cho cân */
#tabbar .tb span{font-size:10.5px}

/* icon coin: nền màu thương hiệu, chữ cái trắng ở giữa */
.hcIco{
  display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;flex:0 0 auto;
}
.hcIco i{font-style:normal;font-size:12px;font-weight:700;color:#fff;line-height:1}

/* hình minh hoạ trong thẻ quảng cáo to hơn, đúng tỉ lệ ảnh */
.hBanArt{min-height:72px}
.hBanArt svg{width:72px;height:62px}
.hBan:nth-child(2) .hBanArt svg{width:54px;height:54px}
.hcIco i{font-size:13px}

/* chuông thông báo có chấm đỏ đếm số, như app thật */
.bellBtn{position:relative}
.bellDot{
  position:absolute;top:-3px;right:-6px;
  min-width:17px;height:17px;padding:0 4px;border-radius:999px;
  background:#FF3B30;color:#fff;
  font-size:10.5px;font-weight:700;font-style:normal;line-height:17px;
  text-align:center;
}
/* avatar bấm được rõ ràng hơn */
.avaBtn:active .ava{opacity:.7}

/* ===================================================================
   BẢN 7 — thanh dưới: kéo sát đáy và tiệp màu với nền (X yêu cầu)
   Trước đây thanh tab nền #0A0A0A còn vùng dưới nền đen → lộ hai mảng
   màu khác nhau ở đáy màn hình.
   =================================================================== */
html,body{background:var(--bg)}
#app{background:var(--bg)}

#tabbar{
  background:var(--bg);
  border-top:1px solid rgba(255,255,255,.07);
  padding-bottom:var(--sab);
}
/* vá thêm một mảng màu phía dưới, phòng khi iOS kéo giãn quá vùng an toàn */
#tabbar::after{
  content:'';position:absolute;left:0;right:0;top:100%;
  height:60px;background:var(--bg);
}
#tabbar{position:relative}

/* icon và chữ dồn lên trên một chút cho cân với vùng vuốt của iPhone */
.tb{min-height:52px;padding-top:2px}
.tb svg{width:23px;height:23px}


/* ===================================================================
   BẢN 11 — thẻ cùng màu nền, nổi lên bằng VIỀN (đúng như app thật)
   Đo từ ảnh X gửi: nền và thẻ đều #0F0F0F; ô tìm kiếm #222325;
   ô vuông chức năng #2B2B2D.
   =================================================================== */
.hBan,.hCard,.asCard,.asCoin,.noteCard,.wCard,.totalCard{
  border:1px solid var(--line);
}
.asCoin{border-width:0 0 1px 0}

/* ô tìm kiếm và ô vuông chức năng sáng hơn hẳn — đúng app thật */
.srchBar{background:#222325}
.hq .ic{background:#2B2B2D}
.asAct .ic{background:#2B2B2D}

/* thẻ coin ở Trang chủ: viền mảnh, nền bằng nền app */
.hCard{background:var(--bg)}
.hCard:active{background:#17171A}

/* thẻ quảng cáo */
.hBan{background:var(--bg)}

/* ===================================================================
   BẢN 14 — thanh dưới dính sát đáy màn hình
   Đo từ ảnh X gửi (iPhone 1284×2778): chữ tab ở app thật cách đáy
   34–42pt, app mình đang 88–98pt → lệch 55pt vì thanh tab nằm trong
   luồng 100dvh (iOS đã trừ vùng vuốt) rồi còn cộng thêm --sab.
   Cách chữa: tách thanh tab ra khỏi luồng, ghim cứng vào đáy thật.
   =================================================================== */
#tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  padding-left:var(--sal);padding-right:var(--sar);
  padding-bottom:calc(var(--sab) * .62);
}
#tabbar::after{display:none}

.tb{min-height:46px;padding-top:0;gap:2px}
.tb svg{width:22px;height:22px}
#tabbar .tb span{font-size:10px}

/* nội dung chừa đúng chỗ cho thanh tab đã ghim */
#main{padding-bottom:calc(46px + var(--sab) * .62 + 14px)}

/* ===================================================================
   BẢN 15 — khung đáy chép đúng cơ chế app Binance (CryptoSim bản 265)
   Thanh dưới nằm trong luồng flex, chiều cao = navH + phần chừa đo được;
   app.js đo rồi đặt --navPadUse, nên máy nào cũng chạm đáy thật.
   =================================================================== */
:root{
  --navH:42px;                                             /* đủ cho icon + chữ */
  --navLift:5px;                                           /* kéo riêng đường kẻ trên lên */
  --navPadUse:max(0px, env(safe-area-inset-bottom,0px));   /* app.js tự chỉnh lại */
}

#tabbar{
  position:relative;z-index:30;flex:0 0 auto;
  left:auto;right:auto;bottom:auto;
  display:grid;grid-template-columns:repeat(5,1fr);
  background:var(--bg);
  border-top:1px solid var(--line);
  height:calc(var(--navH) + var(--navPadUse) + var(--navLift));
  padding-top:0;
  padding-bottom:var(--navPadUse);
  align-items:flex-end;
}

/* kéo nền thanh xuống hết đáy: xoá mọi dải màu khác ở dưới */
#tabbar::after{
  display:block;content:"";position:absolute;left:0;right:0;top:100%;
  height:160px;background:var(--bg);pointer-events:none;
}

.tb{
  min-height:0;height:auto;padding:0 0 2px;gap:4px;
  justify-content:flex-end;
}
.tb svg{width:22px;height:22px}
#tabbar .tb span{font-size:10px;line-height:1.1}

/* thanh dưới đã nằm trong luồng — nội dung không cần chừa thêm */
#main{padding-bottom:12px}

/* ===================================================================
   BẢN 17 — hạ cụm icon + chữ xuống thêm (X yêu cầu 30%)
   Khung web đã phủ hết màn (viewport-fit=cover); "hụt 47" là thanh
   trạng thái ở TRÊN. Dưới thanh tab vẫn còn vùng vạch vuốt 34pt,
   nên hạ cụm xuống 14px (~30%) vẫn nhìn thấy đủ chữ.
   =================================================================== */
:root{ --navDown:14px; }
#tabbar .tb{ transform:translateY(var(--navDown)); }
#tabbar{ height:calc(var(--navH) + var(--navPadUse) + var(--navLift) - var(--navDown)); }

/* ===================================================================
   BẢN 18 — BỎ HẲN việc chừa theo vùng an toàn của iPhone
   Bản 17 hạ cụm xuống 14px làm chữ bị cắt mất. X yêu cầu gỡ khoá theo
   iPhone, ưu tiên hiện đủ chữ. Thanh tự cao theo nội dung, không trừ
   không cộng gì của hệ điều hành nữa.
   =================================================================== */
:root{
  --navDown:0px;
  --navPadUse:0px;   /* fitNav không còn cộng safe-area vào nữa */
  --navLift:0px;
}
#tabbar{
  height:auto;
  min-height:0;
  padding-top:5px;
  padding-bottom:6px;
  align-items:center;
}
#tabbar .tb{
  transform:none;
  padding:0;
  gap:4px;
  justify-content:center;
}
#tabbar .tb span{font-size:10px;line-height:1.15}
.tb svg{width:22px;height:22px}

/* ===================================================================
   BẢN 19 — dời cụm icon+chữ xuống hết mức, chữ vẫn hiện đủ
   Xoá sạch mọi thứ "khoá theo iPhone": không safe-area, không --navDrop,
   không --navLift, không chiều cao cố định. Thanh chỉ còn đúng nội dung
   cộng đệm tối thiểu, nên nằm thấp nhất có thể mà không cắt chữ.
   =================================================================== */
:root{
  --navDown:0px;
  --navPadUse:0px;
  --navLift:0px;
  --navH:auto;
  --sab:0px;          /* xoá hẳn khoá vùng an toàn dưới */
  --tabh:44px;
}
#tabbar{
  position:relative;left:auto;right:auto;bottom:auto;
  height:auto;min-height:0;
  padding:2px 0 0;    /* đệm dưới = 0 → cụm xuống sát đáy khung */
  align-items:center;
}
#tabbar .tb{
  transform:none;
  min-height:0;height:auto;
  padding:0 0 1px;
  gap:3px;
  justify-content:center;
}
#tabbar .tb svg{width:21px;height:21px}
#tabbar .tb span{font-size:9.5px;line-height:1.1;padding-bottom:1px}
#main{padding-bottom:8px}

/* ===================================================================
   BẢN 20 — 5 icon thanh dưới vẽ lại theo ảnh mẫu X gửi
   Khối đặc. Chưa chọn: xám phẳng. Đã chọn: trắng, nghiêng nhẹ như có
   chiều sâu — đúng như app thật.
   =================================================================== */
.tbIco{display:block;width:27px;height:27px;line-height:0}
.tbIco svg{
  width:27px;height:27px;display:block;
  transition:transform .16s ease;
}

/* chưa chọn — khối xám phẳng */
.tb .p1{fill:#7E8185}
.tb .p2{fill:#5E6165}
.tb .cut{fill:none;stroke:var(--bg);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.tb .cut2{fill:none;stroke:var(--bg);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.tb .cutC{fill:var(--bg)}

/* đã chọn — trắng, nghiêng nhẹ */
.tb.on .p1{fill:#FFFFFF}
.tb.on .p2{fill:#C9CBCE}
.tb.on .tbIco svg{transform:rotate(-7deg) scale(1.04)}

.tb:active .tbIco svg{transform:scale(.92)}
#tabbar .tb span{font-size:10px;line-height:1.15}
#tabbar .tb{gap:5px}
#tabbar{padding:4px 0 0}

/* ===================================================================
   BẢN 21 — thanh dưới dùng ẢNH THẬT cắt từ ảnh chụp app gốc
   Mỗi tab hai ảnh: -off (xám) và -on (trắng nghiêng). Không vẽ lại nữa.
   =================================================================== */
.tbIco{position:relative;display:block;width:30px;height:30px;line-height:0}
.tbIco .ico{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:30px;height:30px;object-fit:contain;
  transition:opacity .13s ease;
  -webkit-user-drag:none;user-select:none;
}
.tbIco .onI{opacity:0}
.tb.on .tbIco .off{opacity:0}
.tb.on .tbIco .onI{opacity:1}
.tb:active .tbIco{transform:scale(.93);transition:transform .1s ease}
#tabbar .tb{gap:5px}
#tabbar .tb span{font-size:10px;line-height:1.15}

/* ===================================================================
   BẢN 22 — icon và chữ thanh dưới to thêm 15% (X yêu cầu)
   icon 30 → 34,5px · chữ 10 → 11,5px
   =================================================================== */
.tbIco{width:34.5px;height:34.5px}
.tbIco .ico{width:34.5px;height:34.5px}
#tabbar .tb span{font-size:11.5px}
#tabbar .tb{gap:5px}

/* ===================================================================
   BẢN 23 — ép khung cao bằng CẢ MÀN HÌNH rồi dán thanh xuống đáy thật
   Số đo cho thấy "đáy 879 = khung 879": thanh đã chạm đáy khung web,
   nhưng khung web lại thấp hơn màn hình 47pt. Nên phải kéo chính cái
   khung xuống, không phải kéo thanh.
   =================================================================== */
html,body{height:100%;margin:0;overflow:hidden}
#app{
  height:100vh;            /* vh = cả màn hình, khác dvh (chỉ vùng nhìn thấy) */
  max-height:none;
}
#tabbar{
  padding-top:0;
  padding-bottom:0;
  margin-bottom:0;
}
#tabbar .tb{padding:0;gap:4px}
#main{padding-bottom:6px}

/* ===================================================================
   BẢN 25 — HOÀN NGUYÊN lỗi bản 23
   Bản 23 đặt #app cao 100vh (926pt) trong khi khung web chỉ 879pt,
   nên thanh dưới bị đẩy ra ngoài màn hình và biến mất hẳn.
   Trả lại 100dvh — đúng vùng iOS cho hiển thị.
   =================================================================== */
html,body{height:100%;margin:0;overflow:hidden}
#app{height:100dvh;max-height:100dvh}
@supports not (height:100dvh){ #app{height:100%} }

#tabbar{
  position:relative;flex:0 0 auto;
  height:auto;min-height:0;
  padding:3px 0 2px;
  align-items:center;
}
#tabbar .tb{padding:0;gap:4px;justify-content:center}
#main{flex:1 1 auto;min-height:0;padding-bottom:8px}

/* ===================================================================
   BẢN 25 — HOÀN NGUYÊN lỗi bản 23
   Bản 23 ép #app cao 100vh (926pt) trong khi vùng nhìn thấy chỉ 879pt,
   nên thanh dưới bị đẩy khỏi màn hình và biến mất. Trả về 100dvh.
   Kết luận: 47pt hụt đó iOS giữ, trang web không với tới được. Không
   thử kéo khung nữa.
   =================================================================== */
html,body{height:100%;margin:0;overflow:hidden}
#app{height:100dvh;max-height:100dvh}
#tabbar{
  position:relative;left:auto;right:auto;bottom:auto;
  flex:0 0 auto;
  height:auto;min-height:0;
  padding:3px 0 2px;
  align-items:center;
}
#tabbar .tb{padding:0;gap:4px;min-height:0;height:auto;justify-content:center;transform:none}
#main{flex:1 1 auto;min-height:0;padding-bottom:8px}


/* ===================================================================
   BẢN 26 — GỠ black-translucent (thủ phạm 47pt hụt ở đáy)
   Thẻ apple-mobile-web-app-status-bar-style:black-translucent cho trang
   chui lên dưới thanh trạng thái, nên iOS kéo cả khung web lên 47pt và
   chừa đúng 47pt ở đáy mà code không với tới. Đổi về "default" (đúng như
   app Binance bản 255): trang bắt đầu DƯỚI thanh trạng thái và kéo tới
   ĐÁY MÀN HÌNH thật.
   Khi đó safe-area-inset-bottom mới có giá trị thật (vạch Home) — trả lại
   --sab và đệm đáy đúng kiểu Binance, kèm ::after phủ nền cho liền mạch.
   =================================================================== */
:root{
  --sat:env(safe-area-inset-top,0px);
  --sab:env(safe-area-inset-bottom,0px);
}
html,body{height:100%;margin:0;overflow:hidden}
#app{height:100dvh;max-height:100dvh;display:flex;flex-direction:column}
@supports not (height:100dvh){ #app{height:100%} }

#tabbar{
  position:relative;left:auto;right:auto;bottom:auto;
  flex:0 0 auto;z-index:30;
  height:auto;min-height:0;
  padding:3px 0 0;
  padding-bottom:max(0px, env(safe-area-inset-bottom,0px));
  align-items:center;
  background:var(--bg);
}
/* phủ nền xuống hết đáy: không còn dải màu lạ dưới thanh */
#tabbar::after{
  content:"";display:block;position:absolute;left:0;right:0;top:100%;
  height:160px;background:var(--bg);pointer-events:none;
}
#tabbar .tb{
  transform:none;padding:0;gap:4px;
  min-height:0;height:auto;justify-content:center;
}
#main{flex:1 1 auto;min-height:0;padding-bottom:8px}

/* ===================================================================
   BẢN 27 — ĐO TỪ ẢNH CHỤP THẬT, không đoán nữa
   Đo ảnh X gửi (1191×2576 px ⇢ 428×926 pt, 2,783 px/pt):
     · đỉnh avatar          = 58pt   → khung web bắt đầu ở 0, --sat = 47pt
     · đáy chữ thanh dưới   = 842pt
     · đáy màn hình         = 926pt  → trống 84pt
   Tách ra: 37pt là đệm đáy của thanh (34pt vùng an toàn + 3pt),
            47pt còn lại NẰM NGOÀI khung web (khung chỉ cao 879pt).
   ⇒ Bỏ 37pt đệm đó đi là cụm icon+chữ xuống hết mức mà code với tới được.
      47pt cuối chỉ lấy lại được khi X xoá biểu tượng khỏi Màn hình chính
      rồi Thêm vào Màn hình chính lại (iOS khoá thẻ status-bar-style từ
      lúc cài, đổi trong code không ăn).
   =================================================================== */
#tabbar{
  padding-top:3px;
  padding-bottom:1px;            /* trước: env(safe-area-inset-bottom) = 34pt */
  align-items:flex-end;
}
#tabbar .tb{padding:0 0 1px;gap:4px;justify-content:flex-end}

/* ===================================================================
   BẢN 29 — đệm đáy do app.js tự đo rồi đặt (xem fitNav)
   Chưa cài lại app  → --navPadUse = 0px   (cụm sát đáy khung web)
   Đã cài lại app    → --navPadUse ≈ 25px  (chữ nằm trên vạch Home)
   =================================================================== */
#tabbar{ padding-bottom:var(--navPadUse, 0px); }

/* ===================================================================
   BẢN 34 — CHỈ thu nhỏ CHỮ thanh dưới 15%, logo giữ nguyên cỡ
   chữ 11,5 → 9,8px · icon vẫn 34,5px
   =================================================================== */
#tabbar .tb span{font-size:9.8px;line-height:1.15}

/* ===================================================================
   BẢN 37 — THANH TRÊN thu nhỏ đúng cỡ app gốc
   Đo trên hai ảnh X gửi (cùng khung 1191×2576 px = 428×926 pt):
     · ô tìm kiếm  app gốc 29,8pt  —  bản mình 42,1pt   (to hơn 41%)
     · avatar      app gốc ~28,8pt —  bản mình ~36pt
     · chuông      app gốc 20,8pt  —  bản mình 21,6pt   → GIỮ NGUYÊN
   =================================================================== */
#topbar{padding:calc(var(--sat) + 7px) 14px 8px;gap:10px}
.ava{width:30px;height:30px}
.ava svg{width:14px;height:14px}
.srchBar{height:30px;padding:0 12px;border-radius:999px}
.srchBar span{font-size:12px}
.srchBar svg{width:13px;height:13px}

/* ===================================================================
   BẢN 38 — tai nghe & chuông cắt thẳng từ ảnh app gốc X gửi
   Không vẽ lại nữa. Phần chuông bị huy hiệu đỏ che đã dựng lại bằng
   cách lấy gương nửa trái (chuông đối xứng), nên vòm trên liền lạc.
   Cỡ: cao 21px, ngang tự co theo tỉ lệ ảnh (tai nghe 19×21, chuông 21×21).
   Huy hiệu: đo trên ảnh gốc — đường kính 14px, đỏ #E2605A.
   =================================================================== */
.hIco .hImg{display:block;height:21px;width:auto;-webkit-user-drag:none;user-select:none}
.hIco:active .hImg{opacity:.5}
.bellDot{
  top:-2px;right:-5px;
  min-width:14px;height:14px;padding:0 3px;
  font-size:9px;line-height:14px;font-weight:700;
  background:#E2605A;
}

/* ===================================================================
   BẢN 39 — avatar (nút mở Cài đặt) dùng ẢNH THẬT cắt từ app gốc
   =================================================================== */
.ava{overflow:hidden;background:transparent}
.ava .avaImg{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;
  -webkit-user-drag:none;user-select:none}

/* ===================================================================
   BẢN 40 — LOGO TRÊN CÙNG, đổi ảnh được trong Cài đặt
   iOS không cho trang web vẽ vào thanh trạng thái, nên logo nằm ngay
   dưới đó — sát mép trên của khung app.
   =================================================================== */
#brandBar{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  padding:calc(var(--sat) + 5px) 0 1px;
  background:var(--bg);
}
#brandBar img{
  height:18px;width:auto;max-width:60%;object-fit:contain;display:block;
  -webkit-user-drag:none;user-select:none;
}
/* đã có thanh logo thì thanh trên không cần chừa vùng tai thỏ nữa */
#topbar{padding-top:6px}
body[data-scr="trade"] #main,
body[data-scr="spot"] #main,
body[data-scr="assets"] #main,
body[data-scr="positions"] #main,
body[data-scr="copy"] #main{padding-top:4px}

/* ô xem trước logo trong Cài đặt */
.brandPrev{
  margin-top:8px;padding:12px;border-radius:10px;
  background:var(--card2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;min-height:52px;
}
.brandPrev img{height:22px;width:auto;max-width:100%;object-fit:contain;display:block}

/* ===================================================================
   BẢN 41 — TRANG CHỦ: đổi lưới 2 cột thành DANH SÁCH như app gốc
   Mỗi dòng: logo tròn · mã cặp + sao + tên đầy đủ · đường giá nhỏ ·
             giá + phần trăm. Cuối danh sách là "Xem thêm ›".
   Hàng tab con có thêm nút bút chì ở mép phải.
   =================================================================== */
.homeSub{align-items:center}
.subEdit{margin-left:auto;color:var(--tx2);display:flex;align-items:center;padding:0 2px 0 8px}
.subEdit:active{opacity:.5}

.homeGrid,.homeAdd{display:none}

.homeList{display:block;padding:4px 0 0}
.clRow{
  display:flex;align-items:center;gap:11px;width:100%;
  padding:11px 14px;text-align:left;background:none;
}
.clRow:active{background:var(--card2)}
.homeList .hcIco{width:34px;height:34px;border-radius:50%;flex:0 0 auto}
.homeList .hcIco i{font-size:16px}

.clMid{display:flex;flex-direction:column;gap:3px;min-width:0;width:38%;flex:0 0 auto}
.clMid b{font-size:15.5px;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clMid em{
  font-style:normal;font-size:12px;color:var(--tx2);
  display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;
}
.clStar{flex:0 0 auto}

.clSpark{flex:1 1 auto;min-width:0;height:30px}
.clSpark svg{width:100%;height:30px;display:block}

.clRight{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:0 0 auto}
.clRight .clPx{font-size:15.5px;font-weight:600;color:var(--tx);font-variant-numeric:tabular-nums}
.clRight .clChg{font-style:normal;font-size:12.5px;color:var(--up);font-variant-numeric:tabular-nums}
.clRight .clChg.dn{color:var(--dn)}

.homeMore{
  display:flex;align-items:center;justify-content:center;gap:5px;width:100%;
  padding:15px 0 8px;color:var(--tx2);font-size:13.5px;background:none;
}
.homeMore:active{opacity:.55}

/* ===================================================================
   BẢN 42 — logo trên cùng: nhỏ lại 20% và đẩy sát mép trên khung app
   (iOS không cho trang web vẽ vào thanh trạng thái, nên đây đã là
    mức cao nhất mà code với tới được)
   =================================================================== */
#brandBar{padding:calc(var(--sat) + 0px) 0 2px}
#brandBar img{height:14.4px}

/* ===================================================================
   BẢN 43 — bỏ hẳn thanh logo trên cùng (X yêu cầu), trả lại đệm cũ
   =================================================================== */
#brandBar{display:none}
#topbar{padding-top:calc(var(--sat) + 7px)}
body[data-scr="trade"] #main,
body[data-scr="spot"] #main,
body[data-scr="assets"] #main,
body[data-scr="positions"] #main,
body[data-scr="copy"] #main{padding-top:calc(var(--sat) + 6px)}

/* ===================================================================
   BẢN 46 — đường giá nhỏ lại đúng cỡ app gốc
   Đo trên hai ảnh X gửi (cùng khung 428×926pt):
       app gốc : ngang 43,9pt · cao 17,5pt
       bản mình: ngang 111,8pt · cao 26,7pt   ← to gấp 2,5 lần
   Nguyên nhân: ô đường giá đang "flex:1" nên nuốt hết chỗ trống.
   Giờ khoá cứng 44×20px, phần trống dồn hết cho cột tên.
   Nét vẽ dùng non-scaling-stroke để không bị bóp méo khi co ô.
   =================================================================== */
.clMid{flex:1 1 auto;width:auto;min-width:0}
.clSpark{flex:0 0 44px;width:44px;height:20px}
.clSpark svg{width:44px;height:20px}

/* ===================================================================
   BẢN 47 — hai thẻ quảng cáo dựng lại y như app gốc
   Tranh thẻ Tether và ảnh nhà giao dịch cắt thẳng từ ảnh X gửi,
   không vẽ lại bằng SVG nữa. Thẻ phải đổi thứ tự cho đúng gốc:
   nhãn lime → tiêu đề → ảnh tròn → tên → dòng phụ → số lãi.
   =================================================================== */
.hBanArt svg{display:none}
.banArt{width:78px;height:auto;display:block;-webkit-user-drag:none;user-select:none}
.hBan:first-child .hBanArt{
  min-height:0;display:flex;align-items:center;justify-content:center;
  padding:6px 0 4px;
}

/* ---- thẻ "Sao chép giao dịch" ---- */
.bCopy{align-items:stretch}
.bCopy small{position:static;font-size:12px;font-weight:700;font-style:italic;line-height:1.3}
.bCopy b{font-size:15px;font-weight:600;line-height:1.3;margin:1px 0 0}
.bCopy .hBanArt{
  min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 0 5px;
}
.bCopy .trAva{width:56px;height:56px;border-radius:50%;display:block;-webkit-user-drag:none}
.bCopy .trName{
  font-size:13.5px;font-weight:500;color:var(--tx);text-align:center;
  text-decoration:none;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bCopy p{text-align:center;margin:3px 0 0}
.bCopy .trPnl{font-size:14.5px;font-weight:600;text-align:center;margin:2px 0 0}

/* ===================================================================
   BẢN 48 — hàng tab Yêu thích · Phổ biến · Tăng giá · Bảng xếp hạng
   to lên 6% (X yêu cầu): 18 → 19,1px
   =================================================================== */
#homeTabs .tt{font-size:19.1px}

/* ===================================================================
   BẢN 49 — khung chọn "Tương lai" ôm sát chữ như app gốc
   Đo trên ảnh (cùng khung 428×926pt):
       app gốc : cao 26,2pt · ngang 88,1pt
       bản mình: cao 37,7pt · ngang 93,1pt   ← cao hơn 44%
   =================================================================== */
.homeSub .hs{
  display:flex;align-items:center;justify-content:center;
  min-height:0;height:26px;padding:0 13px;
  border-radius:8px;font-size:14px;line-height:1;
}

/* ===================================================================
   BẢN 50 — hàng 5 ô chức năng: ô nhỏ lại đúng cỡ gốc + logo ảnh thật
   Đo trên ảnh X gửi (khung 428×926pt): ô vuông app gốc 47,1 × 44,6pt,
   bản mình đang 50 × 50pt. Đặt lại 46 × 46pt.
   Logo là ảnh cắt từ ảnh gốc, không vẽ lại bằng SVG nữa.
   =================================================================== */
.hq .ic{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center}
.hq .ic svg{display:none}
.qIco{height:auto;display:block;-webkit-user-drag:none;user-select:none}

/* ===================================================================
   BẢN 51 — hai thẻ quảng cáo: chữ nhỏ 20%, hai logo nhỏ 40%
     tranh thẻ Tether  78 → 46,8px
     ảnh nhà giao dịch 56 → 33,6px
     tiêu đề 15 → 12px · phụ đề 11,5 → 9,2px · nhãn lime 12 → 9,6px
     tên 13,5 → 10,8px · số lãi 14,5 → 11,6px
   =================================================================== */
.banArt{width:46.8px}
.bCopy .trAva{width:33.6px;height:33.6px}

.hBan b{font-size:12px}
.hBan p{font-size:9.2px}
.hBan u{font-size:11.6px}
.bCopy small{font-size:9.6px}
.bCopy b{font-size:12px}
.bCopy .trName{font-size:10.8px}
.bCopy .trPnl{font-size:11.6px}

/* ===================================================================
   BẢN 52 — chữ "Chuyên gia giao dịch" đổi sang đúng màu app gốc
   Đo trên ảnh X khoanh: pixel sáng nhất của chữ là (128,244,94).
   Máy ảnh chụp màn hình đội màu đỏ lên (lấy số tiền xanh trong cùng
   ảnh làm mốc: chụp ra #62BD8E trong khi app vẽ #24C18D ⇒ đỏ +62).
   Trừ ngược lại ⇒ màu thật ≈ #44F55E — xanh lá tươi, không phải lime.
   =================================================================== */
.bCopy small.acc{color:#44F55E}

/* ===================================================================
   BẢN 53 — đường giá dóng thẳng hàng và dời ra đúng vạch X gạch
   Trước: cột giá rộng theo độ dài con số nên đường giá mỗi dòng lệch
   một kiểu — đo được 290,1 / 290,1 / 295,1 / 305,2 / 305,2 pt, xéo 15pt.
   Giờ khoá cứng cột giá 109px ⇒ mọi dòng đường giá đều bắt đầu ở
   414 − 109 − 11 − 44 = 250pt, đúng chỗ vạch đỏ X gạch.
   =================================================================== */
.clRight{flex:0 0 109px;width:109px}
.clMid{flex:1 1 auto;min-width:0}

/* ===================================================================
   BẢN 54 — bỏ đường kẻ ngang dưới thanh trên (X yêu cầu)
   =================================================================== */
#topbar{border-bottom:0}

/* ===================================================================
   BẢN 55
   · tranh thẻ Tether (thẻ trái) dời xuống 20% chiều cao của nó
     — dùng transform nên không đẩy chữ bên dưới, không tràn thẻ
   · thẻ phải: tên nhà giao dịch 10,8 → 11,9px
                dòng "Mức thu nhập cao nhất" 9,2 → 10,1px  (to 10%)
   =================================================================== */
.banArt{transform:translateY(9.4px)}
.bCopy .trName{font-size:11.9px}
.bCopy p{font-size:10.1px}

/* ===================================================================
   BẢN 57 — logo đồng tiền là ảnh thật cắt từ ảnh app gốc
   =================================================================== */
.hcIco.cImg{background:transparent !important;padding:0;overflow:hidden}
.hcIco.cImg img{
  width:100%;height:100%;border-radius:50%;display:block;object-fit:cover;
  -webkit-user-drag:none;user-select:none;
}

/* ===================================================================
   BẢN 60 — hai chấm trang dưới hàng chức năng dời lên 30%
   Đo trên ảnh: đáy chữ hàng chức năng 412,3pt · chấm 458,0pt
   ⇒ khoảng hở 45,7pt, dời lên 30% = 13,7px (dùng transform nên
   không đẩy hai thẻ quảng cáo bên dưới).
   =================================================================== */
.homeQuick + .qDots{transform:translateY(-13.7px)}

/* ===================================================================
   BẢN 61 — hai chấm trang dời xuống lại 10% (X yêu cầu)
   Khoảng hở gốc 45,7pt: bản 60 kéo lên 30% (−13,7px), nay trả xuống
   10% (+4,6px) ⇒ còn lên 20%, tức −9,1px.
   =================================================================== */
.homeQuick + .qDots{transform:translateY(-9.1px)}

/* ===================================================================
   BẢN 62 — hàng tab Yêu thích · Phổ biến · Tăng giá · Bảng xếp hạng
   dời xuống dưới vạch X gạch.
   Đo trên ảnh: đỉnh chữ "Yêu thích" 457,6pt · vạch vàng 484,5pt
   ⇒ dời xuống 27px (tăng đệm trên 22 → 49px).
   =================================================================== */
#homeTabs{padding-top:49px}

/* ===================================================================
   BẢN 63 — cả cụm 5 ô chức năng (kèm hai chấm) dời lên 4%
   Đo trên ảnh: cụm cao ~87pt (đỉnh ô vuông 113,2pt → hết hai chấm)
   ⇒ 4% = 3,5px. Hai chấm vốn đã lên 9,1px nên thành 12,6px.
   Dùng transform nên hai thẻ quảng cáo bên dưới đứng yên.
   =================================================================== */
.homeQuick{transform:translateY(-3.5px)}
.homeQuick + .qDots{transform:translateY(-12.6px)}

/* ===================================================================
   BẢN 64 — ngôi sao cạnh tên coin to lên 30%: 12 → 15,6px
   =================================================================== */
.clStar{width:15.6px;height:15.6px}

/* ===================================================================
   BẢN 65 — "Xem thêm ›" xịt lên tới vạch X gạch
   Đo trên ảnh: đỉnh chữ 819,6pt · vạch vàng 806,6pt ⇒ lên 13px
   (đệm trên 15 → 2px).
   =================================================================== */
.homeMore{padding-top:2px}

/* ===================================================================
   BẢN 66 — huy hiệu NEW / TSLA ôm sát chữ và dời qua phải 10%
   đệm 2,5×6 → 1,5×4px · bo góc 5 → 4px
   bề ngang huy hiệu ~36px ⇒ 10% = 3,6px ⇒ right −8 → −11,6px
   =================================================================== */
.hqTag{padding:1.5px 4px;border-radius:4px;right:-11.6px}

/* ===================================================================
   BẢN 67 — ô tìm kiếm thấp lại 15%: cao 30 → 25,5px
   =================================================================== */
.srchBar{height:25.5px}

/* ===================================================================
   BẢN 68 — cả cụm "Tương lai · CFD · Giao ngay" + danh sách coin
   + "Xem thêm" dời lên 13px cho chạm vạch X gạch.
   Đo trên ảnh: đỉnh khung "Tương lai" 463,7pt · vạch đỏ 450,7pt.
   (đệm trên hàng tab con 14 → 1px)
   =================================================================== */
.homeSub{padding-top:1px}

/* ===================================================================
   BẢN 69 — kéo dài viền hai thẻ quảng cáo LÊN TRÊN tới vạch X gạch
   Đo trên ảnh: cạnh trên thẻ 229,3pt · vạch vàng 215,7pt ⇒ cao thêm
   13,6px ở phía trên. Cộng đúng lượng đó vào đệm trên nên chữ và ảnh
   bên trong đứng yên, chỉ có cái viền dài ra.
   =================================================================== */
.hBan{margin-top:-13.6px;padding-top:29.6px}

/* ===================================================================
   BẢN 70 — kéo dài viền hai thẻ quảng cáo XUỐNG DƯỚI tới vạch X gạch
   Đo trên ảnh: cạnh dưới thẻ 424,9pt · vạch đỏ 439,0pt ⇒ dài thêm
   14,1px. Cộng vào đệm dưới và bù margin âm nên phần bên dưới
   (hàng Yêu thích, danh sách coin) đứng yên; hàng chấm giữ nguyên chỗ.
   =================================================================== */
.hBan{margin-bottom:-14.1px;padding-bottom:34.1px}
.hDots{bottom:26.1px}

/* ===================================================================
   BẢN 71 — hàng chấm trong hai thẻ quảng cáo dời xuống vạch X gạch
   Đo trên ảnh: tâm hàng chấm 398,8pt · vạch vàng 414,5pt ⇒ xuống
   15,7px (bottom 26,1 → 10,4px).
   =================================================================== */
.hDots{bottom:10.4px}

/* ===================================================================
   BẢN 72 — viền dưới hai thẻ + hàng chấm cùng dời xuống vạch X gạch
   Đo trên ảnh: cạnh dưới thẻ 426,3pt · vạch đỏ 448,3pt ⇒ xuống 22px.
   Hàng chấm neo theo đáy thẻ (bottom:10,4px) nên đi xuống cùng.
   Phần bên dưới vẫn đứng yên nhờ margin âm.
   =================================================================== */
.hBan{margin-bottom:-36.1px;padding-bottom:56.1px}

/* ===================================================================
   BẢN 73 — hai dòng "Chuyên gia giao dịch" + "Sao chép giao dịch"
   dời lên vạch X gạch.
   Đo trên ảnh (khung 428pt, 3,0 px/pt): đỉnh chữ lime 248,3pt ·
   vạch vàng 237,2pt ⇒ lên 11,1px. Dùng transform nên ảnh tròn,
   tên và số lãi bên dưới đứng yên.
   =================================================================== */
.bCopy small.acc,.bCopy b{transform:translateY(-11.1px)}

/* ===================================================================
   BẢN 75 — MÀN TƯƠNG LAI dựng lại theo 5 ảnh app gốc X gửi
   =================================================================== */
/* huy hiệu NEW cạnh tab "Sự kiện" */
#fuTopTabs .tt{position:relative;display:flex;align-items:center;gap:5px}
.ttTag{
  font-style:normal;font-size:8.5px;font-weight:800;letter-spacing:.2px;
  background:var(--accent);color:var(--accent-ink);
  padding:1.5px 4px;border-radius:4px;line-height:1;
}

/* pill chế độ ký quỹ + đòn bẩy hai số */
.modeChip{display:flex;align-items:center;gap:6px}
.miniTag{
  font-style:normal;font-size:8px;font-weight:800;
  background:var(--accent);color:var(--accent-ink);
  padding:1.5px 3.5px;border-radius:3.5px;line-height:1;
}
.levChip{display:flex;align-items:center;gap:7px}
.levChip b{font-weight:600}

/* ô chọn loại lệnh: hàng trên full ngang, hàng dưới hai ô */
.ordType{
  display:flex;align-items:center;justify-content:center;gap:7px;width:100%;
  min-height:38px;border-radius:9px;background:var(--card2);
  border:1px solid var(--line);color:var(--tx);font-size:13.5px;font-weight:500;
  position:relative;
}
.ordType .oiIco{
  position:absolute;left:10px;font-style:normal;font-size:9.5px;font-weight:700;
  width:15px;height:15px;border-radius:50%;border:1.2px solid var(--tx3);
  color:var(--tx3);display:flex;align-items:center;justify-content:center;
}
.ordType:active{opacity:.6}

#segType .seg{min-height:38px;border-radius:9px;font-size:13.5px}
#segType .seg:not(.on){background:var(--card2);color:var(--tx3);border:1px solid transparent}
#segType .seg.on{background:transparent;color:var(--tx);border:1px solid var(--tx2);font-weight:500}

/* ô "Theo chi phí" có nhãn nhỏ bên trong */
.field.byCost{position:relative;padding-top:14px;align-items:flex-end}
.field.byCost .fLbl{
  position:absolute;left:12px;top:5px;font-size:10.5px;color:var(--tx3);
}
.field.byCost input{color:var(--up)}

/* ba dòng số Long/Short */
.infoRow b span.up{color:var(--up)}
.infoRow b span.dn{color:var(--dn)}
.infoRow b{font-weight:500}

/* ô bước giá + nút đổi bên sổ lệnh */
.tickRow{display:flex;align-items:center;gap:8px;padding:8px 0 0}
.tickBox{
  flex:1;min-height:32px;border-radius:8px;background:var(--card2);
  color:var(--tx);font-size:12.5px;display:flex;align-items:center;justify-content:center;
}
.bookSideIco{display:flex;flex-direction:column;gap:2px;padding:3px}
.bookSideIco .sq{width:14px;height:5px;border-radius:1.5px;display:block}
.bookSideIco .sq.dn{background:var(--dn)}
.bookSideIco .sq.up{background:var(--up)}

/* hàng tab dưới: đẩy hai icon sang mép phải */
#lowTabs{display:flex;align-items:center}
.ltSpace{flex:1 1 auto}
.ltIco{position:relative;color:var(--tx2);padding:0 5px}
.ltIco .ltDot{
  position:absolute;top:-1px;right:2px;width:5px;height:5px;border-radius:50%;
  background:var(--dn);font-style:normal;
}

/* ===================================================================
   BẢN 76 — BẢNG XÁC NHẬN LỆNH (Order Confirmation) theo ảnh app gốc
   =================================================================== */
.cfHead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0 14px}
.cfHead>b{font-size:19px;font-weight:600}
.cfSide{
  font-style:normal;font-size:12.5px;font-weight:600;color:#fff;
  padding:4px 9px;border-radius:6px;line-height:1;
}
.cfSide.long{background:var(--up)}
.cfSide.short{background:var(--dn)}
.cfChip{
  font-style:normal;font-size:12.5px;color:var(--tx2);
  background:var(--card2);padding:4px 9px;border-radius:6px;line-height:1;
}
.cfRows{display:flex;flex-direction:column;gap:13px;padding:4px 0}
.cfR{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cfR>span{font-size:13.5px;color:var(--tx2)}
.cfR>b{font-size:13.5px;font-weight:500;color:var(--tx);text-align:right}
.cfHr{height:1px;background:var(--line);margin:14px 0}
.cfChk{display:flex;align-items:flex-start;gap:9px;padding:18px 2px 16px}
.cfChk input{
  appearance:none;-webkit-appearance:none;flex:0 0 auto;margin-top:1px;
  width:17px;height:17px;border-radius:4px;border:1.6px solid var(--tx3);background:transparent;
}
.cfChk input:checked{background:var(--accent);border-color:var(--accent)}
.cfChk span{font-size:12.5px;color:var(--tx2);line-height:1.35}
.cfBtn{
  width:100%;min-height:50px;border-radius:999px;
  background:var(--accent);color:var(--accent-ink);
  font-size:16px;font-weight:600;margin-bottom:6px;
}
.cfBtn:active{opacity:.75}

/* ===================================================================
   BẢN 77 — thanh "<CẶP> biểu đồ" dán sát đáy khung như app gốc
   Ảnh gốc: thanh này luôn nằm ngay trên thanh công cụ dưới, dù danh
   sách vị thế dài hay ngắn. Bản mình đang trôi lơ lửng giữa màn.
   Chữ nhỏ lại 15%: 14 → 11,9px.
   =================================================================== */
#scr-trade{display:none}
#scr-trade.on{display:flex;flex-direction:column;min-height:100%;padding-bottom:0}
#scr-trade > .chartFold{
  margin:0;margin-top:auto;
  position:sticky;bottom:0;z-index:20;
  background:var(--bg);border-top:1px solid var(--line);
}
#scr-trade .chartFoldHead{min-height:46px;font-size:11.9px}
#scr-trade #chartFoldIco{width:16px;height:16px}

/* ===================================================================
   BẢN 79 — MÀN TÀI SẢN: logo và ảnh cắt thẳng từ ảnh app gốc
   =================================================================== */
/* bốn nút Nạp / Rút / Chuyển / Mua — ảnh thật kèm nền ô vuông */
.asAct .ic{background:transparent !important;padding:0;width:48px;height:48px;border-radius:0}
.asAct .ic svg{display:none}
.asImg{width:48px;height:48px;display:block;-webkit-user-drag:none;user-select:none}
.asAct.first>span:last-child{color:var(--accent)}

/* huy hiệu Bitunix góc phải thẻ tổng tài sản */
.asCard{position:relative}
.asPill{position:absolute;top:14px;right:14px;height:20px;width:auto;opacity:.9}

/* khối "Nạp tới 100 USDT để mở khoá" */
.asUnlock{
  display:flex;align-items:center;gap:12px;
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
}
.asUnlockL{flex:1 1 auto;min-width:0}
.asUnlockL p{margin:0 0 9px;font-size:13.5px;color:var(--tx)}
.asUnlockL p b{color:var(--accent);font-weight:700}
.asBar{height:4px;border-radius:3px;background:var(--block);overflow:hidden}
.asBar i{display:block;height:100%;background:var(--accent);border-radius:3px}
.asProg{display:flex;justify-content:space-between;gap:10px;margin-top:7px;font-size:11.5px;color:var(--tx2)}
.asDepBtn{
  flex:0 0 auto;min-height:38px;padding:0 20px;border-radius:999px;
  background:var(--block);color:var(--tx);font-size:13.5px;font-weight:500;
}
.asDepBtn:active{opacity:.7}

/* logo đồng tiền trong danh sách */
.asCoin .cIco{background:transparent !important;overflow:hidden;padding:0}
.asCoin .cIco img{width:100%;height:100%;border-radius:50%;display:block}

/* khối "Được bảo đảm bởi" */
.asGuardLogos{display:flex;align-items:center;justify-content:center;gap:22px;margin:10px 0 4px}
.asGuardLogos img{height:17px;width:auto;display:block;opacity:.85}
.asGuardList li{display:flex;align-items:center;gap:11px;list-style:none}
.asGuardList li img{width:22px;height:22px;object-fit:contain;flex:0 0 auto}

/* ===================================================================
   BẢN 80 — 4 icon cạnh tên cặp ở màn Tương lai: ảnh thật cắt từ ảnh gốc
   =================================================================== */
.pIco img{height:21px;width:auto;display:block;-webkit-user-drag:none;user-select:none}
.pIco img.wide{height:6px}
.pIco svg{display:none}

/* ===================================================================
   BẢN 81 — PHIẾU LỆNH nắn theo ảnh cận cảnh app gốc X gửi
   Đo trên ảnh (cột phiếu lệnh rộng ~219pt ⇢ 3,49 px/pt):
     pill ký quỹ      cao 76px  = 21,8pt
     ô loại lệnh      cao 88px  = 25,2pt
     hai ô nhỏ        cao 113px = 32,4pt
     ô "Theo chi phí" cao 114px = 32,7pt
   =================================================================== */
/* pill bo tròn hẳn + gạch ngăn giữa chế độ và đòn bẩy */
.modeRow{
  display:flex;align-items:center;gap:0;
  background:var(--card2);border-radius:999px;min-height:34px;padding:0 4px;
}
.modeChip{flex:1 1 auto;justify-content:center;font-size:13.5px;color:var(--tx);padding:0 6px}
.modeSep{width:1px;height:15px;background:var(--line);flex:0 0 auto}
.levChip{flex:0 0 auto;justify-content:center;padding:0 12px;gap:6px;font-size:13.5px}
#levTxt{color:var(--up)} #levTxt2{color:var(--dn)}

/* dòng "Có sẵn": nhãn gạch nét đứt, số có dấu + to */
.availRow>.dotted{border-bottom:1px dashed var(--tx3);text-decoration:none}
.availRow .availVal,.availRow>b{font-size:15px;font-weight:500;color:var(--tx)}

/* ô loại lệnh và hai ô nhỏ */
.ordType{min-height:26px;border-radius:8px;font-size:13.5px}
.ordType .oiIco{width:14px;height:14px;font-size:9px}
#segType{gap:8px}
#segType .seg{min-height:33px;border-radius:8px;font-size:13.5px}
#segType .seg:not(.on){flex:2 1 0}
#segType .seg.on{flex:1 1 0}

/* ô "Theo chi phí": chữ mờ nằm giữa trái, đơn vị bên phải — bỏ nhãn nổi */
.field.byCost{padding-top:0;align-items:center;min-height:33px;border-radius:8px}
.field.byCost .fLbl{display:none}
.field.byCost input{color:var(--tx)}
.field.byCost input::placeholder{color:var(--tx3)}
.field.byCost .unit{color:var(--tx3);font-size:13.5px}

/* thanh trượt: núm tròn xám sáng có vòng ngoài, 5 chấm mốc */
.rng{height:22px}
.rng::-webkit-slider-thumb{
  width:17px;height:17px;border-radius:50%;
  background:#C9CBCE;border:3px solid #55585C;box-shadow:none;
}

/* dòng Mở tối đa / Quy mô / Thanh lý */
.infoRow>span{font-size:13px;color:var(--tx2)}
.infoRow>b{font-size:13px}
.infoRow b span.up{color:var(--up)} .infoRow b span.dn{color:var(--dn)}

/* ===================================================================
   BẢN 82 — ô bước giá "0.1" và nút đổi bên sổ lệnh, theo ảnh cận cảnh
   Đo trên ảnh (cột sổ lệnh ~200pt ⇢ 2,45 px/pt):
     ô 0.1   : cao 68px = 27,8pt · bo TRÒN HẲN · chữ trắng 15px
     hai vạch: mỗi vạch 43 × 17px = 17,6 × 7pt, khe 2,4pt, ĐỎ trên XANH dưới
   =================================================================== */
.tickRow{gap:10px;padding:10px 0 0}
.tickBox{
  min-height:28px;border-radius:999px;background:#202022;
  color:#fff;font-size:15px;font-weight:400;
}
.tickBox:active{opacity:.7}
.bookSideIco{gap:2.4px;padding:2px}
.bookSideIco .sq{width:17.6px;height:7px;border-radius:2.5px}

/* ===================================================================
   BẢN 83 — hạ viền trên thanh "<CẶP> chart" xuống đúng vạch đỏ
   Đo trên ảnh chú thích (1191×2576 ⇢ 2,782 px/pt):
     viền trên hiện tại : y 2200,5 px = 791,0 pt
     vạch đỏ            : y 2270   px = 816,0 pt
     ⇒ phải hạ xuống 69,5 px ảnh = 25,0 pt
   Thanh đang cao 46pt (đầu) + 10pt (đệm thân) ⇢ rút đầu 46 → 21pt,
   viền trên rơi đúng 816 pt, chữ tự canh giữa lại ở 826,5 pt.
   =================================================================== */
#scr-trade .chartFoldHead{min-height:21px}

/* ===================================================================
   BẢN 84 — hàng tab trên màn Futures: chữ to thêm 10%
   Futures / CFD / Copy trading / Events  :  14,5 → 15,95 px
   (chỉ chữ, nhãn NEW giữ nguyên kích thước)
   =================================================================== */
#fuTopTabs .tt{font-size:15.95px}

/* ===================================================================
   BẢN 85 — cụm "Max Open → TP/SL → Mở Long/Short" y hệt app gốc
   Đo trên ảnh gốc 1284×2778 (3,0 px/pt) so với bản mình 1191×2576:
     • app gốc CHỈ có MỘT dòng "Max Open" (không có Quy mô vị thế,
       không có Giá thanh lý dự tính)  ⇢ ẩn hai dòng kia
     • chữ dòng thông tin : "USDT" rộng 24,67pt (gốc) / 29,48pt (mình)
       ⇢ tỉ lệ 0,837  ⇢ 13 → 11px
     • ô tick TP/SL       : 12,5pt (gốc) / 15,1pt (mình)  ⇢ 15 → 12,5px
       chữ TP/SL rộng 28,67pt (gốc) / 32,35pt (mình) ⇢ 12,5 → 11px
     • nút Long/Short     : cao 38pt (gốc) / 49,6pt (mình)  ⇢ 50 → 38px
       khe giữa 2 nút 12pt (gốc) / 10,4pt (mình)      ⇢ 10 → 12px
       chữ cao 13pt (gốc) / 15,46pt (mình)            ⇢ 17 → 14,5px
       chữ TRẮNG, nền #00C383 (xanh) và #F65353 (đỏ)
   =================================================================== */
#scr-trade .availRow.infoRow.rowOff{display:none}

#scr-trade .infoRow>span,
#scr-trade .infoRow>b{font-size:11px}

#scr-trade .chk{font-size:11px;min-height:30px;gap:8px}
#scr-trade .chk input{width:12.5px;height:12.5px}

#scr-trade .btnCol{gap:12px;margin-top:8px}
#scr-trade .btnCol .bigBtn{
  min-height:38px;font-size:14.5px;font-weight:700;color:#fff;
}
#scr-trade .btnCol .bigBtn.long{background:#00C383;color:#fff}
#scr-trade .btnCol .bigBtn.short{background:#F65353;color:#fff}

/* ===================================================================
   BẢN 86 — tinh chỉnh khoảng cách cụm Max Open / TP/SL / hai nút
   Đo lại trên Chrome khung 428px so với app gốc (pt):
     tâm chữ Max Open → tâm ô tick : gốc 29,4 · mình 30,45  ⇢ -1px
     tâm ô tick → mép trên nút     : gốc 23,8 · mình 31,0   ⇢ -7,2px
   (khe cột cha đã là 8px nên chỉ cần bù phần còn lại)
   =================================================================== */
#scr-trade .chk{margin-top:-1px}
#scr-trade .btnCol{margin-top:.8px}

/* ===================================================================
   BẢN 87 — hàng tab vị thế + hàng tóm tắt PnL, đo trên ảnh app gốc
   (1284×2778 ⇢ 3,0 px/pt):
     gạch trắng tab đang chọn : y 599,67–600,33 (cao 1pt), x 15–96,67
                                = đúng bề rộng chữ, nằm SÁT trên đường kẻ
     đường kẻ ngang           : y 600,67 và y 643,0 · màu #292A2B
     hàng tóm tắt             : cao 42,33pt (600,67 → 643,0)
     "PnL"                    : x 15–46,33 · gạch đứt dưới x 15–49,67
     giá trị                  : x 50 (cách nhãn 3,67pt) · cao chữ 8,67pt
     vạch ngăn "|"            : x 107,33 · cao 11,67pt · màu #333538
     "TP / SL"                : x 118–172 (rộng 54,33pt)
     nút "Close All"          : x 343–412,67 (70 × 26pt) · nền #222324
       chữ rộng 48pt cao 9pt · mép phải cách lề 15,33pt
   =================================================================== */
#lowTabs{padding-bottom:0;border-bottom:1px solid #292A2B}
#lowTabs .lt{min-height:34px}
#lowTabs .lt.on::after{bottom:0;height:1px;border-radius:0}
.ltCnt{font-weight:inherit}

.psSum{
  display:flex;align-items:center;gap:0;
  min-height:42.33px;padding:0 14px;
  border-bottom:1px solid #292A2B;
}
.psPnlLbl{font-size:13px;color:var(--tx2);border-bottom:1px dashed var(--tx3);text-decoration:none}
#psSumPnl{font-size:13px;font-weight:500;margin-left:3.7px}
#psSumPnl.up{color:var(--up)} #psSumPnl.dn{color:var(--dn)}
.psSep{width:1px;height:11.7px;background:#333538;margin:0 11.7px;flex:0 0 auto}
.psTp{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tx);padding:0}
.psCaret{
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:5.5px solid #8A8D92;display:block;font-style:normal;
}
.psSpace{flex:1 1 auto}
.psCloseAll{
  flex:0 0 auto;min-width:70px;min-height:26px;padding:0 10px;
  border-radius:999px;background:#222324;color:var(--tx);
  font-size:12.5px;font-weight:500;
}
.psCloseAll:active{opacity:.7}

/* ===================================================================
   BẢN 88 — chỉnh đúng từng pt hàng tab vị thế + hàng tóm tắt
   Tách chữ trên ảnh gốc (3,0 px/pt) ra từng cụm:
     "PnL"      x 16,00–35,33  (rộng 19,67 · mình 23 ở 13px ⇢ 11px)
     giá trị    x 41,00–96,00  (cách nhãn 5,67pt)
     vạch "|"   x 107,33       (cách giá trị 11,33 · cách "TP" 10,33)
     "TP / SL"  x 117,67–158,00 (rộng 40,33 · mình 42,91 ở 13px ⇢ 12px)
     mũi tên    x 165,00–172,00 (7,33 × 5,00pt · cách "SL" 7pt)
     "Close All" rộng 48,33pt  (mình 52,33 ở 12,5px ⇢ 11,5px)
     nút        x 343–412,67   (70 × 26pt · mép phải cách lề 15,33pt)
   Hàng tab: khe giữa các tab 27,3pt (95,33→122,67 · 224,67→252,33),
   KHÔNG có đường kẻ phía trên (ảnh gốc nền đen liền), gạch trắng rộng
   hơn chữ 1,3pt mỗi bên (15,00–96,67 so với chữ 16,33–95,33).
   =================================================================== */
#scr-trade #lowTabs{border-top:none;gap:27.3px}
#lowTabs .lt.on::after{left:-1.3px;right:-1.3px}

.psSum{padding:0 15.3px 0 14px}
.psPnlLbl{font-size:11px}
#psSumPnl{font-size:11px;margin-left:5.7px}
.psSep{margin:0 10.3px 0 11.3px}
.psTp{font-size:12px;gap:7px}
.psCaret{border-left-width:3.7px;border-right-width:3.7px;border-top-width:5px}
.psCloseAll{min-width:70px;padding:0 8px;font-size:11.5px}

/* ===================================================================
   BẢN 89 — mũi tên cạnh "TP / SL" bị bóp còn 6px do box-sizing:border-box
   (width:0 kẹp viền lại). Cho riêng nó tính theo content-box để rộng
   đúng 7,4px ≈ 7,33pt như ảnh gốc.
   =================================================================== */
.psCaret{box-sizing:content-box}

/* ===================================================================
   BẢN 90 — THẺ VỊ THẾ TRONG MÀN FUTURES (đo trên ảnh gốc, 3,0 px/pt)
     thẻ        x 15–412,67 · y 659,33–781 (cao 122) · nền #1A1B1C
     nút Close  x 353–400,67 (48 × 24pt) · nền #272829 · chữ rộng 30,67
     dòng 1     cặp x 28,33–99,33 · [S] x 108,33–120,67 (12,67×13)
                Cross-Multi x 127,33 · vạch x 192,33 · 20X x 199,33
                bút chì x 222–229,33
     dòng 2     nhãn y 709,33–719,33 · gạch đứt phải y 722,33
     dòng 3     số y 727,33–741,67 · gạch đứt trái y 743,33
                ↗ x 278–289,67 · +0,0831 x 297,67–353 · % x 358,67–400
     dòng 4     Entry x 28–53,67 · 86.144 x 58,33–102,33 · vạch 110,67
                ▯ x 120,33–129,33 · 86.104 x 135–178,67
                Liq. x 335,67–351,67 · số cam #ED9213 x 357,33–400,33
   =================================================================== */
.psList{padding:0 14px}
.pcCard{background:#1A1B1C;border-radius:10px;padding:12px 12px 10px 13.3px;margin-top:8px}

.pcTop{display:flex;align-items:center;min-height:24px}
.pcPair{font-size:17px;font-weight:700;color:var(--tx);letter-spacing:-.2px}
.pcSide{
  width:12.7px;height:13px;border-radius:3px;margin-left:9px;
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;font-style:normal;color:#fff;line-height:1;
}
.pcSide.sh{background:#F65353} .pcSide.lo{background:#00C383}
.pcMode{font-size:11.5px;color:var(--tx2);margin-left:6.7px}
.pcBar{width:1px;height:11px;background:#333538;flex:0 0 auto;margin:0 7.2px;display:block}
.pcLev{font-size:11.5px;color:var(--tx2)}
.pcPen{width:9px;height:9px;color:var(--tx2);margin-left:5.7px;flex:0 0 auto}
.pcSp{flex:1 1 auto}
.pcClose{
  flex:0 0 auto;min-width:48px;min-height:24px;padding:0 8px;
  border-radius:999px;background:#272829;color:var(--tx);
  font-size:12.5px;font-weight:500;
}
.pcClose:active{opacity:.7}

.pcGrid{display:flex;justify-content:space-between;align-items:flex-start;margin-top:14px}
.pcCol{display:flex;flex-direction:column;gap:8px;min-width:0}
.pcCol.rt{align-items:flex-end}
.pcLbl{display:flex;align-items:center;gap:5.7px;font-size:12px;color:#8E9095;white-space:nowrap}
.pcLbl.dotted{
  border-bottom:1px dashed var(--tx3);text-decoration:none;
  padding-bottom:3px;margin-bottom:-4px;
}
.pcIco{width:10.7px;height:10px;flex:0 0 auto}

.pcBig{display:flex;align-items:center;font-size:17px;font-weight:600;color:var(--tx)}
.pcBig.dash{border-bottom:1px dashed var(--tx3);padding-bottom:5px;margin-bottom:-6px}
.pcBig.up{color:var(--up)} .pcBig.dn{color:var(--dn)}
.pcShare{width:12px;height:12px;margin-right:8px;flex:0 0 auto}
.pcBig small{font-size:13px;font-weight:600}

.pcFoot{display:flex;align-items:center;margin-top:16px;font-size:12px}
.pcFoot .pcLbl{font-size:12px}
.pcFoot b{font-size:12px;font-weight:500;color:var(--tx);margin-left:4.7px}
.pcFoot b.dash{border-bottom:1px dashed var(--tx3);padding-bottom:3px;margin-bottom:-4px}
.pcCand{width:9.3px;height:11.7px;color:var(--tx2);flex:0 0 auto}
.pcLiq{color:#ED9213 !important}

/* ===================================================================
   BẢN 91 — cỡ chữ thẻ vị thế: đo bề rộng từng cụm rồi quy ra px
   (bề rộng gốc ÷ bề rộng bản mình × cỡ đang dùng)
     BTCUSDT               71,33 / 78,70  ⇢ 17   → 15,4px
     Cross - Multi         57,67 / 70,19  ⇢ 11,5 →  9,5px
     20X                   17,00 / 21,77  ⇢ 11,5 →  9,5px
     bút chì                7,33 /  9,00  ⇢  9   →  7,3px
     Close                 30,67 / 33,70  ⇢ 12,5 → 11,4px
     Size (USDT)           73,67 / 85,14  ⇢ 12   → 10,4px
     Unrealized PnL (USDT)113,00 /130,06  ⇢ 12   → 10,4px
     số lớn                37,67 / 41,94  ⇢ 17   → 15,3px
     phần trăm             41,33 / 50,31  ⇢ 13   → 10,7px
     Entry / giá           25,67 / 29,66  ⇢ 12   → 10,4px
   =================================================================== */
.pcPair{font-size:15.4px}
.pcMode,.pcLev{font-size:9.5px}
.pcPen{width:7.3px;height:7.3px}
.pcClose{font-size:11.4px}
.pcLbl,.pcFoot .pcLbl,.pcFoot b{font-size:10.4px}
.pcBig{font-size:15.3px}
.pcBig small{font-size:10.7px}

/* ===================================================================
   BẢN 92 — chiều cao thẻ vị thế: 132,73 → 122pt như ảnh gốc
   Khe nhãn↔số trong cột: mực chữ gốc cách 8pt, bản mình 16pt (do
   line-height) ⇢ gap 8 → 1px. Dòng Entry lùi thêm 4px (16 → 12).
   =================================================================== */
.pcCol{gap:1px}
.pcFoot{margin-top:12px}

/* ===================================================================
   BẢN 93 — hai icon bên phải hàng tab phải ĐỨNG YÊN, chỉ các tab trượt
   Ảnh gốc: "Assets" bị mờ dần rồi khuất, còn hai icon luôn thấy:
     icon lọc   x 364,33–383,67 (19,67 rộng · cách chữ Assets 23pt)
     icon lịch  x 397,67–412,67 (15,33 rộng · cách icon lọc 14pt)
                mép phải 412,67 = đúng lề phải trang
   Thêm: chừa 34px dưới danh sách vị thế để thanh "chart" dính đáy
   không che mất dòng Entry.
   =================================================================== */
#scr-trade #lowTabs{gap:0;align-items:stretch}
#lowTabs .ltRow{
  display:flex;align-items:center;gap:27.3px;
  flex:1 1 auto;min-width:0;overflow-x:auto;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);
          mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);
}
#lowTabs .ltRow::-webkit-scrollbar{display:none}
#lowTabs>.ltIco{flex:0 0 auto;align-self:center;padding:0;margin-left:14px}
#lowTabs>.ltIco:first-of-type{margin-left:9px}
#lowTabs>.ltIco svg{width:17px;height:17px}
#lowTabs>.ltIco:last-of-type svg{width:15.5px;height:15.5px}
#lowTabs>.ltIco .ltDot{top:0;right:-1px;width:4.7px;height:4.7px}

.psList{padding-bottom:34px}

/* ===================================================================
   BẢN 94 — bốn tab dưới màn Futures đổi danh sách TẠI CHỖ
   Lỗi cũ: bấm "Tài sản" / "Lệnh mở" là văng hẳn sang màn khác.
   Nay: Positions / Open Orders / Bots / Assets chỉ đổi phần danh sách
   bên dưới, đúng như app thật.
   =================================================================== */
.psLeft{display:flex;align-items:center}
.pcEmpty{
  padding:34px 0;text-align:center;
  font-size:12px;color:var(--tx3);
}
.pcWallet .pcFoot b{font-size:12.5px;margin-left:0}

/* ===================================================================
   BẢN 95 — màn Tài sản bỏ khối "Thống kê giao dịch"
   Ảnh app thật (X gửi 21/09, 23:41): màn Tài sản kết thúc ở ba dòng
   cam kết dưới "Secured by Fireblocks · Elliptic" — KHÔNG có khối
   thống kê. Khối đó dời sang màn Cài đặt.
   Kèm: pill trên cùng màn Futures ghi "Cross - Multi" (app thật) thay
   cho "Cross margin - Multi" vốn dài quá nên bị xuống 2 dòng.
   =================================================================== */
#scr-settings .statGrid{margin-bottom:10px}
.modeChip{white-space:nowrap}


/* ===================================================================
   BẢN 96 — LỖI NẶNG: màn Futures luôn hiện, đè lên mọi màn khác
   Bản 77 viết `#scr-trade{display:flex}`. Chọn theo ID nên mạnh hơn
   `.screen{display:none}` ⇢ màn Futures KHÔNG BAO GIỜ bị ẩn. Bấm
   "Tài sản" ở thanh dưới là thấy nguyên màn Futures nằm trên, phải
   cuộn hết nó mới tới màn Tài sản, và thanh "BTCUSDT biểu đồ" dính
   đáy bám theo sang cả màn khác.
   Sửa: chỉ hiện khi có lớp .on như mọi màn còn lại.
   =================================================================== */

/* ===================================================================
   BẢN 97 — bỏ đường cong xanh trên thẻ tổng tài sản
   Nó nằm đè lên khối "Nạp tới 100 USDT để mở khoá" và app Bitunix thật
   cũng không có đường này. Đã xoá thẻ <svg id="asSpark"> khỏi HTML;
   luật dưới giữ lại phòng khi còn sót.
   =================================================================== */
.asSpark{display:none !important}

/* ===================================================================
   BẢN 99 — dòng đo nhịp thời gian thực trong Cài đặt
   =================================================================== */
#rtDiag{white-space:pre-line;line-height:1.5}

/* ===================================================================
   BẢN 101 — KHỐI SỐ DƯ TRÊN CÙNG TRANG CHỦ (ảnh app thật 1284px ⇢ 3,0 px/pt)
     "Total Balance (USDT)" x 15,33–130,33 · y 118,33–128,33 (cao 10,33)
     con mắt        x 137,67–149,33 (12 × 12pt) · cách chữ 7,3pt
     số lớn "10.79" y 142–161,67 (cao 20pt)
     "≈$10.79"      y 175,33–188,33
     đường kẻ       y 200,67 · màu #2A2A2B · x 8,33–412,67
     "Futures"      x 16–60,33 · y 216,67–226
     logo BTC       x 69,33–85,33 (16,33 × 16,33pt)  ← CẮT TỪ ẢNH
     "+0.99 USD"    mép phải 412 · xanh
     hai nút        y 249,33–283,33 (cao 34pt) · bo tròn hẳn
       Add Funds  x 15–205,7 (rộng 190,7) nền #C4F462 chữ đen
       Trade      x 222,3–414,7 (rộng 192,4) nền #27282A chữ trắng
       khe giữa 16,6pt
   =================================================================== */
.hBal{padding:0 15px;margin-top:14px}
.hBalTop{display:flex;align-items:center;gap:7.3px}
.hBalTop>span{font-size:12.5px;color:var(--tx2)}
.hEye{padding:0;background:none;display:flex;align-items:center}
.hEye img{width:12px;height:12px;display:block;opacity:.85}
#hBalNum{
  display:block;margin-top:13.7px;
  font-family:var(--mono);font-size:26px;font-weight:700;line-height:1;
  color:var(--tx);letter-spacing:-.5px;
}
#hBalUsd{display:block;margin-top:13.6px;font-size:13px;color:var(--tx2)}
.hBalLine{height:1px;background:#2A2A2B;margin:12.4px 0 0}
.hBalRow{display:flex;align-items:center;gap:9px;margin-top:16px}
.hBalRow>span{font-size:13px;color:var(--tx)}
.hBtc{width:16.3px;height:16.3px;display:block;border-radius:50%}
.hBalRow .sp{flex:1 1 auto}
#hBalPnl{font-size:13px;font-weight:500}
#hBalPnl.up{color:var(--up)} #hBalPnl.dn{color:var(--dn)}
.hBalBtns{display:flex;gap:16.6px;margin-top:23.3px}
.hBalBtn{
  flex:1 1 0;min-height:34px;border-radius:999px;
  background:#27282A;color:var(--tx);
  font-size:13.5px;font-weight:600;
}
.hBalBtn.add{background:#C4F462;color:#0B0B0B}
.hBalBtn:active{opacity:.75}

/* ===================================================================
   BẢN 102 — nắn khối số dư theo số đo lại trên Chrome khung 428px
     "Total Balance (USDT)" rộng 125 (mình) / 115,33 (gốc) ⇢ 12,5 → 11,5px
     số lớn: chiều cao chữ số gốc 20pt ⇢ 26 → 27,5px
     đường kẻ gốc chạy từ x 8,33 (rộng hơn lề chữ) ⇢ lùi trái 6,7px
     khe nút → ô icon: gốc 15pt (283,33 → 298,33) · mình 12,5 ⇢ +2,5px
   =================================================================== */
.hBalTop>span{font-size:11.5px}
#hBalNum{font-size:27.5px}
.hBalLine{margin-left:-6.7px}
.hBal{margin-bottom:2.5px}

/* ===================================================================
   BẢN 104 — bỏ khối "Nạp tới 100 USDT để mở khoá / Tiến độ 9/50USDT /
   [Nạp]" trong thẻ tổng tài sản (X yêu cầu xoá). Luật dưới giữ lại
   phòng khi còn sót ở đâu đó.
   =================================================================== */
.asUnlock{display:none !important}

/* ===================================================================
   BẢN 105 — số dư dùng ĐÚNG FONT như app gốc, không phải font mono
   X gửi ảnh so sánh: bản mình dùng SF Mono nên số 0 có gạch chéo và
   các chữ số rộng bằng nhau; app gốc dùng font hệ thống thường.
   Đo hai ảnh cùng tỉ lệ (nhãn "Total Balance (USDT)" đều rộng 403px):
     chiều cao chữ số : mình 62px · gốc 57px  ⇢ nhỏ lại 8,8%
     dòng "≈$"        : mình 33px · gốc 32px, rộng 65 / 58 ⇢ 13 → 12px
   =================================================================== */
#hBalNum{font-family:var(--font);font-size:23px;letter-spacing:0}
#hBalUsd{font-size:12px}

/* ===================================================================
   BẢN 106 — cỡ số dư đo bằng cách CHO HIỆN ĐÚNG CHUỖI "11.18" như ảnh
   Lấy nhãn "Total Balance (USDT)" làm thước: 403px ảnh = 116,31pt bản
   mình ⇢ 3,465 px/pt.
     "11.18"   gốc 202px = 58,30pt  ·  thử 25px ra 58,44  ⇢ 25px
     "≈$11.18" gốc 133px = 38,38pt  ·  11,5px ra 40,88    ⇢ 10,8px
   =================================================================== */
#hBalNum{font-size:25px}
#hBalUsd{font-size:10.8px}

/* ===================================================================
   BẢN 107 — số dư nhỏ lại 10% theo yêu cầu
   Ảnh X khoanh vẫn là bản CŨ (số 0 còn gạch chéo ⇒ bản ≤104, cỡ 27,5px
   font mono). Nhỏ 10% của 27,5 là 24,75px.
   Dòng "≈$" giữ 10,8px — đã nhỏ hơn bản X đang xem (13px) tới 17%.
   =================================================================== */
#hBalNum{font-size:24.75px}

/* ===================================================================
   BẢN 108 — hai nút Add Funds / Trade thấp lại 5%
   Cao 34px (đo từ ảnh app gốc: y 249,33–283,33) → 34 × 0,95 = 32,3px
   =================================================================== */
.hBalBtn{min-height:32.3px}

/* ===================================================================
   BẢN 109 — số dư to lên 5%: 24,75 → 25,99px
   =================================================================== */
#hBalNum{font-size:25.99px}

/* ===================================================================
   BẢN 110 — FONT SỐ DƯ: tự chở theo font, không phụ thuộc máy
   X gửi ảnh mẫu "11.17": số 1 có CHÂN, số 7 CONG, số 0 KHÔNG gạch chéo,
   và các ký tự KHÔNG bằng nhau (dấu chấm hẹp hơn chữ số) ⇒ font tỉ lệ,
   không phải mono.
   Đo trên ảnh gốc: chữ số cao 19,67pt · "10.79" rộng 67,33pt
     ⇒ tỉ lệ rộng/cao = 3,423
   Thử các font: Carlito-Bold 3,400 (lệch 0,7%) · Liberation Mono 4,221
     · DejaVu Sans 3,934  ⇒ CARLITO khớp cả hình lẫn tỉ lệ.
   Nhúng thẳng Carlito đã cắt gọn (chỉ chữ số và dấu, 3,7KB) nên iPhone
   hiện y hệt, không còn phụ thuộc máy chọn font nào.
   Cỡ: Carlito cao 65/100px ⇒ 19,67 / 0,65 = 30,26px
   =================================================================== */
@font-face{
  font-family:'BxNum';
  src:url('icons/bxnum.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'BxNum';
  src:url('icons/bxnum-r.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
#hBalNum{font-family:'BxNum',var(--font);font-size:30.26px;letter-spacing:0}
#hBalUsd{font-family:'BxNum',var(--font);font-weight:400}

/* ===================================================================
   BẢN 111 — chốt cỡ sau khi đã nhúng font Carlito
     "10.79"   gốc 67,33pt · 30,26px ra 69,44  ⇒ 29,34px
     "≈$11.17" gốc 38,38pt · 10,80px ra 35,48  ⇒ 11,68px
   =================================================================== */
#hBalNum{font-size:29.34px}
#hBalUsd{font-size:11.68px}

/* ===================================================================
   BẢN 112 — số dư Tổng tài sản (màn Tài sản) dùng CÙNG FONT với Trang chủ
   Đang là SF Mono 34px (chiều cao chữ số 31px). Carlito cao 0,833 lần cỡ
   chữ ⇒ để giữ nguyên chiều cao chữ số: 31 / 0,833 = 37,2px.
   Dòng "≈$" theo đúng tỉ lệ của khối Trang chủ (11,68 / 29,34 = 0,398):
   37,2 × 0,398 = 14,8px.
   =================================================================== */
.asCard #asTotal{font-family:'BxNum',var(--font);font-size:37.2px;letter-spacing:0}
.asCard #asTotalUsd{font-family:'BxNum',var(--font);font-weight:400;font-size:14.8px}

/* ===================================================================
   BẢN 113 — hai nút Add Funds / Trade dời LÊN tới vạch vàng
   Đo trên ảnh X đánh dấu (1191px ⇢ 2,783 px/pt):
     mép trên nút hiện tại : y 265,93 pt
     vạch vàng             : y 253,35–256,23 pt · tâm 254,79
     ⇒ dời lên 11,13pt  ·  khe trên 23,3 → 12,17px
   =================================================================== */
.hBalBtns{margin-top:12.17px}

/* ===================================================================
   BẢN 114 — số dư Trang chủ
     khoanh vàng (số lớn) to thêm 5%  : 29,34 × 1,05 = 30,81px
     khoanh đỏ  (dòng ≈$) to thêm 12% : 11,68 × 1,12 = 13,08px
   =================================================================== */
#hBalNum{font-size:30.81px}
#hBalUsd{font-size:13.08px}

/* ===================================================================
   BẢN 115 — đẩy cả cụm dưới (hàng 5 ô chức năng trở xuống) xuống
   ngang vạch vàng, canh theo MÍ TRÊN ô xám "Buy Crypto".
   Đo trên ảnh X đánh dấu (1191px ⇢ 2,783 px/pt):
     ô xám Buy Crypto : y 305,46 – 350,38 pt (cao 45,28)
     vạch vàng        : y 318,39 – 323,07 pt · tâm 320,73
     ⇒ đẩy xuống 320,73 − 305,46 = 15,27pt
   =================================================================== */
.homeQuick{margin-top:15.27px}

/* ===================================================================
   BẢN 116 — kéo cụm (đường kẻ · hàng Futures · hai nút) LÊN sát vạch đỏ
   Đo trên ảnh X đánh dấu (1191px ⇢ 2,783 px/pt):
     mí dưới số "801,000.00" : y 186,51 pt   ← mốc X chỉ
     vạch đỏ                 : y 179,32–182,56 pt
     dòng "≈$801,000.00"     : y 186,87–199,81 pt
     đường kẻ hiện tại       : y 211,66 pt
   Đường kẻ chỉ lên được tới ngay dưới dòng ≈$ (nếu lên nữa sẽ đè lên
   chữ), nên rút khe 12,4 → 2,5px = kéo lên 9,9pt.
   =================================================================== */
.hBalLine{margin-top:2.5px}

/* ===================================================================
   BẢN 117 — hai chỗ X đánh dấu trên Trang chủ
   Quy ảnh iPhone về hệ toạ độ Chrome 428px bằng mốc chung "mép trên nút
   lime": ảnh 251,55pt · Chrome 203,45pt ⇒ lệch 48,10pt.
     vạch VÀNG tâm 177,71 ⇢ 129,61   · dòng ≈$ đang ở 136,61  ⇒ lên 7,00px
     vạch HỒNG tâm 215,08 ⇢ 166,98   · chữ Futures đang 173,75 ⇒ lên 6,77px
   Kéo dòng ≈$ lên 7px thì hàng Futures cũng lên theo 7px (còn lệch
   0,23px so với vạch hồng) ⇒ bù 0,23px vào khe trên đường kẻ.
   =================================================================== */
#hBalUsd{margin-top:6.6px}
.hBalLine{margin-top:2.73px}

/* ===================================================================
   BẢN 118 — thẻ "Fiat deposit returns 2%" theo đúng ảnh app gốc
   Chữ Anh sửa lại:
     "2% cashback on fiat deposits, up to 50 USDT"
       ⇢ "Fiat deposit returns 2%, up to 50 USDT"
     "Reward paid within 3 business days"
       ⇢ "Rewards issued in 3 working days"
   Ảnh gốc canh GIỮA (ảnh minh hoạ ở trên, hai dòng chữ canh giữa),
   bản mình đang canh trái.
   =================================================================== */
.hBan:not(.bCopy){text-align:center}
.hBan:not(.bCopy) .hDots{left:0;right:0;justify-content:center}

/* ===================================================================
   BẢN 119 — hạ ĐƯỜNG KẺ (trong khoanh hồng) xuống vạch đỏ
   Quy ảnh về hệ Chrome 428px bằng mốc "mép trên nút lime"
   (ảnh 241,13pt · Chrome 196,45pt ⇒ lệch 44,68pt):
     đường kẻ : ảnh 195,30 ⇢ 150,62
     vạch đỏ  : ảnh 201,60 ⇢ 156,92
     ⇒ hạ 6,30px
   Chỉ hạ MỘT MÌNH đường kẻ: cộng 6,3px khe trên và trừ 6,3px khe dưới
   để hàng Futures và hai nút đứng nguyên chỗ cũ.
   =================================================================== */
.hBalLine{margin-top:9.03px;margin-bottom:-6.3px}

/* ===================================================================
   BẢN 120 — đẩy tiếp cả cụm dưới xuống vạch vàng, canh theo VIỀN XÁM
   TRÊN của ô "Buy Crypto".
   Đo trên ảnh X (1191px ⇢ 2,783 px/pt):
     viền xám trên ô Buy Crypto : y 301,15 pt (ô cao 46,0)
     vạch vàng                  : y 309,77–313,36 · tâm 311,57
     ⇒ đẩy xuống 10,42pt  ·  khe trên 15,27 → 25,69px
   =================================================================== */
.homeQuick{margin-top:25.69px}

/* ===================================================================
   BẢN 121 — hai icon góc phải đầu trang (tai nghe · chuông) nhỏ 10%
   Ảnh cao 21px ⇒ 21 × 0,9 = 18,9px. Huy hiệu số "6" thu theo cùng tỉ lệ
   để không bị to lệch so với cái chuông.
   =================================================================== */
.hIco .hImg{height:18.9px}
.bellDot{
  min-width:12.6px;height:12.6px;padding:0 2.7px;
  font-size:8.1px;line-height:12.6px;top:-1.8px;right:-4.5px;
}

/* ===================================================================
   BẢN 122 — THANH TRƯỢT màn Futures dựng lại theo ảnh app gốc
   Đo trên ảnh X gửi (1191px ⇢ 2,783 px/pt):
     GẠCH NGANG : y 359,36–361,88 (dày ~2,2pt) · x 185 → 412,55
                  màu #333537 — bản mình THIẾU HẲN gạch này
     NÚM TRÒN   : 10,06 × 10,06pt · là VÒNG TRÒN rỗng — viền xám sáng
                  #9A9BA0 dày ~2,5pt, lõi tối. Bản mình đang ngược:
                  lõi sáng #C9CBCE + viền tối #55585C, lại to 17px
     5 CHẤM MỐC : đường kính 2,2pt · màu #6A6E6F
                  ở 20% · 40% · 60% · 80% · 100% (đo được 228,19 ·
                  273,47 · 319,11 · 364,39 · 410,03 pt)
                  bản mình đang để 0/25/50/75/100% và chấm to 6pt
   =================================================================== */
#scr-trade .rng{
  height:22px;margin:6px 0 2px;
  background-image:
    linear-gradient(#333537,#333537),
    radial-gradient(circle at 20% 50%, #6A6E6F 1.1px, transparent 1.5px),
    radial-gradient(circle at 40% 50%, #6A6E6F 1.1px, transparent 1.5px),
    radial-gradient(circle at 60% 50%, #6A6E6F 1.1px, transparent 1.5px),
    radial-gradient(circle at 80% 50%, #6A6E6F 1.1px, transparent 1.5px),
    radial-gradient(circle at calc(100% - 1.1px) 50%, #6A6E6F 1.1px, transparent 1.5px);
  background-size:100% 2.2px, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  background-position:0 50%, 0 0, 0 0, 0 0, 0 0, 0 0;
  background-repeat:no-repeat;
}
#scr-trade .rng::-webkit-slider-runnable-track{background:transparent;height:2.2px}
#scr-trade .rng::-webkit-slider-thumb{
  width:10px;height:10px;border-radius:50%;
  background:var(--bg);border:2.5px solid #9A9BA0;
  box-shadow:none;margin-top:-3.9px;
}
#scr-trade .rng::-moz-range-track{background:transparent;height:2.2px}
#scr-trade .rng::-moz-range-thumb{
  width:10px;height:10px;border-radius:50%;
  background:var(--bg);border:2.5px solid #9A9BA0;
}

/* ===================================================================
   BẢN 123 — hạ RIÊNG hai nút Add Funds / Trade xuống vạch đỏ
   Đo trên ảnh X (1191px ⇢ 2,783 px/pt):
     nút lime : y 241,13–272,76 pt (cao 31,98)
     vạch đỏ  : y 275,99–279,22 · tâm 277,61
     ⇒ hạ 4,85pt
   Cộng 4,85px khe trên và trừ 4,85px khe dưới để hàng 5 ô chức năng
   và mọi thứ bên dưới đứng nguyên chỗ.
   =================================================================== */
.hBalBtns{margin-top:17.02px;margin-bottom:-4.85px}

/* ===================================================================
   BẢN 125 — cỡ chữ sổ lệnh (màn Futures)
     khoanh đỏ  — giá giữa #bookLast : 18px  → nhỏ 10% → 16,20px
     khoanh vàng — hàng mua/bán .bookRow: 10,5px → to  5% → 11,03px
   Hàng vẫn cao 17px nên số ô không bị đội chỗ.
   =================================================================== */
#scr-trade #bookLast{font-size:16.2px}
#scr-trade .bookRow{font-size:11.03px}

/* ===================================================================
   BẢN 126 — 4 icon đầu màn Futures (biểu đồ · bot · nến · ...) nhỏ 15%
     icon thường : 21px → 17,85px
     icon "..."  :  6px →  5,10px
   Khe giữa các icon giữ nguyên 14px để 4 icon đứng đúng chỗ cũ.
   =================================================================== */
.pIco img{height:17.85px}
.pIco img.wide{height:5.1px}

/* ===================================================================
   BẢN 127 — ĐỒNG BỘ FONT SỐ TOÀN APP
   Lấy đúng font của số Tổng (Carlito đã cắt gọn = 'BxNum') đang dùng ở
   Trang chủ và ô Tổng tài sản (mục Futures màn Tài sản), đem dùng cho
   MỌI chỗ đang là var(--mono) — sổ lệnh, giá, PnL, ví, cài đặt, ô nhập…
   Chữ cái đi kèm (USDT, K…) rơi về var(--font) đúng như ô Tổng.

   Giữ nguyên cỡ nhìn thấy: đo trên trình duyệt ở 100px
       SF Mono  chữ số cao 74,22
       Carlito  chữ số cao 68,31   ⇒ nhỏ hơn 8,65%
   Nên xuất bản font riêng 'BxNumM' = đúng file cũ nhưng hạ unitsPerEm
   2048 → 1885 (2048 × 68,31/74,22). Font tự nở 1,0865 lần nên mọi
   font-size cũ giữ nguyên, chữ số cao y như trước, chỉ đổi kiểu chữ.
   (Làm trong file font, không dùng size-adjust — iPhone đời nào cũng ăn.)

   Chữ số Carlito là tabular (mọi chữ số rộng bằng nhau) nên cột số
   trong sổ lệnh và đồng hồ đếm ngược không bị nhảy.
   =================================================================== */
@font-face{
  font-family:'BxNumM';
  src:url('icons/bxnumm.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'BxNumM';
  src:url('icons/bxnumm-r.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
:root{--mono:'BxNumM',-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Inter,Roboto,'Segoe UI',sans-serif}

/* ===================================================================
   BẢN 128
   1) Khoanh vàng — pill "Cross - Multi NEW | 20X 20X" nhỏ lại 10%
        cao      34    → 30,60px
        chữ      13,5  → 12,15px
        khe/đệm  4/6/12/7 → 3,6/5,4/10,8/6,3px
        gạch ngăn 15   → 13,5px
        nhãn NEW  8    →  7,2px (đệm 1,5/3,5 → 1,35/3,15)
   2) Khoanh đỏ — số funding (-0.0074%) để CHỮ TRẮNG, không còn đỏ/xanh
      theo dấu. Dùng ID nên thắng class .dn, khỏi cần !important.
   =================================================================== */
.modeRow{min-height:30.6px;padding:0 3.6px}
.modeChip{font-size:12.15px;padding:0 5.4px;gap:5.4px}
.levChip{font-size:12.15px;padding:0 10.8px;gap:6.3px}
.modeSep{height:13.5px}
.miniTag{font-size:7.2px;padding:1.35px 3.15px;border-radius:3.15px}

#stFund{color:var(--tx)}

/* ===================================================================
   BẢN 129 — sửa nốt bản 128: pill vẫn cao 36px
   Vì .modeChip/.levChip có min-height:36px (dòng 734) đè lên min-height
   của .modeRow, nên hạ luôn hai ô con: 36 → 32,40px (đúng −10%).
   =================================================================== */
.modeChip,.levChip{min-height:32.4px}

/* ===================================================================
   BẢN 130 — ô "By cost" thiếu KHUNG NỀN XÁM
   Đo trên ảnh app thật X gửi (1191px ⇢ 2,783 px/pt), cột x=900 sạch chữ:
       ô "Market ▾"      y 604–686  cao 29,8pt
       ô "Best Market"   y 710–814  cao 37,7pt
       ô "By Cost"       y 838–942  cao 37,7pt   ← CÙNG cỡ ô Best Market
   Bản mình: ô By cost đang nền var(--card) #0F0F0F — gần như đen tịt
   trên nền đen nên không thấy khung; hai ô kia là var(--card2) #17171A.
   ⇒ đổi nền sang #17171A cho khớp ô Best Market bên trên, và hạ cao
     44 → 33px để hai ô bằng nhau đúng như app thật.
   (App thật hai ô đều 37,7pt, bản mình đều 33pt — bằng nhau là đúng
    tỉ lệ; muốn nở cả hai lên 37,7 thì sửa chung một lần sau.)
   =================================================================== */
#scr-trade .field.byCost{background:var(--card2);height:33px;min-height:33px}

/* ===================================================================
   BẢN 131 — nút dưới ô bước giá: ICON hai vạch đỏ/xanh, bỏ chữ
   Đo trên ảnh app thật (1191px ⇢ 2,783 px/pt), quét quanh x=445:
       vạch đỏ   y 1425–1439  cao 15px = 5,39pt  màu ~ (229,95,91)
       khe       y 1440–1447  cao  8px = 2,87pt
       vạch xanh y 1448–1461  cao 14px = 5,03pt  màu ~ (89,192,138)
       bề ngang  x 429–461   rộng 33px = 11,86pt
   Bản mình đang 17,6 × 7px, khe 2,4 ⇒ hạ đúng số đo trên.
   Khi chỉ xem 1 bên thì vạch còn lại cao gấp đôi cho dễ thấy.
   =================================================================== */
.bookSideIco{gap:2.87px;padding:2px}
.bookSideIco .sq{width:11.86px;height:5.2px;border-radius:2px}
.bookSideIco.v1 .sq.dn{display:none}
.bookSideIco.v2 .sq.up{display:none}
.bookSideIco.v1 .sq.up,.bookSideIco.v2 .sq.dn{height:13.27px}

/* ===================================================================
   BẢN 132 — số giá lớn giữa sổ lệnh
     cỡ chữ : 16,20 → nhỏ 3% → 15,71px
     màu    : 3 màu theo nhịp khớp lệnh (đọc từ kênh trade)
         khớp CAO hơn lần trước  → xanh  var(--up)  #24C18D
         khớp THẤP hơn lần trước → đỏ    var(--dn)  #F14B3F
         khớp BẰNG lần trước     → trắng var(--tx)  #FFFFFF
     Màu giữ nguyên tới lần khớp kế, không nhấp nháy theo mỗi lần vẽ.
   =================================================================== */
#scr-trade #bookLast{font-size:15.71px}
#scr-trade #bookLast.up{color:var(--up)}
#scr-trade #bookLast.dn{color:var(--dn)}
#scr-trade #bookLast.flat{color:var(--tx)}

/* ===================================================================
   BẢN 133 — sổ lệnh chỉ 5 dòng mỗi bên (đổi trong app.js: rowsPer 7→5).
   Không sửa CSS, ghi lại đây cho khỏi quên khi dò lịch sử bản.
   =================================================================== */

/* ===================================================================
   BẢN 134 — dải tỉ lệ Mua/Bán vẽ lại Y CHAN app thật
   Đo trên ảnh X gửi (1191px ⇢ 2,783 px/pt):
     dải      : y 1332–1376  ⇒ cao 45px = 16,17pt, chạy hết bề ngang cột
     nền xanh : (17,32,25)  = #24C18D phủ ~11% trên nền đen
     nền đỏ   : (37,23,23)  = #F14B3F phủ ~11%
     khe giữa : 12–13px = 4,5pt   (mỗi khối lùi 2,25px)
     mép chéo : khối xanh mép phải trên x=251 → dưới x=243  ⇒ nghiêng
                8px/36px, quy ra cả chiều cao dải là 3,6pt
     chữ trái : bắt đầu x=45px = 16,17pt  (cách mép dải 1,5pt)
     chữ phải : kết thúc x=503px = 180,76pt (cách mép dải 0,7pt)
     cao chữ  : 22px = 7,91pt  ⇒ cỡ chữ ~11px
   Số % đổi realtime theo khối lượng sổ lệnh (app.js đã tính sẵn pb).
   =================================================================== */
#scr-trade .ratioBar{
  position:relative;display:block;width:100%;
  height:16.17px;margin-top:4px;padding:0;
  font-size:11px;line-height:1;overflow:hidden;
}
#scr-trade .ratioBar .rbFill{
  position:absolute;top:0;bottom:0;display:block;height:auto;
  border-radius:2px;transition:width .18s linear;
}
#scr-trade .ratioBar #rbB{
  left:0;background:rgba(36,193,141,.11);
  -webkit-clip-path:polygon(0 0,100% 0,calc(100% - 3.6px) 100%,0 100%);
          clip-path:polygon(0 0,100% 0,calc(100% - 3.6px) 100%,0 100%);
}
#scr-trade .ratioBar #rbA{
  right:0;background:rgba(241,75,63,.11);
  -webkit-clip-path:polygon(3.6px 0,100% 0,100% 100%,0 100%);
          clip-path:polygon(3.6px 0,100% 0,100% 100%,0 100%);
}
#scr-trade .ratioBar .rbTx{
  position:absolute;top:0;bottom:0;
  display:flex;align-items:center;gap:4px;white-space:nowrap;
}
#scr-trade .ratioBar .rbTx.l{left:1.5px}
#scr-trade .ratioBar .rbTx.r{right:.7px}
#scr-trade .ratioBar .bs{font-weight:700;color:var(--up)}
#scr-trade .ratioBar .bs.s{color:var(--dn)}
#scr-trade .ratioBar #ratioB{color:var(--up)}
#scr-trade .ratioBar #ratioA{color:var(--dn)}

/* ===================================================================
   BẢN 135
   1) Hàng PnL dưới tab Vị thế: app thật ghi "+ TP / SL" (dấu cộng ở
      TRƯỚC chữ), không phải mũi tên xổ xuống ở sau. Đổi luôn markup.
   2) Giá thanh lý: cross có đệm cả ví nên công thức ra số âm; trước
      kẹp về 0 rồi in "Liq. 0.0" — app thật in "--". Sửa trong app.js.
   =================================================================== */
.psTp .psCaret{display:none}
.psTp .psPlus{width:13px;height:13px;flex:0 0 auto;color:var(--tx2)}
#scr-trade .psTp{gap:5px;color:var(--tx2)}

/* ===================================================================
   BẢN 136 — BẢNG CHI TIẾT VỊ THẾ
   Đo trên ảnh app thật (1284×2778 ⇒ 3,0 px/pt):
     nền bảng        #131414 (19,20,20)
     mép trên bảng   y 405,3pt  ⇒ cao ~520pt
     gạch đen ngăn   y 514,3–518,3pt ⇒ dày 4pt, màu #000
     lề trái/phải    16pt  (chữ 16,0 → số 411,7)
     "BTCUSDT"       cao chữ 13pt ⇒ cỡ ~18,5px
     chip Short      cao 17pt
     "180.8"         cao chữ 13pt ⇒ cỡ ~18,5px
     gạch ngăn xám   y 639,7pt, 1px, #292A2B
     hàng nút        y 846–875,7 ⇒ cao 30pt, nền #272829
       3 nút đều 114,5pt · nút ⇅ 29,6pt · khe 8pt
   =================================================================== */
.sheet.pdSheet{background:#131414;max-height:92dvh}
.sheet.pdSheet .sheetHead{display:none}
.sheet.pdSheet .sheetBody{padding:0;overflow:auto}
.sheet.pdSheet .grab i{background:#3A3B3D;width:46px;height:3px}

.pdHead{display:flex;gap:10px;padding:2px 16px 12px}
.pdHL{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.pdPair{font-size:18.5px;font-weight:700;color:var(--tx);line-height:1.1}
.pdChips{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pdSide,.pdChip{
  display:inline-flex;align-items:center;gap:3px;
  height:17px;padding:0 7px;border-radius:5px;
  font-style:normal;font-size:11.5px;font-weight:600;line-height:1;
}
.pdSide.lo{background:rgba(36,193,141,.9);color:#05261B}
.pdSide.sh{background:rgba(241,75,63,.9);color:#2E0704}
.pdChip{background:#272829;color:var(--tx2);font-weight:500}
.pdPen{width:11px;height:11px;flex:0 0 auto}
.pdWhen{font-size:11px;color:var(--tx2)}

.pdMini{
  width:106px;flex:0 0 auto;border:1px solid #232325;border-radius:8px;
  padding:5px 6px;display:flex;flex-direction:column;gap:2px;overflow:hidden;
}
.pdMiniTop{display:flex;align-items:baseline;gap:4px}
.pdMiniTop b{font-size:12px;font-weight:600;color:var(--tx)}
.pdMiniTop small{font-size:9.5px}
.pdMiniTop small.up{color:var(--up)} .pdMiniTop small.dn{color:var(--dn)}
#pdMiniCv{width:100%;height:46px;display:block}

.pdSplit{height:4px;background:#000}

.pdBody{padding:12px 16px 8px}
.pdGrid{display:flex;gap:10px;padding:2px 0 10px}
.pdGrid.tight{padding:4px 0 10px}
.pdCol{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.pdCol.rt{align-items:flex-end;text-align:right}
.pdK{
  display:inline-flex;align-items:center;gap:5px;
  font-size:12.5px;color:var(--tx2);line-height:1.2;
}
.pdK.dotted{border-bottom:1px dotted var(--tx3);padding-bottom:1px}
.pdSwap{width:12px;height:12px}
.pdShare{width:13px;height:13px;flex:0 0 auto}
.pdBig{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--mono);font-size:18.5px;font-weight:700;line-height:1.1;color:var(--tx);
}
.pdBig.up{color:var(--up)} .pdBig.dn{color:var(--dn)}
.pdBig small{font-size:12px;font-weight:600}
.pdBig.dash,.pdMid.dash,.pdV.dash{border-bottom:1px dashed var(--tx3);padding-bottom:1px}
.pdBar{display:inline-block;width:1px;height:11px;background:var(--line);flex:0 0 auto}
.pdUsd{font-size:11px;color:var(--tx2)}
.pdUsd.up{color:var(--up)} .pdUsd.dn{color:var(--dn)}
.pdMid{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--tx)}
.pdMid.liq{color:#E8A33D}

.pdLine{height:1px;background:#292A2B;margin:4px 0 6px}
.pdRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px}
.pdV{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--tx);
     display:inline-flex;align-items:center;gap:6px}
.pdV.up{color:var(--up)} .pdV.dn{color:var(--dn)}
.pdAct{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--tx2);padding:0}
.pdAct:active{opacity:.5}

.pdBtns{display:flex;gap:8px;padding:10px 15px calc(10px + var(--sab))}
.pdBtn{
  position:relative;flex:1 1 0;min-width:0;height:30px;border-radius:9px;
  background:#272829;color:var(--tx);font-size:13.5px;font-weight:500;
  display:flex;align-items:center;justify-content:center;
}
.pdBtn.sq{flex:0 0 29.6px;width:29.6px}
.pdBtn:active{opacity:.6}
.pdNew{
  position:absolute;top:-6px;left:50%;transform:translateX(2px);
  font-style:normal;font-size:7.5px;font-weight:800;line-height:1;
  background:var(--accent);color:var(--accent-ink);padding:1.5px 3px;border-radius:3px;
}

/* ===================================================================
   BẢN 137 — MÀN GIAO NGAY (kho coin + danh sách cặp + bảng mua/bán)
   Dùng lại đúng khuôn màu/kích cỡ của màn Thị trường cho đồng bộ.
   =================================================================== */
.spHold{padding:6px 14px 10px;border-bottom:1px solid var(--line)}
.spHTop{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.spHLbl{font-size:12.5px;color:var(--tx2)}
.spHTot{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--tx)}
.spHRow{display:flex;align-items:center;gap:8px;min-height:28px}
.spHK{font-size:13px;font-weight:600;color:var(--tx);min-width:52px}
.spHV{flex:1;font-family:var(--mono);font-size:13px;color:var(--tx);text-align:right}
.spHU{font-family:var(--mono);font-size:11px;color:var(--tx2);min-width:96px;text-align:right}

.spListHead{
  display:flex;justify-content:space-between;
  padding:9px 14px 5px;font-size:11px;color:var(--tx3);
}
.spListHead .r{text-align:right}
.spList{padding:0 14px 16px}
.spRow{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:52px;border-bottom:1px solid var(--line);
}
.spRow:active{background:var(--card2)}
.spL{display:flex;align-items:baseline;gap:2px}
.spL b{font-size:15px;font-weight:700;color:var(--tx)}
.spL span{font-size:11.5px;color:var(--tx3)}
.spR{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.spR b{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--tx)}
.spR small{font-family:var(--mono);font-size:11.5px}
.spR small.up{color:var(--up)} .spR small.dn{color:var(--dn)}

.spSegRow{display:flex;gap:8px;margin-bottom:12px}
.spSeg{
  flex:1;min-height:38px;border-radius:9px;background:var(--card2);
  color:var(--tx2);font-size:14px;font-weight:600;
}
.spSeg.on{background:var(--up);color:#05261B}
.spSeg:nth-child(2).on{background:var(--dn);color:#2E0704}
.spInfo{display:flex;align-items:center;justify-content:space-between;min-height:26px;font-size:12.5px;color:var(--tx2)}
.spInfo b{font-family:var(--mono);font-size:12.5px;color:var(--tx)}
.sheetBtn.good{background:var(--up);color:#05261B}
.sheetBtn.bad{background:var(--dn);color:#2E0704}

/* Bản 136 (sửa): gạch nét đứt chỉ dài bằng CHỮ, không kéo hết cột */
.pdCol > .pdK,.pdCol > b,.pdCol > small{align-self:flex-start}
.pdCol.rt > .pdK,.pdCol.rt > b,.pdCol.rt > small{align-self:flex-end}

/* BẢN 138 — chỉ sửa logic (bán 100% coin bị làm tròn lên thành thiếu coin),
   không đổi giao diện. Ghi lại cho khỏi hụt số bản khi dò lịch sử. */

/* ===================================================================
   BẢN 139 — hàng tab dưới màn Futures đo lại y chan
   Đo trên ảnh app thật X gửi (1191×2576 ⇒ 2,7827 px/pt), đã lọc nét bút đỏ:
     chữ "Positions (1)"  mực x 16,17 → 95,59  (rộng 79,78 · cao 12,22)
     icon lọc             mực x 364,4 → 383,8  (19,76 × 15,09)
     icon lịch sử         mực x 397,8 → 412,5  (15,09 × 15,09)
     khe giữa hai icon    14,0pt
     gạch dưới tab chọn   y 599,1–600,5 ⇒ DÀY 1,26pt (bản mình đang 1px)
     đường kẻ ngang cả hàng ngay dưới gạch, màu #262626
   Bản mình đo lại: chữ mực rộng 81,01 ở cỡ 14px ⇒ lệch 1,5%, GIỮ NGUYÊN cỡ.
   Sai thật nằm ở ICON: mực cao 11,19 / 11,82 so với 15,09 của app thật
   (nhỏ hơn 22–26%) ⇒ phóng khung svg 17 → 22,92 và 15,5 → 19,80.
   Icon lọc vẽ lại cho dài ra đúng tỉ lệ 1,31 (19,9 × 15,1).
   Icon thứ hai app thật là LỊCH + ĐỒNG HỒ, không phải lịch trơn.
   =================================================================== */
#scr-trade #lowTabs{padding-left:15.5px;padding-right:13.2px}
#lowTabs .lt.on::after{height:1.3px}
#lowTabs>.ltIco{margin-left:10.15px}
#lowTabs>.ltIco:first-of-type{margin-left:9px}
#lowTabs>.ltIco svg{width:22.92px;height:22.92px}
#lowTabs>.ltIco:last-of-type svg{width:19.8px;height:19.8px}
#lowTabs>.ltIco .ltDot{top:1.4px;right:1.5px;width:4.3px;height:4.3px}

/* ===================================================================
   BẢN 140 — chỉnh nốt hai icon hàng tab sau khi đo lại trên link
   Đo bản 139: icon lọc mực 19,85 × 15,08 (app thật 19,76 × 15,09) ⇒ ĐẠT.
   Icon lịch sử mực 16,83 × 16,83 vì vòng đồng hồ lòi ra khỏi khung 24
   ⇒ hạ khung 19,8 → 17,75 cho mực đúng 15,09 × 15,09.
   Tính lại vị trí để mực khớp app thật:
     lịch sử  mực phải 412,5  ⇒ đệm phải 14,2px
     lọc      mực phải 383,8  ⇒ khe giữa hai nút 10,7px
   =================================================================== */
#scr-trade #lowTabs{padding-right:14.2px}
#lowTabs>.ltIco{margin-left:10.7px}
#lowTabs>.ltIco:last-of-type svg{width:17.75px;height:17.75px}

/* ===================================================================
   BẢN 141 — MÀN TÀI SẢN đo lại theo 2 ảnh app thật X gửi
   (1284×2778 ⇒ 3,0 px/pt)

   A. Mục Tổng quan
     tab con "Assets"   mực x 15,7 → 66,3 · cao 11,67  ⇒ cỡ ~16px
     tab con "Account"  mực x 84,7 → 146,3   (khe 18,4pt)
     icon lưới          x 399,7 → 408 · 8,67 × 14  (2 cột × 3 chấm)
     dòng nạp on-chain  logo 24×24 ở x 15 · địa chỉ x 51,3 cao 10,67
                        chữ "Deposit on-chain" xanh cao 7,33
                        số +9,99 USDT canh phải 412,3 · giờ canh phải 411,7
     "Today's PnL"      ghi "≈ +$2.04 (+22.87%)" — KHÔNG có chữ USDT

   B. Mục Futures
     nút đầu tiên là "Trade" (lime), rồi Deposit · Transfer · PnL Analysis
       · PnL Calendar
     tab con là "Positions | Assets"
     "Today's PnL" ghi "2.04 USDT ≈ $2.04"
     KHÔNG có khối "Secured by" ở tab Vị thế
   =================================================================== */
.asSubTabs .asSpace{flex:1 1 auto}
.asGrid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:3.2px;
  padding:0;align-self:center;
}
.asGrid i{display:block;width:2.6px;height:2.6px;border-radius:50%;background:var(--tx2)}
.asGrid:active{opacity:.5}

.asHist{padding:0 14px}
.asHRow{display:flex;align-items:center;gap:12.6px;min-height:52px}
.asHRow .cIco{flex:0 0 auto;width:24px;height:24px}
.asHRow .cIco img{width:24px;height:24px;display:block}
.asHL{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.asHL b{font-size:15px;font-weight:600;color:var(--tx)}
.asHL small{font-size:11px}
.asHL small.up{color:var(--up)}
.asHR{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.asHR b{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--tx)}
.asHR small{font-size:11px;color:var(--tx2)}

/* ---- thẻ vị thế ở màn Tài sản ---- */
.afCard{padding:14px 14px 18px;border-bottom:1px solid var(--line)}
.afTop{display:flex;align-items:center;gap:8px}
.afPair{font-size:18px;font-weight:700;color:var(--tx)}
.afSp{flex:1 1 auto}
.afCand{width:15px;height:15px;color:var(--tx2)}
.afChips{display:flex;align-items:center;gap:4px;margin-top:7px}
.afSide,.afChip{
  display:inline-flex;align-items:center;height:17px;padding:0 7px;
  border-radius:5px;font-style:normal;font-size:11.5px;font-weight:600;line-height:1;
}
.afSide.lo{background:var(--up);color:#05261B}
.afSide.sh{background:var(--dn);color:#2E0704}
.afChip{background:#272829;color:var(--tx2);font-weight:500}

.afPnl{display:flex;align-items:flex-start;gap:12px;margin-top:14px}
.afPL{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.afPR{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.afK{font-size:13px;color:var(--tx2);display:inline-flex;align-items:center;gap:5px;line-height:1.2}
.afK.dotted{border-bottom:1px dotted var(--tx3);padding-bottom:1px}
.afBig{font-family:var(--mono);font-size:23px;font-weight:700;line-height:1.1}
.afBig.up{color:var(--up)} .afBig.dn{color:var(--dn)}
.afUsd{font-size:12.5px;color:var(--tx2)}
.afRoi{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);
       font-size:16px;font-weight:600}
.afRoi.up{color:var(--up)} .afRoi.dn{color:var(--dn)}
.afShare{width:14px;height:14px;flex:0 0 auto}
.afSwap{width:12px;height:12px}

.afGrid{display:grid;grid-template-columns:1fr 1fr 1fr;row-gap:16px;margin-top:17px}
.afCell{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0}
.afCell:nth-child(3n){align-items:flex-end;text-align:right}
.afV{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--tx)}
.afV.liq{color:#E8A33D}

/* ===================================================================
   BẢN 142 — sửa nốt màn Tài sản sau khi xem lại trên link
   1) Con mắt phải nằm NGAY SAU nhãn (app thật: "Futures Value (USDT ▾) 👁"),
      không bị đẩy ra mép phải.
   2) Ba nút Transfer · PnL Analysis · PnL Calendar mất icon vì bản cũ có
      luật .asAct .ic svg{display:none} (hồi đó 4 nút Tổng quan đều là ảnh
      cắt sẵn). Nút nào vẽ bằng svg thì trả lại khung bo tròn 48px.
   3) Góc phải thẻ: mục Futures là ICON LỊCH SỬ, không phải huy hiệu Bitunix.
   =================================================================== */
.asCardTop{justify-content:flex-start}
.asAct .ic.draw{
  background:#1E1F21;border-radius:15px;
  display:flex;align-items:center;justify-content:center;
}
.asAct .ic.draw svg{display:block;width:24px;height:24px;color:var(--tx)}
.asAct.first .ic.draw{background:var(--accent)}
.asAct.first .ic.draw svg{color:var(--accent-ink)}
.asCardIco{position:absolute;top:13px;right:14px;color:var(--tx2);padding:0}
.asCardIco:active{opacity:.5}

/* ===================================================================
   BẢN 143 — hai lỗi nhìn thấy trên link ở mục Futures màn Tài sản
   1) Nút "Trade" không ăn nền lime vì luật cũ
      .asAct .ic{background:transparent !important} (bản 1968) mạnh hơn
      ⇒ phải ghi đè bằng !important.
   2) Ảnh a-deposit.png cắt từ hàng Tổng quan nên DÍNH SẴN nền lime,
      đem sang mục Futures thì nút Deposit hoá lime còn Trade thì không.
      ⇒ ở mục Futures vẽ nút Deposit bằng svg (xử lý trong app.js).
   =================================================================== */
.asAct .ic.draw{background:#1E1F21 !important}
.asAct.first .ic.draw{background:var(--accent) !important}

/* ===================================================================
   BẢN 144 — hai icon hàng tab: CẮT THẲNG từ ảnh app thật, bỏ svg tự vẽ
   Cắt từ ảnh X gửi lúc 11:53 (1191×2576 ⇒ 2,7827 px/pt) — ảnh đó nét bút
   đỏ khoanh chỗ khác nên vùng icon sạch:
     icon lọc   ô cắt x 1006–1076 · y 1576–1640  ⇒ 25,16 × 23,00 pt
     icon lịch  ô cắt x 1101–1155 · y 1576–1640  ⇒ 19,41 × 23,00 pt
   Hai ô cắt CÙNG dải y nên xếp ngang là tự khớp độ cao như app thật
   (icon lọc cao hơn 3px vì có chấm đỏ — chấm đỏ nằm sẵn trong ảnh).
   Đặt đúng chỗ: mép phải ô cắt thứ hai ở 415,06pt ⇒ đệm phải 12,94px;
   khe giữa hai ô cắt 9,0pt.
   Xuất ảnh ở 3× cho màn retina, làm sạch nhiễu JPEG về đúng nền #0F0F0F.
   =================================================================== */
#lowTabs>.ltIco{margin-left:9px;padding:0;display:flex;align-items:center}
#lowTabs>.ltIco:first-of-type{margin-left:9px}
#scr-trade #lowTabs{padding-right:12.94px}
.ltImg{display:block;height:23px;width:auto;-webkit-user-drag:none;user-select:none}
#lowTabs>.ltIco .ltDot{display:none}
/* Bản 144: góc phải thẻ Tài sản dùng CÙNG ảnh cắt cho đồng bộ */
.asCardIco .ltImg{height:21px}

/* ===================================================================
   BẢN 145 — pill "Cross - Multi NEW | 20X 20X"
   X yêu cầu: chữ nhỏ 15% và khung bao SÁT chữ (đang thừa chiều cao).
     chữ      12,15 → 10,33px   (−15%)
     nhãn NEW  7,20 →  6,12px   (đệm 1,35/3,15 → 1,15/2,68)
     gạch ngăn 13,5 → 11,50px
     CAO khung 32,4 → 22,00px — chỗ thừa nằm ở min-height của HAI Ô CON,
       .modeRow không quyết được (bài học bản 128) nên phải hạ cả hai.
     đệm ngang cũng co theo 15% cho cân.
   =================================================================== */
.modeRow{min-height:22px;padding:0 3.1px}
.modeChip,.levChip{min-height:22px}
.modeChip{font-size:10.33px;padding:0 4.6px;gap:4.6px}
.levChip{font-size:10.33px;padding:0 9.2px;gap:5.4px}
.modeSep{height:11.5px}
.miniTag{font-size:6.12px;padding:1.15px 2.68px;border-radius:2.7px}

/* ===================================================================
   BẢN 146 — hai hàng "Available" và "Max Open" nhỏ 10%
   Đo trên link trước khi sửa (khung 428px):
     nhãn Available  12,00 → 10,80px
     số   Available  12,50 → 11,25px
     nhãn Max Open   11,00 →  9,90px
     số   Max Open   11,00 →  9,90px
   X khoanh 3 chỗ (nhãn Available · số Available · nhãn Max Open); em hạ
   luôn cả SỐ của hàng Max Open cho hai vế cùng cỡ, lệch thì báo em sửa.
   =================================================================== */
#scr-trade .availRow{font-size:10.8px}
#scr-trade .availRow b{font-size:11.25px}
#scr-trade .infoRow>span,
#scr-trade .infoRow>b{font-size:9.9px}

/* ===================================================================
   BẢN 147
   1) Chữ Anh: "Total assets" → "Total Assets", "Futures value" →
      "Futures Value", "Spot value" → "Spot Value" (app thật viết hoa
      cả hai chữ). Sửa trong i18n.js.
   2) Con mắt đã dời về ngay sau "(USDT ▾)" từ BẢN 142
      (.asCardTop{justify-content:flex-start}) — ảnh X chụp lúc 13:12 là
      bản cũ hơn nên còn thấy nó nằm mép phải đè lên huy hiệu Bitunix.
   =================================================================== */

/* ===================================================================
   BẢN 148 — hàng 5 ô chức năng Trang chủ vẽ lại theo ảnh app thật
   Ảnh X gửi rộng 1284px ⇒ ĐÚNG 3,0 px/pt. Đo được:
     ô vuông      144 × 144 px  ⇒ 48,00 × 48,00 pt
     mép trái ô 1  x 56         ⇒ 18,67 pt
     bước giữa ô   255 px       ⇒ 85,00 pt  (khe 37,00 pt)
     mép phải ô 5  x 1219       ⇒ 406,33 pt
     màu ô        (43,43,45) = #2B2B2D — trùng biến --block sẵn có
     huy hiệu AAPL x 662–757 · y 51–91 ⇒ rộng 32,00 · cao 13,67 pt,
                   thò ra khỏi ô 16,00pt và cao hơn mép ô 1,33pt
   Logo: cắt ô vuông 96px lấy đúng tâm từng ô (nền cùng #2B2B2D) rồi
   hiện ở 32,00pt trong ô 48pt — tỉ lệ từng logo giữ y như app thật.
   =================================================================== */
#scr-home .homeQuick{gap:37px;padding-left:18.67px;padding-right:18.67px;justify-content:space-between}
#scr-home .hq{flex:0 0 48px;min-width:48px;gap:8px}
#scr-home .hq .ic{width:48px;height:48px;border-radius:15px;background:#2B2B2D}
#scr-home .qIco{width:32px;height:32px}
#scr-home .hqTag{top:-1.33px;right:-16px;font-size:9px;padding:1.6px 4.6px;border-radius:4.5px}
#scr-home .hq>span:last-child{font-size:11.5px;max-width:66px}

/* ===================================================================
   BẢN 149 — chỉnh nốt bước nhảy hàng 5 ô sau khi đo trên link
   Bản 148 dùng justify-content:space-between nên bước ra 85,67pt và ô
   cuối chạm 409,34 — app thật là 85,00 và 406,33. Bỏ space-between,
   để khe cố định 37pt rồi nới đệm phải 18,67 → 21,67px cho khớp.
   =================================================================== */
#scr-home .homeQuick{justify-content:flex-start;padding-right:21.67px}

/* ===================================================================
   BẢN 150 — THANH TRƯỢT % vẽ lại theo ảnh app thật X gửi
   Cả hai ảnh đều chụp iPhone 3× (đối chiếu bề dài thanh = 231,6pt):
     app thật  : dày thanh 2,70pt · màu (49,50,52) = #313234
                 chấm mốc ⌀ ~2,30pt · màu ~(112,113) = #707173
                 6 mốc: 0 · 20 · 40 · 60 · 80 · 100%, cách nhau 46,1pt
                 núm ⌀ 9,80pt · vành dày 2,36pt màu (149,150,151) = #969798
                 lòng núm màu nền trang
     bản mình  : dày thanh 2,03pt · CHẤM MỐC KHÔNG THẤY GÌ
   LỖI: trong CSS, background-image ĐẦU DANH SÁCH nằm TRÊN CÙNG. Bản 122
   đặt vạch ngang đầu tiên nên nó đè kín 5 chấm mốc bên dưới (hai thứ
   cùng cao 2,2px nên che khít). Bản này đảo lại: 6 chấm trước, vạch sau.
   =================================================================== */
#scr-trade .rng{
  height:22px;margin:6px 0 2px;
  background-image:
    radial-gradient(circle at calc(0%   + 1.15px) 50%, #707173 1.15px, transparent 1.55px),
    radial-gradient(circle at 20%  50%, #707173 1.15px, transparent 1.55px),
    radial-gradient(circle at 40%  50%, #707173 1.15px, transparent 1.55px),
    radial-gradient(circle at 60%  50%, #707173 1.15px, transparent 1.55px),
    radial-gradient(circle at 80%  50%, #707173 1.15px, transparent 1.55px),
    radial-gradient(circle at calc(100% - 1.15px) 50%, #707173 1.15px, transparent 1.55px),
    linear-gradient(#313234,#313234);
  background-size:
    100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%,
    100% 2.7px;
  background-position:
    0 0, 0 0, 0 0, 0 0, 0 0, 0 0,
    0 50%;
  background-repeat:no-repeat;
}
#scr-trade .rng::-webkit-slider-thumb{
  width:9.8px;height:9.8px;border-radius:50%;
  background:var(--bg);border:2.36px solid #969798;
  box-shadow:none;margin-top:-3.55px;
}

/* ===================================================================
   BẢN 151 — ô bước giá "0.1" dưới sổ lệnh
   Đo trên link trước khi sửa:
     chữ "0.1"   15,00px   · chữ "53%" ở dải tỉ lệ 11,00px
     cao ô       28,00px
   X yêu cầu: chữ 0.1 bằng chữ % ⇒ 15 → 11px
              khung xám thấp lại 15% ⇒ 28 → 23,80px
   =================================================================== */
#scr-trade .tickBox{font-size:11px;min-height:23.8px;height:23.8px}

/* ===================================================================
   BẢN 152 — thẻ vị thế: hai icon CẮT THẲNG từ app thật + gạch nét đứt
   sát số như app thật
   Đo trên ảnh app thật (1191×2576 ⇒ 2,7827 px/pt), nền thẻ (24,28,29):
     icon ⇄ (cạnh "Size (USDT)")  mực 10,06 × 10,42pt
     icon nến (hàng Entry)        mực  9,34 × 11,50pt
     số "102.5"                   đáy mực  y 741,7pt
     gạch nét đứt                 y 743,2–743,9  ⇒ CÁCH ĐÁY SỐ 1,2pt
       nét dài 2,16pt · khe 1,80pt · dày 1px · màu #6E7073
   Bản mình đang để gạch cách đáy số 11,5px (vì border-bottom nằm ở đáy
   HỘP, mà hộp còn nửa khoảng dòng + phần dưới baseline). Nên bỏ
   border-bottom, vẽ gạch bằng ::after đặt theo đáy hộp:
     .pcBig (cỡ 15,3px · line-height 1,35): lùi 10,34px
     .pcFoot b (cỡ 10,4px)                : lùi  6,04px
   Ảnh icon xuất nền trong suốt 3× nên dán lên thẻ màu nào cũng liền.
   =================================================================== */
.pcIco{width:14.37px;height:14.73px;flex:0 0 auto;display:block}
.pcCand{width:13.66px;height:15.45px;flex:0 0 auto;display:block}
.pdSwap{width:14.37px;height:14.73px;flex:0 0 auto;display:block}
.afSwap{width:14.37px;height:14.73px;flex:0 0 auto;display:block}
.afCand{width:13.66px;height:15.45px;flex:0 0 auto;display:block;color:inherit}

.pcBig.dash,.pcFoot b.dash{border-bottom:none;position:relative}
.pcBig.dash::after,.pcFoot b.dash::after{
  content:'';position:absolute;left:0;right:0;height:1px;
  background-image:repeating-linear-gradient(90deg,
    #6E7073 0 2.16px, transparent 2.16px 3.96px);
}
.pcBig.dash::after{bottom:10.34px}
.pcFoot b.dash::after{bottom:6.04px}

/* ===================================================================
   BẢN 153 — chỉnh đúng độ lùi của gạch nét đứt
   Bản 152 em tính đường chân chữ (baseline) bằng mực của chính dãy số
   nên lệch ~2,9px, gạch cắt ngang chân số. Đo lại bằng chỉ số FONT
   (fontBoundingBoxAscent/Descent) trên link:
     .pcBig      đáy hộp cách baseline 9,64px  ⇒ lùi 9,64 − 2,5 = 7,14px
     .pcFoot b   đáy hộp cách baseline 6,05px  ⇒ lùi 6,05 − 2,5 = 3,55px
   (2,5 = khe 1,5pt như app thật + 1px bề dày gạch)
   =================================================================== */
.pcBig.dash::after{bottom:7.14px}
.pcFoot b.dash::after{bottom:3.55px}

/* ==========================================================
   BẢN 154 — Icon "chia sẻ" cắt thẳng từ ảnh app thật
   Nguồn: ảnh chụp thẻ vị thế, vùng px x 774–806, y 2031–2063
   (ảnh 1284 rộng ⇒ 3,0 px/pt) => phần mực 11,86 × 11,86 pt.
   Khung cắt 44×44 px = 15,81 × 15,81 pt (mực nằm giữa, chừa 1,97 pt mỗi bên).
   Dùng mask + currentColor để icon đổi màu theo lãi/lỗ (xanh/đỏ) như app thật.
   Khoảng cách mực->chữ giữ nguyên 8 px: 8 − 1,97 ≈ 6,03 px.
   ========================================================== */
.pcShare,.pdShare,.afShare{
  display:block;flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask:url(icons/top/pc-share.png?v=154) center/contain no-repeat;
          mask:url(icons/top/pc-share.png?v=154) center/contain no-repeat;
}
.pcShare{width:15.81px;height:15.81px;margin-right:6.03px}
.pdShare{width:17.33px;height:17.33px}
.afShare{width:18.66px;height:18.66px}

/* ==========================================================
   BẢN 155 — Bo góc thẻ vị thế bớt cong (X khoanh vàng/hồng)
   Đo trên ảnh X gửi (hai cửa sổ cùng tỉ lệ: chữ "BTCUSDT" cao 22 px cả hai):
   · bản mình: cung bo dài 18–19 px ảnh, mà CSS đang để 10px
     => 1 px CSS ≈ 1,85 px ảnh
   · app thật: cung bo chỉ 5 px ảnh  =>  5 ÷ 1,85 ≈ 2,7 px CSS
   Chốt 3px (đo cả góc trên-trái lẫn dưới-trái, hai góc ra cùng số).
   ========================================================== */
.pcCard{border-radius:3px}

/* ==========================================================
   BẢN 156 — Hàng "TP / SL" trắng + bảng "Account TP/SL"
   Đo trên ảnh app thật 1191×2576 (2,7827 px/pt):
     · chữ "TP / SL" TRẮNG, x 121,8–159,2pt; vạch ngăn 1px ở x 108,5
       => lề vạch: trái 10,4pt (cách chữ USD), phải 13,3pt (cách chữ TP)
     · mũi tên đặc trỏ xuống ngay sau chữ: rộng 7,9pt · cao 5,0pt · cách chữ 6,8pt
     · bảng: x 15,1–412,5pt · cao 112,8pt · lề trong 12,2pt
       mực 4 dòng cách mép trên bảng: 15,09 · 38,81 · 63,97 · 88,04pt
       dòng 1 chữ TRẮNG 13,3px, "Cancel" xám 12,2px
       dòng 2-4 nhãn xám 12,2px, số xanh/đỏ, sau số là bút chì
   ========================================================== */
#scr-trade .psTp{color:#fff;gap:6.8px}
#scr-trade .psSep{margin:0 13.3px 0 10.4px}
.psTp .psCaret{
  display:block;width:7.9px;height:5px;flex:0 0 auto;
  color:var(--tx2);background:currentColor;
  clip-path:polygon(0 0,100% 0,50% 100%);
}
.psTp.on .psCaret{clip-path:polygon(50% 0,100% 100%,0 100%)}

#scr-trade .tpPanel{
  background:#1A1B1C;border-radius:3px;
  margin:6px 15.5px 0 15.1px;
  padding:11.9px 12.2px 13.3px;
}
#scr-trade .tpPanel.hidden{display:none}
#scr-trade .tpRow{
  display:flex;align-items:center;
  font-size:12.2px;line-height:14.8px;color:var(--tx2);margin-top:9px;
}
#scr-trade .tpRow:first-child{margin-top:0}
#scr-trade .tpSp{flex:1 1 auto}
#scr-trade .tpHead b{font-size:13.3px;line-height:16.1px;color:#fff;font-weight:400}
#scr-trade .tpCancel{font-size:12.2px;line-height:14.8px;color:var(--tx2);padding:0;background:none}
#scr-trade .tpRow b{font-weight:400;font-family:var(--mono)}
#scr-trade .tpRow b.up{color:var(--up)} #scr-trade .tpRow b.dn{color:var(--dn)}
#scr-trade .tpPen{
  width:11.3px;height:11.3px;margin-left:7.3px;padding:0;background:none;
  color:var(--tx2);flex:0 0 auto;display:flex;
}
#scr-trade .tpPen svg{width:100%;height:100%}
.shHint{font-size:12px;color:var(--tx3);line-height:1.5;margin:10px 0 14px}
.ghostBtn{
  width:100%;min-height:44px;border-radius:999px;background:var(--card2);
  color:var(--tx2);font-size:15px;
}

/* ==========================================================
   BẢN 157 — Ô "Market" hết viền trắng nổi + chữ/icon nhỏ 10%
   App thật: ô loại lệnh và ô "By Cost" cùng một kiểu — chỉ có nền
   xám, KHÔNG có viền sáng. Bản mình đang để border 1px var(--line)
   nên nổi hẳn lên so với ô dưới.
   Chữ 13,5px -> 12,15px · vòng tròn "i" 14 -> 12,6px (giảm 10%).
   ========================================================== */
#scr-trade .ordType{border-color:transparent;background:var(--card2);font-size:12.15px}
#scr-trade .ordType .oiIco{width:12.6px;height:12.6px;font-size:8.1px;border-width:1.08px}

/* ==========================================================
   BẢN 157 (tiếp) — icon cắt thẳng từ ảnh app thật + hàng tab Tài sản
   Đo trên ảnh 1191×2576 (2,7827 px/pt):
   · icon "sổ lệnh" cạnh giá giữa: mực 10,78 × 12,20pt,
     khung cắt 37×41px = 13,30 × 14,73pt, mép phải cách mép cột 2,4pt
   · thẻ vị thế màn Tài sản: nến 13,30×15,81 · chia sẻ 12,94×12,58
     · đổi chiều 10,78×10,78 (đều là mặt nạ trắng, ăn theo currentColor)
   · 5 ô hành động Futures: ô vuông 44,2pt (ảnh đã kèm nền bo tròn)
   · hàng tab Tài sản: chữ cao 11,86pt ⇒ cỡ 16,4px · khe giữa hai tab 25,5pt
     · tab đầu bắt đầu ở x 15,1pt · "Copy Trading" tràn ra ngoài như app thật
   ========================================================== */
#scr-trade .bookMid{flex-direction:row;align-items:center;padding-right:2.4px}
.bmCol{display:flex;flex-direction:column;gap:1px;min-width:0}
.bmSp{flex:1 1 auto}
.bmIco{
  width:13.3px;height:14.73px;flex:0 0 auto;display:block;
  background-color:var(--tx2);
  -webkit-mask:url(icons/top/bk-list.png?v=157) center/contain no-repeat;
          mask:url(icons/top/bk-list.png?v=157) center/contain no-repeat;
}

.afCand,.afShare,.afSwap{
  display:block;flex:0 0 auto;background-color:currentColor;
}
.afCand{width:13.3px;height:15.81px;color:var(--tx2);
  -webkit-mask:url(icons/top/af-cand.png?v=157) center/contain no-repeat;
          mask:url(icons/top/af-cand.png?v=157) center/contain no-repeat}
.afShare{width:12.94px;height:12.58px;margin-right:5.7px;
  -webkit-mask:url(icons/top/af-share.png?v=157) center/contain no-repeat;
          mask:url(icons/top/af-share.png?v=157) center/contain no-repeat}
.afSwap{width:10.78px;height:10.78px;margin-left:5.4px;color:var(--tx2);display:inline-block;
  -webkit-mask:url(icons/top/af-swap.png?v=157) center/contain no-repeat;
          mask:url(icons/top/af-swap.png?v=157) center/contain no-repeat}

.asAct .ic.imgTile{width:44.2px;height:44.2px;background:transparent !important;border-radius:0}
.asAct .ic.imgTile svg{display:none}
.asImg2{width:44.2px;height:44.2px;display:block;-webkit-user-drag:none;user-select:none}

#asTabs{gap:25.5px;padding-left:15.1px}
#asTabs .tt{font-size:16.4px}

/* BẢN 157 — mũi tên TP/SL: luật cũ (2161/2195/2203) dựng bằng border nên
   vẫn ăn kích thước cũ; ghi đè hẳn ở đây. Đo app thật: rộng 7,9 · cao 5,0pt.
   Khi CHƯA đặt mốc nào thì app thật hiện "+ TP / SL" KHÔNG có mũi tên,
   đặt rồi mới thành "TP / SL ▼" — nên ẩn mũi tên theo dấu cộng. */
#scr-trade .psTp .psCaret{
  border:0 !important;box-sizing:border-box;
  width:7.9px;height:5px;
}
#scr-trade .psTp.noTarget .psCaret{display:none}

/* ==========================================================
   BẢN 159 — Ô "By Cost" khi đã nhập chi phí
   Đo trên ảnh app thật 1191×2576 (2,7827 px/pt):
     ô rỗng  cao 33,1pt (giữ nguyên bản 130)
     ô đã có số: cao 37,7pt · lề trong trái 9,3pt
       nhãn "By Cost" mực y 8,98pt tính từ mép trên ô, cỡ ~8,8px
       hai số      mực y 21,2pt, cao 10,78pt ⇒ cỡ ~14,8px
       "USDT ▾" mép phải 402,8pt (ô kết thúc ở 412,9 ⇒ chừa 10,1pt)
   ========================================================== */
#scr-trade .field.byCost{position:relative}
#scr-trade .bcVal{display:none}
#scr-trade .field.byCost.filled{height:37.7px;min-height:37.7px}
#scr-trade .field.byCost.filled .fLbl{
  display:block;position:absolute;left:9.3px;top:7.8px;
  font-size:8.8px;line-height:1;color:var(--tx3);
}
#scr-trade .field.byCost.filled input{color:transparent;caret-color:var(--tx)}
#scr-trade .field.byCost.filled .bcVal{
  display:block;position:absolute;left:9.3px;top:19.2px;
  font-family:var(--mono);font-size:14.8px;line-height:1;
  pointer-events:none;white-space:nowrap;
}
#scr-trade .bcVal .up{color:var(--up)} #scr-trade .bcVal .dn{color:var(--dn)}

/* BẢN 160 — nhãn ô By Cost hạ 1px cho khớp mực đo được (8,98pt từ mép ô) */
#scr-trade .field.byCost.filled .fLbl{top:6.8px}

/* ==========================================================
   BẢN 162 — Thẻ vị thế màn Tài sản NHỎ LẠI 12% (X báo đang hơi to)
   Nhân 0,88 cho MỌI con số của thẻ: cỡ chữ, khe, lề trong, cả icon.
   Ghi rõ phép tính để lần sau muốn đổi tỉ lệ thì sửa một chỗ:
     18 → 15,84 · 23 → 20,24 · 16 → 14,08 · 13,5 → 11,88 · 13 → 11,44
     12,5 → 11 · 11,5 → 10,12 · lề 14/14/18 → 12,32/12,32/15,84
   ========================================================== */
.afCard{padding:12.32px 12.32px 15.84px}
.afTop{gap:7.04px}
.afPair{font-size:15.84px}
.afChips{gap:3.52px;margin-top:6.16px}
.afSide,.afChip{height:14.96px;padding:0 6.16px;border-radius:4.4px;font-size:10.12px}
.afPnl{gap:10.56px;margin-top:12.32px}
.afPL,.afPR{gap:2.64px}
.afK{font-size:11.44px;gap:4.4px}
.afBig{font-size:20.24px}
.afUsd{font-size:11px}
.afRoi{font-size:14.08px;gap:5.28px}
.afGrid{row-gap:14.08px;margin-top:14.96px}
.afCell{gap:3.52px}
.afV{font-size:11.88px}
.afCand{width:11.7px;height:13.91px}
.afShare{width:11.39px;height:11.07px;margin-right:5.02px}
.afSwap{width:9.49px;height:9.49px;margin-left:4.75px}

/* ==========================================================
   BẢN 164 — Chữ dưới 5 ô hành động màn Tài sản đổi sang TRẮNG
   Đo trên ảnh app thật: nhãn "Deposit" / "Transfer" / "PnL Analysis"
   lấy mẫu ra đúng (255,255,255) — bản mình đang để var(--tx2) xám.
   Riêng ô đầu (Trade) vẫn giữ màu xanh chanh như app thật.
   ========================================================== */
.asAct span{color:#fff}
.asAct.first span,.asAct.first>span:last-child{color:var(--accent)}

/* ==========================================================
   BẢN 165 — Hàng "Lãi/lỗ hôm nay" ở thẻ Tài sản tách hai màu
   Đo trên ảnh app thật (1191×2576): nhãn "Today's PnL" và cụm
   "≈ $ 1.99" đều ra (154,155,159) — xám; riêng "1.99 USDT" ra màu
   xanh. Lỗ thì cụm số đổi sang đỏ.
   ========================================================== */
.asPnlRow i b{font-weight:inherit;font-style:normal;color:var(--tx)}
.asPnlRow i b.up{color:var(--up)}
.asPnlRow i b.dn{color:var(--dn)}
.asPnlRow i .asApx{color:var(--tx2)}

/* ==========================================================
   BẢN 166 — Icon "lịch sử" góc phải thẻ Tài sản: cùng màu + cùng hàng
   với icon con mắt (X báo đang lệch màu và bị xéo).
   Trước đây nó là <img> lt-hist.png cắt từ hàng tab dưới nên màu bám
   sẵn trong ảnh, không ăn theo var(--tx2) như con mắt.
   Giờ cắt lại từ ảnh app thật ngay trên thẻ Tài sản, để dạng MẶT NẠ
   trắng rồi tô bằng currentColor ⇒ trùng màu con mắt tuyệt đối.
   Đo trên ảnh app thật (1191×2576 ⇒ 2,7827 px/pt):
     mực icon 15,45 × 15,81pt · khung cắt 17,61 × 17,97pt
     tâm icon lịch sử y = 133,86pt · tâm con mắt y = 133,50pt ⇒ cùng hàng
   Bản mình: tâm con mắt cách mép trên thẻ 30,5px ⇒ đặt top = 30,5 − 17,97/2.
   ========================================================== */
.asCardIco{top:21.52px}
.asHistIco{
  display:block;width:17.61px;height:17.97px;
  background-color:currentColor;
  -webkit-mask:url(icons/top/as-hist.png?v=166) center/contain no-repeat;
          mask:url(icons/top/as-hist.png?v=166) center/contain no-repeat;
}

/* ==========================================================
   BẢN 167 — Lấp khoảng hở giữa thanh "BTCUSDT Chart" và tab dưới
   Bệnh: #scr-trade cao hơn #main 17,6px nên thò xuống dưới thanh tab,
   còn thanh chart dính ở bottom:0 chỉ tới y=790,2 trong khi thanh tab
   bắt đầu ở y=798,2 ⇒ hở đúng 8px, nhìn xuyên thấy đáy thẻ vị thế
   đang cuộn phía sau (X chụp lúc 15:47).
   Cách chữa: vẽ thêm một mảng nền đặc NGAY DƯỚI thanh chart bằng
   ::after (position:absolute, top:100%) — không đụng tới bố cục, mở
   hay đóng biểu đồ đều đúng. Mảng này cao 40px, phần thừa chui xuống
   dưới thanh tab nên phải nâng z-index thanh tab lên 30 cho nó đè lại
   (thanh chart đang z-index:20).
   ========================================================== */
#tabbar{position:relative;z-index:30}
#scr-trade > .chartFold::after{
  content:'';position:absolute;left:0;right:0;top:100%;height:40px;
  background:var(--bg);pointer-events:none;
}

/* ==========================================================
   BẢN 169 — Ô bước giá "0.1": chữ số 1 phải CÓ CHÂN như app thật
   Ô này đang thừa hưởng font chữ chung (--font = SF Pro), mà số 1 của
   SF Pro chỉ là một nét dọc, KHÔNG có gạch chân. App thật thì số 1 có
   chân ngang rõ ràng.
   Font số riêng của app (--mono = BxNumM) đã có sẵn số 1 có chân —
   em dựng lại chữ "0.1" bằng chính file font này để kiểm, đúng y hệt.
   Cỡ chữ giữ 11px: đo trên ảnh app thật mực "0.1" cao 7,91pt, rộng
   14,02pt; BxNumM cho 7,84pt cao (11 × 0,7125) và 14,29pt rộng —
   lệch dưới 0,3pt, không cần đổi cỡ.
   ========================================================== */
#scr-trade .tickBox{font-family:var(--mono)}

/* ==========================================================
   BẢN 170 — Số "Lãi/lỗ chưa thực hiện" đang ĐÈ lên gạch đứt của nhãn
   Đo trên ảnh app thật 1191×2576 (2,7827 px/pt), thẻ vị thế màn Futures:
     cột PHẢI : nhãn mực y 2092–2119 · gạch đứt y 2126–2127
                · số mực y 2146–2178
                ⇒ từ ĐÁY gạch tới ĐỈNH số = 19px = 6,83pt
     cột TRÁI : nhãn y 2091–2119 · số y 2140–2172 · gạch đứt y 2185–2187
                ⇒ app thật để số cột phải THẤP HƠN cột trái đúng 6px,
                  vì cột phải có gạch đứt chen vào giữa. Không phải lỗi.
   Bản mình đang chỉ cách 0,82px nên nhìn như số chạm vào gạch.
   Chữa: .pcLbl.dotted đang kéo lên bằng margin-bottom:-4px, đổi thành
   +2px (cộng đúng 6px). Với .pcCol{gap:1px} thì đỉnh số = đáy gạch +
   3 + 3,82 = 6,82px — khớp app thật.
   ========================================================== */
#scr-trade .pcLbl.dotted{margin-bottom:2px}

/* ==========================================================
   BẢN 171 — Gạch đứt dưới số "Quy mô vị thế" sát quá, nhìn như chạm số
   Bản 153 tính mốc gạch bằng số liệu font SAI (dùng font đo khác với
   font thật đang vẽ: .pcBig ăn --font = SF Pro, không phải BxNumM),
   nên gạch chỉ nằm dưới đường chân chữ 1,61px.
   Đo lại trên ảnh app thật (1191×2576 ⇒ 2,7827 px/pt), cột TRÁI thẻ vị thế:
     mực số   y 2140–2172  (chân chữ ≈ 2173)
     gạch đứt y 2185–2187
     ⇒ gạch cách chân chữ 12px = 4,31pt (lấy tròn 4,5px)
   Hộp .pcBig.dash cao 25,64px (20,655 dòng + 5 padding), chân chữ nằm
   trên đáy hộp 9,75px ⇒ để gạch đúng chỗ thì bottom = 9,75 − 4,5 − 1 = 4,25px.
   ========================================================== */
#scr-trade .pcBig.dash::after{bottom:4.25px}

/* ==========================================================
   BẢN 172 — Bảng "Chia sẻ" lãi/lỗ (mở bằng icon ↗ trên thẻ vị thế)
   Dựng theo ảnh app thật 1284×2778 (3,0 px/pt):
     thẻ khoe rộng ~342pt, cao ~286pt (tỉ lệ 1,196), bo 14pt
     hai thẻ bên cạnh ló ra hai mép ⇒ dùng scroll-snap + padding hai bên
     dải ngày giờ nằm ngay dưới thẻ, nền sáng hơn một chút
     hàng chấm · hàng ô tích · câu slogan · 4 nút tròn
   Vuốt bằng scroll-snap của trình duyệt cho mượt, không tự bắt kéo tay.
   ========================================================== */
.shWrap{margin:-4px -16px 0}
.shTrack{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  gap:0;padding:0;
}
.shTrack::-webkit-scrollbar{display:none}
.shSlide{
  flex:0 0 100%;scroll-snap-align:center;
  padding:0 26px;box-sizing:border-box;
}
.shCv{display:block;width:100%;height:auto;border-radius:14px 14px 0 0;background:#0A0A0B}
.shDate{
  background:#232426;color:#9A9DA3;font-size:12px;
  padding:10px 16px;border-radius:0 0 14px 14px;
  font-family:var(--mono);
}
.shDots{display:flex;justify-content:center;align-items:center;gap:7px;margin:16px 0 4px}
.shDots i{width:6px;height:6px;border-radius:50%;background:#4A4C50;display:block}
.shDots i.on{background:#fff}
.shOpts{
  display:flex;flex-wrap:wrap;gap:10px 18px;
  padding:16px 16px 0;
}
.shOpt{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--tx)}
.shOpt i{
  width:16px;height:16px;border-radius:3.5px;border:1.4px solid #5A5C60;
  flex:0 0 auto;display:block;position:relative;
}
.shOpt.on i{background:var(--up);border-color:var(--up)}
.shOpt.on i::after{
  content:'';position:absolute;left:5px;top:2px;width:4px;height:8px;
  border:solid #05261B;border-width:0 1.8px 1.8px 0;transform:rotate(43deg);
}
.shTag{font-size:13px;color:var(--tx2);margin:16px 16px 0;line-height:1.45}
.shActs{display:flex;justify-content:space-around;gap:8px;padding:20px 12px 6px}
.shAct{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:var(--tx2);background:none}
.shAct .shIc{
  width:46px;height:46px;border-radius:50%;background:var(--card2);
  display:block;position:relative;
}
.shAct .shIc::after{
  content:'';position:absolute;inset:0;margin:auto;width:20px;height:20px;
  background:var(--tx);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
.shIc.c::after{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' d='M9 9h10v12H9zM5 3h10v4M5 3v12h4'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' d='M9 9h10v12H9zM5 3h10v4M5 3v12h4'/></svg>")}
.shIc.s::after{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M12 4v10m0 0-4-4m4 4 4-4M4 19h16'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M12 4v10m0 0-4-4m4 4 4-4M4 19h16'/></svg>")}
.shIc.l::after{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M10 14a4 4 0 0 0 6 .5l2-2a4 4 0 0 0-6-6l-1 1M14 10a4 4 0 0 0-6-.5l-2 2a4 4 0 0 0 6 6l1-1'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M10 14a4 4 0 0 0 6 .5l2-2a4 4 0 0 0-6-6l-1 1M14 10a4 4 0 0 0-6-.5l-2 2a4 4 0 0 0 6 6l1-1'/></svg>")}
.shIc.m::after{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='black'><circle cx='5' cy='12' r='2'/><circle cx='12' cy='12' r='2'/><circle cx='19' cy='12' r='2'/></g></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='black'><circle cx='5' cy='12' r='2'/><circle cx='12' cy='12' r='2'/><circle cx='19' cy='12' r='2'/></g></svg>")}
.shAct:active{opacity:.6}

/* ==========================================================
   BẢN 174 — Hai ô thay ảnh thẻ Chia sẻ trong Cài đặt
   Ô xem trước: logo nhỏ 96×26, ảnh lớn 64×64 — nền ô vuông mờ để
   thấy được cả ảnh nền trong suốt.
   ========================================================== */
.shPrev{
  display:flex;align-items:center;justify-content:center;
  background:var(--card2);border-radius:8px;overflow:hidden;flex:0 0 auto;
}
.shPrev.sm{width:96px;height:26px;padding:3px 6px}
.shPrev.big{width:64px;height:64px}
.shPrev img{max-width:100%;max-height:100%;display:block;object-fit:contain}
.shPrev.empty::after{content:'—';color:var(--tx3);font-size:13px}
.shPrev.empty img{display:none}
.setLink{
  font-size:13px;color:var(--accent);background:none;padding:0;
}
.setLink.dim{color:var(--tx2)}
.setLink:active{opacity:.6}

/* ==========================================================
   BẢN 175 — Nền thẻ Chia sẻ ĐEN TRƠN + kho nhiều ảnh lớn
   Lấy mẫu ảnh app thật: nền thẻ đúng #000000, dải ngày giờ #202425.
   Các trang vuốt khác nhau ở ẢNH LỚN chứ không phải ở nền.
   ========================================================== */
.shCv{background:#000}
.shDate{background:#202425}
.shArts{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.shArt{
  position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;
  background:var(--card2);display:flex;align-items:center;justify-content:center;
}
.shArt img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.shArtX{
  position:absolute;top:0;right:0;width:20px;height:20px;line-height:18px;
  background:rgba(0,0,0,.66);color:#fff;font-size:15px;padding:0;
  border-radius:0 8px 0 8px;
}

/* ==========================================================
   BẢN 176 — Thẻ Chia sẻ: ảnh lớn dính sát mép trên + to thêm 5%,
   dải ngày giờ vẽ luôn vào canvas nên "Lưu ảnh" xuất ra cả khung xám.
   Thẻ HTML .shDate không dùng nữa; canvas bo tròn cả 4 góc.
   ========================================================== */
.shCv{border-radius:14px}
.shDate{display:none}

/* ==========================================================
   BẢN 177 — Sửa đơn vị dải ngày giờ trong canvas.
   Canvas rộng 342 đơn vị logic nhưng hiển thị rộng 376px trên iPhone
   => tỉ lệ 342/376 = .9096. Dải xám đo thật 35.6px  -> 35.6×.9096 = 32.4
   cỡ chữ thật 12px -> 10.9 ; lề trái 16px -> 14.6. Chữ dùng font --mono.
   ========================================================== */

/* ==========================================================
   BẢN 178 — Bảng chọn cặp trên màn đặt lệnh có ô tìm kiếm.
   Danh sách cặp giờ hơn 700 nên phải gõ để lọc; ô tìm kiếm dùng
   lại đúng kiểu .searchBar của màn Thị trường, chỉ bỏ lề ngang
   vì tấm trượt đã có lề sẵn, và giới hạn chiều cao danh sách.
   ========================================================== */
.sheetSearch{margin:2px 0 8px}
#pkList{max-height:52vh;overflow-y:auto;-webkit-overflow-scrolling:touch}

/* ==========================================================
   BẢN 179 — Thanh "BTCUSDT biểu đồ" GHIM CỨNG vào thanh công cụ dưới
   X khoanh xanh: thanh này phải dính liền thanh tab, lúc nào cũng vậy,
   dù danh sách vị thế dài hay ngắn, dù đang cuộn tới đâu.
   Trước đây nó là position:sticky trong #main: dính ở đáy VÙNG CUỘN,
   mà #main còn chừa đệm đáy 46 + sab×0,62 + 14 nên thanh dừng sớm hơn
   mí thanh tab đúng 8px — bản 167 phải vá bằng mảng nền ::after.
   Giờ đổi sang position:fixed, đáy đặt đúng bằng --navH (chiều cao thật
   của #tabbar, do fitNav() đo rồi ghi vào biến), nên hai thanh chạm nhau
   tuyệt đối. Mảng vá ::after bỏ hẳn. Chừa 47px đáy màn Tương lai cho thẻ
   vị thế cuối cuộn qua khỏi thanh.
   ========================================================== */
#scr-trade.on{padding-bottom:47px}
#scr-trade > .chartFold{
  position:fixed;
  left:var(--sal);right:var(--sar);
  bottom:var(--navH, 58px);
  margin:0;z-index:20;
  background:var(--bg);border-top:1px solid var(--line);
}
#scr-trade > .chartFold::after{display:none}

/* ==========================================================
   BẢN 180 — Bịt nốt sợi tóc 0,23px giữa thanh biểu đồ và thanh tab.
   Đo trong Chrome khung 428×879: đáy thanh biểu đồ 798,00 · mí trên
   thanh tab 798,23 ⇒ còn hở 0,23px, đúng cái bệnh nhìn xuyên của bản
   167. Nguyên nhân: --navH bị làm tròn xuống (81,23 → 81).
   Chữa hai lớp: fitNav() giữ cả phần lẻ, và hạ thanh biểu đồ xuống
   thêm 1px để nó CHỒNG lên mí thanh tab — thanh tab z-index 30 nằm
   trên thanh biểu đồ z-index 20 nên phần chồng bị che, không lộ.
   ========================================================== */
#scr-trade > .chartFold{bottom:calc(var(--navH, 58px) - 1px)}

/* ==========================================================
   BẢN 181 — Thanh "BTCUSDT biểu đồ" cao thêm, chữ nhỏ lại.
   Đo ảnh X gửi (1191×2576 ⇒ 2,7827 px/pt): viền trên thanh đang ở
   y = 2295, gạch đỏ X vẽ ở y = 2269 ⇒ phải nâng viền lên 26px ảnh
   = 9,34px màn. min-height 21 → 30,34px (đáy thanh vẫn dính thanh tab
   nên nó nở LÊN TRÊN, đúng chỗ gạch đỏ).
   Chữ trong khoanh vàng nhỏ 15%: 11,9 → 10,12px.
   Đệm đáy màn Tương lai nới theo: 47 → 56px.
   ========================================================== */
#scr-trade .chartFoldHead{min-height:30.34px;font-size:10.12px}
#scr-trade.on{padding-bottom:56px}

/* ==========================================================
   BẢN 182 — Icon hình nến ở góc phải thẻ vị thế màn Tài sản ▸ Futures
   to lên 20% theo yêu cầu (X khoanh vàng).
   Đang 11,7 × 13,91px (cỡ sau khi thu nhỏ 12% ở bản 162)
   → 14,04 × 16,69px.
   ========================================================== */
.afCand{width:14.04px;height:16.69px}

/* ==========================================================
   BẢN 183 — Thẻ vị thế màn Tài sản ▸ Futures, ba việc X chỉ:
   1) Hai icon nhỏ to lên 20%: icon chia sẻ cạnh ROI (.afShare)
      11,39 × 11,07 → 13,67 × 13,28px ; icon đổi đơn vị cạnh
      "Size (USDT)" (.afSwap) 9,49 → 11,39px.
   2) Chữ "Long" trong ô xanh đổi sang TRẮNG (ảnh app thật cũng trắng).
      Đổi luôn ô "Short" cho đồng bộ.
   3) Ô bo tròn quanh Long / Cross - Multi / 10X cao lên một chút:
      14,96 → 17,2px (bo góc 4,4 → 5px) — đo ảnh app thật: chữ trong ô
      chỉ chiếm 47% chiều cao ô, bản mình đang 60% nên trông chật.
   ========================================================== */
.afShare{width:13.67px;height:13.28px}
.afSwap{width:11.39px;height:11.39px}
.afSide.lo,.afSide.sh{color:#fff}
.afSide,.afChip{height:17.2px;border-radius:5px}
