:root{--bg:#0d1117;--bg2:#121822;--card:rgba(24,31,43,.72);--line:rgba(255,215,120,.14);--txt:#e9edf3;--muted:#8d97a7;--gold:#f0b90b;--gold2:#ffd76a;--gold3:#b8860b;--up:#16c784;--down:#ea3943;--shadow:0 12px 40px rgba(0,0,0,.35);--glass:blur(14px)}
[data-theme=light]{--bg:#f6f3ea;--bg2:#fffdf7;--card:rgba(255,255,255,.82);--line:rgba(160,120,20,.18);--txt:#1d1a14;--muted:#6f6754;--gold:#b8860b;--gold2:#8a6408;--shadow:0 10px 30px rgba(120,90,20,.12)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Be Vietnam Pro',system-ui,sans-serif;background:radial-gradient(1200px 600px at 80% -10%,rgba(240,185,11,.10),transparent 60%),var(--bg);color:var(--txt);line-height:1.6;min-height:100vh}
a{color:var(--gold2)}img{max-width:100%}
.wrap{max-width:1280px;margin:auto;padding:0 20px}
/* gold sticky price strip */
.pricebar{position:sticky;top:0;z-index:60;background:linear-gradient(90deg,#f0b90b,#ffd76a 50%,#f0b90b);color:#1a1405;font-size:.86rem;font-weight:700;overflow:hidden;white-space:nowrap}
.pricebar .track{display:inline-flex;gap:34px;padding:7px 0;animation:marq 40s linear infinite}
.pricebar:hover .track{animation-play-state:paused}
.pricebar span small{font-weight:600;margin-left:3px}.pricebar .u{color:#05683f}.pricebar .d{color:#a3101c}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* header */
.hdr{position:sticky;top:34px;z-index:55;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:var(--glass);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:18px;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--txt);font-weight:800;font-size:1.15rem;margin-right:auto}.brand b{color:var(--gold)}
.menu{display:flex;gap:4px;align-items:center;list-style:none}
.menu>li{position:relative}
.menu>li>a{display:flex;gap:5px;align-items:center;padding:8px 8px;border-radius:10px;color:var(--txt);text-decoration:none;font-size:.84rem;font-weight:600;white-space:nowrap}
.menu>li>a:hover,.menu>li>a.on{background:var(--card);color:var(--gold)}
.menu>li>a.on{box-shadow:inset 0 0 0 1px var(--gold)}
.dd{position:absolute;top:100%;left:0;min-width:270px;padding:10px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}
.dd.mega{display:grid;grid-template-columns:1fr 1fr;min-width:520px;gap:4px}
.menu>li:hover .dd,.menu>li:focus-within .dd{opacity:1;visibility:visible;transform:none}
.dd a{display:block;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--txt);font-size:.9rem}.dd a small{display:block;color:var(--muted);font-size:.76rem}
.dd a:hover{background:var(--card);color:var(--gold)}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--txt);cursor:pointer;font-size:1.1rem}
.burger{display:none}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:12px;border:0;cursor:pointer;font:700 .95rem 'Be Vietnam Pro',sans-serif;text-decoration:none;background:linear-gradient(135deg,#ffd76a,#f0b90b 60%,#c99400);color:#1a1405!important;box-shadow:0 6px 20px rgba(240,185,11,.25);transition:.15s}
.btn:hover{transform:translateY(-2px)}.btn.ghost{background:var(--card);color:var(--txt)!important;border:1px solid var(--line);box-shadow:none}
.btn.zalo{background:#0068ff;color:#fff!important}.btn.yt{background:#ff0033;color:#fff!important}
/* cards */
.card{background:var(--card);backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}
.card h2,.card h3{font-size:1.08rem;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.sec{margin:26px 0}.sec-title{font-size:1.45rem;font-weight:800;margin:0 0 14px}.sec-title span{color:var(--gold)}
.page-head{padding:34px 0 8px}.page-head h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}.page-head p{color:var(--muted)}
.crumb{font-size:.82rem;color:var(--muted)}.crumb a{color:var(--muted)}
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g-hero{grid-template-columns:1.35fr 1fr}
.muted{color:var(--muted)}.small{font-size:.84rem}.center{text-align:center}.up{color:var(--up)}.down{color:var(--down)}
.tile{text-align:center}.tile .ic{font-size:1.9rem}.tile .lbl{font-weight:800;color:var(--gold);letter-spacing:.04em}.tile .val{font-size:1.45rem;font-weight:800}.tile .sub{font-size:.8rem;color:var(--muted)}
label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:10px}
input,select{width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);font:inherit;font-size:1rem}
input:focus,select:focus{outline:2px solid var(--gold)}
.mini-out{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.mini-out div{border-left:3px solid var(--gold);background:var(--bg2);border-radius:8px;padding:8px 10px}.mini-out div.r{border-color:var(--down)}
.mini-out span{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase}.mini-out b{font-size:1.05rem}
/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.tbl th{background:var(--bg2);color:var(--gold);text-align:right;padding:10px;font-weight:700}.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl td{padding:10px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}.tbl td b{font-weight:700}
.tbl tr:hover td{background:rgba(240,185,11,.05)}
.chg{font-size:.78rem;margin-left:4px}
.unit-toggle{margin-left:auto;display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.unit-toggle button{border:0;background:transparent;color:var(--muted);padding:3px 10px;cursor:pointer;font:600 .78rem inherit}.unit-toggle button.on{background:var(--gold);color:#1a1405}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0 16px}.chips a,.chips button{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--txt);text-decoration:none;font:600 .82rem inherit;cursor:pointer}.chips a:hover,.chips .on{border-color:var(--gold);color:var(--gold)}
.live{color:var(--up);font-weight:700;font-size:.78rem}
/* quick view */
.quick{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(240,185,11,.18),rgba(24,31,43,.6));}
[data-theme=light] .quick{background:linear-gradient(135deg,rgba(240,185,11,.22),#fffdf7)}
.quick .tag{display:inline-block;background:var(--gold);color:#1a1405;font-weight:800;font-size:.72rem;padding:3px 10px;border-radius:6px;letter-spacing:.05em}
.quick h2{font-size:1.5rem!important;color:var(--txt)!important;margin:10px 0!important}
.quick .lv{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.pill{padding:4px 10px;border-radius:8px;font-weight:700;font-size:.88rem}.pill.s{background:rgba(22,199,132,.14);color:var(--up)}.pill.r{background:rgba(234,57,67,.14);color:var(--down)}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700}.badge.ex{background:#ff9a2e;color:#2a1500}.badge.up{background:rgba(22,199,132,.15);color:var(--up)}.badge.down{background:rgba(234,57,67,.15);color:var(--down)}.badge.side{background:rgba(240,185,11,.15);color:var(--gold)}
.share{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.share a,.share button{font:600 .8rem inherit;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);cursor:pointer;text-decoration:none}
/* chart */
.tv-box{height:72vh;min-height:520px;max-height:860px;padding:4px;overflow:hidden}.tv-box.full{height:calc(100vh - 230px)}
.tv-holder{height:100%;width:100%}
.psyms{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.psym{display:flex;flex-direction:column;align-items:center;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--txt);background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 6px}
.psym b{color:var(--gold)}.psym span{font-size:.72rem;color:var(--muted);text-align:center}.psym.active{background:var(--gold);border-color:var(--gold)}.psym.active b,.psym.active span{color:#1a1405}.psym.ext{border-style:dashed}
.tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 0}.tabs button{flex:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);cursor:pointer;font:600 .82rem inherit}.tabs button.active{background:var(--gold);color:#1a1405}
.sym-list{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow:auto}
.chip{display:flex;flex-direction:column;align-items:flex-start;padding:5px 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);cursor:pointer;font-family:inherit;text-decoration:none;min-width:100px}
.chip b{font-size:.86rem;color:var(--gold)}.chip span{font-size:.7rem;color:var(--muted)}.chip.active,.chip:hover{border-color:var(--gold)}
details summary{cursor:pointer;color:var(--gold);font-weight:700}
/* articles */
.article{max-width:820px}.article h2{font-size:1.3rem;margin:26px 0 10px;color:var(--gold)}.article h3{margin:18px 0 6px}.article p,.article li{margin-bottom:10px}.article ul,.article ol{padding-left:22px}
.toc a{display:block;padding:6px 0;color:var(--txt);text-decoration:none;border-bottom:1px dashed var(--line)}.toc a:hover{color:var(--gold)}
.note{border-left:4px solid var(--gold);background:rgba(240,185,11,.08);padding:12px 14px;border-radius:8px;margin:14px 0}
/* footer */
footer{margin-top:50px;border-top:1px solid var(--line);background:var(--bg2);padding:36px 0 20px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}footer h4{color:var(--gold);margin-bottom:10px}footer a{display:block;color:var(--muted);text-decoration:none;padding:3px 0;font-size:.9rem}footer a:hover{color:var(--gold)}
.disc{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);margin-top:20px;padding-top:14px}
/* floating zalo */
.zfloat{position:fixed;right:18px;bottom:18px;z-index:80;width:58px;height:58px;border-radius:50%;background:#0068ff;color:#fff;display:grid;place-items:center;font-weight:900;font-size:.9rem;box-shadow:0 8px 26px rgba(0,104,255,.5);cursor:pointer;border:0;animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,104,255,.55)}50%{box-shadow:0 0 0 14px rgba(0,104,255,0)}}
.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.7);display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}
.modal-box{position:relative;background:var(--bg2);border:1px solid var(--gold);border-radius:18px;padding:22px;max-width:360px;width:100%;text-align:center}.modal-box img{max-height:58vh;border-radius:12px;margin:10px 0}
.modal-box .x{position:absolute;right:12px;top:6px;border:0;background:none;color:var(--txt);font-size:1.8rem;cursor:pointer}
.gap-chart svg{width:100%;height:260px}
@media(max-width:1240px){.menu{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg2);padding:12px;border-bottom:1px solid var(--line);max-height:80vh;overflow:auto}.nav-open .menu{display:flex}.burger{display:block}.dd,.dd.mega{position:static;opacity:1;visibility:visible;transform:none;min-width:0;box-shadow:none;border:0;padding:0 0 0 14px;display:block;background:none}
.g4{grid-template-columns:1fr 1fr}.g3,.g-hero,.g2{grid-template-columns:1fr}.psyms{grid-template-columns:repeat(4,1fr)}footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.g4{grid-template-columns:1fr}.psyms{grid-template-columns:repeat(3,1fr)}.tv-box{height:64vh;min-height:420px}footer .cols{grid-template-columns:1fr}.hdr{top:32px}}
.live-badge{background:#ea3943;color:#fff!important;font-weight:800;font-size:.78rem;padding:5px 10px;border-radius:8px;text-decoration:none;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.55}}
.live-banner{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:18px;background:linear-gradient(90deg,rgba(234,57,67,.18),rgba(240,185,11,.12));border-color:rgba(234,57,67,.4)}
.live-banner .cd{font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--gold)}
.player{position:relative;aspect-ratio:16/9;width:100%;border-radius:14px;overflow:hidden;background:#000}.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.live-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:16px}@media(max-width:1020px){.live-grid{grid-template-columns:1fr}}
/* Tin vĩ mô v2 */
.mi-ic{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(240,185,11,.13);font-size:1.05rem}
.imp{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:999px;font-size:.76rem;font-weight:800;margin-left:auto}
.imp.up{background:rgba(22,199,132,.16);color:var(--up);box-shadow:inset 0 0 0 1px rgba(22,199,132,.4)}.imp.down{background:rgba(234,57,67,.16);color:var(--down);box-shadow:inset 0 0 0 1px rgba(234,57,67,.4)}.imp.side{background:rgba(141,151,167,.16);color:var(--muted);box-shadow:inset 0 0 0 1px rgba(141,151,167,.35)}
.macro-item{position:relative;transition:transform .2s,border-color .2s,box-shadow .2s;border-left:4px solid var(--muted)}
.macro-item.i-up{border-left-color:var(--up)}.macro-item.i-down{border-left-color:var(--down)}
.macro-item:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 16px 44px rgba(240,185,11,.12)}
.mi-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mi-time{display:inline-flex;gap:6px;align-items:center;font-size:.8rem;color:var(--gold2);background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:3px 9px;margin-top:4px}
.mi-ok{color:var(--muted)}
.tl{position:relative;display:grid;gap:14px;padding-left:28px}
.tl:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--gold),transparent)}
.tl .macro-item:before{content:"";position:absolute;left:-25px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:3px solid var(--gold)}
.tl .macro-item.i-up:before{border-color:var(--up)}.tl .macro-item.i-down:before{border-color:var(--down)}
.tl-date{position:absolute;left:-28px;top:42px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.66rem;color:var(--muted);letter-spacing:.03em}
.anim{opacity:0;transform:translateY(14px);animation:mIn .5s ease forwards}
@keyframes mIn{to{opacity:1;transform:none}}
.hl{position:relative;overflow:hidden;border:1px solid var(--gold);background:linear-gradient(135deg,rgba(240,185,11,.16),var(--card) 55%);margin:6px 0 12px}
.hl:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(255,215,106,.1) 50%,transparent 60%);background-size:250% 100%;animation:shine 5s linear infinite;pointer-events:none}
@keyframes shine{from{background-position:150% 0}to{background-position:-100% 0}}
.hl .tag{display:inline-block;background:var(--gold);color:#1a1405;font-weight:800;font-size:.72rem;padding:3px 10px;border-radius:6px;letter-spacing:.05em}
.hl h3{font-size:clamp(1.1rem,2.4vw,1.4rem);margin:8px 0;color:var(--txt)}
.fomc-box{margin-bottom:10px;padding:14px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}
.fomc-cd{display:flex;gap:6px;margin:8px 0}.fomc-cd>div{flex:1;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px 2px}
.fomc-cd b{display:block;font-size:1.45rem;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;line-height:1.2}.fomc-cd small{font-size:.66rem;color:var(--muted);text-transform:uppercase}
.fomc-cd b.tk{animation:tk .45s ease}@keyframes tk{from{transform:translateY(-5px);opacity:.3}}
.fomc-bar{height:6px;border-radius:9px;background:var(--line);overflow:hidden}.fomc-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold3),var(--gold2));transition:width 1s linear}
@media(max-width:640px){.tl{padding-left:20px}.tl:before{left:5px}.tl .macro-item:before{left:-21px}.tl-date{display:none}.macro-item{padding:14px}.imp{margin-left:0}.fomc-cd b{font-size:1.2rem}.chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.chips button{flex:none}}
@media(prefers-reduced-motion:reduce){.anim,.hl:after,.fomc-cd b.tk{animation:none;opacity:1;transform:none}.macro-item{transition:none}}

/* Telegram HTFX */
.tg-card{display:flex;align-items:center;gap:14px;margin:18px 0;padding:16px 20px;border-radius:18px;text-decoration:none;color:#fff!important;background:linear-gradient(135deg,#2aabee,#1e88d0 60%,#1565c0);box-shadow:0 10px 30px rgba(42,171,238,.3);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.tg-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(42,171,238,.45)}
.tg-ic{width:50px;height:50px;flex:none;display:grid;place-items:center;border-radius:50%;background:#fff;color:#229ed9;font-size:1.5rem;animation:tgFly 2.4s ease-in-out infinite}
@keyframes tgFly{50%{transform:translate(3px,-3px) rotate(-8deg)}}
.tg-tx{flex:1}.tg-tx b{display:block;font-size:1.15rem}.tg-tx small{opacity:.9}
.tg-go{flex:none;padding:9px 16px;border-radius:999px;background:#fff;color:#1565c0;font-weight:800}
.btn.tg{background:linear-gradient(135deg,#2aabee,#1e88d0);color:#fff!important}
.share a.tg-link{border-color:#2aabee;color:#2aabee}
@media(max-width:640px){.tg-card{flex-wrap:wrap}.tg-go{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.tg-ic{animation:none}}
/* Lịch tin Mỹ – ForexFactory */
.ffb{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:800}.ffb.hi{background:var(--down);color:#fff}.ffb.md{background:#ff9a2e;color:#2a1500}.ffb.hd{background:rgba(141,151,167,.25);color:var(--muted)}
.ff-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px}.ff-tg{display:flex;gap:6px;align-items:center;margin:0;cursor:pointer}.ff-tg input{width:auto;margin:0}
.ffday{margin-top:16px;animation:mIn .5s ease both}.ffday-h{padding:8px 12px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);text-transform:capitalize}
.ffday.today .ffday-h{border-color:var(--gold);background:rgba(240,185,11,.12);color:var(--gold)}.ff-today{background:var(--gold);color:#1a1405;padding:1px 8px;border-radius:6px;font-size:.72rem;font-weight:900;margin-left:6px;animation:blink 1.6s infinite}
.ffday.past{opacity:.6}
.ffev{display:flex;gap:12px;padding:12px 6px;border-bottom:1px dashed var(--line);transition:background .2s}.ffev:hover{background:rgba(240,185,11,.05)}.ffev.done{opacity:.6}
.ffev.next{background:rgba(234,57,67,.08);border-radius:12px;box-shadow:inset 3px 0 0 var(--down)}
.ffev-t{flex:none;width:62px;text-align:center;font-weight:800;font-size:1.1rem;color:var(--gold);font-variant-numeric:tabular-nums}.ffev-t small{display:block;font-size:.64rem;color:var(--muted);font-weight:600}
.ffev-b{flex:1;min-width:0}.ffev-h{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ffev-x{margin-top:4px}.ff-nx{font-size:.72rem;font-weight:800;color:var(--down)}
.ffnum{display:grid;grid-template-columns:repeat(3,minmax(0,110px));gap:6px;margin-top:6px}.ffnum span{background:var(--bg2);border-radius:8px;padding:4px 8px;font-size:.7rem;color:var(--muted)}.ffnum b{display:block;font-size:.92rem;color:var(--txt)}
.ffcd{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px;border:1px solid rgba(234,57,67,.5);background:linear-gradient(135deg,rgba(234,57,67,.14),var(--card) 60%)}
.ffcd #ff-cd{flex:1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.ffcd-l b{display:block;font-size:1.1rem}.ffcd-l small{color:var(--muted)}.ffcd .fomc-cd{min-width:260px}
.tag-red{background:var(--down);color:#fff;font-weight:800;font-size:.72rem;padding:3px 10px;border-radius:6px;letter-spacing:.04em}
.usn-list{display:grid;gap:8px}.usn{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);text-decoration:none;color:var(--txt);transition:transform .2s,border-color .2s}.usn:hover{transform:translateX(4px);border-color:var(--down)}
.usn-t{flex:none;width:70px;text-align:center}.usn-t b{display:block;color:var(--gold);font-size:1.15rem}.usn-t small,.usn-x small{color:var(--muted);font-size:.74rem}.usn-x{flex:1;min-width:0}.usn-x b{display:block}
@media(max-width:640px){.ffnum{grid-template-columns:repeat(3,1fr)}.ffev-t{width:50px;font-size:1rem}.ffcd .fomc-cd{min-width:0;width:100%}}
/* Vàng trong nước sáng nay */
.vg-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.vg-tag{background:linear-gradient(90deg,var(--gold2),var(--gold));color:#1a1405;font-weight:900;font-size:.76rem;padding:4px 12px;border-radius:8px;letter-spacing:.04em}
.vg-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.vg-big{padding:16px;border-radius:16px;background:linear-gradient(135deg,rgba(240,185,11,.16),var(--bg2));border:1px solid var(--line);animation:mIn .5s ease both;transition:transform .2s}.vg-big:hover{transform:translateY(-3px)}
.vg-big span{display:block;font-size:.82rem;color:var(--muted);font-weight:700}.vg-big b{display:block;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:900;color:var(--gold);font-variant-numeric:tabular-nums;margin:4px 0}.vg-big small{color:var(--muted);font-size:.78rem}
.vg-big.gap{background:linear-gradient(135deg,rgba(234,57,67,.14),var(--bg2))}.vg-big.gap b{color:var(--down)}
.vg-ch{font-weight:800;font-size:.8rem;white-space:nowrap}.vg-ch.up{color:var(--up)}.vg-ch.down{color:var(--down)}.vg-ch.side{color:var(--muted)}
.vg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:14px}.vg-c{padding:16px}.vg-tbl td,.vg-tbl th{padding:8px 6px}
.vg-chart{width:100%;height:auto}.vg-ax{fill:var(--muted);font-size:11px}.vg-line{stroke-dasharray:1200;stroke-dashoffset:1200;animation:vgDraw 1.6s ease forwards}@keyframes vgDraw{to{stroke-dashoffset:0}}.vg-dot{animation:blink 1.6s infinite}
.vg-peak{border:1px solid rgba(234,57,67,.45);background:linear-gradient(135deg,rgba(234,57,67,.12),var(--card) 60%)}.vg-pk{display:flex;align-items:center;gap:10px;justify-content:space-between}.vg-pk div{flex:1;text-align:center;background:var(--bg2);border-radius:12px;padding:8px}.vg-pk small{display:block;color:var(--muted);font-size:.74rem}.vg-pk b{font-size:1.3rem}.vg-pk i{font-style:normal;color:var(--down);font-weight:900}
.vg-loss{margin:10px 0;text-align:center;font-size:1.05rem;color:var(--down)}.vg-loss b{font-size:1.4rem}
.vg-an{margin-top:14px}.vg-an ul{padding-left:20px}.vg-an li{margin:6px 0}
.vg-adv{margin-top:14px;padding:14px 16px;border-radius:14px;border-left:5px solid var(--gold);background:rgba(240,185,11,.1);font-size:.98rem}.vg-adv.mini,.vg-peak.mini{margin:0;padding:10px 14px;font-size:.88rem;border-radius:12px}.vg-peak.mini{color:var(--down)}
.vg-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 6px}
.vg-src{margin-top:14px}.vg-src ul{padding-left:18px}
/* vàng TN v2 */
.vg-head{padding:14px 18px;border-radius:14px;font-size:clamp(1.05rem,2.6vw,1.35rem);font-weight:800;margin:4px 0 12px;border:2px solid}.vg-head.up{color:#0f9d58;border-color:#16c784;background:rgba(22,199,132,.12)}.vg-head.down{color:#e53935;border-color:#ea3943;background:rgba(234,57,67,.1)}.vg-head.side{color:var(--gold);border-color:var(--gold);background:rgba(240,185,11,.1)}
.vg-qs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vg-q{padding:12px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);text-align:center}.vg-q small{display:block;color:var(--muted);font-size:.74rem}.vg-q b{font-size:1.15rem;font-variant-numeric:tabular-nums}.vg-q.up b{color:var(--up)}.vg-q.down b{color:var(--down)}
.vg-gapc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:14px;border-radius:14px;border:1px solid rgba(234,57,67,.4);background:linear-gradient(135deg,rgba(234,57,67,.1),var(--bg2))}.vg-gapc>div{flex:1;min-width:84px;text-align:center}.vg-gapc small{display:block;color:var(--muted);font-size:.74rem}.vg-gapc b{font-size:1.2rem;font-variant-numeric:tabular-nums}.vg-gapc>div:nth-of-type(3) b{color:var(--down)}.vg-gapc i{font-style:normal;font-weight:900;color:var(--muted)}.vg-gapc p{flex-basis:100%;margin:6px 0 0}.vg-gapc.ok{border-color:rgba(22,199,132,.5)}.vg-gapc.ok>div:nth-of-type(3) b{color:var(--up)}
.vg-brands{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.vg-b{padding:14px;border-top:4px solid var(--gold)}.vg-b h3{margin:0 0 6px}.vg-b .tbl{width:100%;font-size:.88rem}.vg-b td:nth-child(n+2),.vg-b th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.vg-news ul{padding-left:18px}.vg-news li{margin:6px 0}.vg-tip{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:rgba(240,185,11,.14);font-weight:700}
@media(max-width:640px){.vg-brands{grid-template-columns:1fr}.vg-b .tbl{font-size:.8rem}.vg-tbl td,.vg-tbl th{padding:6px 3px}.vg-q b{font-size:.98rem}.vg-qs{gap:6px}.vg-q{padding:8px 4px}}
@media(max-width:640px){.vg-row2{grid-template-columns:1fr}.vg-grid{grid-template-columns:1fr}.vg-pk b{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.vg-line{animation:none;stroke-dashoffset:0}.vg-big,.vg-dot{animation:none}}
/* Mobile overflow fixes (390px) */
.grid>*,.live-grid>*{min-width:0}
@media(max-width:640px){.chips{flex-wrap:wrap!important;overflow:visible!important;justify-content:center!important}.chips a,.chips button{flex:0 1 auto!important}
.card{max-width:100%;padding:16px}.card h2,.card h3{flex-wrap:wrap}.unit-toggle{margin-left:0}
.tbl{display:block;max-width:100%;overflow-x:auto}.card iframe{max-width:100%}.card p,.card a{overflow-wrap:anywhere}}
/* Cảm xúc */
.rx{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.rxb{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);cursor:pointer;font:600 .82rem inherit;transition:transform .15s,border-color .15s}
.rxb:hover{transform:translateY(-2px) scale(1.06);border-color:var(--gold)}.rxb.on{border-color:var(--gold);background:rgba(240,185,11,.16)}.rxb b{font-variant-numeric:tabular-nums;min-width:.8em}
.rxb.pop{animation:rxPop .45s ease}@keyframes rxPop{40%{transform:scale(1.35)}}.rxb.shake{animation:rxSh .35s}@keyframes rxSh{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.rx-n{font-size:.7rem;color:var(--muted)}
/* Thanh chia sẻ dọc */
.sbar{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:18px;background:var(--card);backdrop-filter:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow)}
.sb{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;font-weight:900;font-size:.9rem;border:0;cursor:pointer;transition:transform .2s}.sb:hover{transform:scale(1.12)}
.sb.fb{background:#1877f2;font-size:1.3rem;font-family:Arial,sans-serif}.sb.za{background:#0068ff;font-size:.68rem}.sb.tg{background:#2aabee}.sb.cp{background:var(--bg2);color:var(--txt);border:1px solid var(--line)}.sb.cp.ok{background:var(--up);color:#fff}.sb.nt{background:var(--gold);color:#1a1405;animation:ntRing 3s infinite}
@keyframes ntRing{0%,85%,100%{transform:none}88%{transform:rotate(14deg)}92%{transform:rotate(-12deg)}96%{transform:rotate(8deg)}}
@media(max-width:1400px) and (min-width:900px){.has-sbar main.wrap{padding-left:72px}}
@media(max-width:899px){.sbar{left:0;right:0;top:auto;bottom:0;transform:none;flex-direction:row;justify-content:space-around;border-radius:16px 16px 0 0;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.sb{width:40px;height:40px}
.has-sbar{padding-bottom:64px}.has-sbar .zfloat{bottom:78px}}
/* Nhận tin */
.nt-card{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:22px;border-radius:22px;border:1px solid var(--gold);background:linear-gradient(120deg,rgba(42,171,238,.18),rgba(240,185,11,.14) 55%,var(--card));box-shadow:0 10px 34px rgba(240,185,11,.15)}
.nt-l{display:flex;gap:14px;align-items:flex-start;flex:1 1 320px}.nt-l h2{font-size:1.35rem;font-weight:800;margin-bottom:4px}.nt-l p{color:var(--muted)}
.nt-bell{font-size:2.2rem;animation:ntRing 2.5s infinite;display:inline-block}.nt-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.nt-qr{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--muted)}.nt-qr img{width:120px;border-radius:12px;border:2px solid var(--gold)}
@media(max-width:640px){.nt-qr{display:none}.nt-btns .btn{flex:1;text-align:center}}
@media(prefers-reduced-motion:reduce){.sb.nt,.nt-bell,.rxb.pop{animation:none}}
/* Bình luận Disqus */
.cm-card{padding:20px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(240,185,11,.1),var(--card) 50%);box-shadow:var(--shadow)}
.cm-h{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:12px}.cm-h h2{font-size:1.35rem;font-weight:800;color:var(--gold)}
#disqus_thread{background:#fff;border-radius:14px;padding:0 12px;min-height:0}#disqus_thread:not(:empty){padding:12px;min-height:200px}.cm-note{margin-top:10px}
.sb.cm{background:#2e9fff;position:relative;font-size:1rem}.sb-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--down);color:#fff;font-size:.66rem;display:grid;place-items:center;font-weight:800;line-height:1}
@media(max-width:640px){.cm-card{padding:14px}#disqus_thread:not(:empty){padding:8px}}
/* CME FedWatch */
.fw-head{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.fw-head>div{background:rgba(240,185,11,.08);border:1px solid var(--line);border-radius:12px;padding:8px 12px;min-width:0}.fw-head small{display:block}.fw-head b{font-size:1.15rem;color:var(--gold2)}
.fw-pills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.fw-pill{border-radius:999px;padding:4px 10px;font-size:.82rem;border:1px solid var(--line)}.fw-pill.cut{color:var(--up)}.fw-pill.hike{color:var(--down)}.fw-pill.hold{color:var(--gold2)}
.fw-row{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr) 3.6em;align-items:center;gap:8px;margin:7px 0}.fw-lb b{display:block;font-size:.88rem}.fw-lb small{font-size:.74rem}.fw-v{text-align:right;font-size:.9rem}
.fw-track{height:14px;border-radius:999px;background:rgba(127,127,127,.15);overflow:hidden}.fw-track i{display:block;height:100%;width:0;border-radius:999px;animation:fwgrow 1.1s ease-out forwards}
@keyframes fwgrow{to{width:var(--w)}}
small.cut{color:var(--up)}small.hike{color:var(--down)}small.hold{color:var(--gold2)}
.fw-track i.cut{background:linear-gradient(90deg,#0e9f6e,var(--up))}.fw-track i.hike{background:linear-gradient(90deg,#b4232c,var(--down))}.fw-track i.hold{background:linear-gradient(90deg,var(--gold3),var(--gold2))}
.fw-grid{grid-template-columns:1fr 1.2fr;gap:20px}.fw-grid>div{min-width:0}.fw-tbl td.fw-max{background:rgba(240,185,11,.2);font-weight:800;color:var(--gold2)}
.tbl-wrap{overflow-x:auto;max-width:100%}.fw-src{margin-top:10px}.fw-pending{padding:14px;border:1px dashed var(--line);border-radius:12px}
.fw-gold{margin-top:12px;padding:12px 14px;border-left:3px solid var(--gold);background:rgba(240,185,11,.07);border-radius:10px;font-size:.92rem}
@media(max-width:820px){.fw-grid{grid-template-columns:1fr}}

/* H79 tóm tắt nhanh */
.h79s{border:2px solid var(--line,#333);border-radius:14px;padding:14px 16px;margin:12px 0;font-size:1.15rem;line-height:1.5}
.h79s .t{font-size:1.45rem;font-weight:800;margin-bottom:8px}
.h79s .t.down{color:#ff5b5b}.h79s .t.up{color:#2ecc71}.h79s .t.side{color:#f5b041}
.h79s .z{padding:9px 12px;border-radius:10px;margin:6px 0;font-weight:700;word-break:break-word}
.h79s .z.sell{background:rgba(255,77,77,.14);border-left:5px solid #ff4d4d}
.h79s .z.buy{background:rgba(46,204,113,.14);border-left:5px solid #2ecc71}
.h79s .z b{font-size:1.2rem}.h79s .z .k{opacity:.75;font-weight:600;font-size:.9em}
.h79s .n{margin-top:8px;color:#f5b041;font-weight:600}
.h79s .p{margin-top:6px;font-size:.92rem;opacity:.85}
details.h79more{margin-top:12px}
details.h79more>summary{cursor:pointer;font-weight:700;font-size:1.05rem;padding:10px 14px;border:1px solid var(--line,#444);border-radius:10px;list-style:none}
details.h79more>summary::before{content:"▸ "}details.h79more[open]>summary::before{content:"▾ "}
@media(max-width:600px){.h79s{font-size:1.05rem;padding:12px}.h79s .t{font-size:1.3rem}}
@media(max-width:560px){.hdr .wrap{gap:8px}.hdr .brand{font-size:1rem;gap:6px;min-width:0}.hdr .brand img{width:28px;height:28px}}
.h79art{font-size:1.08rem;line-height:1.7;margin:10px 0 14px}.h79art h2{margin:0 0 10px}.h79art p{margin:0 0 10px}
.h79src{margin:12px 0}.h79src ul{padding-left:18px}.h79src a{word-break:break-word}

.h79img{margin:12px 0}.h79img img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line,#333)}
.h79mp{border:2px solid #f5b041;border-radius:14px;padding:14px 16px;margin:12px 0;background:linear-gradient(135deg,rgba(245,176,65,.10),rgba(245,176,65,.02))}
.h79mp h3{margin:0 0 6px;font-size:1.2rem;color:#f5b041}.h79mp p{margin:6px 0;line-height:1.55;font-size:1.02rem}
.h79mp .mp-asof{margin:0 0 8px;font-size:.8rem;line-height:1.35;color:var(--muted,#8d97a7)}
.h79mp .mp-cap{margin:0 0 8px;font-size:.78rem;line-height:1.35;color:var(--muted,#8d97a7)}
.h79mp .chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px;justify-content:flex-start}.h79mp .chip{border:1px solid var(--line,#444);border-radius:999px;padding:3px 10px;font-size:.88rem;white-space:nowrap;flex:0 1 auto;max-width:100%}
.h79mp .chip.up{color:#2ecc71;border-color:#2ecc71}.h79mp .chip.down{color:#ff5b5b;border-color:#ff5b5b}.h79mp .src{font-size:.85rem;opacity:.85;overflow-wrap:anywhere}.h79mp .src a{color:var(--gold,#f5b041)}
@media(max-width:600px){.h79mp{padding:12px}.h79mp p{font-size:.98rem}.h79mp .mp-asof,.h79mp .mp-cap{font-size:.75rem}.h79mp .chips{gap:5px}.h79mp .chip{font-size:.78rem;padding:3px 8px}}

.bt-box{padding:16px;margin:14px 0;background:linear-gradient(135deg,#fffbea,#fff);color:#1f2328;border:2px solid #f0b90b;border-radius:16px}.bt-box h3{margin:0 0 2px;color:#b07800}.bt-box .muted{color:#6b6f76}
.bt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:8px}.bt-g{min-width:0;background:#fff;border:1px solid #f3e2a6;border-radius:14px;padding:12px}.bt-g h4{margin:0 0 8px;font-size:1rem}
.bt-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bt-k{border-radius:12px;padding:8px 10px;min-width:0}.bt-k.ok{background:#e7f8ef;border:1px solid #9ee0bd}.bt-k.ok2{background:#e8f1ff;border:1px solid #a9c8f5}
.bt-k small,.bt-s>small{display:block;font-size:.76rem;font-weight:700;color:#555}.bt-k b{display:block;font-size:1.2rem;font-variant-numeric:tabular-nums}.bt-k span{font-size:.8rem;overflow-wrap:anywhere}
.bt-s{margin-top:10px}.bt-bar{display:grid;grid-template-columns:minmax(0,7.5em) 1fr 3.2em;align-items:center;gap:6px;font-size:.8rem;margin:4px 0}.bt-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-bar i{display:block;height:10px;border-radius:6px}.bt-bar b{text-align:right;font-variant-numeric:tabular-nums}
.bt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.bt-chip{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#fdecec;border:1px solid #f5b5b5;max-width:100%}.bt-chip.best{background:#e7f8ef;border-color:#16c784;font-weight:700}
.bt-note{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff4d6;font-size:.86rem;font-weight:600}
@media(max-width:640px){.vg-b .tbl{font-size:.72rem}.vg-b .tbl td,.vg-b .tbl th{padding:5px 2px}.vg-b .vg-ch{font-size:.7rem}}
