/* =====================================================================
   VN CHECKER — BỘ GIAO DIỆN
   ---------------------------------------------------------------------
   Tông màu lấy theo Valorant: nền xanh đen #0F1923, điểm nhấn đỏ #FF4655,
   màu phụ xanh ngọc #00FFC8.

   Ba nguyên tắc dựng bộ giao diện này:
     1. Nền chia 4 tầng độ sáng (nen → nen-mat → nen-the → nen-the-sang)
        để khối nào lồng trong khối nào cũng tách bạch mà không cần viền đậm.
     2. Góc bo 6px — đủ mềm cho dễ nhìn, vẫn giữ nét sắc kiểu Valorant.
        Riêng những chỗ muốn "gắt" thì cắt vát bằng clip-path.
     3. Mỗi thẻ có một vạch màu mảnh ở mép trên, sáng lên khi rê chuột —
        thay cho việc đổ bóng nặng.
   ===================================================================== */

:root {
    /* --- Nền, chia 4 tầng --- */
    --nen:          #0B1219;
    --nen-mat:      #121C25;
    --nen-the:      #18242F;
    --nen-the-sang: #1F2E3B;

    /* --- Viền --- */
    --vien:         #223243;
    --vien-sang:    #33475C;

    /* --- Chữ --- */
    --chu:          #ECE8E1;
    --chu-phu:      #A5B0BD;
    --chu-mo:       #6E7C8B;

    /* --- Màu điểm nhấn --- */
    --do:           #FF4655;
    --do-dam:       #D8323F;
    --do-nhat:      #FF8A94;
    --xanh:         #00FFC8;
    --xanh-dam:     #00C89D;
    --vang:         #FFD64A;
    --tim:          #8B7BFF;
    --xanh-doi:     #4A90D9;   /* màu của Phe Xanh trong game — khác --xanh (ngọc) */

    /* --- Chữ nghệ --- */
    --font-de:      'Rajdhani', sans-serif;
    --font-chu:     'Inter', sans-serif;
    --font-logo:    'Orbitron', monospace;
    --font-ma:      'Consolas', 'SFMono-Regular', monospace;

    /* --- Hiệu ứng --- */
    --bo:           6px;
    --bo-nho:       4px;
    --chuyen:       0.22s cubic-bezier(0.4, 0, 0.2, 1);
    --bong:         0 8px 28px rgba(0, 0, 0, 0.45);
    --bong-nhe:     0 2px 10px rgba(0, 0, 0, 0.3);
    --sang-do:      0 0 24px rgba(255, 70, 85, 0.28);
    --sang-xanh:    0 0 24px rgba(0, 255, 200, 0.22);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-chu);
    background:
        radial-gradient(1200px 600px at 15% -5%, rgba(255, 70, 85, 0.09), transparent 60%),
        radial-gradient(1000px 500px at 90% 0%, rgba(0, 255, 200, 0.06), transparent 55%),
        var(--nen);
    background-attachment: fixed;
    color: var(--chu);
    min-height: 100vh;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
.mo { color: var(--chu-mo); }
b, strong { font-weight: 600; }

/* Số liệu luôn thẳng cột nhờ chữ số cùng bề ngang */
.o-so .so, table.du-lieu td, .dong-tran .cot .v, .dong-tran .ti-so {
    font-variant-numeric: tabular-nums;
}

/* Bàn phím lướt tới đâu thấy rõ tới đó */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--xanh);
    outline-offset: 2px;
}

::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: var(--nen); }
::-webkit-scrollbar-thumb { background: var(--vien); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--vien-sang); }

@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
    html { scroll-behavior: auto; }
}

/* ============ THANH ĐIỀU HƯỚNG ============ */
.thanh-nav {
    position: sticky; top: 0; z-index: 900;
    background: rgba(11, 18, 25, 0.88);
    backdrop-filter: blur(18px) saturate(140%);
    border-bottom: 1px solid var(--vien);
    padding: 0 28px; height: 64px;
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.thanh-nav .logo {
    font-family: var(--font-logo); font-weight: 900; font-size: 1.22rem;
    letter-spacing: 2px; display: flex; align-items: center; gap: 10px;
    flex-shrink: 0; transition: var(--chuyen);
}
.thanh-nav .logo:hover { filter: brightness(1.15); }
.thanh-nav .logo b { color: var(--do); font-weight: 900; }
.thanh-nav .logo-hinh {
    width: 34px; height: 34px;
    background: linear-gradient(135deg, var(--do), var(--do-dam));
    color: #fff;
    clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; font-weight: 900;
    box-shadow: var(--sang-do);
}

.nav-menu { display: flex; gap: 2px; align-items: center; list-style: none; }
.nav-menu .muc {
    font-family: var(--font-de); font-weight: 600; font-size: 0.94rem;
    text-transform: uppercase; letter-spacing: 0.8px; color: var(--chu-phu);
    padding: 8px 14px; border-radius: var(--bo-nho); transition: var(--chuyen);
    position: relative; display: flex; align-items: center; gap: 6px;
    white-space: nowrap;
}
.nav-menu .muc::after {
    content: ''; position: absolute; bottom: 2px; left: 50%; right: 50%;
    height: 2px; background: var(--do); border-radius: 2px;
    transition: var(--chuyen);
}
.nav-menu .muc:hover { color: var(--chu); background: rgba(255, 255, 255, 0.04); }
.nav-menu .muc:hover::after { left: 14px; right: 14px; }
.nav-menu .muc.active { color: var(--do); background: rgba(255, 70, 85, 0.10); }
.nav-menu .muc.active::after { left: 14px; right: 14px; }

/*  Menu là phần CO ĐƯỢC: thiếu chỗ thì nó tự cuộn ngang.
    Khối bên phải (tên tài khoản + Đăng xuất) thì KHÔNG BAO GIỜ được co —
    trước đây nó co, nên ở màn hình vừa vừa nút "Đăng xuất" bị đẩy khuất hẳn.  */
.nav-menu { flex: 1 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.nav-menu::-webkit-scrollbar { display: none; }

.nav-phai { display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: nowrap; }
.nav-phai .nut { flex-shrink: 0; }
/*  Tên hiển thị dài thì cắt bằng dấu ba chấm, chứ đừng đẩy nút Đăng xuất đi  */
.nav-phai .nut-vien {
    max-width: 200px; overflow: hidden; text-overflow: ellipsis;
    white-space: nowrap; display: inline-block;
}

/* ============ NÚT ============ */
.nut {
    font-family: var(--font-de); font-weight: 600; font-size: 0.86rem;
    text-transform: uppercase; letter-spacing: 0.6px;
    padding: 9px 18px;
    background: linear-gradient(135deg, var(--do), var(--do-dam));
    color: #fff; border: none; border-radius: var(--bo-nho);
    cursor: pointer; transition: var(--chuyen);
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    line-height: 1.2;
}
.nut:hover  { filter: brightness(1.1); box-shadow: var(--sang-do); transform: translateY(-1px); }
.nut:active { transform: translateY(0); }

.nut-vien {
    background: transparent; border: 1px solid var(--vien-sang); color: var(--chu-phu);
}
.nut-vien:hover {
    border-color: var(--chu); color: var(--chu);
    background: rgba(255, 255, 255, 0.04); box-shadow: none;
}
.nut-nho  { padding: 5px 12px; font-size: 0.76rem; }
.nut-lon  { padding: 13px 26px; font-size: 0.95rem; }
.nut-rong { width: 100%; justify-content: center; padding: 13px; font-size: 0.95rem; }

.hang-nut { display: flex; gap: 10px; flex-wrap: wrap; }

/* --- Nút đăng nhập bằng Riot --- */
.nut-riot {
    display: flex; align-items: center; justify-content: center; gap: 11px;
    width: 100%; padding: 15px 20px;
    background: linear-gradient(135deg, #FF4655, #C9202E);
    color: #fff; border-radius: var(--bo);
    font-family: var(--font-de); font-weight: 700; font-size: 1.02rem;
    text-transform: uppercase; letter-spacing: 1.4px;
    box-shadow: 0 6px 20px rgba(255, 70, 85, 0.25);
    transition: var(--chuyen);
}
.nut-riot:hover { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(255, 70, 85, 0.36); }
.cham-riot {
    width: 12px; height: 12px; background: #fff; flex-shrink: 0;
    clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}
.dau-riot {
    display: block; font-family: var(--font-logo); font-weight: 900;
    font-size: 0.72rem; letter-spacing: 3px; color: var(--do);
    margin-bottom: 10px;
}
.dau-riot b { color: var(--chu-mo); font-weight: 900; }

/* ============ KHUNG TRANG ============ */
.trang { min-height: calc(100vh - 64px); }
.boc      { max-width: 1220px; margin: 0 auto; padding: 30px 28px; }
.boc-rong { max-width: 1440px; margin: 0 auto; padding: 24px 28px; }

.bao {
    max-width: 1220px; margin: 16px auto 0; padding: 12px 18px;
    border-radius: var(--bo-nho); font-size: 0.9rem; border-left: 3px solid;
    display: flex; align-items: center; gap: 8px;
}
.bao-ok  { background: rgba(0, 255, 200, 0.08); border-color: var(--xanh); color: var(--xanh); }
.bao-loi { background: rgba(255, 70, 85, 0.08); border-color: var(--do);   color: var(--do-nhat); }

.canh-bao {
    max-width: 900px; margin: 40px auto; padding: 20px 24px;
    background: var(--nen-the); border: 1px solid var(--vien);
    border-left: 3px solid var(--vang); border-radius: var(--bo); line-height: 1.65;
}
.canh-bao code, .khoi-giai-thich code {
    background: rgba(255, 255, 255, 0.07); padding: 2px 6px;
    border-radius: 3px; font-family: var(--font-ma); font-size: 0.88em;
}

/* ============ TRANG CHỦ — DẢI TÌM KIẾM ============ */
.dai-tim {
    position: relative; padding: 78px 24px 66px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background:
        radial-gradient(ellipse at 18% 45%, rgba(255, 70, 85, 0.20) 0%, transparent 55%),
        radial-gradient(ellipse at 82% 55%, rgba(0, 255, 200, 0.13) 0%, transparent 55%),
        linear-gradient(180deg, #101B25, var(--nen));
    overflow: hidden;
    border-bottom: 1px solid var(--vien);
}
.dai-tim::before {
    content: ''; position: absolute; inset: -2px; pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 78%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 78%);
}
.dai-tim > * { position: relative; z-index: 2; }
.dai-tim h1 {
    font-family: var(--font-de); font-weight: 700;
    font-size: clamp(2rem, 5vw, 3.1rem);
    letter-spacing: 2.5px; margin-bottom: 10px; text-align: center; line-height: 1.1;
}
.dai-tim h1 span {
    background: linear-gradient(120deg, var(--do), #FF8A94);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dai-tim .phu { color: var(--chu-phu); margin-bottom: 32px; text-align: center; max-width: 620px; }

.o-tim { display: flex; gap: 10px; width: 100%; max-width: 720px; }
.o-tim input {
    flex: 1; padding: 16px 20px; background: rgba(18, 28, 37, 0.9);
    border: 1px solid var(--vien); border-radius: var(--bo); color: var(--chu);
    font-family: var(--font-chu); font-size: 1rem; outline: none; transition: var(--chuyen);
}
.o-tim input::placeholder { color: var(--chu-mo); }
.o-tim input:focus { border-color: var(--do); box-shadow: 0 0 0 3px rgba(255, 70, 85, 0.14); }
.o-tim button {
    padding: 16px 30px;
    background: linear-gradient(135deg, var(--do), var(--do-dam));
    color: #fff; border: none; border-radius: var(--bo);
    font-family: var(--font-de); font-weight: 700; font-size: 1rem;
    text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: var(--chuyen);
    white-space: nowrap;
}
.o-tim button:hover { filter: brightness(1.1); box-shadow: var(--sang-do); transform: translateY(-1px); }

.goi-y { margin-top: 16px; font-size: 0.85rem; color: var(--chu-mo); text-align: center; }
.goi-y a { color: var(--xanh); }
.goi-y a:hover { text-decoration: underline; }

/* Dòng ghi rõ đang thống kê mùa nào */
.bang-mua {
    margin-top: 18px; display: inline-flex; align-items: center; gap: 9px;
    padding: 7px 16px; border-radius: 999px;
    background: rgba(0, 255, 200, 0.08); border: 1px solid rgba(0, 255, 200, 0.28);
    color: var(--xanh); font-size: 0.83rem; font-weight: 500;
}

/* ============ TIÊU ĐỀ MỤC + THẺ ============ */
.dau-muc {
    display: flex; align-items: center; justify-content: space-between;
    margin: 34px 0 16px; gap: 12px; flex-wrap: wrap;
}
.dau-muc:first-child { margin-top: 6px; }
.dau-muc h2 {
    font-family: var(--font-de); font-weight: 700; font-size: 1.45rem;
    letter-spacing: 1px; display: flex; align-items: center; gap: 10px;
}

.the {
    position: relative;
    background: linear-gradient(180deg, var(--nen-the), var(--nen-mat));
    border: 1px solid var(--vien);
    border-radius: var(--bo); padding: 22px 24px; margin-bottom: 20px;
    transition: border-color var(--chuyen);
}
.the::before {
    content: ''; position: absolute; top: -1px; left: 18px; right: 18px; height: 2px;
    background: linear-gradient(90deg, transparent, var(--vien-sang), transparent);
    border-radius: 2px; transition: var(--chuyen);
}
.the:hover { border-color: var(--vien-sang); }
.the:hover::before { background: linear-gradient(90deg, transparent, var(--do), transparent); }

.the-dau {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 12px; margin-bottom: 18px; flex-wrap: wrap;
}
.the-dau h2 { font-family: var(--font-de); font-weight: 700; font-size: 1.12rem; letter-spacing: 0.4px; }
.the-dau p  { color: var(--chu-mo); font-size: 0.84rem; margin-top: 2px; }

.tieu-de-nho {
    font-family: var(--font-de); font-weight: 700; font-size: 1rem;
    letter-spacing: 1px; text-transform: uppercase; color: var(--chu-phu);
    margin: 4px 0 14px;
}

.luoi-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.luoi-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }

/* ============ TIN TỨC ============ */
.luoi-tin { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.the-tin {
    background: linear-gradient(180deg, var(--nen-the), var(--nen-mat));
    border: 1px solid var(--vien); border-radius: var(--bo);
    overflow: hidden; transition: var(--chuyen); display: flex; flex-direction: column;
}
.the-tin:hover { transform: translateY(-4px); border-color: var(--vien-sang); box-shadow: var(--bong); }
.tin-anh {
    height: 132px; position: relative; font-size: 2.9rem;
    display: flex; align-items: center; justify-content: center;
    background:
        radial-gradient(circle at 50% 60%, rgba(255, 70, 85, 0.16), transparent 65%),
        var(--nen-mat);
}
.tin-the {
    position: absolute; top: 10px; left: 10px;
    background: var(--do); color: #fff;
    font-family: var(--font-de); font-size: 0.68rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.6px; padding: 4px 10px; border-radius: 3px;
}
.tin-than { padding: 15px 17px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.tin-than h3 { font-family: var(--font-de); font-weight: 600; font-size: 1.02rem; line-height: 1.3; transition: var(--chuyen); }
.the-tin:hover .tin-than h3 { color: var(--do); }
.tin-tom-tat { font-size: 0.82rem; color: var(--chu-phu); line-height: 1.55; flex: 1; }
.tin-ngay { font-size: 0.76rem; color: var(--chu-mo); }

/* ============ HỒ SƠ NGƯỜI CHƠI ============ */
.bang-ho-so {
    position: relative; min-height: 200px;
    border-bottom: 1px solid var(--vien);
    background:
        radial-gradient(ellipse at 12% 100%, rgba(255, 70, 85, 0.30), transparent 55%),
        radial-gradient(ellipse at 75% 20%, rgba(0, 255, 200, 0.16), transparent 55%),
        linear-gradient(180deg, #101B25, var(--nen-mat));
    display: flex; align-items: flex-end; overflow: hidden;
}
.bang-ho-so::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(to top, rgba(11, 18, 25, 0.9), transparent 70%);
}
.ho-so-trong {
    position: relative; z-index: 2; width: 100%; max-width: 1220px; margin: 0 auto;
    padding: 24px 28px 0; display: flex; align-items: flex-start; gap: 20px; flex-wrap: wrap;
}
.anh-dai-dien {
    width: 88px; height: 88px; border-radius: var(--bo);
    border: 2px solid var(--do);
    background: linear-gradient(150deg, var(--nen-the-sang), var(--nen-the));
    display: flex; align-items: center; justify-content: center;
    font-size: 2.1rem; font-weight: 700; font-family: var(--font-de); flex-shrink: 0;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.55), var(--sang-do);
}
.ho-so-ten {
    font-family: var(--font-de); font-weight: 700;
    font-size: clamp(1.3rem, 3vw, 1.85rem); letter-spacing: 1px;
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.ho-so-ten small { color: var(--chu-mo); font-size: 0.6em; font-weight: 600; }

.the-nho {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px; border-radius: 999px; border: 1px solid;
    font-family: var(--font-de); font-weight: 600; font-size: 0.83rem;
    white-space: nowrap;
}

/* --- Thanh lọc mùa giải & chế độ --- */
.thanh-loc {
    display: flex; flex-direction: column; gap: 8px;
    margin-top: 14px;
}
.nhom-vien { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.nhan-vien {
    font-family: var(--font-de); font-size: 0.7rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1.2px; color: var(--chu-mo);
    margin-right: 4px; min-width: 62px;
}
.vien {
    display: inline-flex; align-items: center;
    padding: 5px 13px; border-radius: 999px;
    background: rgba(255, 255, 255, 0.045); border: 1px solid var(--vien);
    color: var(--chu-phu); font-size: 0.79rem; font-weight: 500;
    transition: var(--chuyen); white-space: nowrap;
}
.vien:hover { border-color: var(--vien-sang); color: var(--chu); background: rgba(255, 255, 255, 0.08); }
.vien.active {
    background: rgba(255, 70, 85, 0.16); border-color: var(--do);
    color: #fff; font-weight: 600;
}

/* Nhãn mã mùa giải nhỏ, ví dụ "e9a3" */
.the-mua {
    display: inline-block; padding: 1px 7px; margin-left: 4px;
    border-radius: 3px; background: rgba(139, 123, 255, 0.16);
    border: 1px solid rgba(139, 123, 255, 0.35); color: var(--tim);
    font-family: var(--font-ma); font-size: 0.68rem; letter-spacing: 0.4px;
    vertical-align: middle;
}

.tab-ho-so { display: flex; gap: 2px; margin-top: 14px; flex-wrap: wrap; }
.tab-ho-so a {
    font-family: var(--font-de); font-weight: 600; font-size: 0.85rem;
    text-transform: uppercase; letter-spacing: 0.6px; padding: 10px 16px;
    border-bottom: 2px solid transparent; color: var(--chu-phu);
    transition: var(--chuyen);
}
.tab-ho-so a:hover { color: var(--chu); background: rgba(255, 255, 255, 0.05); }
.tab-ho-so a.active {
    color: var(--do); border-bottom-color: var(--do);
    background: linear-gradient(180deg, transparent, rgba(255, 70, 85, 0.12));
}

.than-ho-so { display: grid; grid-template-columns: 300px 1fr; gap: 22px; align-items: start; }
.cot-trai, .cot-phai { display: flex; flex-direction: column; gap: 18px; }

.the-hang {
    background: linear-gradient(180deg, var(--nen-the), var(--nen-mat));
    border: 1px solid var(--vien); border-radius: var(--bo); padding: 16px 20px;
    transition: var(--chuyen);
}
.the-hang:hover { border-color: var(--vien-sang); }
.the-hang .nhan {
    font-family: var(--font-de); font-size: 0.7rem; text-transform: uppercase;
    letter-spacing: 1.3px; color: var(--chu-mo); margin-bottom: 8px;
}
.the-hang .gia-tri {
    font-family: var(--font-de); font-weight: 700; font-size: 1.4rem;
    display: flex; align-items: center; gap: 10px; line-height: 1.2;
}
.the-hang .gia-tri em { font-size: 1.9rem; font-style: normal; }
.the-dong-bo .nut-rong { margin-top: 4px; }

.dong-doi {
    display: flex; align-items: center; gap: 10px; padding: 9px 0;
    border-bottom: 1px solid var(--vien); transition: var(--chuyen);
}
.dong-doi:last-child { border-bottom: none; }
.dong-doi:hover { background: rgba(255, 255, 255, 0.035); }
.anh-tron {
    width: 34px; height: 34px; border-radius: 50%;
    background: linear-gradient(140deg, var(--nen-the-sang), var(--nen-mat));
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    font-size: 0.8rem; font-weight: 700; font-family: var(--font-de);
    border: 1px solid var(--vien-sang); color: var(--chu-phu);
}
.dong-doi .ten { font-size: 0.9rem; font-weight: 500; }
.dong-doi .hang { margin-left: auto; font-size: 0.8rem; }

/* ============ Ô CHỈ SỐ ============ */
.luoi-so     { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 13px; }
.luoi-so-nho { display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 9px; margin-top: 12px; }
.o-so {
    position: relative; overflow: hidden;
    background: linear-gradient(160deg, var(--nen-the-sang), var(--nen-mat));
    border: 1px solid var(--vien); border-radius: var(--bo);
    padding: 15px 12px; text-align: center; transition: var(--chuyen);
}
.o-so::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
    background: var(--vien-sang); opacity: 0.5; transition: var(--chuyen);
}
.o-so:hover { border-color: var(--vien-sang); transform: translateY(-2px); box-shadow: var(--bong-nhe); }
.o-so .so   { font-family: var(--font-de); font-weight: 700; font-size: 1.45rem; line-height: 1.2; }
.o-so .nhan {
    font-size: 0.67rem; text-transform: uppercase; letter-spacing: 0.7px;
    color: var(--chu-mo); margin-top: 5px;
}
.o-so.nho       { padding: 11px 8px; }
.o-so.nho .so   { font-size: 1.1rem; }
.o-so.manh .so  { color: var(--do); }
.o-so.manh::after { background: var(--do); }
.o-so.tot .so   { color: var(--xanh); }
.o-so.tot::after { background: var(--xanh); }

/* ============ VÒNG TRÒN TỈ LỆ THẮNG ============ */
.vong-tron { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.vong-tron svg { filter: drop-shadow(0 0 12px rgba(0, 255, 200, 0.18)); }
.vong-tron .vt-so   { fill: var(--chu); font-family: var(--font-de); font-size: 26px; font-weight: 700; text-anchor: middle; }
.vong-tron .vt-nhan { fill: var(--chu-mo); font-family: var(--font-de); font-size: 9.5px; text-anchor: middle; letter-spacing: 0.5px; }
.vt-chu-thich { display: flex; flex-direction: column; gap: 10px; font-size: 0.9rem; }
.vt-chu-thich i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 7px; }

/* ============ BẢNG DỮ LIỆU ============ */
.boc-bang { overflow-x: auto; border-radius: var(--bo-nho); }
table.du-lieu { width: 100%; border-collapse: collapse; font-size: 0.87rem; }
table.du-lieu th {
    position: sticky; top: 0; z-index: 2;
    text-align: left; padding: 11px 12px; font-family: var(--font-de);
    font-size: 0.73rem; text-transform: uppercase; letter-spacing: 1px;
    color: var(--chu-mo); background: var(--nen-mat);
    border-bottom: 1px solid var(--vien); white-space: nowrap;
}
table.du-lieu td { padding: 11px 12px; border-bottom: 1px solid var(--vien); vertical-align: middle; }
table.du-lieu tbody tr:nth-child(even) { background: rgba(255, 255, 255, 0.016); }
table.du-lieu tbody tr:hover { background: rgba(255, 70, 85, 0.06); }
table.du-lieu tr:last-child td { border-bottom: none; }
table.du-lieu .phai { text-align: right; }
table.du-lieu .giua { text-align: center; }
table.du-lieu .trong { text-align: center; color: var(--chu-mo); padding: 34px 16px; line-height: 1.7; }
.thang { color: var(--xanh); font-weight: 600; }
.thua  { color: var(--do);   font-weight: 600; }

/* Ô có ảnh nhỏ đứng trước tên (bản đồ, vũ khí) */
.o-ban-do, .o-vu-khi { display: flex; align-items: center; gap: 10px; }
.o-ban-do img {
    width: 34px; height: 34px; object-fit: contain; border-radius: var(--bo-nho);
    background: rgba(255, 255, 255, 0.05); flex-shrink: 0;
}
.o-vu-khi img {
    width: 62px; height: 26px; object-fit: contain; flex-shrink: 0;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
}

.cot-ngang {
    height: 6px; background: rgba(255, 255, 255, 0.07); border-radius: 3px;
    overflow: hidden; min-width: 70px; margin-bottom: 5px;
}
table.du-lieu .cot-ngang + span { display: block; line-height: 1; }
.cot-ngang span { display: block; height: 100%; border-radius: 3px; }
.tien-do { height: 8px; background: rgba(255, 255, 255, 0.07); border-radius: 4px; overflow: hidden; flex: 1; min-width: 60px; }
.tien-do span { display: block; height: 100%; border-radius: 4px; }

/* ============ DÒNG LỊCH SỬ ĐẤU ============ */
.dong-tran {
    display: grid; grid-template-columns: 4px 200px 108px repeat(4, 1fr) 122px;
    align-items: center; gap: 14px; padding: 12px 16px; margin-bottom: 8px;
    background: linear-gradient(180deg, var(--nen-the), var(--nen-mat));
    border: 1px solid var(--vien); border-radius: var(--bo);
    transition: var(--chuyen);
}
.dong-tran:hover { border-color: var(--vien-sang); transform: translateX(3px); box-shadow: var(--bong-nhe); }
.dong-tran .vach { width: 4px; height: 100%; min-height: 44px; border-radius: 3px; }
.dong-tran.win  { background: linear-gradient(90deg, rgba(0, 255, 200, 0.07), var(--nen-mat) 42%); }
.dong-tran.lose { background: linear-gradient(90deg, rgba(255, 70, 85, 0.07), var(--nen-mat) 42%); }
.dong-tran.win  .vach { background: var(--xanh); box-shadow: 0 0 10px rgba(0, 255, 200, 0.5); }
.dong-tran.lose .vach { background: var(--do);   box-shadow: 0 0 10px rgba(255, 70, 85, 0.5); }
.dong-tran.draw .vach { background: var(--chu-mo); }
.dong-tran .dac-vu { display: flex; align-items: center; gap: 10px; min-width: 0; }
.dong-tran .ten-dv { font-family: var(--font-de); font-weight: 600; font-size: 0.96rem; }
.dong-tran .ban-do { font-size: 0.76rem; color: var(--chu-mo); }
.dong-tran .ti-so  { font-family: var(--font-de); font-weight: 700; font-size: 1.22rem; }
.dong-tran .cot .v { font-family: var(--font-de); font-weight: 600; font-size: 0.97rem; white-space: nowrap; }
.dong-tran .cot .n { font-size: 0.66rem; text-transform: uppercase; color: var(--chu-mo); letter-spacing: 0.6px; white-space: nowrap; }
.dong-tran .gio    { font-size: 0.76rem; color: var(--chu-mo); text-align: right; line-height: 1.4; }

/* ============ TRANG BẢN ĐỒ & CHIẾN THUẬT ============ */
.khung-ve { display: flex; gap: 20px; align-items: flex-start; }
.cot-ben {
    width: 250px; flex-shrink: 0; background: var(--nen-mat);
    border: 1px solid var(--vien); border-radius: var(--bo); padding: 16px;
}
.cot-ben h3 {
    font-family: var(--font-de); font-weight: 700; font-size: 1rem;
    letter-spacing: 1px; margin-bottom: 14px;
}
.ds-ban-do { display: flex; flex-direction: column; gap: 7px; }
.muc-ban-do {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px;
    background: var(--nen-the); border: 1px solid var(--vien); border-radius: var(--bo-nho);
    font-family: var(--font-de); font-weight: 600; font-size: 0.94rem;
    letter-spacing: 0.4px; transition: var(--chuyen);
}
.muc-ban-do:hover { background: var(--nen-the-sang); border-color: var(--vien-sang); transform: translateX(4px); }
.muc-ban-do.active { border-color: var(--do); background: rgba(255, 70, 85, 0.12); color: var(--do); }
.muc-ban-do .hinh {
    width: 30px; height: 30px; border-radius: var(--bo-nho); flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; font-size: 1rem;
}
.muc-ban-do small { display: block; font-size: 0.7rem; color: var(--chu-mo); font-weight: 500; letter-spacing: 0; }

.meo {
    margin-top: 16px; padding: 12px 14px; background: var(--nen-the);
    border: 1px solid var(--vien); border-left: 2px solid var(--xanh);
    border-radius: var(--bo-nho);
    font-size: 0.78rem; color: var(--chu-mo); line-height: 1.65;
}

.vung-ve { flex: 1; min-width: 0; position: relative; }
.vung-ve canvas {
    display: block; margin: 0 auto;
    width: auto; height: auto;
    max-width: 100%; max-height: calc(100vh - 200px);
    border: 1px solid var(--vien); border-radius: var(--bo);
    background: #0d1218; cursor: crosshair;
    box-shadow: var(--bong);
}
.thanh-cong-cu {
    display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px;
    background: var(--nen-the); border: 1px solid var(--vien);
    border-radius: var(--bo); padding: 8px;
}
.nut-cc {
    width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
    background: var(--nen-mat); border: 1px solid var(--vien); border-radius: var(--bo-nho);
    cursor: pointer; transition: var(--chuyen); font-size: 1.05rem; color: var(--chu-phu);
}
.nut-cc:hover  { background: var(--nen-the-sang); color: var(--chu); border-color: var(--vien-sang); }
.nut-cc.active { background: rgba(255, 70, 85, 0.16); border-color: var(--do); color: var(--do); }
.nut-cc.rong   { width: auto; padding: 0 14px; font-size: 0.8rem; font-family: var(--font-de); font-weight: 700; }
.ngan-cc { width: 1px; background: var(--vien); margin: 0 4px; }

/* Bảng chiến thuật — hai cột đội hình */
.khung-ct { display: grid; grid-template-columns: 214px 1fr 214px; gap: 18px; align-items: start; }
.o-doi { background: var(--nen-mat); border: 1px solid var(--vien); border-radius: var(--bo); padding: 14px 12px; }
.o-doi h3 {
    font-family: var(--font-de); font-weight: 700; font-size: 0.85rem;
    text-transform: uppercase; letter-spacing: 1.2px; text-align: center; margin-bottom: 12px;
}
.o-doi.dong-minh h3 { color: var(--xanh); }
.o-doi.doi-dich  h3 { color: var(--do); }
.suat {
    background: var(--nen-the); border: 1px solid var(--vien); border-radius: var(--bo-nho);
    padding: 8px 10px; display: flex; align-items: center; gap: 9px;
    margin-bottom: 7px; min-height: 50px; transition: var(--chuyen);
}
.suat:hover { border-color: var(--vien-sang); background: var(--nen-the-sang); }
.suat.trong {
    border-style: dashed; opacity: 0.5; justify-content: center;
    font-size: 0.78rem; color: var(--chu-mo);
}
.suat .ten-dv  { font-size: 0.82rem; font-weight: 600; }
.suat .vai-tro { font-size: 0.68rem; color: var(--chu-mo); }
.suat form { margin-left: auto; }
.suat button.bo {
    background: none; border: none; color: var(--chu-mo);
    cursor: pointer; font-size: 1rem; padding: 2px 4px; transition: var(--chuyen);
}
.suat button.bo:hover { color: var(--do); }

/* Danh sách người đang cùng làm một bản vẽ */
.ds-thanh-vien { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.ds-thanh-vien .vien { cursor: pointer; font-family: inherit; }
.ds-thanh-vien form  { display: inline; }
.nut-x {
    background: none; border: none; color: var(--chu-mo); cursor: pointer;
    font-size: 0.8rem; padding: 0 0 0 5px; transition: var(--chuyen);
}
.nut-x:hover { color: var(--do); }

.luoi-dac-vu { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 10px; }
.o-dac-vu {
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    width: 100%; padding: 6px 3px;
    background: var(--nen-the); border: 1px solid var(--vien);
    border-radius: var(--bo-nho); text-align: center; font-size: 0.71rem; cursor: pointer;
    font-family: var(--font-de); font-weight: 600; letter-spacing: 0.3px; transition: var(--chuyen);
}
.o-dac-vu:hover { border-color: var(--vien-sang); transform: scale(1.06); background: var(--nen-the-sang); }
.o-dac-vu img {
    width: 34px; height: 34px; object-fit: cover; border-radius: var(--bo-nho);
    background: rgba(255, 255, 255, 0.05);
}

.chon-ban-do { display: grid; grid-template-columns: repeat(auto-fit, minmax(196px, 1fr)); gap: 16px; }
.the-chon-ban-do {
    position: relative; overflow: hidden;
    background: var(--nen-the); border: 1px solid var(--vien); border-radius: var(--bo);
    padding: 20px; text-align: center; height: 158px; transition: var(--chuyen);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--font-de); font-weight: 700; font-size: 1.12rem; letter-spacing: 1px;
}
.the-chon-ban-do:hover { border-color: var(--do); box-shadow: var(--sang-do); transform: translateY(-4px); }
.the-chon-ban-do .hinh { font-size: 2.7rem; opacity: 0.85; }
.the-chon-ban-do small { font-size: 0.72rem; color: var(--chu-phu); font-weight: 500; letter-spacing: 0; }
.the-chon-ban-do .anh-nen-map {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; opacity: 0.42; transition: var(--chuyen);
}
/* Chỉ phủ lớp tối lên thẻ NÀO CÓ ảnh nền, để chữ trên thẻ không ảnh vẫn rõ */
.the-chon-ban-do:has(.anh-nen-map)::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(11, 18, 25, 0.25), rgba(11, 18, 25, 0.85));
}
.the-chon-ban-do:hover .anh-nen-map { opacity: 0.65; transform: scale(1.07); }
.the-chon-ban-do .ten-map, .the-chon-ban-do small, .the-chon-ban-do .hinh {
    position: relative; z-index: 2;
    text-shadow: 0 2px 10px rgba(11, 18, 25, 0.95);
}
.the-chon-ban-do .ten-map { font-size: 1.36rem; letter-spacing: 2px; }

/* ============ FORM ĐĂNG NHẬP / ĐĂNG KÝ ============ */
.trang-xac-thuc {
    min-height: calc(100vh - 64px);
    display: flex; align-items: center; justify-content: center; padding: 44px 20px;
}
.the-xac-thuc {
    width: 100%; max-width: 430px;
    background: linear-gradient(180deg, var(--nen-the), var(--nen-mat));
    border: 1px solid var(--vien); border-radius: 10px; padding: 32px;
    box-shadow: var(--bong);
}
.the-xac-thuc.rong { max-width: 560px; }
.dau-xac-thuc { margin-bottom: 22px; }
.the-xac-thuc h1 { font-family: var(--font-de); font-weight: 700; font-size: 1.62rem; letter-spacing: 1.5px; }
.the-xac-thuc .phu { color: var(--chu-mo); font-size: 0.87rem; margin-top: 6px; }

.vach-hoac {
    display: flex; align-items: center; gap: 14px;
    margin: 22px 0; color: var(--chu-mo); font-size: 0.76rem;
    text-transform: uppercase; letter-spacing: 1.4px;
}
.vach-hoac::before, .vach-hoac::after {
    content: ''; flex: 1; height: 1px; background: var(--vien);
}

.o-nhap { margin-bottom: 16px; }
.o-nhap label {
    display: block; font-family: var(--font-de); font-weight: 600; font-size: 0.78rem;
    text-transform: uppercase; letter-spacing: 1.1px; color: var(--chu-phu); margin-bottom: 6px;
}
.o-nhap input, .o-nhap select, .o-nhap textarea {
    width: 100%; padding: 12px 14px; background: var(--nen);
    border: 1px solid var(--vien); border-radius: var(--bo-nho); color: var(--chu);
    font-family: var(--font-chu); font-size: 0.94rem; outline: none; transition: var(--chuyen);
}
.o-nhap textarea { resize: vertical; min-height: 92px; line-height: 1.6; }
.o-nhap input:focus, .o-nhap select:focus, .o-nhap textarea:focus {
    border-color: var(--do); box-shadow: 0 0 0 3px rgba(255, 70, 85, 0.12);
}
.o-nhap input::placeholder, .o-nhap textarea::placeholder { color: var(--chu-mo); }
.o-nhap select:disabled { opacity: 0.45; cursor: not-allowed; }

/* Nhiều ô nằm cùng một hàng */
.hang-o-nhap { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-start; margin-bottom: 16px; }
.hang-o-nhap .o-nhap { margin-bottom: 0; }

.o-tick {
    display: flex; align-items: center; gap: 9px; margin-bottom: 16px;
    font-size: 0.87rem; color: var(--chu-phu); cursor: pointer;
}
.o-tick input { width: 17px; height: 17px; accent-color: var(--do); cursor: pointer; }

.chan-xac-thuc {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px; flex-wrap: wrap; margin-top: 18px;
    padding-top: 16px; border-top: 1px solid var(--vien); font-size: 0.85rem;
}
.chan-xac-thuc a { color: var(--xanh); }
.chan-xac-thuc a:hover { text-decoration: underline; }

.goi-y-tk {
    margin-top: 18px; padding: 12px 14px; background: rgba(255, 255, 255, 0.03);
    border: 1px dashed var(--vien-sang); border-radius: var(--bo-nho);
    font-size: 0.81rem; color: var(--chu-phu); line-height: 1.75;
}

.khoi-giai-thich {
    background: rgba(255, 255, 255, 0.03); border: 1px solid var(--vien);
    border-left: 2px solid var(--vang);
    border-radius: var(--bo-nho); padding: 15px 17px; margin-bottom: 22px;
    font-size: 0.86rem; line-height: 1.7; color: var(--chu-phu);
}
.khoi-giai-thich b { color: var(--chu); }
.khoi-giai-thich p { margin-top: 8px; }

.khoi-ma {
    background: var(--nen); border: 1px solid var(--vien); border-radius: var(--bo-nho);
    padding: 11px 13px; margin: 9px 0;
    font-family: var(--font-ma); font-size: 0.78rem; color: var(--xanh);
    white-space: pre-wrap; word-break: break-all; line-height: 1.6;
}

.khoi-luu-y {
    background: rgba(255, 214, 74, 0.07); border: 1px solid rgba(255, 214, 74, 0.28);
    border-radius: var(--bo-nho); padding: 11px 14px; margin-bottom: 16px;
    font-size: 0.81rem; color: #E8D9A8; line-height: 1.65;
}

/* ============ MÀN ĐĂNG NHẬP BẰNG RIOT ============
   Nền là ảnh splash thật của một bản đồ, phủ lớp tối để chữ luôn đọc được.
   Thẻ ở giữa mang thương hiệu VN CHECKER — cố ý KHÔNG nhái trang đăng nhập
   của Riot, vì một trang trông giống hệt riotgames.com mà lại hỏi mật khẩu
   chính là cái bẫy mà người chơi cần tránh.                                */
.man-dang-nhap {
    position: relative; min-height: calc(100vh - 64px);
    display: flex; align-items: center; justify-content: center;
    padding: 44px 20px; overflow: hidden;
}
.nen-dang-nhap {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; opacity: 0.85;
    animation: keoNen 26s ease-in-out infinite alternate;
}
@keyframes keoNen { from { transform: scale(1.04); } to { transform: scale(1.14); } }
.man-dang-nhap::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse at 50% 45%, rgba(11, 18, 25, 0.30), rgba(11, 18, 25, 0.80) 75%),
        linear-gradient(180deg, rgba(255, 70, 85, 0.10), rgba(11, 18, 25, 0.72) 55%);
}

.the-dang-nhap {
    position: relative; z-index: 2;
    width: 100%; max-width: 480px;
    background: rgba(20, 30, 40, 0.9);
    backdrop-filter: blur(16px) saturate(130%);
    border: 1px solid var(--vien-sang); border-radius: 12px;
    padding: 32px 34px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.55);
}
.the-dang-nhap h1 {
    font-family: var(--font-de); font-weight: 700; font-size: 1.55rem;
    letter-spacing: 1.6px; margin-top: 22px;
}
.the-dang-nhap .phu { color: var(--chu-mo); font-size: 0.87rem; margin: 6px 0 22px; }

.dau-dang-nhap {
    display: flex; align-items: center; gap: 12px;
    padding-bottom: 18px; border-bottom: 1px solid var(--vien);
}
.dau-dang-nhap .logo-hinh {
    width: 38px; height: 38px;
    background: linear-gradient(135deg, var(--do), var(--do-dam)); color: #fff;
    clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-logo); font-size: 1.05rem; font-weight: 900;
    flex-shrink: 0; box-shadow: var(--sang-do);
}
.logo-chu {
    font-family: var(--font-logo); font-weight: 900; font-size: 1.05rem; letter-spacing: 2px;
}
.logo-chu b { color: var(--do); font-weight: 900; }
.logo-phu { font-size: 0.74rem; color: var(--chu-mo); letter-spacing: 0.4px; margin-top: 2px; }

.nut-riot.tat {
    background: linear-gradient(135deg, #4A2830, #3A222A);
    color: var(--chu-mo); box-shadow: none; cursor: not-allowed;
    border: 1px dashed rgba(255, 70, 85, 0.35);
}
.nut-riot.tat:hover { transform: none; filter: none; box-shadow: none; }
.nut-riot.tat .cham-riot { background: var(--chu-mo); }

.chu-nut {
    font-size: 0.81rem; color: var(--chu-mo); line-height: 1.65;
    margin: 11px 0 0; text-align: center;
}

/* Ô tra cứu nhanh ngay trên trang đăng nhập — xem thành tích thì khỏi đăng nhập */
.o-tim-nho { display: flex; gap: 8px; }
.o-tim-nho input {
    flex: 1; min-width: 0; padding: 11px 14px; background: var(--nen);
    border: 1px solid var(--vien); border-radius: var(--bo-nho); color: var(--chu);
    font-family: var(--font-chu); font-size: 0.92rem; outline: none; transition: var(--chuyen);
}
.o-tim-nho input::placeholder { color: var(--chu-mo); }
.o-tim-nho input:focus { border-color: var(--xanh); box-shadow: 0 0 0 3px rgba(0, 255, 200, 0.12); }
.o-tim-nho button {
    padding: 11px 20px; background: transparent; color: var(--xanh);
    border: 1px solid var(--xanh); border-radius: var(--bo-nho); cursor: pointer;
    font-family: var(--font-de); font-weight: 600; font-size: 0.85rem;
    text-transform: uppercase; letter-spacing: 0.6px; transition: var(--chuyen);
    white-space: nowrap;
}
.o-tim-nho button:hover { background: rgba(0, 255, 200, 0.12); box-shadow: var(--sang-xanh); }
.lien-ket { color: var(--xanh); }
.lien-ket:hover { text-decoration: underline; }

/* Khối hướng dẫn gấp lại được */
.chi-tiet {
    margin-top: 20px; border: 1px solid var(--vien); border-radius: var(--bo);
    background: rgba(255, 255, 255, 0.025); overflow: hidden;
}
.chi-tiet summary {
    padding: 12px 15px; cursor: pointer; list-style: none;
    font-family: var(--font-de); font-weight: 600; font-size: 0.84rem;
    text-transform: uppercase; letter-spacing: 0.9px; color: var(--chu-phu);
    display: flex; align-items: center; gap: 8px; transition: var(--chuyen);
}
.chi-tiet summary::-webkit-details-marker { display: none; }
.chi-tiet summary::before { content: '▸'; color: var(--do); transition: var(--chuyen); }
.chi-tiet[open] summary::before { transform: rotate(90deg); }
.chi-tiet summary:hover { color: var(--chu); background: rgba(255, 255, 255, 0.04); }
.noi-chi-tiet {
    padding: 4px 15px 15px; font-size: 0.83rem; line-height: 1.75; color: var(--chu-phu);
    border-top: 1px solid var(--vien);
}
.noi-chi-tiet p { margin-top: 10px; }
.noi-chi-tiet code {
    background: rgba(255, 255, 255, 0.07); padding: 2px 6px;
    border-radius: 3px; font-family: var(--font-ma); font-size: 0.88em; color: var(--xanh);
}

@media (max-width: 560px) {
    .the-dang-nhap { padding: 24px 20px; }
}

/* ============ CHÂN TRANG ============ */
.chan-trang {
    border-top: 1px solid var(--vien); margin-top: 44px; padding: 24px 28px 92px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap; font-size: 0.84rem; color: var(--chu-phu);
    background: rgba(11, 18, 25, 0.6);
}

/* ============ KHUNG CHAT ============ */
.khung-chat {
    position: fixed; right: 0; bottom: 0; width: 306px; z-index: 800;
    background: linear-gradient(180deg, var(--nen-the), var(--nen-mat));
    border: 1px solid var(--vien); border-radius: 8px 0 0 0;
    display: flex; flex-direction: column; transition: transform var(--chuyen);
    box-shadow: -6px 0 26px rgba(0, 0, 0, 0.55);
}
.khung-chat.thu-gon { transform: translateY(calc(100% - 43px)); }
.chat-dau {
    padding: 11px 14px; background: var(--nen-mat); border-bottom: 1px solid var(--vien);
    border-radius: 8px 0 0 0;
    display: flex; align-items: center; justify-content: space-between;
    cursor: pointer; user-select: none;
}
.chat-ten {
    font-family: var(--font-de); font-weight: 600; font-size: 0.9rem;
    letter-spacing: 0.4px; display: flex; align-items: center; gap: 8px; min-width: 0;
}
.chat-ten > span:not(.cham):not(.so-do) {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.chat-ten .cham {
    width: 8px; height: 8px; border-radius: 50%; background: #4CAF50;
    animation: nhapNhay 2.4s infinite; flex-shrink: 0;
}
@keyframes nhapNhay { 0%, 100% { opacity: 1; } 50% { opacity: 0.28; } }
.chat-nut-thu { background: none; border: none; color: var(--chu-mo); cursor: pointer; font-size: 1rem; }
.chat-than {
    height: 284px; overflow-y: auto; padding: 12px 14px;
    display: flex; flex-direction: column; gap: 9px;
}
.tin { display: flex; gap: 8px; align-items: flex-start; }
.tin .anh-tron { width: 24px; height: 24px; font-size: 0.62rem; }
.tin .noi-dung {
    background: rgba(255, 255, 255, 0.05); padding: 7px 11px; border-radius: 8px 8px 8px 2px;
    font-size: 0.83rem; line-height: 1.5; max-width: 208px; word-wrap: break-word;
}
.tin .nguoi-gui { font-weight: 600; font-size: 0.72rem; margin-bottom: 2px; color: var(--xanh); }
.tin.cua-toi .noi-dung { background: rgba(255, 70, 85, 0.14); }
.tin.cua-toi .nguoi-gui { color: var(--do); }
.chat-nhap { display: flex; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--vien); }
.chat-nhap input {
    flex: 1; padding: 9px 12px; background: var(--nen); border: 1px solid var(--vien);
    border-radius: var(--bo-nho); color: var(--chu); font-size: 0.85rem; outline: none; font-family: var(--font-chu);
}
.chat-nhap input:focus { border-color: var(--do); }
.chat-nhap button {
    padding: 9px 14px; background: var(--do); color: #fff; border: none; border-radius: var(--bo-nho);
    cursor: pointer; font-family: var(--font-de); font-weight: 600; font-size: 0.8rem;
}
.chat-nhap button:hover { background: var(--do-dam); }

/* ============ ẢNH THẬT LẤY TỪ DỮ LIỆU GAME ============ */
.chip-dac-vu {
    width: 34px; height: 34px; border-radius: var(--bo-nho); flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    overflow: hidden; font-family: var(--font-de); font-weight: 700; color: #0F1923;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}
.chip-dac-vu img { width: 100%; height: 100%; object-fit: cover; display: block; }

.huy-hieu { vertical-align: middle; object-fit: contain; flex-shrink: 0; }
.huy-hieu-trong { color: var(--chu-mo); }
.o-hang { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.the-hang .gia-tri .huy-hieu { margin-right: 2px; }
.the-nho .huy-hieu { margin-right: 2px; }

.the-dac-vu-tu { position: relative; overflow: hidden; min-height: 134px; }
.the-dac-vu-tu .anh-dac-vu-tu {
    position: absolute; right: -20px; bottom: -10px; height: 132px;
    object-fit: contain; opacity: 0.92; pointer-events: none;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.5));
}
.the-dac-vu-tu .gia-tri, .the-dac-vu-tu .mo, .the-dac-vu-tu .nhan { position: relative; z-index: 2; }

.muc-ban-do img.hinh {
    width: 34px; height: 34px; object-fit: contain; border-radius: var(--bo-nho);
    background: rgba(255, 255, 255, 0.05); flex-shrink: 0;
}

/* ============ NHẬT KÝ ĐỒNG BỘ ============ */
.khung-log {
    background: var(--nen); border: 1px solid var(--vien); border-radius: var(--bo-nho);
    padding: 14px 16px; max-height: 440px; overflow-y: auto;
    font-family: var(--font-ma); font-size: 0.83rem; line-height: 1.75;
}
.dong-log { color: var(--chu-phu); white-space: pre-wrap; }
.dong-log.ok  { color: var(--xanh); }
.dong-log.loi { color: var(--do-nhat); }

/* ============ THANH TIẾN ĐỘ MẺ NẠP NỀN ============
   Mẻ "Nạp toàn cầu" chạy nền, tien_do.js hỏi máy chủ mỗi giây rồi đổ số vào
   đây. Ba màu ba trạng thái: đang chạy (xanh, có vệt sáng chạy qua), xong
   (xanh đặc), hỏng (đỏ).                                                   */
.tien-do-nap {
    border: 1px solid var(--vien); border-radius: var(--bo-nho);
    background: var(--nen-mat); padding: 14px 16px; margin: 0 0 16px;
}
.tien-do-dau {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 12px; flex-wrap: wrap; margin-bottom: 10px; font-size: 0.88rem;
}
.tien-do-dau .mo { font-size: 0.78rem; font-variant-numeric: tabular-nums; }

.tien-do-ray {
    height: 8px; border-radius: 999px; overflow: hidden;
    background: rgba(255, 255, 255, 0.07);
}
.tien-do-ray > i {
    display: block; height: 100%; width: 0; border-radius: 999px;
    background: var(--xanh); transition: width 0.4s ease;
}
.tien-do-ray > i.dang-chay {
    background: linear-gradient(90deg, var(--xanh), #6ce8ff, var(--xanh));
    background-size: 200% 100%; animation: tien-do-chay 1.1s linear infinite;
}
.tien-do-ray > i.xong   { background: var(--xanh); }
.tien-do-ray > i.co-loi { background: var(--do); }

@keyframes tien-do-chay { to { background-position: -200% 0; } }

.tien-do-nap .khung-log { max-height: 180px; }

/* Ai tắt hiệu ứng chuyển động thì bỏ luôn vệt sáng chạy — thanh vẫn dài ra
   bình thường nên không mất thông tin gì.                                   */
@media (prefers-reduced-motion: reduce) {
    .tien-do-ray > i { transition: none; }
    .tien-do-ray > i.dang-chay { animation: none; background: var(--xanh); }
}

.nhan-nguon {
    display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px;
    border-radius: 999px; font-family: var(--font-de); font-weight: 600; font-size: 0.72rem;
    text-transform: uppercase; letter-spacing: 0.6px; border: 1px solid;
    white-space: nowrap;
}
.nhan-nguon.that { color: var(--xanh); border-color: rgba(0, 255, 200, 0.35); background: rgba(0, 255, 200, 0.10); }
.nhan-nguon.mau  { color: var(--vang); border-color: rgba(255, 214, 74, 0.35); background: rgba(255, 214, 74, 0.10); }
.nhan-nguon.mau:hover { background: rgba(255, 214, 74, 0.2); }

/* ============ BẠN BÈ ============ */
.dong-ban {
    display: flex; align-items: center; gap: 12px; padding: 11px 0;
    border-bottom: 1px solid var(--vien); flex-wrap: wrap;
}
.dong-ban:last-child { border-bottom: none; }
.dong-ban .anh-tron { width: 40px; height: 40px; font-size: 0.88rem; }
.ban-ten { flex: 1; min-width: 160px; }
.ban-ten b { font-size: 0.95rem; }
.ban-phu { font-size: 0.76rem; color: var(--chu-phu); margin-top: 2px; }
.ban-hang { min-width: 124px; font-size: 0.85rem; }
.ban-nut { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.loi-nhan {
    margin: -4px 0 10px 52px; font-size: 0.84rem; color: var(--chu-phu);
    background: rgba(255, 255, 255, 0.03); border-left: 2px solid var(--xanh);
    padding: 8px 12px; border-radius: var(--bo-nho);
}
.cham-online {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    background: #4CAF50; margin-left: 6px; vertical-align: middle;
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.7);
}
.so-do {
    display: inline-block; min-width: 18px; height: 18px; line-height: 18px;
    padding: 0 5px; background: var(--do); color: #fff; border-radius: 9px;
    font-size: 0.69rem; font-weight: 700; text-align: center;
}

/* ---- Danh sách bạn bè bên trong khung chat ---- */
.chat-dong-ban {
    display: flex; align-items: center; gap: 10px; padding: 9px 6px;
    border-radius: var(--bo-nho); cursor: pointer; transition: var(--chuyen);
}
.chat-dong-ban:hover { background: rgba(255, 255, 255, 0.05); }
.chat-dong-ban .anh-tron { width: 32px; height: 32px; font-size: 0.7rem; }
.cdb-giua { flex: 1; min-width: 0; }
.cdb-ten { font-size: 0.86rem; font-weight: 600; }
.cdb-phu {
    font-size: 0.74rem; color: var(--chu-mo); white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis; max-width: 180px;
}
.chat-trong {
    padding: 18px 12px; text-align: center; color: var(--chu-mo);
    font-size: 0.82rem; line-height: 1.65; display: block;
}
.chat-loi-moi {
    display: block; padding: 9px 12px; margin: 6px 0;
    background: rgba(255, 70, 85, 0.10); border: 1px solid rgba(255, 70, 85, 0.3);
    border-radius: var(--bo-nho); font-size: 0.8rem; color: var(--do);
}
.chat-nut-ve {
    background: none; border: none; color: var(--chu-phu); cursor: pointer;
    font-size: 1rem; padding: 0 4px; display: none;
}
.chat-nut-ve:hover { color: var(--chu); }

/* ============ MÀN HÌNH NHỎ ============ */
@media (max-width: 1150px) {
    /*  minmax(0, 1fr) chứ KHÔNG phải 1fr.
        1fr có kích thước tối thiểu ngầm là min-content, mà cột phải chứa bảng
        số liệu rộng 693px — thế là cả cột trái bị kéo rộng theo, tràn ra ngoài
        màn hình điện thoại (đo được: khung 349px, cột 693px). minmax(0, 1fr)
        cho phép co nhỏ hơn min-content, để mấy bảng bên trong tự cuộn ngang
        trong khung .boc-bang của chúng.                                       */
    .than-ho-so { grid-template-columns: minmax(0, 1fr); }
    .khung-ct   { grid-template-columns: 1fr; }
    .luoi-2     { grid-template-columns: 1fr; }
    .khung-ve   { flex-direction: column; }
    .cot-ben    { width: 100%; }
    .ds-ban-do  { flex-direction: row; overflow-x: auto; padding-bottom: 4px; }
    .muc-ban-do { white-space: nowrap; }
    .dong-tran  { grid-template-columns: 4px 1fr 92px; row-gap: 10px; }
    .dong-tran .gio { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 860px) {
    .thanh-nav { height: auto; flex-wrap: wrap; padding: 10px 16px; }
    .nav-menu  { order: 3; width: 100%; overflow-x: auto; justify-content: flex-start; padding-bottom: 2px; }
    .nav-menu .muc { padding: 6px 10px; font-size: 0.8rem; }
    .boc, .boc-rong { padding: 22px 16px; }
    .o-tim { flex-direction: column; }
    .ho-so-trong { padding: 16px 16px 0; gap: 14px; }
    .anh-dai-dien { width: 62px; height: 62px; font-size: 1.5rem; }
    .luoi-so { grid-template-columns: repeat(2, 1fr); }
    .khung-chat { width: 100%; border-radius: 8px 8px 0 0; }
    .nhan-vien { min-width: auto; width: 100%; }
    .chan-trang { padding-bottom: 96px; }
}

/* ===========================================================================
   Ô LỌC DẠNG XỔ XUỐNG  (thay cho dãy "viên thuốc" cũ ở hồ sơ)
   =========================================================================== */
.thanh-loc { flex-direction: row; flex-wrap: wrap; gap: 14px; align-items: flex-end; }

.o-loc { display: flex; flex-direction: column; gap: 5px; min-width: 190px; }
.nhan-loc {
    font-family: var(--font-de); font-size: 0.7rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1.2px; color: var(--chu-mo);
}
.o-loc select {
    appearance: none; -webkit-appearance: none;
    padding: 9px 32px 9px 12px;
    background: var(--nen-the) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23A5B0BD' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E") no-repeat right 12px center;
    background-size: 11px;
    border: 1px solid var(--vien); border-radius: var(--bo-nho);
    color: var(--chu); font-family: var(--font-chu); font-size: 0.88rem;
    cursor: pointer; transition: var(--chuyen);
}
.o-loc select:hover  { border-color: var(--vien-sang); }
.o-loc select:focus  { outline: none; border-color: var(--do); box-shadow: 0 0 0 3px rgba(255, 70, 85, 0.14); }
.o-loc select option { background: var(--nen-the); color: var(--chu); }

/* ===========================================================================
   TRANG CHI TIẾT TRẬN ĐẤU  (/Tran)
   =========================================================================== */
.bang-tran { position: relative; overflow: hidden; border-bottom: 1px solid var(--vien); }
.bang-tran .nen-tran {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; opacity: 0.16; filter: saturate(0.7);
}
.bang-tran::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(11, 18, 25, 0.55), var(--nen) 96%);
}
.bang-tran.thang { box-shadow: inset 4px 0 0 var(--xanh); }
.bang-tran.thua  { box-shadow: inset 4px 0 0 var(--do); }
.bang-tran.hoa   { box-shadow: inset 4px 0 0 var(--chu-mo); }

.trong-bang-tran {
    position: relative; z-index: 1;
    max-width: 1180px; margin: 0 auto; padding: 26px 24px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; flex-wrap: wrap;
}
.tran-ban-do {
    font-family: var(--font-de); font-size: 1.9rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px; line-height: 1.1;
}
.tran-phu { color: var(--chu-phu); font-size: 0.9rem; margin-top: 4px; }
.tran-gio { color: var(--chu-mo); font-size: 0.83rem; margin-top: 6px; }

.tran-ti-so { display: flex; align-items: center; gap: 12px; font-family: var(--font-de); }
.tran-ti-so span { font-size: 3rem; font-weight: 700; line-height: 1; }
.tran-ti-so .thang { color: var(--xanh); text-shadow: var(--sang-xanh); }
.tran-ti-so .thua  { color: var(--do); }
.tran-ti-so .gach  { color: var(--chu-mo); font-size: 2rem; }

/* Tỉ số kèm tên hai phe hai bên: "Phe Đỏ  3 : 13  Phe Xanh" */
.khoi-ti-so { display: flex; align-items: center; gap: 16px; }
.nhan-ben {
    font-family: var(--font-de); font-size: 0.8rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.4px; color: var(--chu-mo);
    writing-mode: horizontal-tb; white-space: nowrap;
}
.nhan-ben.do   { color: var(--do); }
.nhan-ben.xanh { color: var(--xanh-doi); }

/* --- Dải diễn biến từng hiệp --- */
.chu-thich-hiep {
    display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 14px;
    font-size: 0.76rem; color: var(--chu-mo);
}
.chu-thich-hiep span { display: inline-flex; align-items: center; gap: 5px; }
.chu-thich-hiep i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
.chu-thich-hiep i.o-do   { background: var(--do); }
.chu-thich-hiep i.o-xanh { background: var(--xanh-doi); }

.dai-hiep { display: flex; align-items: flex-start; gap: 4px; padding-bottom: 4px; }
.hiep { display: flex; flex-direction: column; align-items: center; gap: 3px; flex: none; }
.hiep-o {
    width: 26px; height: 26px; border-radius: var(--bo-nho);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.82rem; line-height: 1;
    background: var(--nen-the); border: 1px solid var(--vien); color: var(--chu-mo);
    transition: var(--chuyen);
}
.hiep-o.do   { background: rgba(255, 70, 85, 0.20);  border-color: rgba(255, 70, 85, 0.6);  color: var(--do-nhat); }
.hiep-o.xanh { background: rgba(74, 144, 217, 0.20); border-color: rgba(74, 144, 217, 0.6); color: #9CC6EE; }
.hiep:hover .hiep-o { transform: translateY(-2px); filter: brightness(1.3); }
.hiep-so { font-family: var(--font-ma); font-size: 0.64rem; color: var(--chu-mo); }
.hiep-ngat {
    width: 1px; align-self: stretch; margin: 0 7px;
    background: var(--vien-sang); flex: none;
}

/* Vệt màu bên trái khối phe, khớp với màu trên dải hiệp */
.khoi-phe.vach-do   { border-left: 3px solid var(--do); }
.khoi-phe.vach-xanh { border-left: 3px solid var(--xanh-doi); }

/* Hạng trung bình của phe, in cạnh tên đội */
.hang-tb {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 0.78rem; color: var(--chu-phu); white-space: nowrap;
}

/* --- Một phe --- */
.khoi-phe {
    background: linear-gradient(180deg, var(--nen-the), var(--nen-mat));
    border: 1px solid var(--vien); border-radius: var(--bo);
    margin-bottom: 18px; overflow: hidden;
}
.khoi-phe.phe-thang { border-left: 3px solid var(--xanh); }
.khoi-phe.phe-thua  { border-left: 3px solid var(--do); }

.dau-phe {
    display: flex; align-items: center; gap: 12px;
    padding: 13px 18px; border-bottom: 1px solid var(--vien);
    background: rgba(0, 0, 0, 0.06);
}
.ten-phe {
    font-family: var(--font-de); font-size: 1.05rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.1px;
}
.the-ket-qua {
    font-family: var(--font-de); font-size: 0.7rem; font-weight: 700;
    letter-spacing: 1.4px; padding: 3px 9px; border-radius: var(--bo-nho);
}
.the-ket-qua.thang { color: var(--xanh); background: rgba(0, 255, 200, 0.1); border: 1px solid rgba(0, 255, 200, 0.35); }
.the-ket-qua.thua  { color: var(--do);   background: rgba(255, 70, 85, 0.1);  border: 1px solid rgba(255, 70, 85, 0.35); }
.diem-phe {
    margin-left: auto; font-family: var(--font-de);
    font-size: 1.7rem; font-weight: 700; line-height: 1;
}

/* --- Bảng điểm --- */
.cuon-ngang { overflow-x: auto; }
/* min-width lớn vì bảng có 16 cột như tracker.gg — hẹp hơn thì .cuon-ngang
   cho cuộn ngang, chứ đừng ép chữ xuống dòng thành bảng nát.                */
table.bang-diem { width: 100%; border-collapse: collapse; font-size: 0.86rem; min-width: 1080px; }
table.bang-diem th {
    font-family: var(--font-de); font-size: 0.7rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px; color: var(--chu-mo);
    padding: 9px 8px; text-align: center; border-bottom: 1px solid var(--vien);
    white-space: nowrap;
}
table.bang-diem th.trai { text-align: left; padding-left: 18px; }
table.bang-diem td { padding: 9px 8px; text-align: center; border-bottom: 1px solid rgba(34, 50, 67, 0.55); }
table.bang-diem tr:last-child td { border-bottom: none; }
table.bang-diem tbody tr:hover { background: rgba(255, 255, 255, 0.032); }

.dong-diem.toi { background: rgba(0, 255, 200, 0.055); }
.dong-diem.toi:hover { background: rgba(0, 255, 200, 0.085); }

.o-nguoi { display: flex; align-items: center; gap: 10px; text-align: left !important; padding-left: 18px !important; min-width: 210px; }
.khoi-ten { min-width: 0; }
.ten-nguoi { font-weight: 600; color: var(--chu); white-space: nowrap; }
.ten-nguoi:hover { color: var(--xanh); }
.tag-nho { color: var(--chu-mo); font-weight: 400; font-size: 0.86em; }
.duoi-ten { color: var(--chu-mo); font-size: 0.76rem; margin-top: 1px; white-space: nowrap; }

.o-hang { width: 46px; }
.o-hang .huy-hieu { display: block; margin: 0 auto; }

.o-acs { width: 78px; }
.acs-so { font-family: var(--font-de); font-size: 1.02rem; font-weight: 700; line-height: 1.15; }
.acs-nen { height: 3px; border-radius: 2px; background: var(--vien); overflow: hidden; margin-top: 3px; }
.acs-nen i { display: block; height: 100%; background: var(--do); border-radius: 2px; }

table.bang-diem td.o-so { font-family: var(--font-de); font-size: 0.95rem; font-weight: 600; }
table.bang-diem td.o-so.manh { color: var(--chu); }
table.bang-diem td.o-so.duong { color: var(--xanh); }
table.bang-diem td.o-so.am    { color: var(--do-nhat); }
table.bang-diem td.o-so.bang  { color: var(--chu-mo); }

.anh-vu-khi { height: 20px; width: auto; vertical-align: middle; opacity: 0.9; }
table.du-lieu td.trai, table.du-lieu th.trai { text-align: left; }

@media (max-width: 860px) {
    .trong-bang-tran { padding: 18px 16px; }
    .tran-ban-do { font-size: 1.4rem; }
    .tran-ti-so span { font-size: 2.2rem; }
    .o-loc { min-width: 0; width: 100%; }
}

/* ===========================================================================
   THANH MẠCH ĐẬP — "đang theo dõi · đồng bộ sau 2:47 · [Đồng bộ ngay]"
   =========================================================================== */
.nhip {
    display: inline-flex; align-items: center; gap: 9px; flex-wrap: wrap;
    margin-top: 12px; padding: 6px 8px 6px 12px;
    background: rgba(0, 0, 0, 0.28); border: 1px solid var(--vien);
    border-radius: 999px; font-size: 0.79rem; color: var(--chu-phu);
}
.nhip-cham {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--xanh); box-shadow: 0 0 0 0 rgba(0, 255, 200, 0.55);
    animation: nhip-dap 2s ease-out infinite; flex: none;
}
.nhip-cham.loi { background: var(--do); animation: none; box-shadow: none; }
.nhip-cham.tat { background: var(--chu-mo); animation: none; box-shadow: none; }
@keyframes nhip-dap {
    0%   { box-shadow: 0 0 0 0 rgba(0, 255, 200, 0.5); }
    70%  { box-shadow: 0 0 0 8px rgba(0, 255, 200, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 255, 200, 0); }
}
.nhip-chu { white-space: nowrap; }
.nhip-dem {
    font-family: var(--font-ma); font-size: 0.78rem; color: var(--chu-mo);
    white-space: nowrap;
}
.nhip-dem::before { content: '·'; margin-right: 7px; color: var(--vien-sang); }
.nhip-nut {
    padding: 4px 12px; border-radius: 999px; cursor: pointer;
    background: rgba(255, 70, 85, 0.12); border: 1px solid rgba(255, 70, 85, 0.4);
    color: var(--do-nhat); font-family: var(--font-chu); font-size: 0.76rem;
    font-weight: 600; transition: var(--chuyen); white-space: nowrap;
}
.nhip-nut:hover:not(:disabled) { background: rgba(255, 70, 85, 0.2); color: var(--chu); }
.nhip-nut:disabled { opacity: 0.45; cursor: default; }

/* --- Thanh Live Update khi nằm trên thanh điều hướng --- */
.thanh-nav .nhip {
    margin-top: 0; padding: 4px 6px 4px 10px; font-size: 0.74rem;
    background: rgba(0, 0, 0, 0.35); gap: 7px;
}
.thanh-nav .nhip .nhip-dem { font-size: 0.72rem; }
.thanh-nav .nhip .nhip-nut { padding: 3px 9px; font-size: 0.7rem; }
/*  CHÚ Ý: KHÔNG khai lại .nav-phai ở đây.
    Bản cũ đặt "flex-wrap: wrap" mà quên "flex-shrink: 0", đè mất khai báo gốc
    ở mục THANH ĐIỀU HƯỚNG, nên khối bên phải bị bóp và nút Đăng xuất biến mất
    ở màn hình cỡ vừa. Quy tắc của .nav-phai chỉ nằm ở MỘT chỗ duy nhất.        */

@media (max-width: 1180px) {
    .thanh-nav .nhip .nhip-dem { display: none; }
}
/*  Thanh Live Update xuống hàng riêng SỚM HƠN menu: 8 mục menu + thanh nhịp +
    hai nút là quá rộng, nhường chỗ cho nút Đăng xuất trước đã.                */
@media (max-width: 1120px) {
    .thanh-nav { height: auto; flex-wrap: wrap; padding: 8px 20px; }
    .thanh-nav .nhip { order: 4; width: 100%; justify-content: center; margin-top: 2px; }
    .thanh-nav .nhip .nhip-dem { display: inline; }
}

/* ===========================================================================
   MÀN HÌNH ĐIỆN THOẠI — CHẶN TRÀN NGANG
   ---------------------------------------------------------------------------
   ĐO ĐƯỢC TRƯỚC KHI SỬA, ở khổ 390px (iPhone dựng đứng):

       toàn trang   : rộng 725px  ->  tràn ra ngoài màn hình 335px
       .logo        : 218px
       .nav-menu    : 341px  (tự cuộn ngang bên trong — không phải thủ phạm)
       .nav-phai    : 705px  <-- thủ phạm

   .nav-phai để flex-wrap:nowrap + flex-shrink:0 nên nó KHÔNG chịu co, cứ thế
   đẩy cả trang rộng ra. Người dùng phải vuốt ngang mới đọc hết, chữ thì bị
   cắt — đúng cái "xấu" nhìn thấy trên điện thoại.

   Riêng cục Live Update chiếm 341px một mình, vì khối 1120px ở trên cho nó
   width:100%. Trên máy tính bảng thì hợp lý, xuống điện thoại thì phải thu
   lại — nên mấy dòng dưới phải viết .thanh-nav .nhip cho đủ độ ưu tiên,
   viết .nhip trơn là bị luật trên đè mất.

   SAU KHI SỬA: toàn trang 381px (vừa khít 390px), thanh menu cao 125px.
   =========================================================================== */

@media (max-width: 860px) {
    .thanh-nav { row-gap: 6px; gap: 8px; padding: 8px 12px; }
    .logo      { min-width: 0; flex-shrink: 1; }

    /*  Cho phép xuống hàng và co lại — đây là nút thắt của cả trang  */
    .nav-phai  {
        flex-wrap: wrap; justify-content: flex-end; align-items: center;
        min-width: 0; max-width: 100%; row-gap: 6px;
    }
    .nav-phai .nut, .nav-phai .nut-vien { flex-shrink: 1; min-width: 0; }
    .nav-phai .nut-vien { max-width: 38vw; }   /* tên dài thì cắt bằng ba chấm */

    /*  Live Update: bỏ ĐỒNG HỒ ĐẾM cho đỡ chật, nhưng GIỮ NÚT "Đồng bộ ngay".
        Bản đầu ẩn luôn cả nút — hoá ra trên điện thoại thành nhìn được mà
        không bấm được, vì nút ấy chính là thứ duy nhất bấm được trong khối
        này (xem nhip.js: nut.addEventListener('click', ...)).                */
    .thanh-nav .nhip { width: auto; order: 0; margin-top: 0; gap: 6px; padding: 4px 8px; }
    .thanh-nav .nhip .nhip-dem { display: none; }
    /*  Nới cao lên ~32px: ngón tay bấm chứ không phải con trỏ chuột  */
    .thanh-nav .nhip .nhip-nut { display: inline-block; padding: 8px 12px; font-size: 0.74rem; }
}

@media (max-width: 560px) {
    .logo-hinh { width: 28px; height: 28px; font-size: 0.95rem; }
    .logo      { font-size: 0.98rem; }

    /*  Màn hẹp thì bỏ chữ "Live Update On", chỉ còn đèn báo + nút bấm.
        Đèn xanh/đỏ đã nói đủ trạng thái, còn nút thì phải giữ.               */
    .thanh-nav .nhip .nhip-chu { display: none; }

    .nav-phai .nut  { padding: 6px 9px; font-size: 0.74rem; }
    .nav-menu .muc  { padding: 5px 9px; font-size: 0.76rem; }
}

/* ===========================================================================
   TỔNG QUAN HỒ SƠ — VAI TRÒ · ĐỘ CHÍNH XÁC · VŨ KHÍ HAY DÙNG
   =========================================================================== */
.luoi-vai-tro { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 12px; }
.o-vai-tro {
    background: var(--nen-mat); border: 1px solid var(--vien);
    border-left: 3px solid var(--tim); border-radius: var(--bo); padding: 13px 15px;
}
.vt-ten {
    font-family: var(--font-de); font-size: 0.92rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 8px;
}
.vt-wr, .vt-kda { font-family: var(--font-de); font-size: 1.34rem; font-weight: 700; line-height: 1.2; }
.vt-kda { margin-top: 8px; }
.vt-nhan {
    display: block; font-family: var(--font-chu); font-size: 0.68rem; font-weight: 500;
    text-transform: uppercase; letter-spacing: 1px; color: var(--chu-mo); margin-top: 1px;
}
.vt-td { color: var(--chu-mo); font-size: 0.78rem; margin-top: 2px; }

.do-chinh-xac { display: flex; flex-direction: column; gap: 12px; }
.dong-trung { display: grid; grid-template-columns: 52px 62px 1fr 90px; align-items: center; gap: 12px; }
.tr-nhan {
    font-family: var(--font-de); font-size: 0.8rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px; color: var(--chu-phu);
}
.tr-pt { font-family: var(--font-de); font-size: 1.06rem; font-weight: 700; }
.tr-thanh {
    display: block; height: 7px; border-radius: 4px;
    background: var(--vien); overflow: hidden;
}
.tr-thanh i { display: block; height: 100%; border-radius: 4px; background: var(--xanh); }
.tr-thanh.nho { height: 4px; margin-top: 4px; }
.tr-so { color: var(--chu-mo); font-size: 0.79rem; text-align: right; }

.luoi-sung { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.o-sung {
    position: relative; text-align: center; padding: 16px 12px 14px;
    background: var(--nen-mat); border: 1px solid var(--vien); border-radius: var(--bo);
}
.sung-hang {
    position: absolute; top: 8px; left: 10px;
    font-family: var(--font-de); font-size: 0.78rem; font-weight: 700; color: var(--chu-mo);
}
.sung-anh { height: 34px; width: auto; max-width: 100%; object-fit: contain; margin-bottom: 8px; }
.sung-ten { font-family: var(--font-de); font-size: 1rem; font-weight: 700; letter-spacing: 0.5px; }
.sung-so { font-family: var(--font-de); font-size: 1.3rem; font-weight: 700; margin-top: 8px; }

@media (max-width: 860px) {
    .dong-trung { grid-template-columns: 46px 56px 1fr; }
    .dong-trung .tr-so { grid-column: 2 / -1; text-align: left; }
}

/* Dòng mùa giải bấm được, dẫn tới trọn danh sách trận của mùa đó */
.lien-ket-mua { color: var(--chu); }
.lien-ket-mua:hover { color: var(--xanh); }

/* ===========================================================================
   LỊCH SỬ ĐẤU GOM THEO NGÀY  (giống dải "Aug 19 · 4 · 0W 4L" của tracker.gg)
   =========================================================================== */
.dai-ngay {
    display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px;
    padding: 11px 16px; margin: 18px 0 10px;
    background: var(--nen-mat); border: 1px solid var(--vien);
    border-left: 3px solid var(--vien-sang); border-radius: var(--bo);
}
.dai-ngay:first-child { margin-top: 0; }
.dn-ngay {
    font-family: var(--font-de); font-size: 0.98rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px; margin-right: auto;
}
.dn-so {
    display: block; font-family: var(--font-chu); font-size: 0.72rem;
    font-weight: 500; letter-spacing: 0; color: var(--chu-mo); text-transform: none;
}
.dn-td { font-family: var(--font-de); font-size: 1rem; font-weight: 700; }
.o-ngay { text-align: right; min-width: 62px; }
.o-ngay .v { font-family: var(--font-de); font-size: 0.98rem; font-weight: 700; line-height: 1.2; }
.o-ngay .v.duong { color: var(--xanh); }
.o-ngay .v.am    { color: var(--do-nhat); }
.o-ngay .v.bang  { color: var(--chu-mo); }
.o-ngay .n {
    font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.9px;
    color: var(--chu-mo); margin-top: 1px;
}
.nhom-ngay { display: block; }

@media (max-width: 860px) {
    .dai-ngay { gap: 8px 14px; padding: 10px 12px; }
    .dn-ngay { width: 100%; margin-right: 0; }
    .o-ngay { min-width: 54px; text-align: left; }
}

/* ============ BIỂU ĐỒ ĐƯỜNG THEO MÙA ============
   Vẽ bằng SVG tĩnh trong HoSoServlet (hàm bieuDoMua). Màu và cỡ chữ để hết
   ngoài này để đổi giao diện không phải đụng vào mã sinh hình.            */
.bieu-do-mua {
    border: 1px solid var(--vien); border-radius: var(--bo-nho);
    background: var(--nen-mat); padding: 14px 16px 10px; margin: 0 0 18px;
}
.bieu-do-mua .do-thi { width: 100%; height: auto; display: block; overflow: visible; }

.chu-thich-bd {
    display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 8px;
    font-size: 0.78rem; color: var(--chu-phu);
}
.chu-thich-bd span { display: inline-flex; align-items: center; gap: 6px; }
.chu-thich-bd i { width: 12px; height: 3px; border-radius: 2px; display: inline-block; }

.do-thi .luoi    { stroke: var(--vien); stroke-width: 1; }
.do-thi .vach-50 { stroke: var(--vien-sang); stroke-width: 1; stroke-dasharray: 4 4; }

.do-thi .duong { fill: none; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.do-thi .duong.acs { stroke: var(--xanh); }
.do-thi .duong.ty  { stroke: var(--do); }

.do-thi .cham     { stroke: var(--nen-mat); stroke-width: 2; }
.do-thi .cham.acs { fill: var(--xanh); }
.do-thi .cham.ty  { fill: var(--do); }

.do-thi text { font-family: var(--font-de); fill: var(--chu-mo); font-size: 11px; }
.do-thi .so-truc.trai { text-anchor: end; }
.do-thi .so-truc.phai { text-anchor: start; }
.do-thi .ten-muc { text-anchor: middle; fill: var(--chu-phu); font-size: 11px; }

@media (max-width: 860px) {
    .do-thi text { font-size: 13px; }
}

/* ============ TRANG SO SÁNH HAI NGƯỜI CHƠI ============
   Mỗi dòng ba phần: số bên trái — nhãn + thanh chia ở giữa — số bên phải.
   Thanh chia dùng đúng tỉ lệ giữa hai con số, nên liếc một cái là biết ai hơn
   bao nhiêu, không phải đọc từng con số.                                    */
.ss-dau {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    margin: 0 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--vien);
}
.ss-nguoi { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 240px; }
/* row-reverse đảo luôn chiều trục chính, nên flex-START mới là mép PHẢI.
   Để flex-end như bản đầu thì cả khối bị dồn vào giữa, dính vào chữ VS. */
.ss-nguoi.phai { justify-content: flex-start; text-align: right; flex-direction: row-reverse; }
.ss-vs {
    font-family: var(--font-de); font-weight: 700; font-size: 1.1rem;
    color: var(--chu-mo); letter-spacing: 0.08em;
}
.anh-dai-dien.nho { width: 52px; height: 52px; font-size: 1.25rem; flex-shrink: 0; }
/* Tên hạng bên phải bị cắt thành "Bất..." vì khối co lại — cấm xuống dòng
   và cho phép nó tràn ra thay vì bị bóp.                                        */
.ss-nguoi .o-hang { white-space: nowrap; }
.ss-nguoi > div    { min-width: 0; }

.ss-bang { display: flex; flex-direction: column; gap: 2px; }
.ss-dong {
    display: grid; grid-template-columns: 110px 1fr 110px; align-items: center;
    gap: 12px; padding: 9px 4px; border-radius: var(--bo-nho);
}
.ss-dong:nth-child(odd) { background: rgba(255, 255, 255, 0.02); }
.ss-dong:hover          { background: rgba(255, 255, 255, 0.05); }

.ss-so {
    font-family: var(--font-de); font-weight: 700; font-size: 1rem;
    font-variant-numeric: tabular-nums; color: var(--chu-phu); text-align: center;
}
.ss-so.hon { color: var(--xanh); }

.ss-nhan {
    text-align: center; font-size: 0.78rem; color: var(--chu-mo);
    margin-bottom: 5px; text-transform: uppercase; letter-spacing: 0.04em;
}
.ss-ray { display: flex; height: 6px; gap: 2px; }
.ss-ray > i {
    display: block; height: 100%; background: var(--vien-sang);
    transition: width 0.3s ease;
}
.ss-ray > i.ben-a { border-radius: 999px 0 0 999px; }
.ss-ray > i.ben-b { border-radius: 0 999px 999px 0; }
.ss-ray > i.hon   { background: var(--xanh); }

.ss-hai-cot { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ss-ten-cot {
    font-family: var(--font-de); font-size: 0.9rem; margin: 0 0 10px;
    color: var(--chu-phu); font-weight: 600;
}
.ss-cot-dv { display: flex; flex-direction: column; gap: 8px; }
.ss-dv {
    display: flex; align-items: center; gap: 10px; padding: 7px 9px;
    background: var(--nen-mat); border: 1px solid var(--vien);
    border-radius: var(--bo-nho); font-size: 0.85rem;
}

@media (max-width: 860px) {
    .ss-dong { grid-template-columns: 78px 1fr 78px; gap: 8px; }
    .ss-so { font-size: 0.88rem; }
    .ss-hai-cot { grid-template-columns: 1fr; }
    .ss-nguoi.phai { flex-direction: row; text-align: left; justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .ss-ray > i { transition: none; }
}

/* ============ ẢNH ĐẠI DIỆN THẬT (PLAYER CARD) ============
   oDaiDien() trong main.hql in ra HAI lớp lồng nhau:

       <div class="anh-dai-dien">            <- ô vuông / tròn có sẵn từ trước
         <span class="chu-dau">L</span>      <- chữ cái đầu, NẰM DƯỚI
         <img src="...smallart.png">         <- ảnh thẻ thật, PHỦ LÊN TRÊN
       </div>

   Phủ lên chứ không thay thế, vì ba lýo:
     · lúc ảnh chưa tải xong ô vẫn có hình, không nhấp nháy khoảng trắng
     · mất mạng thì onerror gỡ thẻ <img>, lộ lại chữ cái đầu y như cũ
     · ai chưa chạy VN_Checker_AnhThe.sql thì không có <img> nào cả, vẫn chạy đúng

   Tấm thẻ người chơi là ảnh vuông nhưng phần đẹp nằm ở giữa — object-fit: cover
   để nó lấp đầy ô mà không bị bóp méo.                                       */
.anh-dai-dien, .anh-tron { position: relative; overflow: hidden; }

.anh-dai-dien > img, .anh-tron > img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover;
    display: block;
}

.anh-dai-dien > .chu-dau, .anh-tron > .chu-dau {
    position: relative; z-index: 0; line-height: 1;
}

/* Ô tròn trong danh sách thì bọ ảnh theo luôn */
.anh-tron > img { border-radius: 50%; }

/* Tấm thẻ bản WIDE làm nền băng rôn hồ sơ — đúng kiểu tracker.gg.
   Đặt dưới cùng (z-index 0) và làm mờ đi, vì lớp phủ .bang-ho-so::after chỉ
   tối ở phía dưới — để ảnh sáng nguyên là chữ tên người chơi chìm mất.       */
.bang-ho-so > .nen-the {
    position: absolute; inset: 0; z-index: 0;
    width: 100%; height: 100%; object-fit: cover; object-position: center 30%;
    opacity: 0.34;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 92%);
            mask-image: linear-gradient(to bottom, #000 0%, transparent 92%);
}
.bang-ho-so::after { z-index: 1; }

/* ============ BẢNG "ĐÃ GẶP" (Encounters) ============
   Bản đầu để cột tự co giãn, kết quả là "1 (thắng 1 · 100%)" gãy làm ba dòng
   còn huy hiệu hạng thì dính vào số trận bên cạnh. Nay cố định bề rộng cột
   (đặt thẳng trên thẻ <th>) và đẩy phần chú thích xuống hẳn dòng dưới.       */
/* KHÔNG dùng table-layout: fixed ở đây. Đã thử, và cột "Hạng" bị bóp còn
   ~55px nên "Chưa Xếp Hạng" cụt thành "Ch...". Để trình duyệt tự co cột theo
   nội dung thì đúng hơn — be rộng ở thẻ <th> chỉ còn là gợi ý.                 */
.bang-gap td, .bang-gap th { vertical-align: middle; }
/* Cột số căn phải nằm ngay sát nhãn hạng bên trái, trông như dính vào nhau */
.bang-gap td.phai, .bang-gap th.phai { padding-left: 16px; }

/* Dòng phụ nhỏ nằm dưới con số chính */
.phu-dong {
    font-size: 0.72rem; line-height: 1.35; margin-top: 2px;
    white-space: nowrap;
}
.khong-xuong-dong { white-space: nowrap; }

/* Nhãn hạng trong bảng: cắt bớt tên dài thay vì đẩy cột bên cạnh */
.bang-gap .o-hang {
    display: inline-flex; align-items: center; gap: 5px;
    white-space: nowrap; font-size: 0.82rem;
}

/* ==========================================================================
   BA TRẠNG THÁI: ĐANG TẢI · MẤT MẠNG · KHÔNG CÓ DỮ LIỆU
   (mã chạy nằm ở trangthai.js, khối rỗng do hàm khungTrong() trong main.hql in ra)
   ========================================================================== */

/* ---- 1. Vạch chạy trên đỉnh trang ---- */
.vach-tai{
    position:fixed; top:0; left:0; right:0; height:3px;
    z-index:9999; pointer-events:none;
    opacity:0; transition:opacity .25s;
}
.vach-tai.chay{ opacity:1 }
.vach-tai i{
    display:block; height:100%; width:0;
    background:linear-gradient(90deg,var(--do,#FF4655),var(--xanh,var(--xanh)));
    box-shadow:0 0 10px rgba(0, 255, 200, .6);
    animation:vachChay 12s cubic-bezier(.1,.6,.3,1) forwards;
}
/* Bò nhanh tới 90% rồi bò chậm dần — không bao giờ tự chạm 100%, vì trang tải
   xong lúc nào là chuyện của máy chủ, đoán bừa rồi đứng im ở 100% trông tệ hơn. */
@keyframes vachChay{
    0%{ width:0 } 12%{ width:38% } 30%{ width:62% }
    60%{ width:80% } 100%{ width:92% }
}
.vach-tai.xong i{ width:100%; transition:width .18s ease-out; animation:none }

/* ---- 2. Dải mất mạng ---- */
.dai-mang{
    position:fixed; left:50%; top:-70px; transform:translateX(-50%);
    z-index:9998; display:flex; align-items:center; gap:12px;
    padding:11px 18px; border-radius:0 0 10px 10px;
    background:#3A1B1B; border:1px solid #C0453F; border-top:0;
    color:#FFB3AE; font-size:.88rem;
    box-shadow:0 8px 26px rgba(0, 0, 0, 0.45);
    transition:top .3s cubic-bezier(.2,.9,.3,1.2);

    /*  width:max-content là bắt buộc, không phải cho đẹp.
        Khối này position:fixed + left:50%, nên chỗ trống mà trình duyệt tính
        cho nó chỉ là NỬA màn hình bên phải. Trên điện thoại 390px, nửa đó là
        195px — chữ bị bóp thành cột dọc mỗi dòng một từ, cao 241px, che kín
        cả thanh menu. max-content cho nó trải hết một dòng rồi mới bị
        max-width chặn lại: đo lại còn 366 x 66px, gọn như phải thế.          */
    width:max-content;
    max-width:calc(100vw - 24px);
}
.dai-mang.hien{ top:0 }
.dai-mang.da-ve{ background:#12301F; border-color:#2F855A; color:#9AE6B4 }
.dai-mang .dm-cham{
    width:9px; height:9px; border-radius:50%; background:#F87171; flex:none;
    animation:daiNhap 1.1s infinite;
}
.dai-mang.da-ve .dm-cham{ background:#48BB78; animation:none }
@keyframes daiNhap{ 0%,100%{opacity:1} 50%{opacity:.25} }
.dai-mang .dm-nut{
    flex:none; padding:5px 12px; cursor:pointer;
    background:transparent; border:1px solid currentColor; border-radius:4px;
    color:inherit; font:inherit; font-size:.82rem;
}
.dai-mang .dm-nut:hover{ background:rgba(255, 255, 255, 0.08) }
.dai-mang.da-ve .dm-nut{ display:none }

/* ---- 3. Khối "không có dữ liệu" ---- */
.khung-trong{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    gap:10px; padding:44px 24px;
    background:var(--nen-the,#111C24); border:1px dashed var(--vien,#2B3A45);
    border-radius:8px; margin:6px 0;
}
.khung-trong .kt-hinh{ font-size:2.6rem; line-height:1; opacity:.75 }
.khung-trong .kt-tieu-de{ font-size:1.02rem; font-weight:700; color:var(--chu,#E8ECF1) }
.khung-trong .kt-mo-ta{
    font-size:.87rem; color:var(--chu-mo,#9BA4B0);
    max-width:520px; line-height:1.75;
}
.khung-trong .nut{ margin-top:6px }

/* ---- 4. Ô xương cá lúc đang chờ dữ liệu ---- */
.xuong-ca{
    background:linear-gradient(90deg,
        var(--nen-mat,#16222B) 25%, #1E2C36 37%, var(--nen-mat,#16222B) 63%);
    background-size:400% 100%;
    animation:xuongCa 1.3s ease-in-out infinite;
    border-radius:4px; height:14px; margin:8px 0;
}
@keyframes xuongCa{ 0%{background-position:100% 0} 100%{background-position:0 0} }

@media (prefers-reduced-motion: reduce){
    .vach-tai i, .dai-mang .dm-cham, .xuong-ca{ animation:none }
}

/* ---- Ô chọn ngôn ngữ trên thanh điều hướng ---- */
.chon-nn{
    display:inline-flex; align-items:center; gap:0;
    border:1px solid var(--vien,#2B3A45); border-radius:4px; overflow:hidden;
    margin-right:4px; flex:none;
}
.chon-nn .nn-nut{
    padding:5px 9px; font-size:.74rem; font-weight:700; letter-spacing:.05em;
    color:var(--chu-mo,#9BA4B0); text-decoration:none; line-height:1;
    background:transparent; transition:background .15s, color .15s;
}
.chon-nn .nn-nut:hover{ background:rgba(255, 255, 255, 0.06); color:var(--chu,#E8ECF1) }
.chon-nn .nn-nut.active{ background:var(--do,#FF4655); color:#fff }
