
    /* Manrope (SIL OFL) TỰ HOST — font chữ/số chuẩn toàn site. Webfont nên hiển thị GIỐNG NHAU trên Win/Mac/Linux/điện thoại. */
    @font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('/assets/fonts/manrope-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
    @font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('/assets/fonts/manrope-vietnamese.woff2') format('woff2'); unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
    @font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('/assets/fonts/manrope-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
    /* CHUYEN TRANG MUOT (user 22/09 "loc van thay tai trang"): View Transitions cho trang nhieu tai lieu --
       giu hinh trang cu toi khi trang moi ve xong roi chuyen lien mach, khong nhay trang. Chrome/Edge moi
       ho tro; trinh duyet khac bo qua (chay nhu cu). Nguoi dat "giam chuyen dong" -> tat. */
    @view-transition { navigation: auto; }
    @media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }
    /* priceChange24h is kept as a legacy payload marker; visible chg24 uses the 00:00 UTC session field. */
    :root {
      --font-display: "DIN Next", "Montserrat", Roboto, Arial, sans-serif;
      --font-body: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      --fd-font-display: var(--font-display);
      --fd-font-body: var(--font-body);
      --fd-type-critical-size: 26px;
      --fd-type-critical-weight: 700;
      --fd-type-primary-number-size: 21px;
      --fd-type-primary-number-weight: 650;
      --fd-type-section-title-size: 13px;
      --fd-type-section-title-weight: 650;
      --fd-type-table-header-size: 11px;
      --fd-type-table-value-size: 13px;
      --fd-type-context-size: 12px;
      --fd-type-context-weight: 500;
      --fd-color-primary-text: #E5E7EB;
      --fd-color-secondary-text: #9CA3AF;
      --fd-color-muted-text: #6B7280;
      --fd-color-positive: #1FBF86;
      --fd-color-negative: #F0515F;
      --fd-color-warning: #F0B90B;
      --fd-attention-critical-bg: rgba(240, 81, 95, 0.08);
      --fd-attention-important-bg: rgba(240, 185, 11, 0.06);
      --fd-tabular-numeric: "tnum" 1, "liga" 0;
      --fd-numeric-letter-spacing: 0;
      --bg: #0B0E11;
      --bg-lower: #0b0e11;
      --bg-soft: #161A1E;
      /* Hop chu thich dung chung -- xem khoi JS `fd-tip` ben duoi.
         ⚠ Phai dep o CA HAI NEN (user 26/09: "chu y ca 2 nen"). Dat mau bang
         BIEN cua tung nen chu khong cam cung mot mau: nen sang ma ve hop den
         thi cung choi y nhu hop trang tren nen toi. */
      --panel: #1e2329;
      --panel-2: #2B3139;
      --panel-3: #111417;
      --border: #2B3139;
      --border-soft: rgba(170, 176, 182, 0.12);
      --text: var(--fd-color-primary-text);
      --text-strong: var(--fd-color-primary-text);
      --text-soft: var(--fd-color-secondary-text);
      --brand: #00E6A6;
      --accent: #F0B90B;
      --good: var(--fd-color-positive);
      --bad: var(--fd-color-negative);
      --warn: var(--fd-color-warning);
    }

    /* ⚠ KHOI NAY NAM TRONG f-string: MOI ngoac nhon phai NHAN DOI, neu khong
       Python doc phan trong ngoac la mot o thay the va bao
       "NameError: name 'position' is not defined". Da vap dung loi do luc viet
       -- ke ca trong chinh cau chu thich nay. */
    #fd-tip {
      position: fixed; z-index: 100000; display: none; pointer-events: none;
      max-width: 320px; padding: 7px 10px; border-radius: 8px;
      font-size: 11.5px; font-weight: 500; line-height: 1.45;
      white-space: pre-line;
      background: var(--panel-3); color: var(--text-strong);
      /* ⚠ `--border` chu khong `--line`: `--line` KHONG ton tai trong vo trang,
         dung no la vien bien mat. Da kiem ca hai nen deu co `--border`. */
      border: 1px solid var(--border); box-shadow: 0 6px 22px rgba(0,0,0,.38);
    }
    /* ===== BẢNG MÀU SÁNG (đợt 1: chrome + bảng + panel; chart/1 số literal tối chỉnh đợt sau) =====
       Đè mọi biến trên html[data-theme=light] (specificity > :root) -> áp cả shell lẫn markets. Dark mode KHÔNG đổi. */
    /* MENU THA XUONG CUA <select> DO TRINH DUYET VE, no chi nhin `color-scheme`.
       Giao dien toi TRUOC DAY khong he khai bao (do duoc: "normal") -> trinh duyet
       coi nhu SANG va ve menu NEN TRANG giua trang den (user gui anh 13/09).
       Mot dong nay chua cho MOI o chon, thanh cuon va o chon ngay tren toan site. */
    html:not([data-theme="light"]) { color-scheme: dark; }
    html[data-theme="light"] {
      color-scheme: light;
      --fd-color-primary-text: #1a1d23; --fd-color-secondary-text: #4b5563; --fd-color-muted-text: #6b7280;
      --bg: #f3f5f8; --bg-lower: #f3f5f8; --bg-soft: #ffffff; --panel: #ffffff; --panel-2: #eaeef3; --panel-3: #f1f4f7;
      --border: #d6dbe3; --border-soft: rgba(15,23,42,0.12);
      --text: #1a1d23; --text-strong: #0f1115; --text-soft: #4b5563;
      --fd-bg: #f3f5f8; --fd-panel: #ffffff; --fd-panel-soft: #f1f4f7; --fd-border: rgba(15,23,42,0.14);
      --markets-app-bg: #f3f5f8; --markets-panel-surface: #ffffff; --markets-surface-elevated: #ffffff; --markets-surface-deep: #eef2f6;
      --markets-border: rgba(15,23,42,0.14);
      --markets-card-surface: rgba(15,23,42,0.025); --markets-card-border: rgba(15,23,42,0.14);
      --markets-card-hover: rgba(15,23,42,0.05); --markets-card-border-hover: rgba(15,23,42,0.24);
      --markets-ai-card-surface: rgba(15,23,42,0.035); --markets-ai-card-border: rgba(15,23,42,0.14); --markets-ai-card-divider: rgba(15,23,42,0.12);
      --markets-menu-surface: #ffffff; --markets-menu-row-active: #eaeef3;
      --markets-text-primary: #1a1d23; --markets-text-secondary: #4b5563; --markets-text-muted: #6b7280;
      --markets-menu-surface-2: #ffffff;
      /* Xanh/do/vang cho NEN SANG — cung bo voi tab Tong quan
         (ui/flow_visualization.py). Bo goc o :root chon cho nen DEN,
         dat len nen trang thi chu nhat, kho doc (tuong phan 2,18 va 2,97).
         Doi o BIEN thi moi noi doc qua bien tu dung theo. */
      --fd-color-positive: #00875A; --fd-color-negative: #CC2936;
      --fd-color-warning: #9D7907;
      --fd-tone-up: #00875A; --fd-tone-down: #CC2936; --fd-tone-muted: #6B7280;
      --fd-attention-critical-bg: rgba(204, 41, 54, 0.07);
      --fd-attention-important-bg: rgba(157, 121, 7, 0.07);
    }
    html[data-theme="light"] body { background: #f3f5f8; color: #1a1d23; }
    html[data-theme="light"] [style*="color:#16c784" i],
    html[data-theme="light"] [style*="color: #16c784" i] { color: #00875A !important; }
    html[data-theme="light"] [style*="color:#0ecb81" i],
    html[data-theme="light"] [style*="color: #0ecb81" i] { color: #00875A !important; }
    html[data-theme="light"] [style*="color:#1fbf86" i],
    html[data-theme="light"] [style*="color: #1fbf86" i] { color: #00875A !important; }
    html[data-theme="light"] [style*="color:#2ebd85" i],
    html[data-theme="light"] [style*="color: #2ebd85" i] { color: #00875A !important; }
    html[data-theme="light"] [style*="color:#00c076" i],
    html[data-theme="light"] [style*="color: #00c076" i] { color: #00875A !important; }
    html[data-theme="light"] [style*="color:#26a69a" i],
    html[data-theme="light"] [style*="color: #26a69a" i] { color: #00875A !important; }
    html[data-theme="light"] [style*="color:#f6465d" i],
    html[data-theme="light"] [style*="color: #f6465d" i] { color: #CC2936 !important; }
    html[data-theme="light"] [style*="color:#f0515f" i],
    html[data-theme="light"] [style*="color: #f0515f" i] { color: #CC2936 !important; }
    html[data-theme="light"] [style*="color:#ff4d5e" i],
    html[data-theme="light"] [style*="color: #ff4d5e" i] { color: #CC2936 !important; }
    html[data-theme="light"] [style*="color:#ea3943" i],
    html[data-theme="light"] [style*="color: #ea3943" i] { color: #CC2936 !important; }
    html[data-theme="light"] [style*="color:#f0b90b" i],
    html[data-theme="light"] [style*="color: #f0b90b" i] { color: #9D7907 !important; }
    html[data-theme="light"] [style*="color:#fbbf24" i],
    html[data-theme="light"] [style*="color: #fbbf24" i] { color: #9D7907 !important; }
    html[data-theme="light"] [style*="color:#f5c518" i],
    html[data-theme="light"] [style*="color: #f5c518" i] { color: #9D7907 !important; }
    html[data-theme="light"] [style*="color:#d7dde5" i],
    html[data-theme="light"] [style*="color: #d7dde5" i] { color: #1a1d23 !important; }
    html[data-theme="light"] [style*="color:#eaecef" i],
    html[data-theme="light"] [style*="color: #eaecef" i] { color: #1a1d23 !important; }
    html[data-theme="light"] [style*="color:#848e9c" i],
    html[data-theme="light"] [style*="color: #848e9c" i] { color: #5b6470 !important; }
    html[data-theme="light"] [style*="color:#7c8698" i],
    html[data-theme="light"] [style*="color: #7c8698" i] { color: #5b6470 !important; }
    html[data-theme="light"] [style*="color:#2ecc9a" i],
    html[data-theme="light"] [style*="color: #2ecc9a" i] { color: #00875A !important; }
    html[data-theme="light"] [style*="--text-muted"] { color: #5b6470 !important; }
    html[data-theme="light"] [style*="background:rgba(255,255,255,.06)" i],
    html[data-theme="light"] [style*="background: rgba(255,255,255,.06)" i] { background-color: rgba(15,23,42,.06) !important; }
    html[data-theme="light"] [style*="color:#cf304a" i],
    html[data-theme="light"] [style*="color: #cf304a" i] { color: #CC2936 !important; }
    /* thanh cuộn sáng */
    html[data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); }
    html[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.32); }
    * { box-sizing: border-box; }
    /* CHUẨN thanh cuộn TOÀN SITE = kiểu cột danh sách tài sản bên trái: MẢNH 6px, mờ, bo tròn, nền trong suốt.
       QUAN TRỌNG: Chrome 121+ nếu thấy scrollbar-width/scrollbar-color sẽ BỎ QUA ::-webkit và vẽ thanh chuẩn (to/sáng hơn).
       => Chrome/Edge/Safari dùng ::-webkit (6px); CHỈ Firefox mới đặt scrollbar-width (qua @-moz-document) để không phá Chrome. */
    ::-webkit-scrollbar { width: 6px; height: 6px; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); border-radius: 999px; }
    ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.26); }
    ::-webkit-scrollbar-corner { background: transparent; }
    @-moz-document url-prefix() { * { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,0.14) transparent; } }
    body {
      margin: 0;
      padding: 0;
      background: var(--bg);
      color: var(--text);
      font-family: var(--font-body);
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; }
    button { cursor: pointer; border: none; background: none; font-family: inherit; }

    .shell {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
      max-width: 1560px;
      margin: 0 auto;
      padding: 0 16px 40px;
    }
    .shell.is-full-width {
      max-width: 1600px !important;
      padding-left: clamp(20px, 2vw, 40px);
      padding-right: clamp(20px, 2vw, 40px);
    }

    /* Thanh nav von o lop 100. Khi chuong thong bao chuyen len day, bang thong bao cua no
       nam TRONG lop do nen bi noi dung trang (lop cao hon) de len -- bam thay mo nhung khong
       nhin thay gi. Nang lop chi tren nhung trang thuc su co chuong o day. */
    .shell-header:has(.markets-alert-wrap) { z-index: 10050; }
    .shell-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: var(--bg);
      padding: 5px 0;
      border-bottom: 1px solid var(--border-soft);
    }
    .shell-header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }
    .shell-header-left { display: flex; align-items: center; gap: 20px; }

    .brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
    .brand-wordmark-image {
      display: block;
      height: 25px;
      width: auto;
      transform: translateZ(0);
      will-change: transform, opacity;
      color: var(--fd-color-primary-text, #E5E7EB);
    }
    /* Chữ "Flo"/"Decode" trong logo = Manrope (tự host, đồng bộ font app); currentColor -> tự đổi sáng/tối. W hai màu cố định. */
    .brand-wm-text { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 62px; letter-spacing: -1px; fill: currentColor; }
    .shell-visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
      border: 0;
    }

    /* Khong bao gio de thanh tab xuong hai hang (07/09). Duoi 820px da co luat cuon
       ngang tu truoc; nhung tu 820px den ~1460px thi khong co gi chan, ma tu khi them
       tab thu 9 (OI Heatmap) thi day dung la khoang de vo nhat. Chu khong xuong dong +
       thua thi cuon ngang: khi man hinh du rong thi KHONG doi gi ca. */
    .shell-nav { display: flex; align-items: center; gap: 10px; min-width: 0;
                  overflow-x: auto; }
    .shell-nav::-webkit-scrollbar { height: 0; }
    .shell-nav-link { white-space: nowrap; }
  /* ===== BANG THONG BAO COOKIE (them 03/09/2026, sua bo cuc cung ngay) =====
     User chot: GIUA DAY trang, the TRONG SUOT, chu gon trong khoang 2 dong.
     - Giua day: left 50% + translateX(-50%). Khong dat goc trai nua.
     - Trong suot: nen rgba + backdrop-filter blur -> nhin xuyen thay bang so ben
       duoi, khong che mat du lieu. Vien va bong deu rat nhe.
     - 2 dong: xep NGANG (chu ben trai, nut ben phai) va noi rong toi 760px.
       Xep doc nhu ban truoc thi chu bi bo hep -> thanh 4-5 dong.
     - Tren dien thoai (<=640px) tu xep lai thanh doc, keo rong sat hai mep. */
  .fd-cookie {
    position: fixed; left: 50%; transform: translateX(-50%);
    bottom: 18px; z-index: 99998;
    width: min(760px, calc(100vw - 28px));
    padding: 12px 16px; border-radius: 12px;
    background: rgba(18, 22, 29, 0.72);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border: 1px solid rgba(127, 127, 127, 0.20);
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.30);
    color: var(--fd-text, #eaecef); font-size: 12.5px; line-height: 1.55;
    display: flex; align-items: center; gap: 16px;
  }
  .fd-cookie[hidden] { display: none; }

  /* ===== LOGO TOI TREN NEN TOI (13/09) =====
     Sinh tu congviecai/logo_toi.py -- xem chu thich o do.
     135 logo qua toi -> vong vien sang; trong do 43 logo vua toi vua co
     nen trong suot -> lot them nen sang. */
  html:not([data-theme="light"]) :is(
    img[src*="/coins/images/102171777/"],
    img[src*="/coins/images/102171854/"],
    img[src*="/coins/images/102172005/"],
    img[src*="/coins/images/102173394/"],
    img[src*="/coins/images/102173708/"],
    img[src*="/coins/images/102173974/"],
    img[src*="/coins/images/102174107/"],
    img[src*="/coins/images/102174378/"],
    img[src*="/coins/images/102175613/"],
    img[src*="/coins/images/10775/"],
    img[src*="/coins/images/12171/"],
    img[src*="/coins/images/12335/"],
    img[src*="/coins/images/12390/"],
    img[src*="/coins/images/12451/"],
    img[src*="/coins/images/12493/"],
    img[src*="/coins/images/12713/"],
    img[src*="/coins/images/12921/"],
    img[src*="/coins/images/13079/"],
    img[src*="/coins/images/13245/"],
    img[src*="/coins/images/13395/"],
    img[src*="/coins/images/14571/"],
    img[src*="/coins/images/1481/"],
    img[src*="/coins/images/15595/"],
    img[src*="/coins/images/15861/"],
    img[src*="/coins/images/17233/"],
    img[src*="/coins/images/17753/"],
    img[src*="/coins/images/18024/"],
    img[src*="/coins/images/18125/"],
    img[src*="/coins/images/203/"],
    img[src*="/coins/images/21061/"],
    img[src*="/coins/images/23717/"],
    img[src*="/coins/images/24413/"],
    img[src*="/coins/images/2523/"],
    img[src*="/coins/images/26149/"],
    img[src*="/coins/images/26580/"],
    img[src*="/coins/images/28205/"],
    img[src*="/coins/images/28206/"],
    img[src*="/coins/images/28453/"],
    img[src*="/coins/images/29215/"],
    img[src*="/coins/images/3014/"],
    img[src*="/coins/images/30162/"],
    img[src*="/coins/images/30376/"],
    img[src*="/coins/images/30929/"],
    img[src*="/coins/images/31632/"],
    img[src*="/coins/images/33228/"],
    img[src*="/coins/images/33453/"],
    img[src*="/coins/images/3406/"],
    img[src*="/coins/images/34188/"],
    img[src*="/coins/images/34289/"],
    img[src*="/coins/images/34367/"],
    img[src*="/coins/images/35801/"],
    img[src*="/coins/images/35893/"],
    img[src*="/coins/images/35958/"],
    img[src*="/coins/images/35972/"],
    img[src*="/coins/images/3688/"],
    img[src*="/coins/images/37327/"],
    img[src*="/coins/images/37509/"],
    img[src*="/coins/images/37754/"],
    img[src*="/coins/images/37869/"],
    img[src*="/coins/images/38043/"],
    img[src*="/coins/images/385/"],
    img[src*="/coins/images/39082/"],
    img[src*="/coins/images/39699/"],
    img[src*="/coins/images/39850/"],
    img[src*="/coins/images/39901/"],
    img[src*="/coins/images/40094/"],
    img[src*="/coins/images/5000/"],
    img[src*="/coins/images/50717/"],
    img[src*="/coins/images/50767/"],
    img[src*="/coins/images/50867/"],
    img[src*="/coins/images/50891/"],
    img[src*="/coins/images/51091/"],
    img[src*="/coins/images/51289/"],
    img[src*="/coins/images/51440/"],
    img[src*="/coins/images/52547/"],
    img[src*="/coins/images/52778/"],
    img[src*="/coins/images/53178/"],
    img[src*="/coins/images/542/"],
    img[src*="/coins/images/54274/"],
    img[src*="/coins/images/54411/"],
    img[src*="/coins/images/54734/"],
    img[src*="/coins/images/55027/"],
    img[src*="/coins/images/55092/"],
    img[src*="/coins/images/55124/"],
    img[src*="/coins/images/55161/"],
    img[src*="/coins/images/55294/"],
    img[src*="/coins/images/55349/"],
    img[src*="/coins/images/55506/"],
    img[src*="/coins/images/613/"],
    img[src*="/coins/images/66537/"],
    img[src*="/coins/images/67034/"],
    img[src*="/coins/images/67194/"],
    img[src*="/coins/images/67430/"],
    img[src*="/coins/images/67595/"],
    img[src*="/coins/images/67664/"],
    img[src*="/coins/images/67765/"],
    img[src*="/coins/images/67822/"],
    img[src*="/coins/images/68061/"],
    img[src*="/coins/images/68410/"],
    img[src*="/coins/images/68422/"],
    img[src*="/coins/images/68423/"],
    img[src*="/coins/images/68577/"],
    img[src*="/coins/images/68774/"],
    img[src*="/coins/images/68908/"],
    img[src*="/coins/images/68972/"],
    img[src*="/coins/images/69053/"],
    img[src*="/coins/images/69110/"],
    img[src*="/coins/images/692/"],
    img[src*="/coins/images/69277/"],
    img[src*="/coins/images/69318/"],
    img[src*="/coins/images/69339/"],
    img[src*="/coins/images/69491/"],
    img[src*="/coins/images/69521/"],
    img[src*="/coins/images/69595/"],
    img[src*="/coins/images/69601/"],
    img[src*="/coins/images/69728/"],
    img[src*="/coins/images/69848/"],
    img[src*="/coins/images/69994/"],
    img[src*="/coins/images/70014/"],
    img[src*="/coins/images/70273/"],
    img[src*="/coins/images/70544/"],
    img[src*="/coins/images/70681/"],
    img[src*="/coins/images/70693/"],
    img[src*="/coins/images/70974/"],
    img[src*="/coins/images/71015/"],
    img[src*="/coins/images/71025/"],
    img[src*="/coins/images/71027/"],
    img[src*="/coins/images/71121/"],
    img[src*="/coins/images/71128/"],
    img[src*="/coins/images/71660/"],
    img[src*="/coins/images/752/"],
    img[src*="/coins/images/788/"],
    img[src*="/coins/images/863/"],
    img[src*="/coins/images/9568/"],
    img[src*="/coins/images/9644/"]
  ) {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.42);
    border-radius: 50%;
  }
  html:not([data-theme="light"]) :is(
    img[src*="/coins/images/102171777/"],
    img[src*="/coins/images/102171854/"],
    img[src*="/coins/images/102173708/"],
    img[src*="/coins/images/102174378/"],
    img[src*="/coins/images/10775/"],
    img[src*="/coins/images/12335/"],
    img[src*="/coins/images/12390/"],
    img[src*="/coins/images/12713/"],
    img[src*="/coins/images/13079/"],
    img[src*="/coins/images/13245/"],
    img[src*="/coins/images/15861/"],
    img[src*="/coins/images/17233/"],
    img[src*="/coins/images/17753/"],
    img[src*="/coins/images/23717/"],
    img[src*="/coins/images/24413/"],
    img[src*="/coins/images/26149/"],
    img[src*="/coins/images/26580/"],
    img[src*="/coins/images/3014/"],
    img[src*="/coins/images/31632/"],
    img[src*="/coins/images/33228/"],
    img[src*="/coins/images/3406/"],
    img[src*="/coins/images/3688/"],
    img[src*="/coins/images/37754/"],
    img[src*="/coins/images/37869/"],
    img[src*="/coins/images/38043/"],
    img[src*="/coins/images/385/"],
    img[src*="/coins/images/39901/"],
    img[src*="/coins/images/50767/"],
    img[src*="/coins/images/53178/"],
    img[src*="/coins/images/542/"],
    img[src*="/coins/images/613/"],
    img[src*="/coins/images/67430/"],
    img[src*="/coins/images/67664/"],
    img[src*="/coins/images/68061/"],
    img[src*="/coins/images/68972/"],
    img[src*="/coins/images/69053/"],
    img[src*="/coins/images/692/"],
    img[src*="/coins/images/69318/"],
    img[src*="/coins/images/69339/"],
    img[src*="/coins/images/752/"],
    img[src*="/coins/images/788/"],
    img[src*="/coins/images/863/"],
    img[src*="/coins/images/9644/"]
  ) {
    background: #ffffff;
    border-radius: 50%;
  }



  /* NEN SANG (do 13/09): dai cookie co nen TOI cung, con mau chu thi theo bien
     -> sang nen sang thanh chu den tren nen den, tuong phan 1,07 = mat hut.
     Cho ca dai thanh nen sang de khop phan con lai cua trang. */
  html[data-theme="light"] .fd-cookie {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(15, 23, 42, 0.16);
    box-shadow: 0 8px 26px rgba(15, 23, 42, 0.14);
    color: #1a1d23;
  }
  html[data-theme="light"] .fd-cookie a { color: #00794c; }
  html[data-theme="light"] .fd-cookie-nut { color: #00794c; border-color: rgba(0, 121, 76, 0.45); }
  html[data-theme="light"] .fd-cookie-nut:hover { color: #ffffff; }
  .fd-cookie-chu { flex: 1 1 auto; min-width: 0; }
  .fd-cookie a { color: var(--fd-green, #0ecb81); text-decoration: none; }
  .fd-cookie a:hover { text-decoration: underline; }
  .fd-cookie-nut {
    flex: 0 0 auto; padding: 8px 16px; border-radius: 8px;
    border: 1px solid var(--fd-green, #0ecb81);
    background: transparent; color: var(--fd-green, #0ecb81);
    font-size: 12px; font-weight: 700; cursor: pointer; font-family: inherit;
    white-space: nowrap;
  }
  .fd-cookie-nut:hover { background: var(--fd-green, #0ecb81); color: #0b0e11; }
  @media (max-width: 640px) {
    .fd-cookie { flex-direction: column; align-items: flex-start; gap: 10px;
      bottom: 10px; width: calc(100vw - 20px); }
  }
    .shell-nav-link {
      display: inline-flex;
      align-items: center;
      min-height: 32px;
      padding: 0 8px;
      border-radius: 6px;
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 500;
      transition: color 0.2s;
    }
    .shell-nav-link:hover { color: var(--text-strong); }
    /* Nhan nguon du lieu (Binance): la NHAN chu khong phai nut bam. Khong doi mau khi
       re chuot va khong doi con tro -- neu de giong nut thi nguoi dung van thu bam va
       tuong hong. Mo hon cac muc dieu huong de mat khong nham no la mot tab.        */
    .shell-nav-link--nguon {
      color: var(--text-muted, rgba(148, 163, 184, 0.72));
      cursor: default;
      font-weight: 600;
      gap: 6px;
    }
    .shell-nav-link--nguon:hover { color: var(--text-muted, rgba(148, 163, 184, 0.72)); }
    .shell-nav-link.is-active {
      color: var(--text-strong);
      background: rgba(234, 236, 239, 0.045);
    }
    .shell-nav-dropdown {
      position: relative;
      display: inline-flex;
      align-items: center;
    }
    .shell-nav-dropdown::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      height: 8px;
    }
    .shell-nav-trigger {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 32px;
      padding: 0 8px;
      border-radius: 6px;
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 500;
      line-height: 1;
      white-space: nowrap;
    }
    .shell-nav-trigger--icon {
      width: 32px;
      padding: 0;
    }
    .shell-nav-trigger:hover,
    .shell-nav-trigger.is-active,
    .shell-nav-dropdown.is-active > .shell-nav-trigger {
      color: var(--text-strong);
      background: rgba(234, 236, 239, 0.045);
    }
    .shell-nav-icon {
      width: 17px;
      height: 17px;
      display: block;
    }
    .shell-nav-chevron {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      color: currentColor;
      opacity: 0.86;
    }
    .shell-nav-chevron svg {
      width: 16px;
      height: 16px;
      display: block;
    }
    .shell-nav-menu {
      position: absolute;
      left: 0;
      top: calc(100% + 8px);
      z-index: 80;
      display: none;
      min-width: 190px;
      padding: 8px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: #0B0F14;
    }
    .shell-nav-dropdown:hover .shell-nav-menu,
    .shell-nav-dropdown.is-open .shell-nav-menu,
    .shell-nav-dropdown:focus-within .shell-nav-menu {
      display: grid;
      gap: 4px;
    }
    .shell-dropdown-item {
      display: flex;
      align-items: center;
      min-height: 30px;
      padding: 6px 8px;
      border-radius: 6px;
      color: var(--text);
      font-size: 13px;
      font-weight: 600;
      white-space: nowrap;
    }
    .shell-dropdown-item:hover,
    .shell-dropdown-item.is-active {
      background: rgba(166, 255, 0, 0.08);
      color: var(--text-strong);
    }
    .shell-dropdown-item.is-disabled {
      opacity: 0.55;
      pointer-events: none;
    }

    .shell-controls { display: flex; align-items: center; gap: 6px; }
    /* Ô lọc coin trong tab đang xem (dùng chung mọi trang có bảng tr[data-sym]).
       TRUOC DAY .shell-theme-button va .shell-language-button bi dinh vao dau danh sach chon nay,
       nen chung an luon position:fixed + display:none cua o loc -> nut doi ngon ngu va nut sang/toi
       BIEN MAT khoi thanh dau trang (user bao 17/08). Tach ra, khong gop chung nua. */
    #shell-tab-filter {
      position: fixed; top: 58px; left: 50%; transform: translateX(-50%) translateY(-8px);
      z-index: 9000; display: none; flex-direction: column; width: 340px;
      border-radius: 10px;
      background: var(--fd-surface-raised, #16181d);
      border: 1px solid var(--fd-border, rgba(255,255,255,0.10));
      box-shadow: 0 12px 32px rgba(0,0,0,0.45);
      opacity: 0; transition: opacity .12s ease, transform .12s ease;
    }
    #shell-tab-filter.is-open { display: flex; opacity: 1; transform: translateX(-50%) translateY(0); }
    #shell-tab-filter-bar { display: flex; align-items: center; gap: 8px; padding: 7px 8px 7px 12px; }
    #shell-tab-filter-body { max-height: 320px; overflow-y: auto; padding: 0 6px 6px; }
    #shell-tab-filter-body:empty { display: none; }
    .shell-tab-filter-label {
      font: 600 10px/1 inherit; letter-spacing: .04em; text-transform: uppercase;
      color: var(--fd-text-muted, #848E9C); padding: 8px 6px 6px;
    }
    .shell-tab-filter-chips { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 6px 4px; }
    .shell-tab-filter-chip {
      cursor: pointer; padding: 4px 9px; border-radius: 999px; font: 600 11px/1 inherit;
      color: var(--fd-text-secondary, #B7BDC6);
      background: var(--fd-surface-inset, rgba(255,255,255,0.05));
      border: 1px solid var(--fd-border, rgba(255,255,255,0.08));
    }
    .shell-tab-filter-chip:hover { color: var(--fd-text-primary, #EAECEF); border-color: var(--fd-accent, #F0B90B); }
    .shell-tab-filter-item {
      display: flex; align-items: baseline; gap: 8px; cursor: pointer;
      padding: 7px 8px; border-radius: 6px;
    }
    .shell-tab-filter-item:hover { background: var(--fd-surface-inset, rgba(255,255,255,0.06)); }
    .shell-tab-filter-item b { font: 700 12px/1 inherit; color: var(--fd-text-primary, #EAECEF); }
    .shell-tab-filter-item span { font: 500 10px/1 inherit; color: var(--fd-text-muted, #848E9C); }
    .shell-tab-filter-empty { padding: 14px 8px; text-align: center; font: 500 12px/1.4 inherit; color: var(--fd-text-muted, #848E9C); }
    #shell-tab-filter-input {
      width: 260px; border: 0; outline: 0; background: transparent; font: 500 13px/1.3 inherit;
      color: var(--fd-text-primary, #EAECEF);
    }
    #shell-tab-filter-input::placeholder { color: var(--fd-text-muted, #848E9C); }
    #shell-tab-filter-input::-webkit-search-cancel-button { display: none; }
    #shell-tab-filter-count {
      min-width: 34px; text-align: right; font: 600 11px/1 inherit;
      color: var(--fd-text-muted, #848E9C); font-variant-numeric: tabular-nums;
    }
    #shell-tab-filter-count[data-empty="1"] { color: var(--fd-bearish, #F6465D); }
    #shell-tab-filter-close {
      border: 0; background: transparent; cursor: pointer; padding: 2px 4px; line-height: 1;
      color: var(--fd-text-muted, #848E9C); font-size: 12px; border-radius: 4px;
    }
    #shell-tab-filter-close:hover { color: var(--fd-text-primary, #EAECEF); background: rgba(255,255,255,0.06); }

    .shell-search-toggle,
    .shell-watchlist-toggle,
    .shell-theme-button,
    .shell-language-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      min-height: 30px;
      padding: 0;
      border: 0;
      border-radius: 0;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 700;
      background: transparent;
      position: relative;
      font-size: 0;
      box-shadow: none;
      transition: color 0.18s ease, opacity 0.18s ease;
    }
    .shell-theme-button:hover,
    .shell-language-button:hover,
    .shell-search-toggle:hover,
    .shell-watchlist-toggle:hover,
    .shell-theme-button:focus-visible,
    .shell-language-button:focus-visible,
    .shell-search-toggle:focus-visible,
    .shell-watchlist-toggle:focus-visible {
      background: transparent;
      border-color: transparent;
      color: var(--text-strong);
      box-shadow: none;
      outline: none;
    }
    .shell-theme-button svg,
    .shell-language-button svg,
    .shell-search-toggle svg {
      width: 16px;
      height: 16px;
      display: block;
    }
    .shell-search-toggle::before,
    .shell-watchlist-toggle::before,
    .shell-language-button::before,
    .shell-theme-button::before {
      content: "";
      display: block;
      width: 16px;
      height: 16px;
      background: currentColor;
      opacity: 0.9;
    }
    .shell-watchlist-toggle::before {
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.7 5.85 6.3.55-4.78 4.18 1.44 6.22L12 16.9 6.34 19.4l1.44-6.22L3 9l6.3-.55Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.7 5.85 6.3.55-4.78 4.18 1.44 6.22L12 16.9 6.34 19.4l1.44-6.22L3 9l6.3-.55Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .shell-watchlist { position: relative; display: inline-flex; align-items: center; }
    .shell-watchlist-toggle.has-items::before { background: #F0B90B; opacity: 1; }
    /* Tooltip nền TỐI cho các icon điều khiển header (thay title= native vẽ nền TRẮNG trên nền tối). */
    .shell-controls [data-shell-tip] { position: relative; }
    .shell-controls [data-shell-tip]::after {
      content: attr(data-shell-tip);
      position: absolute; top: calc(100% + 7px); left: 50%; transform: translateX(-50%);
      background: #1b2230; color: #E6E9EF; border: 1px solid rgba(255,255,255,0.10);
      padding: 5px 9px; border-radius: 7px; font-size: 12px; font-weight: 600; line-height: 1.15;
      white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden;
      transition: opacity .12s ease, visibility .12s ease; z-index: 6000;
      box-shadow: 0 8px 24px rgba(0,0,0,0.45);
    }
    .shell-controls [data-shell-tip]:hover::after,
    .shell-controls [data-shell-tip]:focus-visible::after { opacity: 1; visibility: visible; }
    html[data-theme="light"] .shell-controls [data-shell-tip]::after { background: #ffffff; color: #1a1d23; border-color: rgba(15,23,42,0.14); box-shadow: 0 8px 24px rgba(15,23,42,0.18); }
    html[data-theme="light"] .sub-complain-ic::after { background: #ffffff; color: #1a1d23; border-color: rgba(15,23,42,0.14); }
    /* Icon sát mép phải: kéo tooltip vào trong để không tràn khỏi màn hình. */
    .shell-controls .shell-language [data-shell-tip]::after,
    .shell-controls .shell-theme-button[data-shell-tip]::after { left: auto; right: 0; transform: none; }
    .shell-watchlist-count {
      position: absolute; top: -3px; right: -4px; min-width: 14px; height: 14px;
      padding: 0 3px; border-radius: 7px; background: #F0B90B; color: #11161c;
      font-size: 9px; font-weight: 800; line-height: 14px; text-align: center; pointer-events: none;
    }
    .shell-watchlist-panel {
      position: absolute; top: calc(100% + 10px); right: 0; width: 320px; overflow: hidden;
      padding: 8px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.12);
      background: rgba(15,20,26,0.96); box-shadow: 0 16px 40px rgba(0,0,0,0.6); backdrop-filter: blur(14px);
      z-index: 10060;
    }
    .shell-watchlist-panel[hidden] { display: none; }
    html[data-theme="light"] .shell-watchlist-panel { background: #ffffff; border-color: rgba(15,23,42,0.14); box-shadow: 0 16px 40px rgba(15,23,42,0.18); }
    html[data-theme="light"] .shell-watchlist-item:hover { background: rgba(15,23,42,0.05); }
    html[data-theme="light"] .shell-watchlist-item img { background: rgba(15,23,42,0.08); }
    /* NỀN SÁNG: dropdown ngôn ngữ (--surface-1 không swap) + menu nav (#0B0F14 cứng) */
    html[data-theme="light"] .shell-language-menu { background: #ffffff; border-color: rgba(15,23,42,0.12); box-shadow: 0 12px 28px rgba(15,23,42,0.16); }
    html[data-theme="light"] .shell-language-item:hover { background: rgba(15,23,42,0.06); }
    html[data-theme="light"] .shell-nav-menu { background: #ffffff; border-color: rgba(15,23,42,0.12); box-shadow: 0 12px 28px rgba(15,23,42,0.16); }
    html[data-theme="light"] .shell-dropdown-item:hover { background: rgba(15,23,42,0.06); }
    /* Mở MƯỢT (mờ + trượt + phóng nhẹ) kiểu CoinGlass/Ant -> thấy rõ. */
    @keyframes fdPopIn { from { opacity: 0; transform: translateY(-10px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
    .shell-watchlist-panel:not([hidden]) { transform-origin: top right; animation: fdPopIn .22s cubic-bezier(.12,.4,.29,1.3); }
    /* Chỉ DANH SÁCH cuộn (tiêu đề/tab đứng yên) + giới hạn chiều cao -> thanh cuộn NGẮN GỌN, không kéo dài hết trang. */
    .shell-watchlist-list { max-height: 340px; overflow-y: auto; }
    .shell-watchlist-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 6px 8px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--text-soft); }
    .shell-watchlist-item { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: 8px; cursor: pointer; color: var(--text-strong); }
    .shell-watchlist-item:hover { background: rgba(255,255,255,0.06); }
    .shell-watchlist-item img { width: 26px; height: 26px; border-radius: 50%; flex: 0 0 26px; background: #2a2e33; object-fit: cover; }
    .shell-wl-main { display: flex; flex-direction: column; gap: 1px; flex: 1 1 auto; min-width: 0; }
    .shell-watchlist-item-sym { font-size: 13px; font-weight: 800; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .shell-wl-mc { font-size: 10px; font-weight: 600; color: var(--text-soft); }
    .shell-wl-right { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; flex: 0 0 auto; margin-right: 2px; }
    .shell-wl-price { font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
    .shell-wl-chg { font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
    .shell-wl-chg.up { color: #2ebd85; }
    .shell-wl-chg.down { color: #f6465d; }
    .shell-wl-chg.flat { color: var(--text-soft); }
    .shell-watchlist-item-rm { flex: 0 0 auto; width: 20px; height: 20px; border: 0; background: transparent; color: var(--text-soft); cursor: pointer; font-size: 14px; line-height: 1; border-radius: 6px; }
    .shell-watchlist-item-rm:hover { background: rgba(255,73,97,0.18); color: #ff6b81; }
    .shell-watchlist-empty { padding: 18px 10px; text-align: center; color: var(--text-soft); font-size: 12px; }
    .shell-watchlist-all { display: block; width: 100%; margin: 0 0 6px; padding: 8px 10px; border: 1px solid rgba(0,230,166,0.50); border-radius: 8px; background: rgba(0,230,166,0.10); color: #00E6A6; font-size: 12px; font-weight: 700; letter-spacing: 0.02em; cursor: pointer; text-align: center; }
    .shell-watchlist-all:hover { background: rgba(0,230,166,0.16); }
    .shell-search-toggle::before {
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    }
    .shell-language-button::before {
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3c2.2 2.6 3.2 5.6 3.2 9s-1 6.4-3.2 9c-2.2-2.6-3.2-5.6-3.2-9S9.8 5.6 12 3Z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3c2.2 2.6 3.2 5.6 3.2 9s-1 6.4-3.2 9c-2.2-2.6-3.2-5.6-3.2-9S9.8 5.6 12 3Z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    }
    .shell-language { position: relative; display: inline-flex; }
    .shell-language-menu {
      position: absolute; top: calc(100% + 5px); right: 0; z-index: 1200;
      min-width: 128px; padding: 4px; border-radius: 8px;
      background: var(--surface-1, #11161f); border: 1px solid var(--border-soft, rgba(255,255,255,0.10));
      box-shadow: 0 12px 28px rgba(0,0,0,0.5); display: flex; flex-direction: column; gap: 1px;
    }
    .shell-language-menu[hidden] { display: none; }  /* display:flex ở trên đè [hidden] mặc định -> phải khai báo lại để menu ẩn được */
    .shell-language-item {
      display: flex; align-items: center; gap: 7px; width: 100%; padding: 5px 8px;
      background: transparent; border: 0; border-radius: 6px; cursor: pointer;
      color: var(--text-soft, #c7cdd8); font-size: 12.5px; line-height: 1.2; text-align: left; white-space: nowrap;
    }
    .shell-language-item:hover { background: rgba(255,255,255,0.06); color: var(--text-strong, #fff); }
    .shell-language-item.is-active { color: var(--brand, #00e6a6); font-weight: 600; }
    .shell-language-flag { font-size: 12px; line-height: 1; opacity: 0.85; }
    .shell-theme-button::before {
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 14.8A8 8 0 0 1 9.2 3.5 8.5 8.5 0 1 0 20.5 14.8Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 14.8A8 8 0 0 1 9.2 3.5 8.5 8.5 0 1 0 20.5 14.8Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    html[data-theme="light"] .shell-theme-button::before {
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    }

    .shell-auth-link {
      min-height: 30px;
      padding: 0 10px;
      border: 0;
      border-radius: 0;
      font-size: 13px;
      font-weight: 700;
      background: transparent;
      color: var(--text-soft);
      position: relative;
      box-shadow: none;
      transition: color 0.18s ease, opacity 0.18s ease;
    }
    .shell-auth-link:hover,
    .shell-auth-link:focus-visible {
      background: transparent;
      border-color: transparent;
      color: var(--text-strong);
      box-shadow: none;
      outline: none;
    }
    .shell-auth-link--primary {
      overflow: hidden;
      isolation: isolate;
      min-height: 32px;
      padding: 0 14px;
      border: 1px solid rgba(0, 230, 166, 0.38);
      border-radius: 6px;
      border-color: rgba(0, 230, 166, 0.38);
      background: #030712;
      color: var(--markets-text-primary);
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    }
    .shell-auth-link--primary::before {
      content: "";
      position: absolute;
      inset: -85%;
      z-index: -2;
      background: conic-gradient(from 0deg, transparent 0 36%, rgba(0, 230, 166, 0.08) 44%, rgba(0, 230, 166, 0.72) 50%, rgba(0, 230, 166, 0.08) 56%, transparent 64% 100%);
      opacity: 0.46;
      animation: shellRegisterRadiant 18s linear infinite;
      transform: rotate(0deg);
      will-change: transform;
    }
    .shell-auth-link--primary::after {
      content: "";
      position: absolute;
      inset: 1px;
      z-index: -1;
      border-radius: 5px;
      background: #030712;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    }
    .shell-auth-link--primary:hover,
    .shell-auth-link--primary:focus-visible {
      border-color: rgba(0, 230, 166, 0.58);
      color: var(--markets-text-primary);
      background: #030712;
      box-shadow: 0 10px 22px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(0, 230, 166, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.10);
    }
    .shell-auth-link--primary:hover::before,
    .shell-auth-link--primary:focus-visible::before {
      opacity: 0.58;
    }
    /* Nền SÁNG: nút "Đăng ký" đang đen (#030712) -> chọi nền trắng. Đổi thành nút xanh brand chữ trắng (primary rõ, hợp nền). */
    html[data-theme="light"] .shell-auth-link--primary {
      background: #0E9F6E;
      border-color: rgba(14, 159, 110, 0.55);
      color: #ffffff;
      box-shadow: 0 6px 14px rgba(14, 159, 110, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }
    html[data-theme="light"] .shell-auth-link--primary::after {
      background: #0E9F6E;
    }
    html[data-theme="light"] .shell-auth-link--primary:hover,
    html[data-theme="light"] .shell-auth-link--primary:focus-visible {
      background: #0C8A60;
      border-color: rgba(12, 138, 96, 0.7);
      color: #ffffff;
      box-shadow: 0 8px 18px rgba(14, 159, 110, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    }
    html[data-theme="light"] .shell-auth-link--primary:hover::after,
    html[data-theme="light"] .shell-auth-link--primary:focus-visible::after {
      background: #0C8A60;
    }

    .shell-menu { position: relative; }
    .shell-menu-panel {
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      width: 240px;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 8px 0;
      box-shadow: 0 8px 16px rgba(0,0,0,0.4);
    }
    .shell-menu-item {
      display: flex;
      align-items: center;
      width: 100%;
      padding: 10px 16px;
      font-size: 13px;
      color: var(--text);
    }
    .shell-menu-item:hover { background: var(--panel-2); }
    .shell-menu-item.is-disabled { opacity: 0.5; pointer-events: none; }

    /* Modal Styles */
    .modal-overlay {
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background: transparent;
      backdrop-filter: none;
      z-index: 1000;
      display: none;
      align-items: center;
      justify-content: center;
      pointer-events: none;
    }
    .modal-overlay.is-active { display: flex; }

    .modal-content {
      background: var(--bg-soft);
      border: 1px solid var(--border);
      border-radius: 12px;
      width: 100%;
      max-width: 400px;
      position: relative;
      pointer-events: auto;
    }
    .modal-panel {
      background: var(--bg-soft);
      border: 1px solid var(--border);
      border-radius: 12px;
      width: 100%;
      max-width: 400px;
      position: relative;
      pointer-events: auto;
    }
    .modal-overlay.is-active .modal-content,
    .modal-overlay.is-active .modal-panel {
      pointer-events: auto;
    }
    .modal-header { padding: 24px 24px 0; }
    .modal-title { font-size: 20px; font-weight: 700; color: var(--text-strong); margin-bottom: 8px; }
    .modal-subtitle { font-size: 14px; color: var(--text-soft); }
    .modal-close { position: absolute; top: 16px; right: 16px; font-size: 24px; color: var(--text-soft); cursor: pointer; }

    .form-group { margin: 16px 24px; }
    .form-label { display: block; font-size: 12px; color: var(--text-soft); margin-bottom: 6px; }
    .form-input {
      width: 100%;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 6px;
      padding: 10px 12px;
      color: var(--text-strong);
      font-size: 14px;
    }
    .form-input::placeholder { color: var(--text-soft); opacity: 0.7; }
    .form-input:hover { border-color: rgba(170, 176, 182, 0.28); }
    .form-input:focus { border-color: var(--accent); outline: none; }
    .form-input:-webkit-autofill,
    .form-input:-webkit-autofill:hover,
    .form-input:-webkit-autofill:focus {
      -webkit-text-fill-color: var(--text-strong);
      -webkit-box-shadow: 0 0 0 1000px var(--panel) inset;
      box-shadow: 0 0 0 1000px var(--panel) inset;
      caret-color: var(--text-strong);
      transition: background-color 9999s ease-in-out 0s;
    }
    .fdpw-wrap { position: relative; display: block; }
    .fdpw-wrap .form-input { padding-right: 40px; }
    .fdpw-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: transparent; border: 0; color: var(--text-soft); cursor: pointer; padding: 6px; display: flex; align-items: center; border-radius: 6px; }
    .fdpw-eye:hover { color: var(--text-strong); background: rgba(255,255,255,0.06); }
    .fdpw-eye.is-on { color: var(--accent); }
    .btn-primary {
      display: block; width: calc(100% - 48px); margin: 24px;
      background: var(--accent); color: #000;
      padding: 12px; border-radius: 4px; font-weight: 700; text-align: center;
    }
    .btn-google {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: calc(100% - 48px);
      margin: 16px 24px 0;
      padding: 11px 12px;
      border: 1px solid #dadce0;
      border-radius: 6px;
      background: #ffffff;
      color: #1f1f1f;
      font-weight: 700;
      font-size: 14px;
      text-align: center;
      cursor: pointer;
      transition: box-shadow .15s ease, background .15s ease;
    }
    .btn-google:hover { background: #f7f8fa; box-shadow: 0 1px 5px rgba(0,0,0,0.25); }
    .btn-google svg { flex: 0 0 auto; }
    .shell-gia-link { display: inline-flex; align-items: center; padding: 5px 11px;
      border: 1px solid #2f3742; border-radius: 7px; color: #E5E7EB; text-decoration: none;
      font-size: 12.5px; font-weight: 600; white-space: nowrap; }
    .shell-gia-link:hover { border-color: #26A69A; color: #26A69A; }
    .modal-footer { padding: 0 24px 24px; text-align: center; font-size: 13px; color: var(--text-soft); }
    .modal-link { color: var(--accent); font-weight: 600; }

    /* Settings specific */
    .settings-tab-btn {
      position: relative; width: 100%; padding: 10px 20px; text-align: left;
      color: var(--text-soft); font-size: 13.5px; font-weight: 500; letter-spacing: 0.01em;
      border-radius: 0; transition: color .15s, background .15s;
    }
    .settings-tab-btn:hover { background: rgba(255,255,255,0.045); color: var(--text-strong); }
    .settings-tab-btn.is-active { background: rgba(31,191,134,0.12); color: var(--good); font-weight: 600; }
    .settings-tab-btn.is-active::before { content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 3px; border-radius: 0 3px 3px 0; background: var(--good); }
    .settings-msg { font-size: 12.5px; margin-top: 10px; min-height: 16px; }
    .settings-msg.is-ok { color: #1FBF86; }
    .settings-msg.is-err { color: #F0515F; }
    .settings-pref-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 13.5px; color: var(--text-strong); cursor: pointer; }
    .settings-pref-row input { width: 16px; height: 16px; flex: 0 0 auto; accent-color: var(--good); cursor: pointer; }
    /* ===== Gói đăng ký ===== */
    .sub-current { font-size: 13.5px; color: var(--text-strong); background: var(--surface-soft, rgba(255,255,255,0.04)); border: 1px solid var(--border-soft); border-radius: 10px; padding: 12px 14px; margin-bottom: 16px; }
    .sub-current b { color: var(--good); }
    .sub-plans { display: block; }
    .sub-plan-luoi { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
    .sub-chuky { display: inline-flex; gap: 2px; padding: 3px; margin-bottom: 12px;
      background: #161b22; border: 1px solid #2f3742; border-radius: 9px; }
    .sub-chuky-btn { padding: 6px 14px; border: 0; border-radius: 7px; cursor: pointer;
      background: transparent; color: #848E9C; font-size: 12.5px; font-weight: 600; }
    .sub-chuky-btn.is-active { background: #39424f; color: #E5E7EB; }
    .sub-chuky-btn i { font-style: normal; color: #26A69A; font-size: 11px; margin-left: 3px; }
    .sub-plan-vnd { font-size: 11.5px; color: #848E9C; margin-top: -2px; }
    .sub-plan-dang { color: #26A69A; font-weight: 700; font-size: 11.5px; }
    .sub-plan-btn.is-giahan { background: #26A69A; color: #0B0F14; }
    .sub-plan { border: 1px solid var(--border-soft); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
    .sub-plan.is-vip { border-color: var(--good); }
    .sub-plan-name { font-size: 15px; font-weight: 800; color: var(--text-strong); }
    .sub-plan-price { font-size: 20px; font-weight: 800; color: var(--good); }
    .sub-plan-price small { font-size: 12px; font-weight: 600; color: var(--text-soft); }
    .sub-plan-desc { font-size: 12.5px; color: var(--text-soft); line-height: 1.5; flex: 1 1 auto; }
    .sub-plan-btn { margin-top: 8px; padding: 9px 12px; border: 0; border-radius: 8px; background: var(--good); color: #07130d; font-size: 13px; font-weight: 800; cursor: pointer; }
    .sub-plan-btn:hover { filter: brightness(1.07); }
    .sub-plan-btn:disabled { background: var(--surface-soft, rgba(255,255,255,0.08)); color: var(--text-soft); cursor: default; }
    .sub-methods { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
    .sub-method-btn { padding: 8px 12px; border: 1px solid var(--border-soft); border-radius: 8px; background: transparent; color: var(--text-strong); font-size: 12.5px; font-weight: 700; cursor: pointer; }
    .sub-method-btn.is-active { border-color: var(--good); color: var(--good); }
    .sub-method-btn:disabled { opacity: 0.5; cursor: default; }
    .sub-pay { margin-top: 16px; border: 1px solid var(--good); border-radius: 12px; padding: 16px; font-size: 13px; line-height: 1.7; }
    .sub-pay .sub-ref { font-weight: 800; color: var(--good); font-size: 15px; }
    .sub-pay img { max-width: 220px; margin-top: 10px; border-radius: 8px; }
    .sub-proof-label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid var(--border-soft); border-radius: 8px; background: rgba(255,255,255,0.05); color: var(--text-strong); font-size: 12.5px; font-weight: 600; cursor: pointer; transition: background .12s; }
    .sub-proof-label:hover { background: rgba(255,255,255,0.09); }
    .sub-complain-ic { position: relative; display: inline-flex; align-items: center; justify-content: center; margin-left: 8px; padding: 2px; border: 0; background: transparent; color: var(--text-soft); cursor: pointer; vertical-align: middle; }
    .sub-complain-ic:hover { color: #e0a800; }
    .sub-complain-ic::after { content: attr(data-tip); position: absolute; bottom: 135%; left: 50%; transform: translateX(-50%); background: #1c222b; color: #e5e7eb; font-size: 11px; font-weight: 600; padding: 3px 7px; border-radius: 5px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .12s; border: 1px solid var(--border-soft); z-index: 5; }
    .sub-complain-ic:hover::after { opacity: 1; }
    .sub-complain-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 100060; display: none; align-items: flex-start; justify-content: center; padding: 70px 16px; }
    .sub-complain-overlay.is-open { display: flex; }
    .sub-complain-modal { width: 100%; max-width: 440px; max-height: 82vh; overflow-y: auto; background: var(--bg-soft, #161A1E); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 18px 50px rgba(0,0,0,0.5); }
    .sub-complain-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--border-soft); font-size: 15px; font-weight: 700; color: var(--text-strong); }
    .sub-complain-x { background: transparent; border: 0; color: var(--text-soft); font-size: 20px; cursor: pointer; line-height: 1; }
    .sub-complain-body { padding: 14px 16px 18px; }
    .sub-complain-body textarea { font-family: inherit; font-size: 13px; }
    #sub-complain-send { background: var(--good, #1FBF86) !important; color: #07130d !important; border: 0; font-weight: 800; }
    #sub-complain-send:hover { filter: brightness(1.08); }
    .settings-session-item { display: flex; align-items: flex-start; gap: 14px; padding: 14px 2px; border-bottom: 1px solid var(--border-soft); font-size: 13px; }
    .settings-session-ico { flex: 0 0 auto; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; color: var(--text-soft); margin-top: 1px; }
    .settings-session-main { flex: 1; min-width: 0; }
    .settings-session-name { font-size: 13.5px; font-weight: 600; color: var(--text-strong); }
    .settings-session-meta { color: var(--text-soft); font-size: 12px; margin-top: 3px; line-height: 1.5; }
    .settings-session-cur { flex: 0 0 auto; color: #1FBF86; font-size: 12.5px; font-weight: 600; white-space: nowrap; padding-top: 4px; }
    .settings-session-revoke { flex: 0 0 auto; background: transparent; border: 1px solid var(--border); color: var(--text-strong); border-radius: 8px; padding: 6px 14px; cursor: pointer; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
    .settings-session-revoke:hover { border-color: #F0515F; color: #F0515F; }
    .settings-logout-all-row { display: flex; justify-content: flex-end; margin-top: 16px; }
    .settings-event-row { padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.04); font-size: 12px; }
    .fd-avatar-row { display: flex; align-items: center; gap: 18px; margin: 4px 0 22px; }
    .fd-avatar { flex: 0 0 auto; width: 72px; height: 72px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #2B3139, #1e2329); border: 1px solid var(--border); user-select: none; }
    .fd-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
    /* ===== CHUÔNG THÔNG BÁO DÙNG CHUNG CHO MỌI TAB =====
       User 20/09: "thông báo dùng chung cho tất cả các tab, tab nào cũng xem được".
       Trước đó chuông nằm BÊN TRONG trang Thị trường (nó TỰ DỌN chuông của mình vào
       ô trên thanh), nên mọi tab khác ô đó RỖNG.
       ⚠ KHÔNG bê chuông của trang Thị trường ra đây: nó dính hơn 20 hàm dựng của riêng
       trang đó. Chuông này TỰ CHỨA, chỉ gọi hai đường API có sẵn. */
    .fd-bell-wrap { position: relative; display: inline-flex; }
    .fd-bell-btn { display: inline-flex; align-items: center; justify-content: center;
      width: 30px; height: 30px; border: 0; background: transparent; cursor: pointer;
      color: var(--shell-text-soft, #94a3b8); border-radius: 8px; position: relative; }
    .fd-bell-btn:hover { color: var(--shell-text, #E7EBF1); background: rgba(255,255,255,.06); }
    /* Huy hiệu đếm: chép ĐÚNG kiểu của chuông trang Thị trường -- nền hổ phách mờ,
       chữ hổ phách, góc vuông 2px, KHÔNG phải chấm đỏ tròn. Hai nơi phải giống nhau. */
    .fd-bell-dot { position: absolute; top: -2px; right: -2px; min-width: 16px; height: 16px;
      padding: 0 4px; border-radius: 2px; background: rgba(224, 169, 59, 0.14);
      color: #E0A93B; font-size: 10px; font-weight: 650; line-height: 16px;
      text-align: center; font-style: normal; font-variant-numeric: tabular-nums; }
    .fd-bell-panel { position: absolute; top: calc(100% + 8px); right: 0; width: min(360px, 92vw);
      max-height: 62vh; overflow-y: auto; z-index: 70; border-radius: 11px; padding: 6px;
      background: rgba(14,18,24,.985); border: 1px solid rgba(255,255,255,.10);
      box-shadow: 0 16px 44px rgba(0,0,0,.55); }
    .fd-bell-panel[hidden] { display: none; }
    .fd-bell-head { display: flex; align-items: center; justify-content: space-between;
      padding: 6px 8px 8px; font-size: 12.5px; font-weight: 750; color: var(--shell-text, #E7EBF1); }
    .fd-bell-head button { border: 0; background: transparent; color: var(--shell-text-soft, #94a3b8);
      font-size: 11px; font-weight: 650; cursor: pointer; padding: 3px 7px; border-radius: 6px;
      font-family: inherit; }
    .fd-bell-head button:hover { color: #F0515F; background: rgba(240,81,95,.10); }
    .fd-bell-item { display: flex; gap: 8px; align-items: flex-start; padding: 8px 9px;
      border-radius: 8px; cursor: pointer; }
    .fd-bell-item:hover { background: rgba(255,255,255,.05); }
    .fd-bell-item b { display: block; font-size: 12px; font-weight: 700; color: var(--shell-text, #E7EBF1);
      line-height: 1.35; }
    /* Chữ thân cắt 2 dòng cho danh sách gọn; bấm vào tin thì mở hết. */
    .fd-bell-item span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
      overflow: hidden; font-size: 11px; color: var(--shell-text-soft, #94a3b8);
      line-height: 1.45; margin-top: 2px; }
    .fd-bell-item.la-mo span { -webkit-line-clamp: unset; overflow: visible; }
    /* Nút "Xem chart" -- ĐI NGHIỆP VỤ RIÊNG, do người dùng chọn chứ không tự nhảy. */
    .fd-bell-item u { display: inline-block; margin-top: 5px; text-decoration: none;
      font-size: 10.5px; font-weight: 700; color: #16C784; cursor: pointer;
      padding: 2px 7px; border-radius: 5px; background: rgba(22,199,132,.10); }
    .fd-bell-item u:hover { background: rgba(22,199,132,.20); }
    .fd-bell-item i { font-style: normal; font-size: 10px; color: var(--shell-text-soft, #94a3b8);
      opacity: .75; white-space: nowrap; }
    .fd-bell-x { border: 0; background: transparent; color: var(--shell-text-soft, #94a3b8);
      cursor: pointer; font-size: 14px; line-height: 1; padding: 2px 4px; border-radius: 5px; }
    .fd-bell-x:hover { color: #F0515F; background: rgba(240,81,95,.12); }
    .fd-bell-trong { padding: 18px 10px; text-align: center; font-size: 11.5px;
      color: var(--shell-text-soft, #94a3b8); }
    html[data-theme="light"] .fd-bell-panel { background: #fff; border-color: rgba(15,23,42,.12);
      box-shadow: 0 16px 44px rgba(15,23,42,.18); }
    html[data-theme="light"] .fd-bell-item b { color: #0F172A; }
    html[data-theme="light"] .fd-bell-btn:hover { background: rgba(15,23,42,.06); color: #0F172A; }
    /* TOOLTIP TÀI KHOẢN -- thuần CSS, KHÔNG phụ thuộc JS của trang.
       VÌ SAO: bộ hiện tooltip chung nằm ở tầng TRANG (debug_api), mà vỏ này dùng cho MỌI
       tab -- có tab không nạp bộ đó. Tự chứa thì tab nào cũng có.
       ⚠ KHÔNG dùng title= (luật đã ghi: title trên nền tối bị hệ điều hành vẽ hộp TRẮNG). */
    #shell-user-button { position: relative; }
    #shell-user-button[data-tk]::after {
      content: attr(data-tk); position: absolute; top: calc(100% + 8px); right: 0;
      white-space: nowrap; font-size: 11.5px; font-weight: 600; letter-spacing: .01em;
      padding: 6px 11px; border-radius: 7px; z-index: 60;
      background: rgba(18, 22, 28, 0.97); color: #E7EBF1;
      border: 1px solid rgba(255, 255, 255, 0.10);
      box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45);
      opacity: 0; pointer-events: none; transition: opacity .13s ease;
    }
    #shell-user-button:hover[data-tk]::after,
    #shell-user-button:focus-visible[data-tk]::after { opacity: 1; }
    html[data-theme="light"] #shell-user-button[data-tk]::after {
      background: #FFFFFF; color: #0F172A; border-color: rgba(15, 23, 42, 0.12);
      box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
    }
    .shell-user-avatar { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; vertical-align: middle; margin-right: 7px; }
    .shell-user-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
    /* ===== Ô nhập cao cấp trong modal tài khoản (tinh tế, đồng nhất) ===== */
    .fdset-modal .form-label,
    .modal-content .form-label { text-transform: uppercase; letter-spacing: 0.04em; font-size: 11px; font-weight: 600; color: var(--text-soft); margin-bottom: 7px; }
    .fdset-modal .form-input,
    .modal-content .form-input { min-height: 42px; border-radius: 9px; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
    .fdset-modal .form-input:hover:not(:focus):not([readonly]),
    .modal-content .form-input:hover:not(:focus):not([readonly]) { border-color: rgba(170,176,182,0.32); }
    .fdset-modal .form-input:focus,
    .modal-content .form-input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(0,230,166,0.16); background: var(--panel-2); }
    /* Ô bị Chrome autofill: giữ nền tối đồng nhất (kể cả khi focus, box-shadow gộp inset + quầng) */
    .fdset-modal .form-input:-webkit-autofill,
    .modal-content .form-input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px var(--panel) inset; box-shadow: 0 0 0 1000px var(--panel) inset; }
    .fdset-modal .form-input:-webkit-autofill:focus,
    .modal-content .form-input:-webkit-autofill:focus { border-color: var(--good); -webkit-box-shadow: 0 0 0 3px rgba(31,191,134,0.18), 0 0 0 1000px var(--panel-2) inset; box-shadow: 0 0 0 3px rgba(31,191,134,0.18), 0 0 0 1000px var(--panel-2) inset; }
    .fdset-modal .form-input.is-locked { background: var(--bg-soft); color: var(--text-soft); border-style: dashed; cursor: not-allowed; opacity: 1; }
    select.fd-select { -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; padding-right: 38px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
    select.fd-select option { background: var(--panel); color: var(--text-strong); }
    .fdset-locked-note { font-size: 11px; color: var(--text-soft); margin-top: 6px; display: flex; align-items: center; gap: 5px; }
    .fdset-main .btn-primary { width: auto; min-width: 168px; margin: 8px 0 0; padding: 11px 22px; border-radius: 9px; font-weight: 700; font-size: 13.5px; letter-spacing: 0.01em; transition: filter .15s ease, transform .05s ease, box-shadow .15s ease; }
    .fdset-main .btn-primary:hover { filter: brightness(1.06); box-shadow: 0 6px 18px rgba(0,0,0,0.35); }
    .fdset-main .btn-primary:active { transform: translateY(1px); }
    .fdset-main .hint { color: var(--fd-color-muted-text); }
    /* Đồng bộ XANH LÁ brand cho nút/link trong modal tài khoản + đăng nhập/đăng ký (KHÔNG dùng xanh dương của trang Thị trường) */
    .fdset-modal .btn-primary,
    .modal-content .btn-primary { background: var(--good); color: #07130d; }
    .fdset-modal .btn-primary:hover,
    .modal-content .btn-primary:hover { filter: brightness(1.06); }
    .fdset-modal .modal-link,
    .modal-content .modal-link { color: var(--good); }
    .fdset-modal .form-input:focus,
    .modal-content .form-input:focus { border-color: var(--good); box-shadow: 0 0 0 3px rgba(31,191,134,0.18); }
    .fd-avatar { box-shadow: 0 4px 14px rgba(0,0,0,0.35); outline: 2px solid rgba(255,255,255,0.04); outline-offset: 2px; }
    #settings-2fa-qr { display: inline-block; margin: 0 auto 14px; padding: 12px; background: #fff; border-radius: 12px; line-height: 0; box-shadow: 0 6px 20px rgba(0,0,0,0.35); }
    #settings-2fa-qr img { display: block; width: 168px; height: 168px; }
    .fd-2fa-key { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: center; padding: 8px 12px; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; max-width: 100%; }
    .fd-2fa-key code { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: 12.5px; color: var(--text-strong); letter-spacing: 0.04em; word-break: break-all; }
    .fd-2fa-key-copy { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; background: transparent; border: 1px solid var(--border); color: var(--text-soft); border-radius: 8px; padding: 5px 10px; font-size: 12px; font-weight: 600; cursor: pointer; transition: border-color .15s, color .15s; }
    .fd-2fa-key-copy:hover { border-color: var(--brand); color: var(--brand); }
    .fd-2fa-key-copy.is-done { border-color: var(--good); color: var(--good); }
    /* ===== Cài đặt tài khoản phong cách TradingView ===== */
    .fdset-modal { max-width: 880px; width: calc(100vw - 32px); padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 24px 70px rgba(0,0,0,0.55), 0 2px 8px rgba(0,0,0,0.4); }
    .fdset-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid var(--border-soft); background: linear-gradient(180deg, rgba(255,255,255,0.025), transparent); }
    .fdset-head .modal-title { letter-spacing: -0.01em; }
    .fdset-body { display: flex; height: min(580px, calc(100vh - 140px)); }
    .fdset-nav { width: 218px; flex: 0 0 218px; border-right: 1px solid var(--border-soft); padding: 12px 0; background: var(--bg-soft); overflow-y: auto; }
    .fdset-nav-group { padding: 16px 20px 7px; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fd-color-muted-text); }
    .fdset-nav-group:first-child { padding-top: 4px; }
    .fdset-main { flex: 1; padding: 26px 30px; overflow-y: auto; min-width: 0; background: var(--bg-lower); }
    .fdset-title { font-size: 17px; font-weight: 700; color: var(--text-strong); margin-bottom: 18px; letter-spacing: -0.01em; }
    .fdset-title:has(+ .fdset-sub) { margin-bottom: 4px; }
    .fdset-sub { font-size: 12.5px; color: var(--text-soft); margin-bottom: 20px; line-height: 1.5; }
    .fdset-inline { margin: 4px 0 18px; padding: 14px 16px; background: rgba(255,255,255,0.02); border: 1px solid var(--border-soft); border-radius: 10px; }
    .fdrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border-soft); }
    .fdrow-main { min-width: 0; }
    .fdrow-label { font-size: 13.5px; font-weight: 600; color: var(--text-strong); }
    .fdrow-value { font-size: 13px; color: var(--text-soft); margin-top: 3px; font-variant-numeric: tabular-nums; }
    .fdrow-btn { flex: 0 0 auto; background: transparent; border: 1px solid var(--border-soft); color: var(--text-strong); border-radius: 8px; padding: 7px 14px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .15s; white-space: nowrap; }
    .fdrow-btn:hover:not(:disabled) { border-color: var(--good); color: var(--good); }
    .fdrow-btn:disabled { opacity: 0.45; cursor: not-allowed; }
    .fdrow-btn--accent { background: var(--good); border-color: var(--good); color: #0b0e11; }
    .fdrow-btn--accent:hover:not(:disabled) { filter: brightness(1.08); color: #0b0e11; }
    .fdrow-btn--ghost { background: transparent; border-color: transparent; color: var(--text-soft); padding-left: 10px; padding-right: 10px; }
    .fdrow-btn--ghost:hover:not(:disabled) { background: transparent; border-color: transparent; color: var(--text-strong); }
    .fdmethod { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--border-soft); }
    .fdmethod-icon { flex: 0 0 auto; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; font-size: 18px; background: rgba(255,255,255,0.04); border-radius: 8px; }
    .fdmethod-main { flex: 1; min-width: 0; }
    .fdmethod-desc { font-size: 12px; color: var(--text-soft); margin-top: 3px; }
    .fdmethod-action { flex: 0 0 auto; display: flex; gap: 8px; align-items: center; }
    .fdsw { position: relative; display: inline-block; width: 42px; height: 24px; flex: 0 0 auto; }
    .fdsw input { position: absolute; opacity: 0; width: 0; height: 0; }
    .fdsw-slider { position: absolute; inset: 0; cursor: pointer; background: rgba(255,255,255,0.16); border-radius: 24px; transition: background .18s ease; }
    .fdsw-slider::before { content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; background: #fff; border-radius: 50%; transition: transform .18s ease; box-shadow: 0 1px 2px rgba(0,0,0,0.4); }
    .fdsw input:checked + .fdsw-slider { background: #1FBF86; }
    .fdsw input:checked + .fdsw-slider::before { transform: translateX(18px); }
    .fdsw input:disabled + .fdsw-slider { opacity: .45; cursor: not-allowed; }
    .fdsw input:focus-visible + .fdsw-slider { box-shadow: 0 0 0 2px rgba(31,191,134,0.5); }
    @media (max-width: 680px) {
      .fdset-body { flex-direction: column; height: auto; max-height: calc(100vh - 120px); }
      .fdset-nav { width: 100%; flex: none; display: flex; flex-wrap: wrap; gap: 4px; border-right: 0; border-bottom: 1px solid var(--border-soft); padding: 8px; }
      .fdset-nav-group { width: 100%; padding: 6px 8px 2px; }
    }

    /* Layout components */
    .card { background: var(--bg-soft); border: 1px solid var(--border); border-radius: 12px; padding: 24px; }
    .label { color: var(--fd-color-secondary-text); font-size: var(--fd-type-section-title-size); font-weight: var(--fd-type-section-title-weight); text-transform: none; letter-spacing: 0.01em; margin-bottom: 8px; }
    .hint { color: var(--text-soft); font-size: 12px; }
    .chip { display: inline-flex; padding: 4px 10px; border-radius: 99px; font-size: 11px; font-weight: 650; background: var(--panel-2); }
    .chip.positive { background: rgba(57,255,20,0.1); color: var(--good); }
    .chip.negative { background: rgba(246,70,93,0.1); color: var(--bad); }
    .chip.warn { background: rgba(240,185,11,0.1); color: var(--warn); }

    @keyframes liveQuoteDotPulse {
      0% { transform: scale(1); opacity: 0.82; }
      40% { transform: scale(1.38); opacity: 1; }
      100% { transform: scale(1); opacity: 0.9; }
    }
    @keyframes shellRegisterRadiant {
      to { transform: rotate(1turn); }
    }

    /* ====== ĐIỆN THOẠI: thanh điều hướng cuộn ngang, header gọn ====== */
    /* Màn hẹp (laptop) nav dễ tràn 2 hàng -> ẩn 2 mục phụ (Tín hiệu, Ngữ cảnh AI) để gọn 1 hàng. */
    @media (max-width: 1600px) {
      .shell-nav-link--collapsible { display: none !important; }
    }
    @media (max-width: 820px) {
      .shell { padding: 0 8px 24px !important; }
      .shell-header { padding: 6px 0 !important; }
      .shell-header-inner { gap: 8px !important; }
      .shell-header-left { gap: 10px !important; min-width: 0 !important; flex: 1 1 auto !important; overflow: hidden !important; }
      /* Nav nhiều mục -> cuộn NGANG (vuốt) thay vì tràn/đẩy vỡ header */
      .shell-nav { flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; gap: 4px !important; }
      .shell-nav::-webkit-scrollbar { height: 0 !important; }
      .shell-nav-link, .shell-nav-trigger { flex: 0 0 auto !important; font-size: 13px !important; padding: 0 7px !important; white-space: nowrap !important; }
      .brand-wordmark-image { height: 22px !important; }
      main { padding: 12px 8px !important; }
    }
  