/* [18/10] Nút điện thoại cloud trên chân thẻ profile (cùng khuôn nút "7 ngày") + hộp nổi dáng điện thoại (vừa màn 390, không tràn đáy 900). */
.ht-nut-dt { display: inline-grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border-radius: 6px; border: 1px solid #3a1c12; background: #0e0a09; color: var(--wow-cam-nhat); cursor: pointer; }
.ht-nut-dt:hover { filter: brightness(1.35); }
.ht-nut-dt .tt-vat svg { width: 18px; height: 18px; }
.ht-hop.dt-hop { width: min(480px, 96vw); max-width: 96vw; }
.ht-hop.dt-hop .dt-khung { display: block; width: 100%; height: min(780px, calc(100vh - 150px)); border: 0; border-radius: 10px; background: #05070a; }
@media (max-width: 480px) { .ht-nut-dt { width: 38px; } }
/* [22/10] TikTok chưa đăng nhập ⇒ chấm đỏ đặc ở góc nút (một đối tượng một dấu) */
.ht-nut-dt { position: relative; }
.ht-nut-dt-loi::after { content: ""; position: absolute; top: 6px; right: 6px; width: 7px; height: 7px; border-radius: 50%; background: #ef4444; }
/* [22/10] Xem trực tiếp nhiều máy song song: hộp rộng gần trọn màn, lưới tự gói dòng (cấm cuộn ngang), mỗi máy một cột dáng điện thoại */
.pd-truc-tiep { display: inline-flex; align-items: center; gap: 6px; }
.pd-truc-tiep .tt-vat svg { width: 14px; height: 14px; }
.ht-hop.dt-hop-luoi { width: 96vw; max-width: 96vw; }
.dt-luoi { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.dt-o { margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.dt-o { border: 1px solid rgb(var(--wow-cam-rgb) / .18); border-radius: 10px; background: rgb(255 255 255 / .015); padding: 8px; }
.dt-o figcaption { font-family: var(--wow-font-chu); display: flex; flex-direction: column; gap: 6px; align-items: center; padding: 2px 0 8px; border-bottom: 1px solid rgb(var(--wow-cam-rgb) / .14); }
.dt-o-dau { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; justify-content: center; }
.dt-o-dau b { font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--wow-cam-sang); }
.dt-nguoi { font-size: 12px; color: var(--wow-chu-2); }
.dt-o-duoi { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: center; font-size: 11px; color: var(--wow-chu-2); }
.dt-loai { padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; border: 1px solid #3a1c12; background: #0e0a09; }
.dt-loai-farm { color: var(--wow-cam-sang); border-color: rgb(var(--wow-cam-rgb) / .45); }
.dt-loai-vmos { color: var(--wow-chu-2); border-color: rgb(255 255 255 / .18); }
.dt-dau { display: inline-flex; align-items: center; gap: 3px; }
.dt-o .dt-khung { display: block; width: 100%; height: min(760px, calc(100vh - 170px)); border: 0; border-radius: 10px; background: #05070a; }
/* [22/10] profile chưa gắn điện thoại ⇒ nút xám mờ (vẫn bấm được để chọn máy) */
.ht-nut-dt-chua { opacity: .35; filter: grayscale(1); }
.ht-nut-dt-chua:hover { opacity: .7; }
/* [22/10] máy farm gom một khung lưới chiếm trọn hàng; chú thích từng máy xếp một dải (tự gói dòng) */
.dt-o-farm { grid-column: 1 / -1; }
.dt-o-ds { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 6px; }
.dt-o-ds figcaption { border-bottom: 0; padding-bottom: 2px; }
.dt-o-farm .dt-khung { height: min(820px, calc(100vh - 200px)); }
