/* M17 Sức mạnh giá. Chép từ rs.module.css của RS Rating AWM, thêm tiền tố rs- để không đụng
   lớp chung của Broker Desk. Bỏ phần khóa VIP và thẻ giới thiệu vì mọi người dùng đều nội bộ. */

.rs-token {
  --nen0: #050d19;
  --nen: #0b1a2e;
  --mat: rgba(16, 33, 58, 0.72);
  --mat2: rgba(22, 44, 76, 0.6);
  --vang: #c9a84c;
  --vang-sang: #ecdcaa;
  --troi: #5ba3d9;
  --chu: #eef2f7;
  --chu2: #a3b3c6;
  --chu3: #64788f;
  --vien: rgba(163, 179, 198, 0.13);
  --vien2: rgba(163, 179, 198, 0.22);
  --len: #4fc58f;
  --xuong: #e8705f;
  --chu-dam: #ffffff;
  --mat-dac: #0d1f37;
  --nen-o: rgba(5, 13, 25, 0.55);
  --bong: rgba(0, 0, 0, 0.8);
  --vien-nhat: rgba(163, 179, 198, 0.07);
  --hover-dong: rgba(91, 163, 217, 0.06);
  --noibo-chu: #cfe5f6;
  --len-chip: #9ee6c3;
  --xuong-chip: #f3b1a6;
  --loi-chu: #f3b8ad;
  --mang: rgba(3, 8, 16, 0.62);
  --ngan-nen: linear-gradient(180deg, #10233f, #081527);
  --hao-quang: rgba(20, 48, 90, 0.85);
  /* Bảy bậc màu RS, dùng trong bản đồ nhiệt (xem BAC_RS). */
  --rs0: #a8e1e9;
  --rs0-chu: #0f2a30;
  --rs1: #1b3352;
  --rs1-chu: #8fa9c6;
  --rs2: #7fc79d;
  --rs2-chu: #0b1f15;
  --rs3: #3d9b68;
  --rs3-chu: #eaf6ef;
  --rs4: #b394e3;
  --rs4-chu: #1c1030;
  --rs5: #8559c6;
  --rs5-chu: #f6f0ff;
  --rs6: #58309c;
  --rs6-chu: #efe6ff;
  /* Bốn màu Lực cầu: vàng đồng, kem nhạt, xanh trời, xám than. */
  --lc-k: #d4b25a;
  --lc-h: #e6dcc3;
  --lc-r: #5ba3d9;
  --lc-y: #3a4d66;
  --lc-vien-y: rgba(163, 179, 198, 0.35);
  --serif: 'Spectral', Georgia, serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --sans: 'Montserrat', system-ui, sans-serif;
  color: var(--chu);
  font-family: var(--sans);
}

/* Bản sáng. Thuộc tính data-giao-dien đặt trên <html> bởi nút sáng tối ở chân thanh bên. */
html[data-giao-dien='sang'] .rs-token {
  /* tông xám dịu, khớp bản sáng của toàn ứng dụng */
  --nen0: #E2E5E9;
  --nen: #EAECEF;
  --mat: rgba(242, 243, 245, 0.94);
  --mat2: rgba(242, 243, 245, 0.78);
  --vang-sang: #7E6326;
  --troi: #3A78A8;
  --chu: #243244;
  --chu2: #566577;
  --chu3: #7D8A99;
  --vien: rgba(36, 50, 68, 0.1);
  --vien2: rgba(36, 50, 68, 0.17);
  --len: #2A8A5C;
  --xuong: #B5503F;
  --chu-dam: #1E2B3B;
  --mat-dac: #F2F3F5;
  --nen-o: rgba(36, 50, 68, 0.04);
  --bong: rgba(60, 74, 92, 0.14);
  --vien-nhat: rgba(36, 50, 68, 0.06);
  --hover-dong: rgba(58, 120, 168, 0.06);
  --noibo-chu: #2F5F86;
  --len-chip: #23774F;
  --xuong-chip: #A5463A;
  --loi-chu: #9A3B2E;
  --mang: rgba(30, 43, 59, 0.28);
  --ngan-nen: linear-gradient(180deg, #F2F3F5, #E8EBEE);
  --hao-quang: rgba(150, 165, 185, 0.14);
  --rs0: #CBE6EA;
  --rs0-chu: #1D4A52;
  --rs1: #D9DFE6;
  --rs1-chu: #3F5670;
  --lc-k: #9A7A2C;
  --lc-h: #8C8172;
  --lc-r: #3A78A8;
  --lc-y: #A3AEBB;
  --lc-vien-y: rgba(36, 50, 68, 0.12);
  color-scheme: light;
}

.rs-trang {
  position: relative;
  min-height: 100%;
  background:
    radial-gradient(80vw 50vw at 85% -10%, var(--hao-quang) 0%, transparent 60%),
    radial-gradient(50vw 40vw at -10% 110%, rgba(201, 168, 76, 0.06) 0%, rgba(201, 168, 76, 0) 60%),
    linear-gradient(180deg, var(--nen) 0%, var(--nen0) 100%);
}
.rs-token button,
.rs-token select,
.rs-token input {
  font-family: inherit;
}

.rs-khung {
  max-width: 1440px;
  margin: 0 auto;
  padding: 26px clamp(16px, 3vw, 40px) 64px;
}

/* ── thanh chuyển ba trang (chép Navbar của AWM) ── */
.rs-dieuHuong {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 26px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--vien);
}
.rs-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--chu2);
  transition: background-color var(--t-mau) var(--e-mau), color var(--t-mau) var(--e-mau);
}
.rs-link:hover {
  color: var(--chu);
  background: rgba(163, 179, 198, 0.06);
}
.rs-link[aria-current='page'] {
  color: var(--vang-sang);
  background: linear-gradient(180deg, rgba(201, 168, 76, 0.14), rgba(201, 168, 76, 0.04));
  box-shadow: inset 0 0 0 1px rgba(201, 168, 76, 0.32);
}
.rs-link:focus-visible,
.rs-nutGiaoDien:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 2px;
}
.rs-link svg {
  width: 16px;
  height: 16px;
}
.rs-phai {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
.rs-nutGiaoDien {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid var(--vien2);
  color: var(--chu2);
  transition: border-color var(--t-mau) var(--e-mau), color var(--t-mau) var(--e-mau);
}
.rs-nutGiaoDien:hover {
  border-color: rgba(201, 168, 76, 0.6);
  color: var(--vang-sang);
}

/* ── đầu trang ── */
.rs-dau {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px 32px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--vien);
}
.rs-nhanTren {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vang);
}
.rs-nhanTren .rs-cham {
  color: var(--chu3);
}
.rs-tieuDe {
  margin-top: 12px;
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.018em;
  color: var(--chu);
}
.rs-tieuDe em {
  font-style: italic;
  background: linear-gradient(100deg, var(--vang-sang), var(--vang) 45%, var(--troi));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rs-moTa {
  margin-top: 10px;
  max-width: 44rem;
  font-size: 14px;
  line-height: 1.7;
  color: var(--chu2);
}
.rs-congCu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.rs-huyHieu {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid var(--vien2);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chu2);
}
.rs-huyHieu i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--chu3);
}
.rs-huyHieu[data-tang='noi_bo'] {
  color: var(--noibo-chu);
  border-color: rgba(91, 163, 217, 0.45);
}
.rs-huyHieu[data-tang='noi_bo'] i {
  background: var(--troi);
  box-shadow: 0 0 8px var(--troi);
}

/* ── dải tóm tắt ── */
.rs-tomTat {
  display: grid;
  grid-template-columns: 1.3fr 1.3fr 1fr 1fr;
  margin: 26px 0 22px;
  border: 1px solid var(--vien);
  border-radius: 16px;
  background: var(--mat);
  overflow: hidden;
}
.rs-tomTat[hidden] {
  display: none;
}
.rs-tomTat > div {
  padding: 16px 20px;
  min-width: 0;
}
.rs-tomTat > div + div {
  border-left: 1px solid var(--vien);
}
.rs-nhan {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--chu3);
}
.rs-giaTri {
  margin-top: 7px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--chu);
}
.rs-giaTri b {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 24px;
  color: var(--chu-dam);
}
.rs-giaTri .rs-phu {
  color: var(--chu3);
  font-size: 12.5px;
}

/* ── lưới và thẻ ── */
.rs-luoi {
  display: grid;
  /* --trai do thanh kéo đặt, lưu trên máy khách. */
  grid-template-columns: minmax(0, var(--trai, 46.5%)) 18px minmax(0, 1fr);
  align-items: stretch;
}
.rs-luoi > .rs-the {
  align-self: start;
}
.rs-thanhKeo {
  position: relative;
  cursor: col-resize;
  touch-action: none;
}
.rs-thanhKeo i {
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 50%;
  width: 2px;
  margin-left: -1px;
  border-radius: 2px;
  background: var(--vien);
  transition: background-color var(--t-dong) var(--e-mau);
}
.rs-thanhKeo:hover i,
.rs-thanhKeo:focus-visible i {
  background: var(--vang);
}
.rs-thanhKeo:focus-visible {
  outline: none;
}
.rs-luoi2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}
.rs-the {
  min-width: 0;
  border-radius: 16px;
  border: 1px solid var(--vien);
  background: var(--mat);
  box-shadow: 0 24px 60px -36px var(--bong);
}
.rs-theDau {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 16px;
  padding: 16px 20px 12px;
  border-bottom: 1px solid var(--vien);
}
.rs-theTen {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 19px;
  color: var(--chu-dam);
}
.rs-theGhi {
  font-size: 12px;
  color: var(--chu3);
}
.rs-theThan {
  padding: 16px 20px 18px;
}
.rs-cuon {
  overflow-x: auto;
}
.rs-cuonDoc {
  max-height: 640px;
  overflow: auto;
}

/* ── bảng ── */
.rs-bang {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.rs-bang th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 10px;
  text-align: left;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chu3);
  background: var(--mat-dac);
  border-bottom: 1px solid var(--vien);
  white-space: nowrap;
}
.rs-bang th.rs-so,
.rs-bang td.rs-so {
  text-align: right;
}
.rs-bang th button {
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.rs-bang th button:hover,
.rs-bang th button[data-on='1'] {
  color: var(--vang-sang);
}
.rs-bang th button span[data-sx] {
  font-size: 11px;
  letter-spacing: 0;
}
.rs-bang th button span[data-sx='0'] {
  opacity: 0.45;
  transition: opacity var(--t-dong) var(--e-mau);
}
.rs-bang th button:hover span[data-sx='0'] {
  opacity: 1;
}
.rs-bang td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--vien-nhat);
  white-space: nowrap;
  color: var(--chu);
}
.rs-bang tbody tr {
  transition: background-color var(--t-dong) var(--e-mau);
}
.rs-bang tbody tr[data-bam='1'] {
  cursor: pointer;
}
.rs-bang tbody tr[data-bam='1']:hover {
  background: var(--hover-dong);
}
.rs-bang tbody tr[data-chon='1'] {
  background: linear-gradient(90deg, rgba(201, 168, 76, 0.16), rgba(201, 168, 76, 0.02));
  box-shadow: inset 2px 0 0 var(--vang);
}
.rs-bang tbody tr[data-mo='1'] td {
  color: var(--chu3);
}
.rs-bang tbody tr:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: -2px;
}
.rs-mn {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
}
.rs-stt {
  color: var(--chu3);
  font-family: var(--mono);
  font-size: 11.5px;
}
.rs-ma {
  font-family: var(--mono);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--chu-dam);
}
.rs-tenNganh {
  color: var(--chu);
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rs-it {
  margin-left: 8px;
  font-size: 10.5px;
  color: var(--chu3);
}
.rs-token .rs-len {
  color: var(--len);
}
.rs-token .rs-xuong {
  color: var(--xuong);
}
.rs-token .rs-ngang {
  color: var(--chu2);
}

/* thanh RS */
.rs-rs {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
}
.rs-rsRay {
  position: relative;
  width: 48px;
  height: 4px;
  border-radius: 2px;
  background: rgba(163, 179, 198, 0.12);
  overflow: hidden;
}
.rs-rsRay i {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(91, 163, 217, 0.7), var(--vang-sang));
  transform-origin: left;
  animation: rs-rayVao var(--t-chon) var(--lx-chon) backwards;
}
.rs-rsSo {
  min-width: 2ch;
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  color: var(--chu-dam);
}
.rs-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11.5px;
  border: 1px solid var(--vien2);
  color: var(--chu2);
}
.rs-chip[data-x='manh_len'] {
  color: var(--len-chip);
  border-color: rgba(79, 197, 143, 0.4);
  background: rgba(79, 197, 143, 0.08);
}
.rs-chip[data-x='yeu_di'] {
  color: var(--xuong-chip);
  border-color: rgba(232, 112, 95, 0.4);
  background: rgba(232, 112, 95, 0.08);
}

/* ── Lực cầu ── */
.rs-token [data-lc='K'] { --lc-mau: var(--lc-k); }
.rs-token [data-lc='H'] { --lc-mau: var(--lc-h); }
.rs-token [data-lc='R'] { --lc-mau: var(--lc-r); }
.rs-token [data-lc='Y'] { --lc-mau: var(--lc-y); }
.rs-lc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  white-space: nowrap;
  color: var(--chu);
}
.rs-lc i {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--lc-mau);
}
.rs-lc[data-lc='K'] i {
  box-shadow: 0 0 8px color-mix(in srgb, var(--lc-k) 70%, transparent);
}
.rs-lc[data-lc='Y'] i {
  box-shadow: inset 0 0 0 1px var(--lc-vien-y);
}
.rs-lcN {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--chu3);
}
.rs-rong {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
}
.rs-rongRay {
  position: relative;
  width: 30px;
  height: 4px;
  border-radius: 2px;
  background: rgba(163, 179, 198, 0.12);
  overflow: hidden;
}
.rs-rongRay i {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 2px;
  background: var(--lc-k);
}
.rs-rongSo {
  min-width: 42px;
  text-align: right;
  font-family: var(--mono);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
  color: var(--chu2);
}
.rs-bangNganh .rs-rsRay {
  width: 34px;
}
/* Thiếu nến VN-Index: dòng ghi rõ giờ thử lần cuối. */
.rs-nhanLc {
  padding: 12px 20px 16px;
  font-size: 12px;
  color: var(--vang-sang);
}
.rs-nhanLc[hidden] {
  display: none;
}

/* ── bản đồ nhiệt ── */
.rs-banDoCongCu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
}
.rs-tab {
  display: inline-flex;
  gap: 4px;
}
.rs-tab button {
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid var(--vien2);
  font-size: 12px;
  color: var(--chu2);
  transition: color var(--t-mau) var(--e-mau), border-color var(--t-mau) var(--e-mau), background-color var(--t-mau) var(--e-mau),
    box-shadow var(--t-mau) var(--e-mau), opacity var(--t-mau) var(--e-mau);
}
.rs-tab button:hover {
  color: var(--chu);
}
.rs-tab button[aria-pressed='true'] {
  color: var(--vang-sang);
  border-color: rgba(201, 168, 76, 0.6);
  background: rgba(201, 168, 76, 0.1);
}
.rs-tab button[data-noi='1'] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--vang-sang);
  border-color: rgba(201, 168, 76, 0.55);
  background: linear-gradient(180deg, rgba(201, 168, 76, 0.16), rgba(201, 168, 76, 0.04));
  font-weight: 600;
}
.rs-tab button[data-noi='1'] span {
  color: var(--vang);
  font-size: 11px;
}
.rs-tab button[data-noi='1']:not(:disabled):not([aria-pressed='true']) {
  /* Ba nhịp mỗi lần nút hiện rồi dừng (CAU_HOI_MO 9); giảm chuyển động thì không nhịp. */
  animation: rs-nhipVang var(--t-nhip-vang) var(--e-giua) 3;
}
.rs-tab button[data-noi='1']:not(:disabled):hover {
  border-color: var(--vang);
  box-shadow: 0 0 14px rgba(201, 168, 76, 0.35);
}
.rs-tab button[data-noi='1'][aria-pressed='true'] {
  border-color: var(--vang);
  background: rgba(201, 168, 76, 0.2);
  box-shadow: 0 0 12px rgba(201, 168, 76, 0.28);
}
.rs-tab button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.rs-tab button:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 2px;
}
.rs-banDo {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px;
  font-size: 11px;
}
.rs-banDo th {
  padding: 0 0 6px;
  font-family: var(--mono);
  font-size: 9.5px;
  font-weight: 400;
  color: var(--chu3);
  text-align: center;
  white-space: nowrap;
}
.rs-banDo th.rs-ten,
.rs-banDo td.rs-ten {
  position: sticky;
  left: 0;
  z-index: 1;
  width: 200px;
  min-width: 200px;
  padding-right: 16px;
  text-align: left;
  background: var(--mat-dac);
}
.rs-banDo td.rs-ten {
  /* Cột cố định 200px như AWM. Tên ngành dài xuống dòng thay vì đẩy cột rộng ra. */
  max-width: 200px;
  font-size: 13px;
  line-height: 1.3;
  color: var(--chu);
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.rs-banDo .rs-bung {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  padding: 0;
  border: 1px solid var(--vien);
  border-radius: 2px;
  background: transparent;
  color: var(--chu2, var(--chu));
  font-family: var(--mono);
  font-size: 12px;
  line-height: 14px;
  vertical-align: middle;
  cursor: pointer;
}
.rs-banDo .rs-bung:hover {
  border-color: var(--vang-sang);
  color: var(--vang-sang);
}
.rs-banDo .rs-tenNganhBd {
  cursor: pointer;
}
.rs-banDo tr[data-rs-dong='ma'] td.rs-ten {
  padding-left: 32px;
  font-size: 11.5px;
  color: var(--chu3);
  cursor: default;
}
.rs-banDo .rs-maBd {
  font-family: var(--mono);
  letter-spacing: 0.04em;
}
.rs-banDo tr[data-rs-dong='ma-le'] td.rs-ten {
  font-size: 12px;
}
.rs-banDo tr[data-rs-dong='ma-le'] .rs-maBd {
  display: inline-block;
  min-width: 3.6em;
  font-weight: 600;
  color: var(--chu-dam);
  cursor: pointer;
}
.rs-banDo tr[data-rs-dong='ma-le'] .rs-maBd:hover {
  color: var(--vang-sang);
}
.rs-banDo tr[data-rs-dong='ma'] .rs-maBd {
  cursor: pointer;
}
.rs-banDo tr[data-rs-dong='ma'] .rs-maBd:hover,
.rs-banDo tr[data-rs-dong='ma'] .rs-maBd:focus-visible {
  color: var(--vang-sang);
  outline: none;
}
.rs-banDo .rs-sttBd {
  display: inline-block;
  min-width: 2.4em;
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--chu3);
}
.rs-banDo .rs-nganhBd {
  margin-left: 8px;
  font-size: 11px;
  color: var(--chu3);
}
.rs-banDo .rs-sao {
  width: 18px;
  margin-right: 6px;
  padding: 0;
  font-size: 13px;
  line-height: 1;
  color: var(--chu3);
  vertical-align: middle;
  cursor: pointer;
  transition: color var(--t-dong) var(--e-mau);
}
.rs-banDo .rs-sao:hover,
.rs-banDo .rs-sao[data-on='1'] {
  color: var(--vang);
}
.rs-banDo .rs-sao:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 2px;
}
.rs-banDo tr[data-rs-dong='ma-le'] .rs-maBd[data-ngoai='1'] {
  cursor: default;
}
.rs-themMa {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-bottom: 14px;
}
.rs-themMa[hidden] {
  display: none;
}
.rs-oNhap {
  width: 12rem;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid var(--vien2);
  background: var(--nen-o);
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--chu);
}
.rs-oNhap::placeholder {
  color: var(--chu3);
  text-transform: none;
}
.rs-oNhap:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 1px;
}
.rs-banDo thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--mat-dac);
}
.rs-banDo thead th.rs-ten {
  z-index: 3;
}
.rs-banDo tr[data-chon='1'] td.rs-ten {
  color: var(--vang-sang);
}
.rs-o {
  min-width: 34px;
  height: 28px;
  border-radius: 2px;
  text-align: center;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.rs-o[data-b],
.rs-chuGiai i[data-b] {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0));
}
.rs-token [data-b='0'] { background-color: var(--rs0); color: var(--rs0-chu); }
.rs-token [data-b='1'] { background-color: var(--rs1); color: var(--rs1-chu); }
.rs-token [data-b='2'] { background-color: var(--rs2); color: var(--rs2-chu); }
.rs-token [data-b='3'] { background-color: var(--rs3); color: var(--rs3-chu); }
.rs-token [data-b='4'] { background-color: var(--rs4); color: var(--rs4-chu); }
.rs-token [data-b='5'] { background-color: var(--rs5); color: var(--rs5-chu); }
.rs-token [data-b='6'] { background-color: var(--rs6); color: var(--rs6-chu); }
.rs-o[data-b]:hover {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}
.rs-o[data-trong='1'] {
  background: rgba(163, 179, 198, 0.04);
  color: var(--chu3);
}
.rs-chuGiai {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 14px;
  font-size: 12px;
  color: var(--chu2);
}
.rs-chuGiai span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.rs-chuGiai i {
  box-shadow: inset 0 0 0 1px rgba(163, 179, 198, 0.25);
  width: 16px;
  height: 10px;
  border-radius: 2px;
}

/* ── văn bản ── */
.rs-vb {
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--chu2);
}
.rs-vb + .rs-vb {
  margin-top: 10px;
}
.rs-vb b {
  color: var(--chu);
  font-weight: 600;
}
.rs-nutVien {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid var(--vien2);
  font-size: 12.5px;
  color: var(--chu);
  transition: border-color var(--t-mau) var(--e-mau), color var(--t-mau) var(--e-mau);
}
.rs-nutVien:hover:not(:disabled) {
  border-color: rgba(201, 168, 76, 0.6);
  color: var(--vang-sang);
}
.rs-nutVien:disabled {
  opacity: 0.5;
  cursor: progress;
}
.rs-nutVien:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 3px;
}

/* ── trạng thái ── */
.rs-trangThai {
  padding: 48px 20px;
  text-align: center;
  font-size: 13.5px;
  color: var(--chu2);
}
.rs-xuong2 {
  height: 13px;
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(163, 179, 198, 0.06), rgba(163, 179, 198, 0.14), rgba(163, 179, 198, 0.06));
  background-size: 200% 100%;
  animation: rs-lap var(--t-cho) var(--e-giua) infinite;
}
.rs-xuong2 + .rs-xuong2 {
  margin-top: 12px;
}
.rs-loi {
  margin-top: 22px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(232, 112, 95, 0.35);
  background: rgba(232, 112, 95, 0.07);
  color: var(--loi-chu);
  font-size: 13.5px;
}
.rs-loi[hidden] {
  display: none;
}

/* ── ngăn chi tiết mã ── */
.rs-mangChe {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: var(--mang);
}
.rs-ngan {
  position: fixed;
  z-index: 61;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(460px, 100vw);
  overflow-y: auto;
  padding: 26px 26px 40px;
  background: var(--ngan-nen);
  border-left: 1px solid rgba(201, 168, 76, 0.28);
  box-shadow: -30px 0 80px -30px var(--bong);
}
/* Vào, ra và trạng thái đóng có trễ: chuyen_dong.css (C10). */
.rs-mangChe[hidden],
.rs-ngan[hidden] {
  display: none;
}
.rs-nganDau {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.rs-nganMa {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
  color: var(--chu-dam);
}
.rs-nganPhu {
  margin-top: 8px;
  font-size: 13px;
  color: var(--chu2);
}
.rs-dong {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 1px solid var(--vien2);
  color: var(--chu2);
}
.rs-dong:hover {
  color: var(--chu-dam);
}
.rs-dong:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 2px;
}
.rs-oSo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 22px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--vien);
}
.rs-oSo > div {
  padding: 13px 14px;
  background: var(--mat-dac);
}
.rs-oSo .rs-giaTri {
  margin-top: 5px;
  font-family: var(--mono);
  font-size: 15px;
}
.rs-duong {
  margin-top: 22px;
}
.rs-duong svg {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 8px;
}
.rs-lcTomTat {
  margin-top: 22px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid var(--vien);
  background: var(--nen-o);
}
.rs-lcTomTatDau {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.rs-lcTomTatDau b {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  color: var(--lc-mau, var(--chu-dam));
}
.rs-lcTomTat .rs-vb {
  margin-top: 6px;
  font-size: 12.5px;
}
.rs-dai {
  display: grid;
  grid-template-columns: repeat(60, minmax(0, 1fr));
  gap: 2px;
  margin-top: 10px;
}
.rs-dai span {
  height: 16px;
  border-radius: 2px;
  background: var(--lc-mau, var(--vien-nhat));
}
.rs-daiTruc {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-family: var(--mono);
  font-size: 10px;
  color: var(--chu3);
}
.rs-chuLc {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 10px;
  font-size: 11.5px;
  color: var(--chu2);
}
.rs-chuLc span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rs-chuLc i {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: var(--lc-mau);
}
.rs-chuDuong {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 8px;
  font-size: 11.5px;
  color: var(--chu2);
}
.rs-chuDuong span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rs-duong .rs-chuDuong svg {
  display: inline-block;
  width: 18px;
  height: 4px;
  margin: 0;
  overflow: visible;
}
.rs-lcDoThi path {
  fill: none;
  stroke-linejoin: round;
}
.rs-lcMoc {
  stroke: var(--vien2);
  stroke-dasharray: 2 5;
}
.rs-lcMa {
  stroke: var(--vang-sang);
  stroke-width: 1.8;
}
.rs-lcChiSo {
  stroke: var(--chu2);
  stroke-width: 1.2;
  stroke-dasharray: 3 3;
}
.rs-lcNen {
  stroke: var(--troi);
  stroke-width: 1.4;
}

/* ── Ma trận RS × Lực cầu ── */
.rs-mtCuon {
  overflow-x: auto;
}
.rs-mt {
  display: grid;
  grid-template-columns: 140px repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.rs-mtDauCot {
  padding: 8px 10px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--chu2);
}
.rs-mtDauCot b {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 4px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--chu-dam);
}
.rs-mtDauCot b i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--lc-mau);
}
.rs-mtDauHang {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 10px;
  font-size: 12.5px;
  color: var(--chu2);
}
.rs-mtDauHang b {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 17px;
  color: var(--chu-dam);
}
.rs-oMt {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 116px;
  padding: 12px 12px 10px;
  border-radius: 12px;
  border: 1px solid var(--vien);
  background: var(--mat);
  text-align: left;
  cursor: pointer;
  transition: border-color var(--t-mau) var(--e-mau), transform var(--t-mau) var(--e-mau);
}
.rs-oMt[data-nhan='1'] {
  background: linear-gradient(160deg, rgba(201, 168, 76, 0.14), var(--mat) 60%);
}
.rs-oMt:hover {
  border-color: rgba(201, 168, 76, 0.55);
  transform: translateY(-1px);
}
.rs-oMt[aria-pressed='true'] {
  border-color: var(--vang);
  box-shadow: inset 0 0 0 1px var(--vang);
}
.rs-oMt:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 2px;
}
.rs-oMtSo {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 28px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--chu-dam);
}
.rs-oMtTen {
  font-size: 12px;
  font-weight: 600;
  color: var(--vang-sang);
}
.rs-oMtMa {
  font-family: var(--mono);
  font-size: 11px;
  line-height: 1.5;
  color: var(--chu2);
}
.rs-luoiDeu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
@media (max-width: 900px) {
  .rs-mt {
    grid-template-columns: 96px repeat(4, minmax(120px, 1fr));
    min-width: calc(96px + 4 * 120px + 4 * 8px);
  }
  .rs-luoiDeu {
    grid-template-columns: 1fr;
  }
}

/* ── kiểm tra dữ liệu ── */
.rs-kiemTra {
  margin-top: 18px;
}
.rs-kiemTra dl {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px 24px;
}
.rs-kiemTra dd {
  margin-top: 4px;
  font-family: var(--mono);
  font-size: 13px;
  color: var(--chu);
}

/* ── bộ lọc ── */
.rs-boLoc {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin: 24px 0 18px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--vien);
  background: var(--mat);
}
.rs-truong {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  min-width: 0;
  flex: 1 1 172px;
}
.rs-truong label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chu3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rs-chon {
  appearance: none;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  height: 40px;
  padding: 0 34px 0 12px;
  border-radius: 10px;
  border: 1px solid var(--vien2);
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23a3b3c6' stroke-width='1.4'/></svg>") no-repeat right 12px center,
    var(--nen-o);
  font-size: 13px;
  color: var(--chu);
}
.rs-chon:focus-visible {
  outline: 2px solid var(--troi);
  outline-offset: 1px;
}
.rs-chon option {
  background: var(--mat-dac);
}
.rs-dem {
  margin-left: auto;
  font-size: 12.5px;
  color: var(--chu2);
  white-space: nowrap;
}

/* ── chuyển động ── */
@keyframes rs-nhipVang {
  0%, 100% { box-shadow: 0 0 0 0 rgba(201, 168, 76, 0.45); }
  50% { box-shadow: 0 0 0 5px rgba(201, 168, 76, 0); }
}
@keyframes rs-rayVao {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes rs-lap {
  from { background-position: 100% 0; }
  to { background-position: -100% 0; }
}

/* ── màn hẹp ── */
@media (max-width: 1180px) {
  .rs-luoi {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .rs-thanhKeo {
    display: none;
  }
  .rs-tomTat {
    grid-template-columns: 1fr 1fr;
  }
  .rs-tomTat > div:nth-child(3) {
    border-left: 0;
  }
  .rs-tomTat > div:nth-child(n + 3) {
    border-top: 1px solid var(--vien);
  }
}
@media (max-width: 760px) {
  .rs-luoi2 {
    grid-template-columns: 1fr;
  }
  .rs-tomTat {
    grid-template-columns: 1fr;
  }
  .rs-tomTat > div + div {
    border-left: 0;
    border-top: 1px solid var(--vien);
  }
  .rs-anHep,
  .rs-it,
  .rs-rsRay,
  .rs-rongRay {
    display: none;
  }
  .rs-banDo th.rs-ten,
  .rs-banDo td.rs-ten {
    width: 132px;
    min-width: 132px;
    max-width: 132px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .rs-dem {
    margin-left: 0;
    width: 100%;
  }
}

/* Giảm chuyển động: chỉ bỏ trượt, phóng, xoay; mờ dần và đổi màu giữ (docs/chuyen_dong SPEC mục 5).
   Ngăn chi tiết mã, thanh RS, ô chờ, nút "Theo dõi" xử lý ở chuyen_dong.css. */
@media (prefers-reduced-motion: reduce) {
  .rs-oMt:hover {
    transform: none;
  }
}

/* Thanh cuộn mảnh cùng tông, thay thanh trắng mặc định của Windows. */
.rs-token .rs-cuon,
.rs-token .rs-cuonDoc,
.rs-token .rs-mtCuon,
.rs-ngan {
  scrollbar-width: thin;
  scrollbar-color: var(--vien2) transparent;
}
