
:root{
 --bg:var(--ground);--bg2:var(--surface);--card:var(--surface);--card2:var(--surface-raised);--card3:color-mix(in srgb,var(--surface-raised) 88%,var(--ink));
 --line2:color-mix(in srgb,var(--line) 80%,var(--ink));
 --ink2:color-mix(in srgb,var(--ink) 78%,var(--muted));--mo:var(--muted);
 --acc:var(--amber-text);--acc2:var(--amber);--acc-bg:color-mix(in srgb,var(--flag-amber) 14%,transparent);
 --xanh:var(--good);--do:var(--risk);--vang:var(--caution);--cam:var(--caution);--tim:var(--violet);--lam:var(--info);
 --ok-bg:color-mix(in srgb,var(--good) 15%,transparent);--ok-ink:var(--good);--no-bg:color-mix(in srgb,var(--risk) 15%,transparent);--no-ink:var(--risk);
 --w-bg:color-mix(in srgb,var(--caution) 15%,transparent);--w-ink:var(--caution);
 --r:var(--radius-lg);--r2:var(--radius-md);--side:236px;--bong:0 1px 2px rgba(0,0,0,.25);
 --font:var(--font-sans);--mono:var(--font-mono)}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs-md)/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--acc-bg)}
.so-tab{font-variant-numeric:tabular-nums}
.len{color:var(--xanh)}.xuong{color:var(--do)}.dim{color:var(--muted)}.sm{font-size:var(--fs-base);color:var(--muted)}.xs{font-size:var(--fs-sm);color:var(--muted)}
code{font-family:var(--f-mono);font-size:var(--fs-sm);background:var(--card2);border:1px solid var(--line);padding:1px 6px;border-radius:6px}

.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}
.logo{display:flex;align-items:center;gap:11px;padding:18px 18px 16px;border-bottom:1px solid var(--line)}
.logo-mk{display:block;width:36px;height:36px;flex:none}
.logo-chu{display:flex;flex-direction:column;line-height:1.15}.logo-chu b{font-size:var(--fs-lg);line-height:1.1}.logo-chu small{font-size:var(--fs-sm);color:var(--muted);font-weight:500;margin-top:2px}
.menu{display:flex;flex-direction:column;gap:1px;padding:8px 10px;flex:1;overflow-y:auto}
.menu-nhom{font-size:var(--fs-sm);font-weight:700;color:var(--mo);text-transform:uppercase;letter-spacing:.08em;padding:14px 12px 6px}
.menu a{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:8px;color:var(--ink2);font-weight:600;font-size:var(--fs-md);transition:background .12s,color .12s}
.menu a .ic{display:grid;place-items:center;width:20px;height:20px;flex:none;color:var(--muted)}
.menu a .ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu a:hover{background:var(--card2);color:var(--ink)}
.menu a.on{background:var(--acc-bg);color:var(--acc)}.menu a.on .ic{color:var(--acc)}
.side .chan{padding:14px 18px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted);display:flex;flex-direction:column;gap:4px}
.chan-dong{display:flex;align-items:center;gap:8px;color:var(--ink2);font-weight:600}
.noi{margin-left:var(--side);min-height:100vh;display:flex;flex-direction:column}

.dau{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.dau .hang{display:flex;align-items:center;gap:16px;padding:12px 28px;min-height:64px;max-width:1520px}
.tieu-khoi{min-width:0}
.dau h1{font-size:var(--fs-lg);font-weight:700;margin:0;letter-spacing:-.015em;line-height:1.25}
.phu{margin:2px 0 0;font-size:var(--fs-base);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dau-phai{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.giay-nhan{font-size:var(--fs-sm);font-weight:600;color:var(--w-ink);background:var(--w-bg);border:1px solid color-mix(in srgb,var(--vang) 25%,transparent);padding:4px 10px;border-radius:999px;white-space:nowrap}
.nut-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink2)}
.nut-ic:hover{border-color:var(--line2);color:var(--ink)}.nut-ic svg{width:17px;height:17px}
main{padding:22px 28px 40px;flex:1;width:100%;max-width:1520px}

.chan-trang{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:22px 28px 30px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-base);line-height:1.55;max-width:1520px}
.chan-trang b{color:var(--ink2)}
.chan-nhai{grid-column:1/-1;padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink2)}.chan-nhai a,.da-chua a,.da-hero p a{color:var(--acc,inherit);text-decoration:underline}

@media (max-width:860px){
 .side{inset:auto 0 0 0;width:auto;height:64px;flex-direction:row;border-right:0;border-top:1px solid var(--line)}
 .logo,.side .chan,.menu-nhom{display:none}
 .menu{flex-direction:row;padding:4px 4px calc(4px + env(safe-area-inset-bottom));gap:0;overflow-x:auto;scrollbar-width:none}
 .menu::-webkit-scrollbar{display:none}
 .menu a{flex:1 0 66px;flex-direction:column;gap:3px;padding:7px 4px;font-size:var(--fs-xs);justify-content:center;text-align:center;border-radius:8px}
 .menu a.on{background:transparent}
 .noi{margin-left:0;padding-bottom:70px}
 .dau .hang{padding:10px 16px;min-height:56px}.phu{display:none}main{padding:14px 16px 28px}.chan-trang{padding:16px 16px 24px}
 .giay-nhan{display:none}
}

.the{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;min-width:0;box-shadow:var(--bong)}
.the h2{font-size:var(--fs-md);font-weight:700;margin:0;letter-spacing:-.005em;display:flex;align-items:center;gap:9px;color:var(--ink)}
.h2-ic{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--card2);border:1px solid var(--line);font-size:var(--fs-base);flex:none;line-height:1}
.the .dau-the{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-height:26px}
.the .dau-the .xem{margin-left:auto;font-size:var(--fs-base);font-weight:600;color:var(--acc);white-space:nowrap}
.the .dau-the .xem:hover{color:var(--acc2)}
.the .cuoi-the{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--mo);display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between}
.luoi{display:grid;gap:14px}
.o4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.chi-so .k,.fl-o .k{font-size:var(--fs-sm);color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.chi-so .v,.fl-o .v{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 2px;line-height:1.15}
.chi-so .p,.fl-o .p{font-size:var(--fs-base);color:var(--muted)}
.trong{color:var(--muted);text-align:center;padding:24px 10px;font-size:var(--fs-base)}
.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:var(--fs-sm);font-weight:600;white-space:nowrap;line-height:1.5}
.t-ok{background:var(--ok-bg);color:var(--ok-ink)}.t-no{background:var(--no-bg);color:var(--no-ink)}.t-w{background:var(--w-bg);color:var(--w-ink)}
.t-n{background:var(--card2);color:var(--muted);border:1px solid var(--line)}.t-acc{background:var(--acc-bg);color:var(--acc)}
.diem{display:inline-grid;place-items:center;min-width:36px;height:22px;padding:0 6px;border-radius:6px;font-weight:700;font-size:var(--fs-base);font-variant-numeric:tabular-nums}
.d-ok{background:var(--ok-bg);color:var(--ok-ink)}.d-w{background:var(--w-bg);color:var(--w-ink)}.d-no{background:var(--no-bg);color:var(--no-ink)}.d-n{background:var(--card2);color:var(--muted)}
.anh{width:38px;height:38px;border-radius:50%;background:var(--card3);flex:none;object-fit:cover;display:grid;place-items:center;font-weight:700;color:var(--muted);font-size:var(--fs-md);overflow:hidden;border:1px solid var(--line)}
.anh.nho{width:30px;height:30px;font-size:var(--fs-sm)}.anh.to{width:56px;height:56px;font-size:var(--fs-xl)}
.gia3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gia1{background:var(--card2);border-radius:12px;padding:10px 12px;min-width:0;transition:background .6s}
.gia1 .k{font-size:var(--fs-base);color:var(--muted);font-weight:700}.gia1 .v{font-size:var(--fs-lg);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.gia1.nhay-len{background:color-mix(in srgb,var(--xanh) 22%,var(--card2))}.gia1.nhay-xuong{background:color-mix(in srgb,var(--do) 22%,var(--card2))}
.dong-ho{display:flex;align-items:center;gap:14px}.dong-ho svg{width:150px;height:92px;flex:none}
.dong-ho .chu-tl{font-size:var(--fs-xl);font-weight:800}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mini div{background:var(--card2);border-radius:10px;padding:8px 10px}
.mini b{display:block;font-size:var(--fs-md);font-variant-numeric:tabular-nums}.mini span{font-size:var(--fs-sm);color:var(--muted)}
.bieu{height:220px;width:100%}
.dong-coin{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);cursor:pointer}
.dong-coin:first-of-type{border-top:0}.dong-coin:hover .ten b{color:var(--acc)}
.dong-coin .ten{min-width:0;flex:1}.dong-coin .ten b{display:block;font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dong-coin .ten>span{display:block;font-size:var(--fs-base);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dong-coin .phai-so{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-base);white-space:nowrap}
.dong-coin svg.sp{width:84px;height:30px;flex:none}
.tom{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.tom .tag{font-size:var(--fs-base)}

.loc{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.chip{border:1px solid var(--line);background:var(--card);color:var(--muted);padding:7px 13px;border-radius:999px;cursor:pointer;font-weight:700;font-size:var(--fs-base);white-space:nowrap}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tim{flex:1 1 220px;max-width:340px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--ink);font:inherit;font-size:var(--fs-md)}
.board{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.tq{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s}
.tq:hover{border-color:var(--acc);transform:translateY(-1px)}
.tq .h{display:flex;gap:10px;align-items:center}.tq .h .ten{min-width:0;flex:1}
.tq .h .ten>b{display:block;font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tq .h .ten>span{font-size:var(--fs-base);color:var(--muted)}
.tq .s{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:var(--fs-base)}.tq .s div>span{display:block;color:var(--muted);font-size:var(--fs-sm)}.tq .s div b{font-variant-numeric:tabular-nums}
.tq svg.sp{width:100%;height:38px}
.thanh{height:6px;border-radius:999px;background:var(--card2);overflow:hidden}.thanh>i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2))}
.canh{display:flex;gap:5px;flex-wrap:wrap}.canh .tag{font-size:var(--fs-sm);padding:1px 8px}

.cuon{overflow-x:auto;margin:0 -18px;padding:0 18px}
table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}
th,td{padding:9px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
th{font-size:var(--fs-sm);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
th.l,td.l{text-align:left}tbody tr:last-child td{border-bottom:0}
tr.bam{cursor:pointer}tr.bam:hover td{background:var(--card2)}
.coin-o{display:flex;align-items:center;gap:9px}.coin-o b{font-weight:700}

.ct-dau{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ct-dau .gia{font-size:var(--fs-2xl);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.nut{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card2);padding:7px 12px;border-radius:10px;font-weight:700;font-size:var(--fs-base);cursor:pointer}
.nut:hover{border-color:var(--acc)}
.khung-nut{display:inline-flex;background:var(--card2);border-radius:10px;padding:3px;gap:2px}
.khung-nut button{border:0;background:transparent;color:var(--muted);font-weight:700;padding:5px 11px;border-radius:8px;cursor:pointer}
.khung-nut button.on{background:var(--card);color:var(--ink)}
.bieu-to{height:380px;width:100%}
@media (max-width:860px){.bieu-to{height:300px}}
.hai{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.muc-d{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--fs-md)}.muc-d:last-child{border-bottom:0}
.muc-d .p{min-width:38px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.muc-d.khong{opacity:.42}.muc-d .ly{color:var(--muted);font-size:var(--fs-base)}
.bong{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end}
.bong i{display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--acc) 30%,transparent);border:1px solid color-mix(in srgb,var(--acc) 60%,transparent);font-style:normal;font-size:var(--fs-sm);font-weight:700}
.bong i.pool{background:var(--card2);border-color:var(--line);color:var(--muted)}
.canh-bao{background:var(--w-bg);color:var(--w-ink);border-radius:12px;padding:12px 14px;font-size:var(--fs-md)}
.prose{max-width:820px;font-size:var(--fs-md)}.prose h2{margin-top:26px}.prose li{margin:5px 0}
dialog{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;max-width:460px;padding:20px}
dialog::backdrop{background:rgba(0,0,0,.55)}
code{font-size:var(--fs-base);background:var(--card2);padding:1px 6px;border-radius:6px}

.rr{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-sm);font-weight:800;white-space:nowrap;cursor:help}
.rr-do{background:var(--no-bg);color:var(--no-ink)}.rr-cam{background:color-mix(in srgb,var(--cam) 18%,transparent);color:var(--cam)}.rr-xanh{background:var(--ok-bg);color:var(--ok-ink)}
.rr-ly{font-size:var(--fs-sm);color:var(--muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tq .h .goc{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto}
.tq.do{border-color:var(--do);opacity:.55;filter:saturate(.35)}.tq.do:hover{opacity:.9;border-color:var(--do)}
.dong-coin.do{opacity:.55}
.bat{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);color:var(--muted);cursor:pointer;user-select:none;white-space:nowrap}.bat input{accent-color:var(--do)}
.bang-rr{display:flex;flex-direction:column;gap:8px}.bang-rr>div{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-base)}

.chat-o{max-height:430px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:2px 4px 2px 0;overscroll-behavior:contain}
.tn{display:flex;gap:8px;align-items:flex-end;max-width:100%}.tn .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--card2);flex:none;font-size:var(--fs-md)}
.tn .bb{background:var(--card2);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:7px 11px;font-size:var(--fs-base);line-height:1.45;white-space:pre-wrap;word-break:break-word;min-width:0}
.tn .bb .ai{font-size:var(--fs-sm);font-weight:700;color:var(--muted);margin-bottom:2px;display:flex;gap:8px}.tn .bb .ai span{font-weight:400}
.tn.admin{flex-direction:row-reverse}.tn.admin .bb{border-radius:14px 14px 4px 14px;background:color-mix(in srgb,var(--acc) 15%,var(--card2))}
.tn.radar .bb{border-color:color-mix(in srgb,var(--xanh) 45%,var(--line))}
.tn .bb a.ca{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--acc)}
.chat-ngay{align-self:center;font-size:var(--fs-sm);color:var(--muted);background:var(--card2);padding:2px 10px;border-radius:999px}
.song{width:8px;height:8px;border-radius:50%;background:var(--xanh);display:inline-block;box-shadow:0 0 0 3px color-mix(in srgb,var(--xanh) 22%,transparent)}


.tq{position:relative}
.ngoai{display:flex;gap:6px;flex-wrap:wrap}.ngoai a,.ngoai button{font-size:var(--fs-sm);font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--card2);color:var(--ink);text-decoration:none;cursor:pointer;line-height:1.4}
.ngoai a:hover,.ngoai button:hover{border-color:var(--acc);color:var(--acc)}
.tq .pop{display:none;position:absolute;left:-1px;right:-1px;top:calc(100% - 6px);z-index:30;background:var(--card);border:1px solid var(--acc);border-radius:0 0 var(--r) var(--r);padding:12px 14px;box-shadow:0 14px 34px rgba(0,0,0,.38);font-size:var(--fs-base);cursor:default}
@media (hover:hover){.tq:hover .pop{display:block}.tq:hover{z-index:31}}
.pop .g{display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.pop .g span{color:var(--muted)}.pop .rrd{margin:2px 0 8px;display:flex;flex-direction:column;gap:2px}
.pop code{font-size:var(--fs-sm);word-break:break-all}
td .ngoai a{padding:1px 7px;font-size:var(--fs-sm)}


.o-dau{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.o-luoi{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.o-luoi>div{display:contents}
.o-luoi .the{display:flex;flex-direction:column;min-width:0;height:400px}
.o-luoi .the .ruot{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.o-luoi .the .cuoi-the{margin-top:auto;padding-top:8px}
.o-luoi .chat-o{flex:1;min-height:0;max-height:none}
@media (min-width:760px){.o-luoi{grid-template-columns:repeat(2,minmax(0,1fr))}.o-luoi .o-rong{grid-column:span 2}}
@media (min-width:1180px){.o-luoi{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:759px){.o-luoi .the{height:auto;max-height:560px}.o-luoi .chat-o{height:420px;flex:none}}


.fl-kpi{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:16px}
.fl-o{padding:14px 16px}.fl-o .k{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.fl-o .v{font-size:var(--fs-xl);font-weight:800;font-variant-numeric:tabular-nums;margin:4px 0 2px}.fl-o .p{font-size:var(--fs-sm);color:var(--muted)}
.fl-luoi{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.fl-luoi{grid-template-columns:360px minmax(0,1fr)}}
.fl-ben{display:flex;flex-direction:column;min-width:0}.fl-ds{max-height:640px;overflow-y:auto;margin:0 -6px;padding:0 6px;overscroll-behavior:contain}
.fl-nhom{display:flex;flex-direction:column;gap:1px;margin:12px 4px 6px}.fl-nhom:first-child{margin-top:2px}.fl-nhom b{font-size:var(--fs-base)}
.fl-dong{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s}
.fl-dong:hover{background:var(--card2)}.fl-dong.on{background:color-mix(in srgb,var(--acc) 13%,var(--card2));border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
.fl-dong .ten{min-width:0;flex:1}.fl-dong .ten b{display:block;font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-dong .ten>span{display:block;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-dong .phai-so{text-align:right;flex:none}
.fl-ct{min-width:0;display:flex;flex-direction:column}
.fl-dau{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.fl-so{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:14px 0 10px}
.o-so{background:var(--card2);border-radius:10px;padding:9px 11px;min-width:0}.o-so .k{font-size:var(--fs-sm);color:var(--muted)}.o-so .v{font-size:var(--fs-md);font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px;overflow-wrap:anywhere}
.o-so .v.vang{color:var(--vang)}.lai-to{font-size:var(--fs-xl);font-weight:800}
.fl-cong{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.bieu-fl{height:440px;width:100%;min-height:300px}
@media (max-width:640px){.bieu-fl{height:340px}}


.chip{border:1px solid var(--line);background:var(--card);color:var(--ink2);padding:6px 12px;border-radius:8px;font-weight:600;font-size:var(--fs-base)}
.chip:hover{border-color:var(--line2);color:var(--ink)}
.chip.on{background:var(--flag-amber);color:var(--flag-on);border-color:var(--flag-amber)}
.tim{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:var(--fs-base)}
.tim:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.nut{border:1px solid var(--line);background:var(--card);padding:6px 12px;border-radius:8px;font-weight:600;font-size:var(--fs-base);color:var(--ink2)}
.nut:hover{border-color:var(--acc);color:var(--acc)}
.khung-nut{background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:2px}
.khung-nut button{padding:4px 10px;border-radius:6px;font-weight:600;font-size:var(--fs-base)}
.khung-nut button.on{background:var(--card);color:var(--ink);box-shadow:var(--bong)}
table{font-size:var(--fs-base)}
th,td{padding:10px 12px;border-bottom:1px solid var(--line)}
th{font-size:var(--fs-sm);font-weight:600;color:var(--muted);letter-spacing:.06em;background:var(--card);position:sticky;top:0}
tr.bam:hover td{background:var(--card2)}
.tq{border-radius:var(--r);padding:14px 15px;transition:border-color .15s,box-shadow .15s}
.tq:hover{border-color:var(--line2);transform:none;box-shadow:0 6px 22px rgba(0,0,0,.18)}
.tq .s{gap:8px 6px}.tq .s div>span{font-size:var(--fs-sm);white-space:nowrap}
.thanh>i{background:var(--acc)}
.gia1,.mini div,.o-so{background:var(--card2);border:1px solid var(--line);border-radius:var(--r2)}
.gia1 .k{font-size:var(--fs-sm);font-weight:600;letter-spacing:.06em}
.canh-bao{background:var(--w-bg);color:var(--w-ink);border:1px solid color-mix(in srgb,var(--vang) 25%,transparent);border-radius:var(--r2)}
.ngoai a,.ngoai button{border-radius:6px;font-weight:600;color:var(--ink2);background:var(--card)}
.rr{border-radius:6px;font-weight:700}
.rr-cam{background:color-mix(in srgb,var(--cam) 15%,transparent);color:var(--cam)}
.rr-chua{background:var(--card2);color:var(--muted);border:1px solid var(--line)}
.fl-o,.chi-so{padding:16px 18px}
.fl-dong.on,.dong-coin:hover .ten b{color:inherit}
.fl-dong.on{background:var(--acc-bg);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.fl-nhom b{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}
.dong-coin{padding:10px 2px}.dong-coin:hover{background:linear-gradient(90deg,transparent,var(--card2) 20%,var(--card2) 80%,transparent)}
.tn .bb{border-radius:12px 12px 12px 4px}.tn.admin .bb{background:var(--acc-bg)}
.prose h2{font-size:var(--fs-lg);letter-spacing:-.01em}.prose{color:var(--ink2)}.prose b{color:var(--ink)}
dialog{border-radius:var(--r)}
.dau-the h2 .tag,.dau-the h2 .rr{margin-left:2px}


@keyframes thoi{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--xanh) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.song{animation:thoi 2s ease-out infinite}
.song-o{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);font-weight:600;color:var(--ink2);padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);white-space:nowrap;font-variant-numeric:tabular-nums}
.song-o.tre .song{background:var(--vang);animation:none}
@keyframes sang-len{0%{background:color-mix(in srgb,var(--xanh) 30%,transparent);color:var(--xanh)}100%{background:transparent}}
@keyframes sang-xuong{0%{background:color-mix(in srgb,var(--do) 30%,transparent);color:var(--do)}100%{background:transparent}}
.nhay-len{animation:sang-len .6s ease-out;border-radius:4px}.nhay-xuong{animation:sang-xuong .6s ease-out;border-radius:4px}
@keyframes hien{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes vien{0%{box-shadow:0 0 0 1px var(--acc),0 0 22px color-mix(in srgb,var(--acc) 35%,transparent)}100%{box-shadow:0 0 0 1px transparent,0 0 0 transparent}}
.moi{animation:vao-tren .35s cubic-bezier(.2,.8,.2,1),vien-cam 4s ease-out}
tr.moi td{animation:vao-tren .35s cubic-bezier(.2,.8,.2,1),td-cam 4s ease-out}
.tn.moi{animation:hien .5s ease-out}

.lenh-luoi{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.lenh-o{position:relative;background:var(--card2);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px 12px;cursor:pointer;display:flex;flex-direction:column;gap:9px;overflow:hidden;transition:border-color .15s,transform .15s}
.lenh-o:hover{border-color:var(--line2);transform:translateY(-1px)}
.lenh-o::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--line2)}
.lenh-o.lai::before{background:var(--xanh)}.lenh-o.lo::before{background:var(--do)}.lenh-o.mo::before{background:var(--acc)}
.lenh-o.mo{border-color:color-mix(in srgb,var(--acc) 40%,var(--line))}
.lenh-o.cu{opacity:.55}
.lo-dau{display:flex;align-items:center;gap:9px;min-width:0}.lo-dau .ten{min-width:0;flex:1}.lo-dau .ten b{display:block;font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lo-dau .ten>span{display:block;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lo-song{gap:6px}.lo-song .song{width:6px;height:6px;background:var(--acc)}
.lo-pc{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1;align-self:flex-start;padding:0 2px}
.lo-thanh{position:relative;height:4px;border-radius:99px;background:var(--card3)}.lo-thanh::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line2)}
.lo-thanh i{position:absolute;top:0;bottom:0;border-radius:99px}.lo-thanh i.d{left:50%;background:var(--xanh)}.lo-thanh i.a{right:50%;background:var(--do)}
.lo-luoi{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;font-size:var(--fs-sm)}.lo-luoi span{display:block;color:var(--muted);font-size:var(--fs-sm)}.lo-luoi b{font-weight:600;font-variant-numeric:tabular-nums;font-size:var(--fs-base)}
.lo-ly{grid-column:1/-1;padding-top:6px;border-top:1px dashed var(--line)}
.lo-tom{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin-bottom:12px}
.lo-tom>div{background:var(--card2);border:1px solid var(--line);border-radius:var(--r2);padding:8px 11px}.lo-tom span{display:block;font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.lo-tom b{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}
@media (max-width:860px){.song-o{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


@media (max-width:759px){.o-luoi .ban-tin{max-height:460px}.o-luoi .ban-tin .chat-o{height:340px}.ban-tin .an-dt{display:none}.ban-tin .dau-the h2{white-space:nowrap}}
.tn.quansat .bb{border-color:color-mix(in srgb,var(--acc) 40%,var(--line))}

.num,.chi-so .v,.fl-o .v,.gia1 .v,.mini b,.dong-coin .phai-so,.tq .s div b,td:not(.l),.ct-dau .gia,.lo-pc,.lo-luoi b,.lo-tom b,.diem{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.wordmark{font-family:var(--font-display);font-weight:700;letter-spacing:.02em}
.flag-hero{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
 padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--bong)}
@media (min-width:1000px){.flag-hero{grid-template-columns:minmax(0,1fr) 340px;padding:var(--space-8)}}
.fh-dau{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.fh-dau .xem{margin-left:auto;font-size:var(--fs-base);font-weight:600;color:var(--flag-amber-text)}
.fh-tieu{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);line-height:1.15;margin:0;letter-spacing:.01em}.fh-tieu.nho{font-size:var(--fs-lg)}
.fh-luoi{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.fc{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer;min-width:0}
.fc:hover{border-color:color-mix(in srgb,var(--flag-amber) 55%,var(--line))}
.fc-dau{display:flex;align-items:center;gap:var(--space-2);min-width:0}.fc-dau .ten{display:flex;flex-direction:column;min-width:0;flex:1}.fc-dau .ten b{font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-dau .ten span{font-size:var(--fs-sm);color:var(--ink-muted)}
.fc-gia{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:var(--fs-base)}.fc-gia b{font-size:var(--fs-md)}
.fc-so{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);font-size:var(--fs-sm)}.fc-so span{display:block;color:var(--ink-muted);font-size:var(--fs-sm)}
.fc-nhan{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.fc-ly{font-size:var(--fs-sm);color:var(--ink-muted);line-height:1.35}
.btn-primary{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;cursor:pointer}.btn-primary:hover{color:var(--flag-on)}
.fc-nut{margin-top:auto;font-size:var(--fs-base)}
.fh-trong{padding:var(--space-6) var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--ink-muted);text-align:center}
.fh-phai{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.fh-phai .fh-dau{margin-bottom:0;flex-direction:column;align-items:flex-start;gap:2px}
.fh-tk{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.fh-tk span{display:block;font-size:var(--fs-sm);color:var(--ink-muted)}.fh-tk b{font-size:var(--fs-xl);line-height:1.2}
.fh-gan{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:var(--space-2)}
.fh-l{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-2);padding:5px 0;cursor:pointer}.fh-l b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fh-l .num{grid-row:span 2;align-self:center;font-weight:600}
.fh-phai .xem{font-size:var(--fs-base);font-weight:600;color:var(--flag-amber-text)}
.fh-chan{grid-column:1/-1;font-size:var(--fs-sm);color:var(--ink-muted);border-top:1px solid var(--line);padding-top:var(--space-3)}
@media (max-width:640px){.flag-hero{padding:var(--space-4);gap:var(--space-4)}.fh-tieu{font-size:var(--fs-lg)}.fh-luoi{grid-template-columns:minmax(0,1fr)}}

@media (min-width:1180px){.o-luoi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.o-luoi .ban-tin{height:auto}.o-luoi .ban-tin .chat-o{flex:none;height:auto;max-height:none;overflow:visible}
@media (max-width:759px){.o-luoi .ban-tin{max-height:none}.o-luoi .ban-tin .chat-o{height:auto}}
.chat-them{display:flex;justify-content:center;padding-top:var(--space-2)}#h-chat-them[hidden]{display:none}

.flh-loc{margin:0 0 var(--space-3)}.flh-gach{width:1px;align-self:stretch;background:var(--line);margin:0 4px}
.bang-cuon{overflow-x:auto;-webkit-overflow-scrolling:touch}.bang-cuon table{min-width:760px}
.badge.risk,.badge.caution,.badge.good,.badge.unchecked{white-space:nowrap}

.flag-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;
 background:radial-gradient(120% 160% at 90% 10%,var(--surface-raised) 0%,var(--surface) 65%);border:1px solid var(--line);border-radius:var(--radius-lg);
 padding:var(--space-6) var(--space-8);margin-bottom:var(--space-4)}
.fb-trai{display:flex;align-items:center;gap:var(--space-4);position:relative;z-index:1}.fb-trai img{flex:none}
.fb-wm{font-size:var(--fs-2xl);line-height:1}.fb-tl{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);margin-top:6px}.fb-tl b{color:var(--flag-amber-text);font-weight:600}
.fb-so{display:flex;gap:var(--space-6);position:relative;z-index:1}.fb-so div{display:flex;flex-direction:column}.fb-so b{font-size:var(--fs-xl);line-height:1.2}.fb-so span{font-size:var(--fs-sm);color:var(--ink-muted)}
.fb-g{position:absolute;right:0;bottom:0;width:55%;height:85%;pointer-events:none}
@media (max-width:640px){.flag-banner{padding:var(--space-4);gap:var(--space-4)}.fb-trai img{width:44px;height:44px}.fb-wm{font-size:var(--fs-2xl)}.fb-tl{font-size:var(--fs-base)}.fb-so{gap:var(--space-4);width:100%}.fb-so b{font-size:var(--fs-lg)}}

.ban-tin{margin-bottom:var(--space-6)}
.bt-luoi{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.bt-luoi{grid-template-columns:repeat(min(var(--n,3),3),minmax(0,1fr))}}
.bt-cum{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);min-width:0}
.bt-dau{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}
.bt-dau>div{display:flex;flex-direction:column;min-width:0;flex:1}.bt-dau b{font-size:var(--fs-md)}.bt-dau span{font-size:var(--fs-sm);color:var(--ink-muted)}.bt-dau .tag{flex:none}
.bt-ds{display:flex;flex-direction:column;gap:var(--space-2)}
.bt-tin{padding:var(--space-2) 0;border-bottom:1px dashed var(--line);min-width:0}.bt-tin:last-child{border-bottom:0}
.bt-gio{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-muted);margin-bottom:2px}
.bt-van{font-size:var(--fs-base);line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.bt-van a.ca{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--flag-amber-text)}
.bt-them{align-self:center;margin-top:auto}
.bt-quansat .bt-dau b{color:var(--flag-amber-text)}.bt-radar .bt-dau b{color:var(--info)}

.bt-tin{cursor:pointer}.bt-van{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.bt-tin.mo .bt-van{display:block}.bt-tin:not(.ngan):not(.mo) .bt-van::after{content:""}
.bt-tin:not(.ngan):not(.mo)::after{content:"Read more ▾";display:block;font-size:var(--fs-sm);color:var(--flag-amber-text);margin-top:2px}
.bt-tin.mo::after{content:"Show less ▴";display:block;font-size:var(--fs-sm);color:var(--flag-amber-text);margin-top:2px}
.bt-tabs{display:none;gap:var(--space-2);overflow-x:auto;padding-bottom:2px}
@media (max-width:899px){.bt-tabs{display:flex}.bt-cum{display:none}.bt-cum.on{display:flex}.bt-tabs .chip{white-space:nowrap;flex:none}}
.chip.on .xs{color:var(--flag-on);opacity:.75}

.ban-tin.gon{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}
.ban-tin.gon .dau-the{margin-bottom:var(--space-2)}.ban-tin.gon .dau-the h2{font-size:var(--fs-md)}
.ban-tin.gon .bt-luoi{gap:var(--space-3)}
.ban-tin.gon .bt-cum{padding:var(--space-2) var(--space-3);gap:0}
.ban-tin.gon .bt-dau{padding-bottom:6px}.ban-tin.gon .bt-dau span:not(.tag):not(.h2-ic){display:none}.ban-tin.gon .bt-dau b{font-size:var(--fs-base)}
.ban-tin.gon .h2-ic{width:22px;height:22px;font-size:var(--fs-sm)}
.ban-tin.gon .bt-ds{gap:0;height:230px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.ban-tin.gon .bt-tin{padding:6px 0;display:flex;gap:8px}
.ban-tin.gon .bt-gio{flex:none;width:38px;margin:1px 0 0;font-size:var(--fs-xs)}
.ban-tin.gon .bt-van{font-size:var(--fs-base);line-height:1.45;-webkit-line-clamp:2;flex:1;min-width:0}
.ban-tin.gon .bt-tin::after{display:none!important}
.ban-tin.gon .bt-tin:not(.ngan):not(.mo) .bt-van{cursor:pointer}
.ban-tin.gon .bt-them{font-size:var(--fs-sm);padding:3px 10px;margin-top:6px}
@media (max-width:899px){.ban-tin.gon .bt-ds{height:250px}.ban-tin.gon .bt-tabs .chip{font-size:var(--fs-base);padding:4px 10px}}
@media (max-width:899px){.ban-tin.gon .bt-dau{display:none}}

.tq-ngan{font-size:var(--fs-sm);color:var(--ink-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tq.doi-len{border-color:color-mix(in srgb,var(--good) 60%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--good) 35%,transparent);transition:border-color .6s,box-shadow .6s}
.tq.doi-xuong{border-color:color-mix(in srgb,var(--risk) 45%,var(--line));transition:border-color .6s}
.tq{will-change:transform}
@media (max-width:759px){.luoi.o4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.luoi.o4 .chi-so{padding:12px 14px}.luoi.o4 .chi-so .v{font-size:var(--fs-xl)}}

.tt-dai{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:6px 12px;min-width:0}
.tt-cuon{display:flex;align-items:center;gap:var(--space-4);overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;white-space:nowrap}.tt-cuon::-webkit-scrollbar{display:none}
.tt-o{display:inline-flex;align-items:baseline;gap:6px;font-size:var(--fs-base);border-radius:6px;padding:2px 4px;transition:background .6s}
.tt-o .k{font-size:var(--fs-sm);font-weight:700;color:var(--ink-muted);letter-spacing:.04em}.tt-o b{font-size:var(--fs-base);font-weight:600}.tt-o .vang{color:var(--caution)}
.tt-o.nhay-len{background:var(--ok-bg)}.tt-o.nhay-xuong{background:var(--no-bg)}
.tt-gach{width:1px;height:16px;background:var(--line);flex:none}
.tt-dai .bat{flex:none;font-size:var(--fs-sm);white-space:nowrap}
@media (max-width:640px){.tt-dai{padding:6px 10px}.tt-dai .bat{display:none}}
.tt-cuon{flex-wrap:wrap;row-gap:2px;column-gap:var(--space-4);overflow:visible;white-space:normal}.tt-o{white-space:nowrap}
@media (max-width:640px){.tt-cuon{column-gap:10px}.tt-o{font-size:var(--fs-sm);gap:4px;padding:1px 2px}.tt-o b{font-size:var(--fs-sm)}.tt-o .k{font-size:var(--fs-xs)}.tt-gach,.tt-ts{display:none}}
@media (min-width:641px){.tt-cuon{column-gap:14px}}
@media (min-width:641px){.tt-cuon{column-gap:12px}.tt-o{padding:2px 2px}}

.o-luoi .the.tu-cao{height:auto}.o-luoi .the.tu-cao .ruot{overflow:visible}
.board.nho{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.tq.nho{padding:11px 12px;gap:7px}.tq.nho .h .ten>b{font-size:var(--fs-md)}.tq.nho .h .ten>span{font-size:var(--fs-sm)}.tq.nho .anh{width:30px;height:30px}
.tq.nho .s{font-size:var(--fs-sm)}.tq.nho .sp{height:28px}
#hb-tom{margin-bottom:10px}
.board .trong{grid-column:1/-1}

.co{display:inline-block;width:1.05em;height:1.2em;vertical-align:-.22em;line-height:1;flex:none}.co svg{width:100%;height:100%;display:block;overflow:visible}
.co-can{fill:color-mix(in srgb,var(--ink) 70%,transparent)}.co-than{fill:currentColor}.co-nep{fill:#000;opacity:.22}
.co-gia{fill:none;stroke:var(--flag-cream);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;opacity:.9}
.co-do{color:var(--risk)}.co-cam{color:var(--flag-ember)}.co-vang{color:var(--caution)}.co-xanh{color:var(--good)}
.co-chua{color:var(--ink-muted)}.co-chua .co-than{fill:none;stroke:currentColor;stroke-width:3}.co-chua .co-nep,.co-chua .co-gia{display:none}
.rr .co{width:1.1em;height:1.3em}

.tq{padding:12px;gap:8px}
.tq .h{gap:8px}.tq .h .ten>b{font-size:var(--fs-md);font-weight:600}.tq .h .ten>span{font-size:var(--fs-sm)}
.tq .anh,.tq.nho .anh{width:26px;height:26px;font-size:var(--fs-sm)}
.tq .s{gap:6px 6px;font-size:var(--fs-sm)}.tq .s div>span{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.tq .s div b{font-size:var(--fs-base);font-weight:500}
.tq .tag{font-size:var(--fs-xs);padding:1px 6px}.tq .diem{font-size:var(--fs-sm);height:20px;min-width:30px}
.tq-ngan{font-size:var(--fs-sm)}.tq .ngoai a,.tq .ngoai button{font-size:var(--fs-sm)}
.tq.nho{padding:10px 11px;gap:6px}.tq.nho .h .ten>b{font-size:var(--fs-base)}.tq.nho .h .ten>span{font-size:var(--fs-sm)}
.board{gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.board.nho{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

.flag-hero2{display:grid;gap:var(--space-4) var(--space-6);grid-template-columns:minmax(0,1fr);background:radial-gradient(120% 160% at 0% 0%,var(--surface-raised) 0%,var(--surface) 55%);
 border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--bong)}
@media (min-width:1100px){.flag-hero2{grid-template-columns:230px minmax(0,1fr) 280px}}
@media (min-width:760px) and (max-width:1099px){.flag-hero2{grid-template-columns:220px minmax(0,1fr)}.flag-hero2 .fh-phai{grid-column:1/-1}}
.fh2-trai{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.fh2-trai .fb-trai{gap:var(--space-3)}.fh2-trai .fb-wm{font-size:var(--fs-2xl)}.fh2-trai .fb-tl{font-size:var(--fs-base);margin-top:4px;line-height:1.35}
.fh2-so{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.fh2-so div{display:flex;flex-direction:column}.fh2-so b{font-size:var(--fs-xl);line-height:1.2}.fh2-so span{font-size:var(--fs-xs);color:var(--ink-muted);line-height:1.3}
.fh-cot{display:flex;align-items:flex-end;gap:2px;height:30px}.fh-cot i{flex:1;background:var(--flag-amber);border-radius:2px 2px 0 0;opacity:.85}.fh-cot i.rong{background:var(--line);opacity:1}
.fh-cot-chu{font-size:var(--fs-xs);color:var(--ink-muted);margin-top:-6px}
.fh2-giua{min-width:0}.fh2-giua .fh-dau{margin-bottom:var(--space-2)}
.fr-ds{display:flex;flex-direction:column}
.fr{display:grid;grid-template-columns:26px minmax(70px,1.1fr) minmax(0,1.6fr) auto minmax(0,1.6fr);gap:8px;align-items:center;padding:6px 4px;border-top:1px solid var(--line);cursor:pointer;font-size:var(--fs-sm)}
.fr:first-child{border-top:0}.fr:hover{background:var(--surface-raised)}
.fr .anh{width:26px;height:26px;font-size:var(--fs-sm)}
.fr-ten{display:flex;flex-direction:column;min-width:0}.fr-ten b{font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-ten span{font-size:var(--fs-sm);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-gia{display:flex;flex-direction:column;font-size:var(--fs-sm);min-width:0}.fr-gia span:first-child{color:var(--ink-muted);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-tt{min-width:0;justify-self:end}.fr-tt .tag{white-space:normal;line-height:1.35;font-size:var(--fs-sm);text-align:left}
.fr-them{display:block;font-size:var(--fs-sm);padding-top:6px}
@media (max-width:640px){.flag-hero2{padding:var(--space-3) var(--space-4)}.fr{grid-template-columns:26px minmax(0,1fr) auto;row-gap:4px}.fr-gia{grid-column:2/3}.fr-rr{grid-row:1;grid-column:3}.fr-tt{grid-column:2/4;justify-self:start}}

.cham-amber{display:inline-block;width:.62em;height:.62em;border-radius:50%;background:var(--flag-amber);margin-right:4px;vertical-align:.05em}
.bt-van a.ca{font-family:var(--font-sans);font-weight:700;font-size:var(--fs-base)}
.chep-nho{border:0;background:none;padding:0 2px;margin-left:2px;cursor:pointer;font-size:var(--fs-sm);opacity:.65;vertical-align:baseline}.chep-nho:hover{opacity:1}

.flag-hero2{padding-top:0;overflow:hidden}
.fh2-anh{grid-column:1/-1;margin:0 calc(-1*var(--space-6));height:clamp(150px,15vw,210px);background:#10141B;border-bottom:1px solid var(--line)}
.fh2-anh img{width:100%;height:100%;object-fit:cover;object-position:left 42%;display:block}
.fh2-trai .fb-trai{display:none}
@media (max-width:599px){.fh2-anh{display:none}.flag-hero2{padding-top:var(--space-3)}.fh2-trai .fb-trai{display:flex}}
@media (min-width:600px) and (max-width:640px){.fh2-anh{margin:0 calc(-1*var(--space-4))}}
@media (max-width:640px){.fr-gia{flex-direction:row;gap:8px;align-items:baseline}.fr{padding:7px 2px}}

.banner-dau{margin-bottom:var(--space-3);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:#10141B;aspect-ratio:3/1}
.banner-dau img{width:100%;height:100%;display:block;object-fit:contain}

.flag-hero3{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--bong)}
@media (min-width:1200px){.flag-hero3{grid-template-columns:330px minmax(0,1fr) 250px;grid-template-areas:"dau dau dau" "ds chart tk" "chan chan chan"}
 .fh3-dau{grid-area:dau}.fh3-ds{grid-area:ds}.fh3-chart{grid-area:chart}.flag-hero3 .fh-phai{grid-area:tk}.flag-hero3 .fh-chan{grid-area:chan}}
@media (min-width:760px) and (max-width:1199px){.flag-hero3{grid-template-columns:300px minmax(0,1fr)}.fh3-dau,.flag-hero3 .fh-phai,.flag-hero3 .fh-chan{grid-column:1/-1}}
.fh3-dau{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.fh3-dau .xem{margin-left:auto;font-size:var(--fs-base);font-weight:600;color:var(--flag-amber-text)}
.fh3-so{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--ink-muted)}.fh3-so b{font-size:var(--fs-md);color:var(--ink);margin-right:3px}
.fh3-ds{display:flex;flex-direction:column;min-width:0;max-height:430px;overflow-y:auto;overscroll-behavior:contain}
.fr2{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto auto;grid-template-rows:auto auto;column-gap:6px;row-gap:1px;align-items:center;padding:5px 6px;border-radius:6px;cursor:pointer;font-size:var(--fs-sm);border:1px solid transparent}
.fr2 .anh{width:20px;height:20px;font-size:var(--fs-xs);grid-row:1/3}.fr2>b{font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr2 .fr2-rr .rr{font-size:var(--fs-sm);padding:1px 4px}.fr2 .tag{grid-column:2/6;justify-self:start;font-size:var(--fs-xs);padding:0 6px}
.fr2:hover{background:var(--surface-raised)}.fr2.on{background:var(--acc-bg);border-color:color-mix(in srgb,var(--flag-amber) 45%,transparent)}
.fh3-chart{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.fh3-ct{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fh3-ten{display:flex;flex-direction:column;min-width:0}.fh3-ten b{font-size:var(--fs-md)}.fh3-ct .xem{margin-left:auto;font-size:var(--fs-sm);color:var(--flag-amber-text)}
.fh3-ct .khung-nut{margin-left:auto}
.bieu-hc{height:380px;min-height:300px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}
@media (max-width:640px){.flag-hero3{padding:var(--space-3)}.bieu-hc{height:300px}.fh3-ds{max-height:300px}.banner-dau{border-radius:var(--radius-md)}}

@media (max-width:860px){
 .menu a{flex:1 0 64px;font-size:var(--fs-xs);line-height:1.2}.menu a span:last-child{white-space:nowrap;font-size:var(--fs-xs)}
 .side{overflow:hidden;max-width:100vw}
 #tieu::before{content:"";display:inline-block;width:22px;height:22px;margin-right:8px;vertical-align:-4px;background:url(logo/flag-logo.svg) center/contain no-repeat;border-radius:5px}
}
code{overflow-wrap:anywhere;word-break:break-all;max-width:100%}.ct-dau>div{min-width:0;max-width:100%}
.banner-dau{aspect-ratio:6/1}

.da-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;background:radial-gradient(120% 160% at 100% 0%,var(--surface-raised) 0%,var(--surface) 60%);
 border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);margin-bottom:var(--space-4)}
.da-nhan{font-size:var(--fs-sm);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--flag-amber-text)}
.da-tieu{font-family:var(--font-display);font-weight:700;font-size:var(--fs-2xl);margin:6px 0 8px;line-height:1.15}.da-hero p{margin:0;max-width:680px;color:var(--ink2)}
.da-tiendo{text-align:center}.da-so{font-size:var(--fs-3xl);font-weight:600;line-height:1;color:var(--flag-amber-text)}.da-so span{font-size:var(--fs-xl);color:var(--ink-muted)}
.da-luoi4{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.da-o{display:flex;flex-direction:column;gap:4px}.da-o b{font-size:var(--fs-md)}.da-o p{margin:0;font-size:var(--fs-base);color:var(--ink-muted);line-height:1.5}.da-ic{font-size:var(--fs-xl)}
.dk-ds{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.dk-o{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}
.dk-o.dat{border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.dk-ic{font-size:var(--fs-lg);min-width:22px;text-align:center}.dk-o div{display:flex;flex-direction:column;gap:2px}
.dk-o b{font-size:var(--fs-base)}.dk-o span.num{font-size:var(--fs-sm);color:var(--ink-muted)}
.da-ke{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-base)}
.dk-dong{margin-left:auto;font-size:var(--fs-base);color:var(--flag-amber-text);font-weight:600;white-space:nowrap}.dk-dong b{font-size:var(--fs-md)}
.fh3-dau .xem{margin-left:0}
@media (max-width:640px){.da-hero{padding:var(--space-4)}.da-tieu{font-size:var(--fs-xl)}.da-so{font-size:var(--fs-2xl)}.dk-dong{margin-left:0}}

.so3{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.so3-o{display:flex;flex-direction:column;gap:6px}.so3-o .k{font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;color:var(--ink-muted);display:flex;gap:6px;align-items:center}
.so3-o .v{font-size:var(--fs-2xl);font-weight:600}.so3-o.chinh{border-color:color-mix(in srgb,var(--flag-amber) 35%,var(--line))}
.so3-so{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--ink-muted)}.so3-so b{color:var(--ink);font-size:var(--fs-base)}
.ly-do{display:block;font-size:var(--fs-sm);color:var(--risk);line-height:1.35;margin-top:1px;white-space:normal}
.fr2 .ly-do{grid-column:2/6}
.fr2{grid-template-columns:20px minmax(0,1fr) auto auto auto}.fr2-pc{font-size:var(--fs-sm);white-space:nowrap}.fr2-pc .xs{font-size:var(--fs-xs)}
img.co-logo{width:1.15em;height:1.15em;vertical-align:-.2em;border-radius:3px;display:inline-block}
.h2-ic img.co-logo{width:18px;height:18px}
.ic-logo{width:18px;height:18px;border-radius:4px;display:block}
img.co-chart{position:absolute;width:30px;height:30px;z-index:3;pointer-events:auto;border-radius:7px;box-shadow:0 2px 6px rgba(0,0,0,.45);transition:left .12s,top .12s}

.tra-tim{position:relative;margin-bottom:var(--space-4)}.tra-hang{display:flex;gap:var(--space-2)}.tra-hang .tim{flex:1;min-width:0;font-size:var(--fs-md);padding:10px 12px}
.tra-hang .btn-primary{padding:0 22px;font-size:var(--fs-md)}
.tra-goi{position:absolute;left:18px;right:18px;top:64px;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 12px 30px rgba(0,0,0,.35);overflow:hidden}
.tra-goi a{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line);font-size:var(--fs-base)}.tra-goi a:first-child{border-top:0}.tra-goi a:hover{background:var(--surface-raised)}
.tra-goi .anh{width:22px;height:22px}.tra-goi .xs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tra-goi .rr{margin-left:auto}
.tra-gan{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.tra-gan .chip{font-size:var(--fs-sm);padding:3px 10px}
.tra-dau{display:flex;gap:var(--space-6);justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.tra-dau-l{display:flex;gap:var(--space-4);min-width:0;flex:1}
.tra-ten{margin:0 0 4px;font-size:var(--fs-xl);font-family:var(--font-display)}.tra-ca{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.tra-ca .nut{font-size:var(--fs-sm);padding:3px 10px}
.tra-diem{min-width:240px;text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.tra-so{font-size:var(--fs-3xl);font-weight:600;line-height:1}.tra-so span{font-size:var(--fs-xl);color:var(--ink-muted)}.tra-kl{font-weight:700;font-size:var(--fs-md)}
.d-xanh .tra-so{color:var(--good)}.d-cam .tra-so{color:var(--caution)}.d-do .tra-so{color:var(--risk)}.d-chua .tra-so{color:var(--ink-muted)}
.tra-tran{font-size:var(--fs-sm);color:var(--risk);max-width:360px}.dang{color:var(--flag-amber-text)}
.tra-bang{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tb-o{border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface-raised)}.tb-o.thieu{opacity:.7}
.tb-dau{display:flex;justify-content:space-between;margin-bottom:6px;font-size:var(--fs-base)}.tb-o ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-sm)}
.tb-o li .num{display:inline-block;min-width:26px;font-weight:600}
.tra-luoi{display:grid;gap:8px 14px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.tra-s>span{display:block;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}
.tra-s b{font-size:var(--fs-base);font-weight:600;font-family:var(--font-mono)}
.tra-nguon{margin-top:10px;font-size:var(--fs-sm);color:var(--ink-muted);border-top:1px dashed var(--line);padding-top:6px}.tra-thieu{color:var(--ink-muted);font-size:var(--fs-base)}
.bieu-tra{height:380px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}
.tra-2{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.tra-2 ul{margin:6px 0 0;padding-left:18px;font-size:var(--fs-base);display:flex;flex-direction:column;gap:3px}
.tra-cuoi{margin-top:12px;font-size:var(--fs-sm);color:var(--ink-muted);border-top:1px solid var(--line);padding-top:8px}
#trang>section.the+section.the{margin-top:16px}
@media (max-width:640px){.tra-diem{align-items:flex-start;text-align:left;min-width:0}.tra-so{font-size:var(--fs-3xl)}.bieu-tra{height:300px}.tra-goi{left:12px;right:12px}}
.tra-dau-l>div{min-width:0}.tra-ca code{word-break:break-all;max-width:100%}
@media (max-width:760px){.tra-dau{display:block}.tra-dau-l{gap:12px}.tra-dau-l .anh.to{width:44px;height:44px}.tra-diem{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);align-items:flex-start;text-align:left}
 .tra-ten{font-size:var(--fs-lg)}.tra-ca{gap:4px}.tra-ca code{font-size:var(--fs-xs)}.tra-dau .ngoai{flex-wrap:wrap}}

@media (min-width:1200px){.flag-hero3{grid-template-columns:minmax(0,30fr) minmax(0,45fr) minmax(0,25fr);grid-template-areas:"dau dau dau" "tin giua tk" "chan chan chan"}
 .fh3-tin{grid-area:tin}.fh3-giua{grid-area:giua}.fh3-tin,.fh3-giua,.flag-hero3 .fh-phai{height:460px}}
@media (min-width:760px) and (max-width:1199px){.flag-hero3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fh3-giua{grid-column:1/-1}.fh3-tin,.flag-hero3 .fh-phai{height:440px}}
.fh3-giua{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.fh3-giua .fh3-ds{max-height:150px;flex:none}.fh3-giua .fh3-chart{flex:1;min-height:0}
.fh3-giua .bieu-hc{height:auto;flex:1;min-height:220px}.fh3-chart{display:flex;flex-direction:column}
.flag-hero3 .fh-phai{overflow-y:auto}
@media (max-width:759px){.flag-hero3{display:flex;flex-direction:column}.fh3-dau{order:0}.fh3-giua{order:1}.flag-hero3 .fh-phai{order:2}.fh3-tin{order:3}.flag-hero3 .fh-chan{order:4}.fh3-giua .bieu-hc{min-height:280px}}

.fh3-tin{display:flex;flex-direction:column;min-width:0;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 10px 8px}
.ft-dau{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.ft-dau b{font-size:var(--fs-base)}
.ft-song{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-muted);white-space:nowrap}.ft-song .song{background:var(--good)}
.ft-loc{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.ft-loc .chip{font-size:var(--fs-sm);padding:2px 8px}
.ft-khung{position:relative;flex:1;min-height:0;display:flex}.ft-ds{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;min-width:0}
.ft-tin{--m:var(--ink-muted);display:grid;grid-template-columns:38px auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 4px;border-bottom:1px dashed var(--line);font-size:var(--fs-sm);cursor:default;border-radius:4px}
.ft-tin[data-tra]{cursor:pointer}.ft-tin:hover{background:color-mix(in srgb,var(--m) 10%,transparent)}
.ft-gio{font-size:var(--fs-xs);color:var(--ink-muted)}
.ft-chip{font-size:var(--fs-xs);font-weight:700;padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap;color:var(--m);background:color-mix(in srgb,var(--m) 15%,transparent)}
.ft-noi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ft-noi b{font-weight:700}.ft-x{font-size:var(--fs-xs);font-weight:700;color:var(--m)}
.ft-so{font-size:var(--fs-sm);font-weight:600}
.ft-flag{--m:var(--flag-amber-text)}.ft-flag .ft-chip{color:var(--flag-on);background:var(--flag-amber)}.ft-flag .ft-noi{font-weight:600}
.ft-bat{--m:var(--info)}.ft-dat{--m:var(--good)}.ft-bay{--m:var(--caution)}.ft-roi{--m:var(--risk)}.ft-he{--m:var(--ink-muted)}
.ft-moi{position:absolute;top:6px;left:50%;transform:translateX(-50%);z-index:3;border:0;border-radius:var(--radius-pill);background:var(--flag-amber);color:var(--flag-on);font-weight:700;font-size:var(--fs-sm);padding:4px 12px;box-shadow:0 4px 12px rgba(0,0,0,.35);cursor:pointer}
.ft-them{align-self:center;margin-top:6px;font-size:var(--fs-sm);padding:3px 12px}.ft-them[hidden]{display:none}
@keyframes ft-vao{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
@keyframes ft-sang{from{background:color-mix(in srgb,var(--m) 22%,transparent)}to{background:transparent}}
@keyframes ft-sang-co{0%,60%{background:color-mix(in srgb,var(--flag-amber) 30%,transparent)}100%{background:transparent}}
.ft-tin.moi-tin{animation:ft-vao .2s ease-out,ft-sang 2s ease-out}.ft-tin.moi-flag{animation:ft-vao .2s ease-out,ft-sang-co 4s ease-out}
@media (prefers-reduced-motion:reduce){.ft-tin.moi-tin,.ft-tin.moi-flag{animation:none!important;background:color-mix(in srgb,var(--m) 14%,transparent)}.ft-song .song{animation:none!important}}
@media (max-width:759px){.fh3-tin{max-height:none}.ft-ds{max-height:none;overflow:visible}.ft-tin{grid-template-columns:36px auto minmax(0,1fr) auto}}

tr.truoc td{opacity:.62}.truoc-tag{margin-top:3px;font-size:var(--fs-xs);padding:0 6px}

.tra-tat{display:flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:6px 6px 6px 12px;margin-bottom:var(--space-3)}
.tra-tat-ic{font-size:var(--fs-md)}.tra-tat .tim{flex:1;min-width:0;border:0;background:transparent;padding:8px 4px;font-size:var(--fs-base)}.tra-tat .tim:focus{box-shadow:none}
.tra-tat .btn-primary{padding:8px 16px;font-size:var(--fs-base);white-space:nowrap}

.hang-tra{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr);margin-bottom:var(--space-3)}
@media (min-width:900px){.hang-tra{grid-template-columns:minmax(0,38fr) minmax(0,62fr)}}
.hang-tra .the{padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}.hang-tra .dau-the{margin-bottom:0}
.hang-tra .tra-tat{margin:0;padding:4px 4px 4px 10px}.hang-tra .tra-gan{margin-top:0}
.tin-qt .tq-ds{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.tin-qt .fs-nhom{grid-column:1/-1}@media (min-width:1180px){.tin-qt .tq-ds{grid-template-columns:1fr 1fr 1.15fr}.tin-qt .fs-nhom{grid-column:auto}}@media (max-width:760px){.tin-qt .tq-ds{grid-template-columns:1fr}}
.banner-dau{position:relative}
.bn-so{position:absolute;right:3.2%;top:50%;transform:translateY(-50%);display:grid;grid-template-columns:auto auto;column-gap:10px;row-gap:0;align-items:baseline;
 background:color-mix(in srgb,#10141B 78%,transparent);border:1px solid color-mix(in srgb,var(--flag-amber) 45%,transparent);border-radius:var(--radius-md);padding:8px 14px;color:#E8ECF2;text-decoration:none;backdrop-filter:blur(2px)}
.bn-lon{font-size:clamp(22px,2.6vw,38px);font-weight:700;color:#FFB84D;line-height:1}.bn-lai{font-size:clamp(16px,1.8vw,26px);font-weight:700;line-height:1.1}
.bn-lai.len{color:#34C77B}.bn-lai.xuong{color:#F0565B}.bn-nho{font-size:clamp(9.5px,.85vw,12px);color:#C9D1DC;line-height:1.2}
.bn-so .bn-lon+.bn-nho,.bn-so .bn-lai+.bn-nho{align-self:center}
@media (max-width:640px){.bn-so{right:2%;padding:3px 7px;column-gap:5px}}

body{font-size:var(--fs-base);line-height:20px}
.the{padding:13px 15px}.the .dau-the h2,.dau-the h2{font-size:var(--fs-md)}.dau-the{margin-bottom:8px}
.chi-so .v,.fl-o .v{font-size:var(--fs-xl)}.chi-so .k,.fl-o .k{font-size:var(--fs-sm)}
.menu a{font-size:var(--fs-base);padding:7px 12px}.menu-nhom{font-size:var(--fs-xs)}
.dong-coin .ten b{font-size:var(--fs-base)}.dong-coin .ten span{font-size:var(--fs-sm)}
th,td{padding:7px 8px;font-size:var(--fs-base)}
.o-luoi{gap:12px}.flag-hero3{gap:12px var(--space-4)}
.bn-so{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:42%}
.bn-dong{display:flex;align-items:center;gap:8px}.bn-dong .bn-nho{font-size:clamp(9px,.8vw,11.5px);line-height:1.15;color:#C9D1DC}.bn-dong .bn-lai{margin-left:6px}
.bn-chu{font-size:clamp(9px,.75vw,11px);color:#93A0B3}
@media (max-width:640px){.bn-so{right:2%;padding:3px 7px;max-width:40%;border-radius:6px}.bn-lon{font-size:var(--fs-lg)}.bn-lai{font-size:var(--fs-md)}.bn-chu{display:none}.bn-dong{gap:4px}}

.bn-so{left:40.5%;right:auto;top:37%;max-width:30%}
@media (max-width:640px){.bn-so{left:40.5%;right:auto;top:37%;max-width:32%}}
/* 📌 Key news & Log — split, full detail (addresses + metrics), clean links */
.tq-nhom{border:1px solid var(--line);border-radius:10px;background:var(--card2);padding:8px 10px;min-width:0;max-height:300px;overflow-y:auto;overscroll-behavior:contain}
.tq-tieu{position:sticky;top:-8px;z-index:1;background:var(--card2);font-size:var(--fs-sm);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:-8px -10px 8px;padding:8px 10px 6px;display:flex;gap:6px;align-items:center;border-bottom:1px solid var(--line)}
.qt-tin{--m:var(--ink-muted);border-left:3px solid var(--m);background:color-mix(in srgb,var(--m) 7%,transparent);border-radius:6px;padding:7px 10px;margin-bottom:7px}
.qt-dau{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.qt-gio{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.qt-chip{font-size:var(--fs-sm);font-weight:700;padding:2px 8px;border-radius:999px;background:var(--card2);color:var(--m);border:1px solid var(--line);white-space:nowrap}
.qt-kh{font-size:var(--fs-base);font-weight:800}.qt-kh[data-coin]{cursor:pointer}.qt-kh[data-coin]:hover{text-decoration:underline;color:var(--ink)}
.qt-so{margin-left:auto;font-size:var(--fs-base);font-weight:800;font-variant-numeric:tabular-nums}
.qt-noi{margin-top:4px;font-size:var(--fs-base);line-height:1.5;color:var(--ink2);white-space:normal;word-break:break-word}
.qt-chan{margin-top:5px}
.qt-ca{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--acc);text-decoration:none}.qt-ca:hover{text-decoration:underline}
.ft-flag.qt-tin .qt-chip{color:var(--flag-on);background:var(--flag-amber);border-color:transparent}



.tt-cuon{display:block;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.tt-ray{display:inline-flex;width:max-content;animation:tt-chay var(--tt-t,40s) linear infinite;will-change:transform}
.tt-cuon:hover .tt-ray{animation-play-state:paused}
.tt-nhom{display:inline-flex;align-items:center;gap:14px;padding-right:14px}
@keyframes tt-chay{to{transform:translateX(-50%)}}
@keyframes tt-len{0%{background:color-mix(in srgb,var(--good) 32%,transparent)}100%{background:transparent}}
@keyframes tt-xuong{0%{background:color-mix(in srgb,var(--risk) 32%,transparent)}100%{background:transparent}}
.tt-o.tt-len{animation:tt-len .6s ease-out}.tt-o.tt-len b{color:var(--good)}
.tt-o.tt-xuong{animation:tt-xuong .6s ease-out}.tt-o.tt-xuong b{color:var(--risk)}
.tt-o b{transition:color .6s}
@media (max-width:640px){.tt-cuon{display:block;flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.tt-nhom{gap:10px;padding-right:10px}}

@keyframes vao-tren{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}
@keyframes vien-cam{0%,75%{box-shadow:inset 0 0 0 1px var(--flag-amber),0 0 14px color-mix(in srgb,var(--flag-amber) 40%,transparent)}100%{box-shadow:inset 0 0 0 1px transparent,0 0 0 transparent}}
.ft-tin.moi-tin,.qt-tin.moi-qt{animation:vao-tren .35s cubic-bezier(.2,.8,.2,1),vien-cam 4s ease-out}
.ft-tin.moi-flag{animation:vao-tren .35s cubic-bezier(.2,.8,.2,1),vien-cam 4s ease-out,ft-sang-co 4s ease-out}
.tq-nhip{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:600}

.song{position:relative}
.song::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;pointer-events:none;animation:lan-toa 2s cubic-bezier(.2,.6,.3,1) infinite}
@keyframes lan-toa{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.2);opacity:0}}
.song-o.tre .song::after{animation:none;opacity:0}

.bn-ve{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bn-duong{stroke-dasharray:1;stroke-dashoffset:0;animation:bn-ve 1.8s cubic-bezier(.45,0,.2,1) .2s both}
@keyframes bn-ve{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.bn-diem{transform-box:fill-box;transform-origin:center;animation:bn-no .35s cubic-bezier(.3,1.6,.5,1) 1.9s both}
@keyframes bn-no{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
.bn-cot{transform-box:fill-box;transform-origin:50% 100%;animation:bn-cot .3s ease-out 2s both}
@keyframes bn-cot{from{transform:scaleY(0)}to{transform:none}}
.bn-la{transform-box:fill-box;transform-origin:0 50%;animation:bn-la-ra .35s ease-out 2.25s both,bn-phat 2.8s ease-in-out 2.6s infinite}
@keyframes bn-la-ra{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:none}}
@keyframes bn-phat{0%,100%{transform:skewY(0) scaleX(1)}30%{transform:skewY(-5deg) scaleX(.94)}65%{transform:skewY(4deg) scaleX(1.03)}}

.toast-hop{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.toast{--m:var(--ink-muted);pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 8px 10px 12px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--m);border-radius:10px;font-size:var(--fs-base);box-shadow:0 12px 30px rgba(0,0,0,.45),0 0 18px color-mix(in srgb,var(--m) 22%,transparent);animation:toast-vao .3s cubic-bezier(.2,.8,.2,1)}
.toast.bam{cursor:pointer}.toast.bam:hover{border-color:color-mix(in srgb,var(--m) 60%,var(--line))}
.toast.di{animation:toast-ra .26s ease-in forwards}
.toast-chip{font-size:var(--fs-sm);font-weight:700;padding:2px 7px;border-radius:var(--radius-sm);white-space:nowrap;color:var(--m);background:color-mix(in srgb,var(--m) 15%,transparent)}
.toast.ft-flag .toast-chip{color:var(--flag-on);background:var(--flag-amber)}
.toast-noi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.toast-noi b{font-weight:700}
.toast-so{font-weight:700;font-size:var(--fs-base)}
.toast-x{border:0;background:none;color:var(--ink-muted);font-size:var(--fs-lg);line-height:1;padding:0 4px;cursor:pointer}.toast-x:hover{color:var(--ink)}
@keyframes toast-vao{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes toast-ra{to{opacity:0;transform:translateX(28px)}}
@media (max-width:860px){.toast-hop{left:16px;right:16px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom))}}

.dem{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){
 .tt-ray{animation:none!important}.tt-nhom[aria-hidden]{display:none}.tt-cuon{overflow-x:auto;scrollbar-width:none;-webkit-mask-image:none;mask-image:none}
 .song::after{display:none}.bn-la,.bn-cot,.bn-diem,.bn-duong{animation:none!important}
 .toast,.toast.di,.qt-tin.moi-qt{animation:none!important}.qt-tin.moi-qt{box-shadow:inset 0 0 0 1px var(--flag-amber)}}

@keyframes td-cam{0%,60%{background:color-mix(in srgb,var(--flag-amber) 16%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--flag-amber) 55%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--flag-amber) 55%,transparent)}100%{background:transparent;box-shadow:none}}
.ve-dan{animation:lo-ra 1.1s cubic-bezier(.45,0,.2,1) .1s both}
@keyframes lo-ra{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.nhay-len,.nhay-xuong{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.ve-dan,.moi,tr.moi td{animation:none!important}}


.fs-nhom{border-color:color-mix(in srgb,var(--acc) 35%,var(--line))}
.fs-trang{margin-left:auto}.fs-trang.tat .song{background:var(--ink-muted);animation:none}.fs-trang.tat .song::after{animation:none;opacity:0}
.fs-dau{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-base);line-height:1.45;font-weight:600;color:var(--ink);padding:8px 10px;margin:0 0 6px;border-radius:8px;
 background:color-mix(in srgb,var(--acc) 9%,transparent);border-left:3px solid var(--acc)}
.fs-dau.fs-doi{animation:fs-hien .5s ease-out}
.fs-ic{flex:none;width:1.3em;text-align:center}
.fs-kh{color:var(--acc);font-weight:800;text-decoration:none}.fs-kh:hover{text-decoration:underline}
.fs-lam{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--ink-muted);margin:0 2px 6px;min-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-lam span{overflow:hidden;text-overflow:ellipsis}.fs-lam.fs-go span{animation:fs-go .35s ease-out}
.fs-quay{flex:none;width:10px;height:10px;border-radius:50%;border:2px solid color-mix(in srgb,var(--acc) 30%,transparent);border-top-color:var(--acc);animation:fs-quay 1s linear infinite}
.fs-so{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:var(--fs-sm);color:var(--ink-muted);margin:0 2px 8px}.fs-so b{color:var(--ink)}
.fs-nho{font-size:var(--fs-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 2px 4px}
.fs-c{display:grid;grid-template-columns:minmax(0,auto) 1fr auto auto;gap:8px;align-items:center;font-size:var(--fs-base);padding:3px 2px}
.fs-thanh{height:5px;border-radius:3px;background:var(--line);overflow:hidden;min-width:40px}.fs-thanh i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 40%,transparent),var(--acc));transition:width .8s ease}
.fs-n{display:flex;gap:6px;align-items:flex-start;font-size:var(--fs-base);line-height:1.4;padding:5px 2px;border-top:1px dashed var(--line)}
.fs-n .qt-gio{flex:none;color:var(--ink-muted);font-size:var(--fs-sm);padding-top:1px}.fs-t{min-width:0}
.fs-skip .fs-t{color:var(--ink-muted)}.fs-signal{background:color-mix(in srgb,var(--good) 10%,transparent);border-radius:6px}
@keyframes fs-hien{from{opacity:.2;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes fs-go{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}
@keyframes fs-quay{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fs-dau.fs-doi,.fs-lam.fs-go span,.fs-quay{animation:none!important}.fs-thanh i{transition:none}}
@media (min-width:1180px){.hang-tra{grid-template-columns:minmax(0,25fr) minmax(0,75fr)}}


.qt-tin{padding:9px 11px;margin-bottom:9px}
.qt-tin.ft-bat{--m:var(--info)}.qt-tin.ft-roi{--m:var(--risk)}.qt-tin.ft-dat{--m:var(--good)}.qt-tin.ft-bay{--m:var(--caution)}.qt-tin.ft-he{--m:var(--ink-muted)}
.qt-tin.ft-log{--m:color-mix(in srgb,var(--ink-muted) 60%,var(--info));background:transparent;border-left-style:dotted}
.qt-chip{color:var(--m);background:color-mix(in srgb,var(--m) 12%,transparent);border-color:color-mix(in srgb,var(--m) 35%,transparent)}
.qt-cau{margin-top:6px;font-size:var(--fs-base);line-height:1.55;color:var(--ink2)}
.qt-cau p{margin:0 0 4px}.qt-cau p:first-child{color:var(--ink);font-weight:600}
.ft-log .qt-cau p:first-child{font-weight:500;color:var(--ink2)}
.qt-them summary{cursor:pointer;font-size:var(--fs-sm);font-weight:700;color:var(--m);list-style:none;margin:2px 0 4px}.qt-them summary::-webkit-details-marker{display:none}
.qt-them summary::after{content:" ▾"}.qt-them[open] summary::after{content:" ▴"}.qt-them p{color:var(--ink2)}
.qt-so-hang{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:5px}
.qt-so-tieu{font-size:var(--fs-sm);font-weight:700;color:var(--muted);margin-right:2px;white-space:nowrap}
.qt-o{font-size:var(--fs-sm);padding:2px 7px;border-radius:6px;background:var(--card);border:1px solid var(--line);color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.qt-cau b.len,.qt-o b.len{color:var(--good)}.qt-cau b.xuong,.qt-o b.xuong{color:var(--risk)}


.hang-tra{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;align-items:stretch}
.hang-tra .tin-qt,.hang-tra .tin-qt .tq-ds{display:contents}
.hang-tra .fs-nhom{order:1;grid-column:auto}.hang-tra .tq-k{order:2}.hang-tra .tl-nhom{order:3}.hang-tra .tq-l{order:4}
.hang-tra .tq-nhom{max-height:340px}
@media (min-width:760px){.hang-tra{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hang-tra .tq-l{order:3}.hang-tra .tl-nhom{order:4}}
@media (min-width:1180px){.hang-tra{grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr)!important}
 .hang-tra .tq-nhom{max-height:380px}}
.qt-cau p:first-child{font-weight:500}


.tl-nhom{display:flex;flex-direction:column;gap:6px}
.tl-loc{display:flex;flex-wrap:wrap;gap:4px}
.tl-nut{font:inherit;font-size:var(--fs-sm);padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-muted);cursor:pointer}
.tl-nut:hover{color:var(--ink)}.tl-nut.on{background:var(--acc);border-color:var(--acc);color:var(--on-amber)}
.tl-bai{border-top:1px solid var(--line);padding:8px 0 6px;font-size:var(--fs-base);line-height:1.45}
.tl-bai:first-child{border-top:0;padding-top:2px}
.tl-dau{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.tl-dau b{color:var(--ink);font-size:var(--fs-base)}
.tl-av{flex:none;width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:var(--ink);background:transparent;border:1px solid var(--line)}

.tl-ng{font-size:var(--fs-sm);color:var(--ink-muted)}.tl-gio{margin-left:auto;font-size:var(--fs-sm);color:var(--ink-muted);white-space:nowrap}
.tl-than p{margin:0 0 4px;color:var(--ink);overflow-wrap:anywhere}
.tl-gon{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.tl-them summary{font-size:var(--fs-sm);color:var(--acc);cursor:pointer;list-style:none;margin:2px 0}.tl-them summary::-webkit-details-marker{display:none}
.tl-them[open]{margin-top:2px}.tl-them[open] ~ .tl-link{margin-top:2px}
details.tl-them[open]{display:block}.tl-bai:has(details[open]) .tl-gon{display:none}
.tl-link{font-size:var(--fs-sm);color:var(--acc);text-decoration:none}.tl-link:hover{text-decoration:underline}
.tl-bai.moi{animation:fs-hien .6s ease-out}
@media (prefers-reduced-motion:reduce){.tl-bai.moi{animation:none}}

.cl-nho{margin-top:16px}.cl-nho-dong{display:block;padding:7px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:var(--fs-base);line-height:1.45}
.cl-nho-dong:first-of-type{border-top:0}.cl-nho-dong:hover{color:var(--flag-amber)}
.cl-so{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.cl-o{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.cl-o .k{font-size:var(--fs-sm);color:var(--muted)}.cl-o .v{font-size:var(--fs-xl);font-weight:800;margin-top:2px}
.cl-ngay{display:inline-flex;gap:6px;align-items:center;margin-left:auto}.cl-ngay input{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font:inherit}
.cl-muc{display:grid;grid-template-columns:118px minmax(0,1fr) 28px;gap:10px;padding:10px 4px;border-top:1px solid var(--line);align-items:start}
.cl-muc:first-child{border-top:0}.cl-gio{display:flex;flex-direction:column;font-size:var(--fs-base)}.cl-than{font-size:var(--fs-md);line-height:1.5;min-width:0;overflow-wrap:anywhere}
.cl-yen .cl-van{color:var(--muted)}.cl-dev .cl-van{font-weight:600}.cl-lk{color:var(--muted);text-decoration:none;font-weight:800;text-align:center}.cl-lk:hover{color:var(--ink)}
.cl-chon{background:color-mix(in srgb,var(--flag-amber) 12%,transparent);border-radius:8px}
.rv-luoi{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.rv-chip{background:transparent;color:var(--violet);border:1px solid currentColor}
@media (max-width:759px){.cl-so{grid-template-columns:repeat(2,minmax(0,1fr))}.cl-muc{grid-template-columns:minmax(0,1fr) 24px}.cl-gio{grid-column:1/-1;flex-direction:row;gap:8px}.cl-ngay{margin-left:0}}

/* Now / Journey / Pulse (inside existing Latest-updates and Today cards) */
.now-live{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--muted);margin-left:10px}
.now-live i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 25%,transparent)}
.now-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--card2);margin:4px 0 6px}
.now-p{display:block;height:100%}.now-c0{background:var(--flag-amber)}.now-c1{background:color-mix(in srgb,var(--ink) 55%,var(--card2))}
.now-lg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-sm);color:var(--muted);margin-bottom:6px}
.now-lg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.now-d{font-size:var(--fs-base);line-height:1.45;padding:2px 0}
.now-t{margin:10px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.now-pl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.now-pl>div{border:1px solid var(--line);border-radius:10px;padding:6px 8px}
.now-pl .v{font-size:var(--fs-lg);font-weight:800}.now-pl .k{font-size:var(--fs-sm);color:var(--muted)}
.jr-d{font-size:var(--fs-base);line-height:1.45;padding:5px 0;border-top:1px solid var(--line)}.jr-d:first-of-type{border-top:0}
.now-in{margin:2px 0 10px}
@media (max-width:759px){.now-pl{grid-template-columns:repeat(2,minmax(0,1fr))}.now-live{margin-left:0}}
.now-live{white-space:nowrap}.cl-nay .dau-the{flex-wrap:wrap;row-gap:4px}
@media (max-width:759px){.cl-nay .dau-the .xs{margin-left:0!important;flex-basis:100%}}

/* status page + footer dot */
.st-luoi{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.st-cham{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle;background:var(--muted)}
.st-cham.ok,.ft-st.ok i{background:var(--good)}.st-cham.cham,.ft-st.cham i{background:var(--caution)}.st-cham.loi,.ft-st.loi i{background:var(--risk)}
.ft-st{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);text-decoration:none}.ft-st i{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block}
.ft-st:hover{text-decoration:underline}
/* Lookup: collapsible full-data block */
.tra-ct{margin:0 0 var(--space-4,16px)}
.tra-ct>summary{cursor:pointer;list-style:none;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card,transparent);font-weight:700;font-size:var(--fs-md);display:flex;align-items:center;gap:8px}
.tra-ct>summary::-webkit-details-marker{display:none}
.tra-ct>summary::before{content:"▸";color:var(--acc);transition:transform .15s}
.tra-ct[open]>summary::before{transform:rotate(90deg)}
.tra-ct[open]>summary{margin-bottom:var(--space-4,16px)}
.tra-ca code{word-break:break-all}
@media (max-width:860px){.menu{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}}
@media (max-width:640px){.cuon{margin:0 -15px;padding:0 15px}}
.tra-wash{margin-top:6px;font-size:var(--fs-base);font-weight:600;color:var(--acc)}
.tq .wv{margin-top:6px;display:inline-block}

/* ===== 29/10 theme — Live Pipeline look (tokens in theme.css; no colors defined here) ===== */
html,body{background:var(--ground)}
body[data-trang="home"]{background:radial-gradient(ellipse 80% 60% at 55% 40%,var(--sky-a),var(--sky-b) 75%) fixed var(--sky-b)}
body[data-trang="home"] .dau{background:color-mix(in srgb,var(--sky-b) 80%,transparent)}
.side{background:var(--surface)}
.dau h1,.tieu-lon{font-family:var(--f-display);font-weight:700;font-size:var(--fs-lg);letter-spacing:.01em}
.the h2{font-family:var(--f-body);font-weight:700}
/* cards: gradient surface, 1px line, radius 10px, no heavy shadow */
.the,.tq,dialog,.gia1,.mini div,.o-so,.cl-o,.bt-cum,.chi-so,.fl-o{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;box-shadow:none}
.the,.tq{padding:12px}
.the .dau-the{margin-bottom:10px}
/* big frames (charts, maps): radius 12–14px, dark inset */
.bieu-hc,.bieu-tra,.bieu-fl,.bieu-to{border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--inset);background:var(--log-bg)}
/* small section labels */
.menu-nhom,.chi-so .k,.fl-o .k,.o-so .k,.tra-luoi .k,.now-t,.cl-so .k,.mini span{font-family:var(--f-body);font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
/* big numbers at the top of a page: mono 20px under an uppercase label */
.chi-so .v,.fl-o .v{font-family:var(--f-mono);font-size:var(--fs-xl);font-weight:600;letter-spacing:0}
/* every number, price, %, time, ticker, chip, log, numeric table → mono tabular */
.num,.v,.so-tab,td:not(.l),th,.gia1 .v,.mini b,.o-so .v,.tra-s b,.diem,.ft-gio,.ft-so,.cl-gio,.bt-gio,.tl-gio,.tag,.rr,.now-lg,.tt-o,code,.ca{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
/* status chips: mono, 1px border in text color, transparent, pill; glow when just updated */
.tag{font-size:var(--fs-xs);font-weight:600;border-radius:999px;border:1px solid currentColor;background:transparent;padding:1px 7px;letter-spacing:-.01em}
.the .dau-the{flex-wrap:wrap;row-gap:4px}
.t-ok,.t-no,.t-w,.t-acc{background:transparent}
.t-n{background:transparent;color:var(--muted);border-color:currentColor}
.moi .tag,.tag.moi{animation:th-glow 1.5s ease-out}
/* live dot: green, glowing, slow blink */
.song{background:var(--good);box-shadow:0 0 10px var(--good);animation:th-pulse 1.6s infinite}
@media (prefers-reduced-motion:reduce){.song{animation:none}}
/* buttons: primary amber with dark text; secondary outline */
.btn-primary,.chip.on,.tl-nut.on{background:var(--amber);color:var(--on-amber);border-color:var(--amber)}
.btn-primary:hover{background:var(--ember)}
.nut,.chip,.tl-nut{background:transparent;border:1px solid var(--line);color:var(--ink)}
.nut:hover,.chip:hover{border-color:var(--amber);color:var(--ink)}
.nut-ic{background:transparent}
.khung-nut button.on{background:var(--surface-2a);color:var(--ink)}
.tim,.cl-ngay input{background:var(--surface);border-color:var(--line)}
/* log / event feeds: dark log background, mono 12px, time in dim */
.ft-ds,.cl-ds{background:var(--log-bg);border-radius:10px}
.ft-gio,.cl-gio,.bt-gio,.tl-gio{color:var(--dim)}
.ft-ds .ft-tin{font-size:var(--fs-base)}
/* sparkline stroke 1.5px + area 13% handled in markup */
.sp polyline{stroke-width:1.5}

/* home: full live pipeline under the banner (iframe /pipeline/?embed=1, height sent by the frame) */
.pipe-nhung{margin:12px 0}
.pipe-nhung iframe{display:block;width:100%;height:720px;border:0;background:transparent}

/* Paper Ledger (29/10): summary, balanced top wins / losses, soft % colours (only the % is tinted, big numbers stay ink) */
.pc-up{color:color-mix(in srgb,var(--good) 78%,var(--ink))}.pc-dn{color:color-mix(in srgb,var(--risk) 72%,var(--ink))}
.so3-o .v{color:var(--ink)}.so3-pc{font-size:var(--fs-md);font-weight:600;margin-left:6px}
.gt-luoi{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.gt-o{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2,transparent)}
.gt-o>span{font-size:var(--fs-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.gt-o b{font-size:var(--fs-xl);color:var(--ink)}.gt-o b .xs{font-size:var(--fs-sm)}
.gl-hai{display:grid;gap:var(--space-3,12px);grid-template-columns:1fr 1fr}
@media (max-width:560px){.gl-hai{grid-template-columns:1fr}}
.gl-ds{list-style:none;margin:0;padding:0;counter-reset:gl}
.gl-ds li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kh pc" "cl pc";column-gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:var(--fs-base)}
.gl-ds li:first-child{border-top:0}.gl-kh{grid-area:kh;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-cl{grid-area:cl;font-size:var(--fs-sm);color:var(--muted)}.gl-ds b{grid-area:pc;align-self:center;font-size:var(--fs-md)}
.gl-thu summary{cursor:pointer;font-weight:600;color:var(--ink)}

/* ===== home = single live dashboard (owner 29/10). Pipeline parts (tai/pipeline.js) render into .dash; styles mirror /pipeline/ ===== */
.noi:has(.dash)>.dau,.noi:has(.dash)>.chan-trang{display:none}
.noi:has(.dash) main{max-width:none;padding:10px 12px}
.dash{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;grid-template-rows:56px minmax(0,1fr);gap:10px;height:calc(100vh - 20px);min-height:620px}
.dash-top{grid-column:1/-1;display:flex;align-items:center;gap:18px;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:0 14px}
.d-brand{display:flex;align-items:center;gap:10px;flex:none}.d-brand b{font-family:var(--f-display);font-size:var(--fs-xl);letter-spacing:.02em;display:block;line-height:1}
.d-brand small{display:block;color:var(--muted);font-size:var(--fs-sm);margin-top:3px;white-space:nowrap}
.dash .mode{font-family:var(--f-mono);font-size:var(--fs-xs);border-radius:999px;padding:2px 9px;border:1px solid;white-space:nowrap}
.dash .mode.demo{color:var(--caution)}.dash .mode.real{color:var(--good)}
.dash .stats{display:flex;gap:18px;flex:none}
.dash .stat{display:flex;flex-direction:column;min-width:0}
.dash .stat span{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.dash .stat b{font-family:var(--f-mono);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.15}
.d-mk{display:flex;gap:10px;align-items:center;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none;font-family:var(--f-mono);font-size:var(--fs-sm);white-space:nowrap;mask-image:linear-gradient(90deg,#000 94%,transparent)}
.d-mk::-webkit-scrollbar{display:none}.d-mk .tt-o{display:inline-flex;gap:5px;align-items:baseline}.d-mk .k{color:var(--muted);font-size:var(--fs-xs)}.d-mk .tt-gach{display:none}
.dash .live{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--muted);flex:none;white-space:nowrap}
.dash .dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
.dash-l,.dash-r{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}
.pl-side{display:flex;flex-direction:column;gap:10px;flex:none}
.dash-c{display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0}
.dash .card{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.dash .card h3{margin:0;font-size:var(--fs-sm);letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center;gap:8px}
.dash .card p{margin:3px 0 5px;color:var(--muted);font-size:var(--fs-sm)}
.dash .card .num{font-family:var(--f-mono);font-size:var(--fs-base)}
.dash .pl-side .card canvas{width:100%;height:26px;display:block}
.dash .chip{font-family:var(--f-mono);font-size:var(--fs-xs);border-radius:999px;padding:1px 8px;border:1px solid currentColor;transition:box-shadow .3s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.dash .chip.on{box-shadow:0 0 14px currentColor}
.dash .field{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--log-bg);min-height:0;flex:1 1 auto;box-shadow:var(--inset)}
.dash #fld{position:absolute;inset:0;width:100%;height:100%;cursor:grab}
.dash .legend{position:absolute;left:12px;right:12px;bottom:8px;font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;pointer-events:none}
.dash .legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}
.dash .tip{position:absolute;pointer-events:none;background:color-mix(in srgb,var(--surface) 93%,transparent);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:var(--f-mono);font-size:var(--fs-sm);line-height:1.5;min-width:150px}
.dash .note{position:absolute;left:12px;top:26px;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--muted)}.dash .note b{color:var(--amber);font-weight:600}
.dash-tab{height:220px;flex:none;display:flex;flex-direction:column;gap:6px;padding:8px 12px}
.dt-nuts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.dt-them{margin-left:auto}
.dt-nut{position:relative;font-family:var(--f-body);font-weight:600;font-size:var(--fs-sm);background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 12px;cursor:pointer}
.dt-nut.on{color:var(--amber);border-color:var(--amber)}
.dt-nut.cham::after{content:"";position:absolute;top:-2px;right:-2px;width:7px;height:7px;border-radius:50%;background:var(--amber)}
.dt-o{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.dt-o[hidden]{display:none}
.dt-ds{flex:1;min-height:0;overflow:auto}
.dt-news{flex-direction:row;gap:12px}.dt-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dt-h{font-size:var(--fs-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dash .term{background:var(--log-bg);border:1px solid var(--line);border-radius:8px;padding:6px 10px;flex:1;min-height:0;overflow:hidden;font-family:var(--f-mono);font-size:var(--fs-sm);line-height:1.5}
.dash .term .t{color:var(--dim)}.dash .term .lo{opacity:.6}
.dash .k-SCAN{color:var(--muted)}.dash .k-FLAG{color:var(--amber)}.dash .k-BLOCK{color:var(--risk)}.dash .k-PAPER{color:var(--good)}.dash .k-WOLF{color:var(--info)}.dash .k-WAKE{color:var(--violet)}.dash .k-IDLE{color:var(--dim)}.dash .k-CHECK{color:color-mix(in srgb,var(--info) 45%,var(--muted))}
.dash .lf{display:flex;gap:6px;flex-wrap:wrap}.dash .lf button{font-family:var(--f-mono);font-size:var(--fs-xs);background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 8px;cursor:pointer}.dash .lf button.on{color:var(--amber);border-color:var(--amber)}
.d-chan{flex:none;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d-chan b{color:var(--ink)}
.d-fs,.d-now{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px}
.dfs-dau{font-size:var(--fs-base);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dfs-lam{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dfs-so{display:flex;gap:10px;color:var(--muted)}.dfs-so b{color:var(--ink)}
.dfs-c{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:baseline;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--ink);text-decoration:none;padding:2px 0;border-bottom:1px dashed var(--line)}
.dfs-c b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfs-c:hover b{color:var(--amber)}
.d-cl1{display:block;margin-top:6px;font-size:var(--fs-sm);line-height:1.35;color:var(--muted);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.d-cl1:hover{color:var(--ink)}
.d-now .now-t{margin-top:2px}.d-now .pulse,.d-now .now-pulse{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.khoi-cu{margin-bottom:16px}.an-do-o{grid-column:1/-1;justify-self:end}
@media (max-width:1399px){.dash{grid-template-columns:230px minmax(0,1fr) 240px}.d-brand small{display:none}.dash .stats{gap:12px}.dash .stat b{font-size:var(--fs-lg)}}
@media (max-width:899px){
 .dash{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:none;height:auto;min-height:0}
 .dash-l,.dash-r,.dash-c,.pl-side{display:contents}
 .dash-top{grid-column:1/-1;order:1;flex-wrap:wrap;padding:10px 12px;gap:10px}.dash .stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;width:100%}.d-mk{width:100%;flex:none}
 .dash .field{grid-column:1/-1;order:2;aspect-ratio:4/5;flex:none}
 .dash-tab{grid-column:1/-1;order:3;height:320px}
 .d-fs{grid-column:1/-1;order:4}.dash [data-ag="LEDGERS"]{grid-column:1/-1;order:5}.d-now{grid-column:1/-1;order:6}
 .dash .pl-side .card{order:7}.d-chan{grid-column:1/-1;order:8;white-space:normal}
 .d-fs,.d-now{overflow:visible}
}
.d-now .now-pl{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dash .stat span{overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* 29/10 fixes: 1366 top bar (5 market items in 2 rows, Vol meme / BTC.D in the tooltip), short screens (NOW + FLAG STATUS without inner scroll) */
@media (max-width:1399px) and (min-width:900px){
 .d-brand b,.d-brand small{display:none}.dash-top{gap:14px;padding:0 12px}
 .dash .stat span{max-width:118px}.dash .stat b{font-size:var(--fs-md)}
 .d-mk{display:grid;grid-template-rows:auto auto;grid-auto-flow:column;column-gap:12px;row-gap:1px;font-size:var(--fs-xs);overflow:hidden;mask-image:none}
 .d-mk .tt-phu{display:none}.dash .live #ago{font-size:var(--fs-xs)}
}
@media (max-height:820px) and (min-width:900px){
 .dash,.dash-l,.dash-r,.pl-side,.dash-c{gap:8px}
 .dash .card{padding:7px 10px}.dash .card p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 3px;font-size:var(--fs-sm)}
 .dash .pl-side .card canvas{height:14px}.dash .card .num{font-size:var(--fs-sm)}
 .dfs-dau{font-size:var(--fs-sm)}.dfs-c{font-size:var(--fs-sm);padding:1px 0}.d-fs,.d-now{gap:4px}
 .d-now .now-t{margin-top:0}.d-now .now-pl>div{padding:4px 8px}.d-now .now-pl .v{font-size:var(--fs-base)}.d-now .now-pl .k{font-size:var(--fs-xs)}
 .d-now{font-size:var(--fs-sm)}.d-cl1{-webkit-line-clamp:1;margin-top:3px}
 .dash-tab{height:190px}
}
@media (min-width:900px){.d-mk{display:grid;grid-template-rows:auto auto;grid-auto-flow:column;column-gap:14px;row-gap:1px;overflow:hidden;mask-image:none}}
@media (max-width:1399px) and (min-width:900px){
 .dash-top{gap:10px}.dash .stats{gap:10px}.dash .stat span{max-width:96px;font-size:var(--fs-xs)}.dash .stat b{font-size:var(--fs-md)}
 .d-mk{font-size:var(--fs-xs);column-gap:10px}.dash .mode{font-size:var(--fs-xs);padding:1px 7px}.dash .live{font-size:var(--fs-xs);gap:4px}
}
@media (max-height:820px) and (min-width:900px){.d-now{font-size:var(--fs-sm);line-height:1.3}.d-now .now-pl{gap:4px}.d-now .now-pl .v{font-size:var(--fs-sm)}.d-now h3{margin-bottom:0}}

/* FLAG MIND (29/10): inner voice bar, pulse cell, learning list */
.d-voice{flex:none;display:flex;align-items:center;gap:8px;min-width:0;height:26px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--log-bg);font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--ink)}
.d-voice .vs{color:var(--muted);white-space:nowrap;font-size:var(--fs-xs);letter-spacing:.06em}.d-voice .vs b{color:var(--amber);font-weight:600}
.d-voice .vt{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d-voice .caret{display:inline-block;width:6px;height:12px;margin-left:2px;vertical-align:-2px;background:var(--amber);animation:pulse 1s steps(2) infinite}
.d-bpm b{color:var(--amber)}
.hoc-ds{display:flex;flex-direction:column;gap:3px}
.hoc{display:grid;grid-template-columns:minmax(0,1fr) 46px auto auto;gap:6px;align-items:center;font-size:var(--fs-sm)}
.hoc-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hoc-b{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.hoc-b i{display:block;height:100%;background:var(--amber)}
.hoc-n{font-size:var(--fs-xs)!important;color:var(--muted)}.hoc-v{font-size:var(--fs-sm)!important;min-width:44px;text-align:right}
.hoc-v.len{color:color-mix(in srgb,var(--good) 80%,var(--ink))}.hoc-v.xuong{color:color-mix(in srgb,var(--risk) 80%,var(--ink))}
@media (max-width:899px){.d-voice{grid-column:1/-1;order:3}.d-voice .vt{white-space:normal}.d-voice{height:auto;padding:6px 12px;border-radius:12px;flex-wrap:wrap}}
@media (max-width:1399px) and (min-width:900px){.d-brand img{display:none}.dash .stat span{max-width:84px}.dash .stats{gap:9px}}

/* 29/10 owner: map + log follow the reference flag-center.html (legend box, "+N more", labelled log with badges, log tabs, agent chips, violet inner voice) */
.dash .legend{left:12px;right:auto;bottom:10px;font-size:var(--fs-sm);gap:10px;background:#05070CCC;border:1px solid var(--line);border-radius:8px;padding:5px 9px;max-width:70%}
.dash .legend i{width:9px;height:9px}
.more{position:absolute;right:12px;bottom:10px;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--dim);background:#05070CCC;border-radius:6px;padding:4px 8px}
.voice{display:flex;gap:10px;align-items:center;background:#070B14;border:1px solid #2A2350;border-radius:10px;padding:6px 12px;min-height:34px;min-width:0}
.voice b{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.1em;color:var(--violet);white-space:nowrap;flex:none}
.voice b i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px var(--violet);margin-right:6px;animation:pulse 1.4s infinite}
.voice #voice-t{font-size:var(--fs-md);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice .cur{display:inline-block;width:7px;height:14px;background:var(--violet);vertical-align:-2px;margin-left:2px;animation:pulse 1s infinite}
.dash .d-voice{height:auto}
.lt-tabs{display:flex;gap:6px}.lt{font-size:var(--fs-sm);height:26px;border:1px solid var(--line);background:#0A101A;color:var(--muted);border-radius:999px;padding:0 12px;cursor:pointer;font-family:var(--f-body)}.lt.on{color:var(--amber);border-color:var(--amber)}
.fl{display:flex;gap:6px;flex-wrap:wrap}.fc{font-family:var(--f-mono);font-size:var(--fs-sm);height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#0A101A;color:var(--muted);cursor:pointer}.fc.on{color:var(--ink);border-color:#3A4A63;background:#131C2B}
.dt-o[data-dt="log"]>.lt-tabs,.dt-o[data-dt="log"]>.fl{flex:none}.dt-o[data-dt="log"]{gap:5px}.dt-o[data-dt="log"] .lt-tabs{display:inline-flex}
.term{padding:4px 4px!important;font-size:var(--fs-base)!important;line-height:1.6!important}
.ln{display:flex;gap:8px;align-items:center;padding:0 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ln.new{animation:hl 2s ease-out}.ln .tk{color:var(--ink);font-weight:700}.ln .rs{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.ln.big .rs{color:#C3CCD8;font-weight:600}.ln.lo{opacity:.75}
.ln .t{color:var(--dim)}.bd{font-size:var(--fs-xs);font-weight:600;border-radius:5px;padding:0 6px;min-width:50px;text-align:center;background:currentColor;flex:none}.bd span{color:#05070C}
@keyframes hl{0%{background:#F5A52430}100%{background:transparent}}
.k-SCAN{color:#8593A6}.k-CHECK{color:#7FA3C7}.k-FLAG{color:var(--amber)}.k-BLOCK{color:var(--risk)}.k-PAPER{color:var(--good)}.k-WOLF{color:var(--info)}.k-WAKE{color:var(--violet)}
@media (max-width:899px){.voice #voice-t{white-space:normal}}
.ov-now{position:absolute;left:12px;top:10px;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--muted);background:#05070CCC;border:1px solid var(--line);border-radius:8px;padding:4px 9px;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.ov-now b{color:var(--ink)}.ov-now span{color:var(--dim)}
.dash .note{top:40px}

/* LEDGERS card rows (today / all-time, same source) + universe line */
.lr{display:grid;grid-template-columns:minmax(0,1fr) 72px 84px;gap:6px;font-family:var(--f-mono);font-size:var(--fs-sm);line-height:1.5}.lr span:not(:first-child){text-align:right}.lr i{font-style:normal;color:var(--muted);font-size:var(--fs-xs)}
.lr-h{color:var(--dim);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}
.ov-uni{position:absolute;left:12px;top:42px;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--muted);background:#05070CCC;border:1px solid var(--line);border-radius:8px;padding:3px 9px;pointer-events:none}
.ov-uni[hidden]{display:none}
@media (max-height:820px) and (min-width:900px){.dash [data-ag="LEDGERS"] p{display:none}}

/* 29/10 typography + layout pass (owner): relocated home blocks take the full width at natural height; denser cards keep numbers apart */
.khoi-cu{grid-template-columns:minmax(0,1fr)!important;gap:var(--sp,14px)}
.khoi-cu .the{height:auto!important;max-height:none!important}.khoi-cu .the .ruot{overflow:visible}
.khoi-cu .xem,.khoi-cu #hb-tom{display:none}
.board.nho{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.tq .s>div{min-width:0}.tq .s div b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tq .s div>span{overflow:hidden;text-overflow:ellipsis}
.lr{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
@media (min-width:1200px){.flag-hero3 .fh3-giua{height:auto;min-height:460px}.fh3-giua .bieu-hc{flex:none;height:250px;min-height:250px}}
@media (min-width:760px) and (max-width:1199px){.fh3-giua .bieu-hc{flex:none;height:260px}}

/* 29/10 owner: centre back to the original look — map ≥ 58vh at 1920×1080, log 260 px mono 14 px, tab row carries log tabs + agent chips + the disclaimer */
.dash-tab{height:auto!important;flex:none}.dash .dt-o[data-dt="log"] .term,.dash .term{height:260px;flex:none;font-size:14px!important;line-height:1.75!important;padding:6px 6px!important}
.dash .ln{gap:10px}.dash .bd{font-size:11px;min-width:54px}
.dt-nuts{flex-wrap:nowrap;gap:6px;min-width:0}.dt-nuts .lt-tabs,.dt-nuts .fl{display:inline-flex;flex-wrap:nowrap;gap:4px}.dt-nuts .fc{height:24px;padding:0 8px}.dt-nuts .lt{height:24px;padding:0 10px}
.dt-chan{margin-left:auto;font-size:var(--fs-xs);color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dt-chan b{color:var(--muted)}
.dt-them{margin-left:8px}
@media (max-width:1399px) and (min-width:900px){.dt-nuts .fc{padding:0 6px}.dt-nuts .lt{padding:0 8px}}
@media (max-width:899px){.dt-nuts{flex-wrap:wrap}.dash .term{height:260px}}
@media (min-width:900px){.dash{grid-template-rows:52px minmax(0,1fr)}.dash-c{gap:8px}.dash .d-voice{min-height:30px;padding:3px 12px}.dash-tab{padding:6px 10px!important;gap:6px!important}}
.dt-nuts .dt-nut,.dt-nuts .lt,.dt-nuts .fc{white-space:nowrap;flex:none}.dt-nuts .dt-nut{padding:3px 11px}.dt-nuts .fc{font-size:var(--fs-xs)}.dt-nuts .dt-them{white-space:nowrap;flex:none}
@media (max-width:1399px) and (min-width:900px){.dt-nuts{flex-wrap:wrap;row-gap:4px}.dt-chan{margin-left:0}}

/* 29/10 owner: centre follows flag-live.html (inner voice bar, log rows with badges, overlays, legend) */
.dash .voice{display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#0E1521,#090E16);border:1px solid var(--line);border-radius:10px;padding:8px 14px!important;font-family:var(--f-mono);font-size:14px;min-height:40px!important;min-width:0}
.dash .voice .vd{width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px var(--violet);flex:none}
.dash .voice .vl{color:var(--violet);font-size:11px;letter-spacing:.1em;flex:none}
.dash .voice .vt{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}
.dash .voice .cur{display:inline-block;width:8px;height:15px;background:var(--violet);vertical-align:-2px;margin-left:2px;animation:pulse 1s infinite}
.dash .term{background:#03050A;border:1px solid var(--line);border-radius:10px;padding:8px 12px!important;height:260px;overflow:hidden;font-family:var(--f-mono);font-size:14px!important;line-height:1.7!important}
.dash .row{display:flex;gap:10px;align-items:baseline;white-space:nowrap;border-radius:4px;padding:0 4px;transition:background 2s}
.dash .row.new{background:#F5A52430}.dash .row .t{color:var(--dim);flex:none}
.dash .badge{flex:none;font-size:11px;font-weight:700;border-radius:4px;padding:1px 0;width:52px;text-align:center;color:#05070C}
.dash .row .tk{font-weight:700;flex:none}.dash .row .r{color:var(--muted);overflow:hidden;text-overflow:ellipsis;min-width:0}.dash .row.strong .r{color:var(--ink)}
.dash .pos{color:var(--good)}.dash .neg{color:var(--risk)}
.dash .legend{font-size:11px;gap:11px;background:#05070CCC;border:1px solid var(--line);border-radius:6px;padding:5px 10px;max-width:calc(100% - 190px)}
.dash .more{font-size:11.5px;border:1px solid var(--line);color:var(--muted)}
@media (prefers-reduced-motion:reduce){.dash .voice .cur{animation:none}.dash .row{transition:none}}
/* 29/10 owner: flag-live-2 (new) — map fills the middle column width, height max(60vh,480px); below 1180px a 4:5 frame */
.dash .field{flex:none!important;width:100%!important;max-width:100%;align-self:stretch;aspect-ratio:auto!important;height:max(60vh,480px)!important;min-height:0}
@media (max-width:1180px){.dash .field{height:auto!important;aspect-ratio:4/5!important}}
@media (min-width:900px){.dash .field .legend{max-width:calc(100% - 24px);right:auto}}
@media (min-width:900px) and (max-height:860px){.dash .term,.dash .dt-o[data-dt="log"] .term{height:150px}.dash .field .legend{font-size:10px;gap:7px;padding:3px 7px}.dash .field .more{display:none}}
/* 29/10: market strip never clipped or touching "Live" — strip keeps its natural width, stats give way; 1366: shorter labels */
@media (min-width:900px){.dash-top .d-mk{flex:0 0 auto;margin-left:auto}.dash-top .live{flex:none;margin-left:16px}.dash-top .stats{min-width:0;flex:1 1 auto;overflow:hidden}}
@media (max-width:1399px) and (min-width:900px){.d-mk .tt-o .k[data-s]{font-size:0}.d-mk .tt-o .k[data-s]::after{content:attr(data-s);font-size:var(--fs-xs)}}
@media (max-width:899px){.d-mk{flex-wrap:wrap;overflow:visible;mask-image:none;row-gap:4px;column-gap:12px;white-space:normal}.d-mk .tt-o{white-space:nowrap}}
@media (max-width:899px){.dash .field .legend{max-width:calc(100% - 20px);right:auto;font-size:12px;gap:3px 8px;padding:3px 7px}.dash .field .legend br{display:none}.dash .field .more{display:none}}
@media (min-width:900px) and (min-height:861px) and (max-height:1100px){.dash .term,.dash .dt-o[data-dt="log"] .term{height:248px}}
@media (min-width:1400px) and (max-width:2099px){.dash-top .d-brand small{display:none}}.dash .stat b{white-space:nowrap}
@media (min-width:900px){.dash .stat{flex:0 1 auto;min-width:min-content}.dash .stat span{min-width:0}}@media (min-width:1400px) and (max-width:1799px){.d-mk .tt-phu{display:none}}
@media (min-width:1400px) and (max-width:1799px){.dash .stat span{max-width:104px}.dash-top .stats{gap:14px}}
@media (min-width:1400px) and (max-width:1549px){.dash-top .d-brand b{display:none}.dash .stat span{max-width:90px}.d-mk{column-gap:10px}}
@media (min-width:1400px) and (max-width:1799px){.dash .stat span{width:0;min-width:100%;max-width:none}}
/* 29/10 owner: top notice bar — sidebar, sticky header and the home dashboard start below it (desktop) */
@media (min-width:900px){.noi{min-height:calc(100vh - var(--ban))}.side{top:var(--ban)}.dau{top:var(--ban)}.dash{height:calc(100vh - 20px - var(--ban))}}
@media (min-width:900px){.dash .dash-c .dash-tab{flex:1 1 0!important;height:auto!important;min-height:0;display:flex;flex-direction:column}.dash .dash-c .dt-o[data-dt="log"]{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.dash .dash-c .term,.dash .dash-c .dt-o[data-dt="log"] .term{height:auto!important;flex:1 1 0;min-height:120px}}
.dash .note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 24px)}.ov-uni{top:66px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* lệnh tổng 29/10: LEDGERS card — Main + Research (shadow), W/L + avg P/L */
.lr{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px;align-items:baseline}.lr>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lr .lr-tb{font-weight:600;font-size:var(--fs-xs);display:inline-block;min-width:44px;text-align:right}.lr .lr-tb.pos{color:var(--good)}.lr .lr-tb.neg{color:var(--risk)}
.lr em{font-style:normal;font-size:12px;color:var(--dim);border:1px solid var(--line);border-radius:4px;padding:0 3px;margin-left:3px}
.lr-rs{margin-top:6px;padding-top:4px;border-top:1px dashed var(--line);opacity:.88}.lr-rs .lr{font-size:var(--fs-xs)}.lr-note{font-family:var(--f-mono);font-size:12px;color:var(--dim);margin-top:2px}
.dash [data-ag="LEDGERS"]>p{display:none}
.lr-rs{margin-top:4px;border-top:1px dashed var(--line);padding-top:3px;opacity:1}.lr-rs>summary{cursor:pointer;font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--dim);text-transform:uppercase;letter-spacing:.05em;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lr-rs>summary::before{content:"▸ ";color:var(--muted)}.lr-rs[open]>summary::before{content:"▾ "}.lr-rs>summary::-webkit-details-marker{display:none}
@media (min-width:900px) and (max-height:860px){.dash [data-ag="LEDGERS"] canvas{display:none}.dash .lr{line-height:1.32}}
@media (min-width:900px) and (max-height:860px){.dash .lr{line-height:1.2}.dash .lr-rs{margin-top:2px;padding-top:1px}.dash .lr-rs>summary{line-height:1.2}}
/* lệnh tổng 29/10: Paper Ledger — Main featured, Research collapsed */
.kc-luoi{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.kc-o{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card2,#0E1521)}.kc-chinh .kc-o{border-color:color-mix(in srgb,var(--amber) 45%,var(--line))}
.kc-t{font-weight:700;font-size:var(--fs-md);margin-bottom:6px}.kc-o.nho .kc-t{font-size:var(--fs-base)}
.kc-h{font-size:var(--fs-sm);color:var(--muted);line-height:1.6}.kc-h span{display:inline-block;min-width:62px;color:var(--dim);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}.kc-h b{color:var(--ink)}
.kc-nc>summary{cursor:pointer;font-weight:600}
.kc-luoi{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.kc-h{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:899px){.kc-luoi{grid-template-columns:1fr}}
/* owner 30/10: BẢNG ĐIỂM TEST — top-right of the map, balanced wins / losses */
.sb{position:absolute;top:10px;right:10px;width:300px;max-width:calc(100% - 20px);box-sizing:border-box;background:#05070CCC;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-family:var(--f-mono);font-size:12px;line-height:1.45;color:var(--ink);pointer-events:none;z-index:2}
.sb[hidden]{display:none}.sb .pos{color:var(--good)}.sb .neg{color:var(--risk)}.sb .dim{color:var(--dim)}
.sb-h{font-weight:700;font-size:13px;color:var(--ink)}.sb-tot{color:var(--muted);margin-bottom:5px}.sb-tot .pos,.sb-tot .neg{font-weight:700}
.sb-r{display:grid;grid-template-columns:76px 1fr 54px 52px;gap:6px;align-items:center}.sb-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-r>span:nth-child(3){text-align:right}.sb-c{text-align:right;color:var(--muted)}
.sb-c em{font-style:normal;color:var(--dim);font-size:12px}
.sb-bar{display:flex;height:7px;border-radius:4px;overflow:hidden;background:#1A2232}.sb-bar i{display:block;height:100%}.sb-bar .w{background:var(--good)}.sb-bar .l{background:var(--risk)}
.sb-k{color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-right:6px}
.sb-l{margin-top:6px;border-top:1px dashed var(--line);padding-top:4px}.sb-x{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-bw{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:5px;border-top:1px dashed var(--line);padding-top:4px}.sb-bw>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-bw .sb-k{display:block}
.sb.c1 .sb-l{display:none}.sb.c2 .sb-rows,.sb.c2 .sb-bw{display:none}.sb.c2{width:auto}
.dash .row.grp{cursor:pointer}.dash .row .g-m{color:var(--dim)}.dash .row-list{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);padding:0 4px 4px 70px;white-space:normal}
.sb-r{grid-template-columns:70px 1fr 50px 62px;gap:5px}.sb-c{white-space:nowrap}
.field.sb-on:not(.sb-top) .ov-now,.field.sb-on:not(.sb-top) .note,.field.sb-on:not(.sb-top) .ov-uni{max-width:calc(100% - 340px)}
.field.sb-on.sb-top .ov-now{top:calc(10px + var(--sbh,0px))}.field.sb-on.sb-top .note{top:calc(40px + var(--sbh,0px))}.field.sb-on.sb-top .ov-uni{top:calc(66px + var(--sbh,0px))}
.sb.c1{width:250px}.sb.c1 .sb-r{grid-template-columns:62px 1fr 46px 56px;gap:4px}.sb.c1,.sb.c2{font-size:12px}
.sb.c2{left:10px;right:10px;width:auto;max-width:none;padding:5px 9px}.sb.c2 .sb-tot{margin:0}
.field.sb-on:not(.sb-top) .ov-now,.field.sb-on:not(.sb-top) .note,.field.sb-on:not(.sb-top) .ov-uni{max-width:calc(100% - var(--sbw,300px) - 34px)}
/* owner 30/10: scoreboard toggle (▾ open / ▸ collapsed, remembered); collapsed = one line top-right, scene starts below it */
.sb-h{display:flex;align-items:center;gap:8px}.sb-tg{pointer-events:auto;margin-left:auto;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:6px;font:inherit;font-size:12px;line-height:1;padding:2px 6px;cursor:pointer}.sb-tg:hover{color:var(--ink)}
.sb.cz{width:auto;display:flex;align-items:center;gap:10px;padding:5px 9px}.sb.cz .sb-rows,.sb.cz .sb-l,.sb.cz .sb-bw{display:none}.sb.cz .sb-h{order:0}.sb.cz .sb-tot{margin:0;order:1}.sb.cz .sb-tg{order:2;margin-left:0}
.sb.cz .sb-h{display:contents}.sb.cz .sb-tot{white-space:nowrap}
.sb-bw>div{white-space:normal}
/* owner 30/10: the 4 tabs under the map — only the selected frame is shown (hidden = display:none), no stacking, each frame 260px with its own scroll, its title on top of its own frame */
.dash .dt-o[hidden]{display:none!important}
.dash .dash-tab{flex:none!important;height:auto!important}
.dash .dt-o{position:static!important;flex:none!important;height:260px!important;min-height:0!important;overflow:hidden;display:flex;flex-direction:column;opacity:1;z-index:auto}
.dash .dt-o[data-dt="log"] .term,.dash .dash-c .dt-o[data-dt="log"] .term{height:auto!important;flex:1 1 0!important;min-height:0!important;overflow-y:auto}
.dash .dt-news{flex-direction:row}.dash .dt-o .dt-col{min-height:0}.dash .dt-o .dt-ds{flex:1 1 0;min-height:0;overflow:auto}.dash .dt-o .dt-h,.dash .dt-o .tl-loc{flex:none;position:static}
.lr.lr4{grid-template-columns:minmax(0,1fr) auto auto auto!important}
.lr.lr4>span:first-child{white-space:normal!important;overflow:visible!important;line-height:1.25}
