@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap");
/* ============================================================
   LIVE CHAT — BINANCE LOOK (shared override layer)
   第一部分原样拷自主站 trading 项目的 assets/css/glass-theme.css，
   两个站的侧栏 / 顶栏 / 按钮 / 表单因此一模一样；聊天专用规则在文件末尾。
   在每个页面最后加载，覆盖各页面内联的旧样式。
   只改外观与版面留白，不动 HTML 结构、脚本和 class 名。

   颜色全部读自 binance.com 的 CSS 变量（--color-*），质感也跟它一样：
   - 纯色块 + 细分隔线，没有渐变、发光、毛玻璃、hover 上浮。
   - 黄底黑字（按钮 #FCD535），黑底黄字（#0B0E11 / #181A20 + #F0B90B）。
   - 小圆角：按钮 4–6px，面板 8px；标签页是文字 + 黄色下划线。
   - 变量名沿用 --g-*（原玻璃主题），规则因此不用改名。
   ============================================================ */

:root {
    /* 底色 —— Binance 浅色：TradeBg #F5F5F5，面板 BasicBg #FFFFFF */
    --g-bg:          #F5F5F5;
    --g-bg-2:        #F5F5F5;

    /* 面板（--g-glass* 这些名字沿用旧主题，现在都是纯色） */
    --g-glass:        #FFFFFF;      /* BasicBg */
    --g-glass-strong: #FFFFFF;      /* Popup / CardBg */
    --g-glass-soft:   transparent;  /* 输入框：描边不填色 */
    --g-fill:         #FAFAFA;      /* Vessel */
    --g-fill-2:       #F5F5F5;      /* Input */
    --g-stroke:       transparent;  /* 面板不描边，靠底色分层 */
    --g-line:         #EDEDED;      /* Line */
    --g-line-2:       #DDDDDD;      /* InputLine */
    --g-sheen:        none;
    --g-rim:          0 0 transparent;
    --g-blur:         none;
    --g-blur-sm:      none;

    /* 阴影：只有弹层有 */
    --g-shadow-xs: 0 0 transparent;
    --g-shadow-sm: 0 0 transparent;
    --g-shadow:    0 0 transparent;
    --g-shadow-lg: 0 3px 12px rgba(0, 0, 0, .12);

    /* 文字 */
    --g-ink:   #000000;   /* PrimaryText */
    --g-body:  #000000;   /* ParagraphText */
    --g-muted: #757575;   /* SecondaryText */
    --g-faint: #9C9C9C;   /* TertiaryText */

    /* 主色：黄底一律黑字 */
    --g-accent-rgb: 240, 185, 11;   /* PrimaryYellow #F0B90B */
    --g-on-accent:  #000000;        /* TextOnYellow */
    --g-primary:    #D89F00;        /* TextLink：浅底上的黄字 */
    --g-primary-2:  #F0B90B;        /* PrimaryYellow */
    --g-grad:       #FCD535;        /* BtnBg（变量名沿用旧主题，现在是纯色） */
    --g-grad-soft:  rgba(252, 213, 53, .1);   /* YellowAlpha01 */
    --g-tint:       rgba(252, 213, 53, .1);
    --g-link:       #D89F00;        /* TextLink */
    --g-up:         #2EBD85;        /* Buy */
    --g-up-fill:    #2EBD85;
    --g-down:       #F6465D;        /* Sell */
    --g-down-fill:  #F6465D;
    --g-warn:       #D89F00;
    --g-warn-fill:  #F0B90B;
    --g-violet:     #D89F00;
    --g-ring:       0 0 0 1px #F0B90B;

    /* 次要按钮 / 禁用 */
    --g-btn2:       #E6E6E6;   /* SecondaryBtn */
    --g-btn2-text:  #000000;
    --g-btn-off:    #DDDDDD;   /* DisableBtn */
    --g-text-off:   #BFBFBF;   /* DisableText */

    /* 圆角 */
    --g-r-sm: 4px;
    --g-r:    6px;
    --g-r-lg: 8px;
    --g-r-xl: 16px;

    --g-font: "IBM Plex Sans", Arial, sans-serif;
    --g-ease: ease;

    /* 覆盖旧内联样式里的变量名，让没被点名的规则也跟着变 */
    --bg-deep:      #F5F5F5;
    --sidebar-bg:   #FFFFFF;
    --glass-border: #EDEDED;
    --neon-blue:    #D89F00;
    --neon-purple:  #D89F00;
    --neon-green:   #2EBD85;
    --text-glow:    none;
    --panel:  #FFFFFF;
    --panel2: #FAFAFA;
    --border: #EDEDED;
    --text:   #000000;
    --muted:  #757575;

    color-scheme: light;
}

/* DARK MODE —— html[data-theme="dark"]：只重定义 token */
:root[data-theme="dark"] {
    /* Binance 深色：SecondaryBg #0B0E11 底，BasicBg #181A20 面板 */
    --g-bg:          #0B0E11;
    --g-bg-2:        #0B0E11;

    --g-glass:        #181A20;      /* BasicBg */
    --g-glass-strong: #202630;      /* CardBg */
    --g-fill:         #202630;      /* CardBg */
    --g-fill-2:       #29313D;      /* Input / Vessel */
    --g-line:         #333B47;      /* Line */
    --g-line-2:       #434C5A;      /* InputLine */

    --g-shadow-lg: 0 3px 12px rgba(0, 0, 0, .5);

    --g-ink:   #EAECEF;   /* PrimaryText */
    --g-body:  #EAECEF;   /* ParagraphText */
    --g-muted: #929AA5;   /* SecondaryText */
    --g-faint: #707A8A;   /* TertiaryText */

    --g-on-accent:  #202630;   /* TextOnYellow */
    --g-primary:    #F0B90B;   /* PrimaryYellow */
    --g-link:       #F0B90B;   /* TextLink */
    --g-warn:       #F0B90B;
    --g-violet:     #F0B90B;

    --g-btn2:       #333B47;   /* SecondaryBtn */
    --g-btn2-text:  #EAECEF;
    --g-btn-off:    #29313D;   /* DisableBtn */
    --g-text-off:   #4F5867;   /* DisableText */

    --bg-deep:      #0B0E11;
    --sidebar-bg:   #181A20;
    --glass-border: #333B47;
    --neon-blue:    #F0B90B;
    --neon-purple:  #F0B90B;
    --neon-green:   #2EBD85;
    --panel:  #181A20;
    --panel2: #202630;
    --border: #333B47;
    --text:   #EAECEF;
    --muted:  #929AA5;

    color-scheme: dark;
}

/* 主题切换按钮 —— 侧边栏底部。继承 .nav-item-modern 的尺寸，只做 <button> 复位 */
.theme-toggle {
    width: calc(100% - 30px);
    background: transparent;
    font-family: var(--g-font);
    text-align: left;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}
.theme-toggle .theme-toggle__dark  { display: none; }
:root[data-theme="dark"] .theme-toggle .theme-toggle__dark  { display: inline; }
:root[data-theme="dark"] .theme-toggle .theme-toggle__light { display: none; }

/* ============================================================
   1. 基础 —— 底色放 html，纯色
   ============================================================ */
html { background-color: var(--g-bg) !important; }

body {
    background-color: transparent !important;
    background-image: none !important;
    color: var(--g-ink) !important;
    font-family: var(--g-font) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body::before { display: none !important; content: none !important; }

/* 深色主题的 :root 是 color-scheme: dark。iframe 元素继承 dark、里面的文档却是
   light 时，浏览器会给 iframe 垫一块不透明白底 —— TradingView 设了透明底也没用。
   iframe 本身保持 normal，透明小工具才能透出面板的底色。 */
iframe { color-scheme: normal; }

/* 清掉旧主题的霓虹字光 */
*, *::before, *::after { text-shadow: none !important; }
#myVideo, .body-overlay, .sidebar-overlay,
.glass-backdrop, .glow-circle, .glow-line-top,
.glass-panel::before { display: none !important; }
/* 旧主题的漂浮光球：不显示 */
.glass-orb { display: none; }

h1, h2, h3, h4, h5, h6,
.section-heading, .footer-title, .about-title, .about-section-title {
    font-family: var(--g-font) !important;
    color: var(--g-ink) !important;
    font-weight: 700 !important;
}
.text-white, .text-light { color: var(--g-ink) !important; }
.text-muted, .text-white-50 { color: var(--g-muted) !important; }
.opacity-50 { opacity: .8 !important; }

a { color: var(--g-link); text-decoration: none !important; transition: color .15s var(--g-ease); }
a:hover { color: var(--g-primary); }

.text-neon-blue   { color: var(--g-link) !important; }
.text-neon-green, .text-success { color: var(--g-up) !important; }
.text-neon-purple { color: var(--g-violet) !important; }
.text-neon-red, .text-danger { color: var(--g-down) !important; }
.text-warning { color: var(--g-warn) !important; }
.text-info { color: var(--g-primary-2) !important; }

::selection { background: rgba(var(--g-accent-rgb), .22); color: inherit; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: var(--g-line-2);
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover { background: var(--g-primary); background-clip: padding-box; }

/* ============================================================
   2. 版面留白
   ============================================================ */
.main-content-wrapper { background: transparent !important; }

.main-content-wrapper > .container,
.main-content-wrapper > .container-fluid,
.main-content-wrapper > div > .container,
.main-content-wrapper > div > .container-fluid {
    padding-left: 26px !important;
    padding-right: 26px !important;
}
.page-wrap > .container, .page-wrap > .container-fluid { padding-top: 26px; padding-bottom: 26px; }

.glass-panel + .glass-panel, .card + .card { margin-top: 20px; }
/* FlipClock 已停用，空的 .clock 占位会在 High/Low 下面留一大片空白 */
.clock:empty { display: none !important; }
/* 交易页：标题与图表工具栏之间的空白收紧 */
.trading-chart .row { --bs-gutter-y: 12px !important; }
/* h2 是 .row 的直接子元素：.row 自带 -gutter-y 的上边距，子元素必须补回 */
.trading-chart h2 { margin-top: var(--bs-gutter-y, 12px) !important; margin-bottom: 6px !important; }
.trading-chart .wrap { margin-top: 0 !important; }
/* 左侧 pill 都是 d-none，spacer 会独占一整行撑出空白 */
.trading-chart .tvbar .spacer { display: none !important; }
.trading-chart .tvbar { padding: 8px 10px !important; }
.glass-panel { padding: 20px 22px; }
@media (max-width: 575.98px) { .glass-panel { padding: 16px; } }

@media (min-width: 992px) {
    .main-content-wrapper > .container,
    .main-content-wrapper > div > .container { max-width: 1320px; }
}
@media (max-width: 575.98px) {
    .main-content-wrapper > .container,
    .main-content-wrapper > .container-fluid,
    .main-content-wrapper > div > .container,
    .main-content-wrapper > div > .container-fluid {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ============================================================
   3. 卡片 / 面板 —— 半透明白 + 模糊 + 白描边 + 顶边高光
   ============================================================ */
.glass-panel,
.card,
.about-card,
.boxed-content,
.asset-card-wrapper,
.widget-item,
.table-wrapper,
.custom--card {
    background-color: var(--g-glass) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-lg) !important;
    box-shadow: var(--g-shadow), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
    color: var(--g-ink) !important;
    transition: box-shadow .25s var(--g-ease), border-color .25s var(--g-ease), background-color .25s var(--g-ease) !important;
}
.card-header, .card-footer {
    background: transparent !important;
    border-color: var(--g-line) !important;
    color: var(--g-ink) !important;
    font-weight: 700;
}
.card-body { background: transparent !important; }

.glass-panel:hover, .card:hover {
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
}
/* 市场卡片是小块、里面没有弹层，可以轻微上浮 */
.asset-card-wrapper { transition: transform .25s var(--g-ease), box-shadow .25s var(--g-ease), border-color .25s var(--g-ease) !important; }
.asset-card-wrapper:hover {
    border-color: rgba(var(--g-accent-rgb), .35) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
}

/* 玻璃里面的小块：只填色，不再叠 blur */
.stat-box {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    color: var(--g-ink) !important;
}
.stat-label { color: var(--g-muted) !important; font-weight: 600; }
.stat-number { color: var(--g-ink) !important; font-weight: 700; font-variant-numeric: tabular-nums; }

.tv-widget-box {
    background: var(--g-glass-strong) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.alert-glass {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    color: var(--g-ink) !important;
}
.alert-danger-glass  { background: rgba(246, 70, 93, .10) !important;  border-color: rgba(246, 70, 93, .30) !important; }
.alert-warning-glass { background: rgba(245, 158, 11, .12) !important; border-color: rgba(245, 158, 11, .32) !important; }
.hover-bg { transition: background .15s var(--g-ease); }
.hover-bg:hover { background: var(--g-tint) !important; }
.border-white-10, .border-secondary { border-color: var(--g-line) !important; }
.rounded, .rounded-2, .rounded-3 { border-radius: var(--g-r) !important; }
.rounded-pill { border-radius: 999px !important; }
.rounded-circle { border-radius: 50% !important; }
.shadow, .shadow-sm, .shadow-lg { box-shadow: var(--g-shadow-sm) !important; }
.shadow-neon { box-shadow: var(--g-shadow-sm) !important; }
.shadow-neon:hover { box-shadow: var(--g-shadow) !important; }
.bg-transparent { background: transparent !important; }


/* ============================================================
   4. 侧边栏 —— 厚玻璃；激活项是品牌渐变底 + 左侧光条
   ============================================================ */
.sidebar-wrapper-fixed {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border-right: 1px solid var(--g-stroke) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: var(--g-blur) !important;
    backdrop-filter: var(--g-blur) !important;
    padding: 0 0 18px !important;
}
.modern-sidebar { background: transparent !important; }
.sidebar-wrapper-fixed.modern-sidebar { background-color: var(--g-glass-strong) !important; }
/* 1200px 以下（手机 + iPad 横竖屏）侧栏一律是抽屉：默认收起，☰ 打开、✕ 关闭。
   页面原本只在 991px 以下收起，但侧栏里的 ✕ 是 d-xl-none（1199px 以下都显示），
   于是 iPad 横屏上 ✕ 看得到却关不掉、顶栏也没有 ☰。这里把断点统一到 1200。
   页面里“点侧栏外面关闭”的判断也同步改成了 < 1200。 */
@media (max-width: 1199.98px) {
    .sidebar-wrapper-fixed {
        transform: translateX(-100%);
        z-index: 1100 !important;
        overflow-y: auto;
        transition: transform .3s var(--g-ease) !important;
    }
    .sidebar-wrapper-fixed.active { transform: translateX(0); }
    .main-content-wrapper { margin-left: 0 !important; width: 100% !important; }
    /* ☰ 和顶栏小 logo 原本是 d-lg-none（992 以上隐藏），1200 以下都要显示 */
    .dashboard-sidebar-filter__button.d-lg-none,
    .topbar-fixed-wrapper a.d-lg-none { display: inline-block !important; }
    /* 抽屉打开：超大扩散阴影当遮罩，压暗后面的页面 */
    .sidebar-wrapper-fixed.active {
        background-color: var(--g-glass-strong) !important;
        box-shadow: 0 0 0 100vmax rgba(6, 10, 24, .45), var(--g-shadow-lg) !important;
    }
}
.sidebar-brand {
    background: transparent !important;
    border-bottom: 1px solid var(--g-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-bottom: 6px;
    padding: 18px 18px !important;
}
.sidebar-brand img { filter: none !important; }
.menu-label {
    color: var(--g-faint) !important;
    font-family: var(--g-font) !important;
    font-weight: 700 !important;
    font-size: .68rem !important;
    margin: 22px 0 8px 22px !important;
}
.sidebar-menu-list { padding: 0 2px; }
/* 尺寸与 live chat 的侧边栏对齐：字号 1rem、图标 1.4rem/24px、左右内边距 20px */
.nav-item-modern {
    position: relative;
    color: var(--g-body) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: var(--g-r) !important;
    font-weight: 600;
    margin: 3px 15px 4px !important;
    padding: 11px 20px !important;
    font-size: 1rem !important;
    white-space: nowrap !important;
    transform: none !important;
    transition: background .2s var(--g-ease), border-color .2s var(--g-ease), color .2s var(--g-ease), box-shadow .2s var(--g-ease) !important;
}
.nav-item-modern span { white-space: nowrap !important; }
.nav-item-modern i {
    color: var(--g-muted) !important;
    filter: none !important;
    font-size: 1.4rem !important;
    margin-right: 15px !important;
    width: 24px !important;
    flex: 0 0 24px !important;
    transition: color .2s var(--g-ease);
}
.nav-item-modern:hover {
    background: var(--g-fill-2) !important;
    border-color: var(--g-line) !important;
    color: var(--g-ink) !important;
}
.nav-item-modern:hover i { color: var(--g-primary) !important; }
.nav-item-modern.active {
    background: var(--g-grad-soft) !important;
    border-color: rgba(var(--g-accent-rgb), .22) !important;
    color: var(--g-ink) !important;
    font-weight: 700;
    box-shadow: var(--g-rim), 0 6px 18px rgba(var(--g-accent-rgb), .12) !important;
}
.nav-item-modern.active i { color: var(--g-primary) !important; }
.nav-item-modern.active::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: -1px; top: 22%; bottom: 22%;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--g-grad) !important;
    box-shadow: none !important;
}
.nav-item-modern.text-danger, .nav-item-modern.text-danger i { color: var(--g-down) !important; }
.nav-item-modern.text-danger:hover {
    background: rgba(246, 70, 93, .10) !important;
    border-color: rgba(246, 70, 93, .25) !important;
}
.sidebar-menu__close {
    background: var(--g-fill-2) !important;
    color: var(--g-ink) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: none !important;
    padding: 2px 4px;
}
.sidebar-menu__close i { color: var(--g-ink) !important; }

/* ============================================================
   5. 顶栏 —— 贴顶的磨砂条
   ============================================================ */
.topbar-fixed-wrapper {
    background-color: var(--g-glass) !important;
    border-bottom: 1px solid var(--g-stroke) !important;
    box-shadow: 0 1px 0 var(--g-line), var(--g-shadow-xs) !important;
    -webkit-backdrop-filter: var(--g-blur) !important;
    backdrop-filter: var(--g-blur) !important;
    padding: 0 10px !important;
    position: sticky !important;
    top: 0 !important;
    margin-top: 0 !important;
}
.topbar-fixed-wrapper > .navbar {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.app-container, .main-content-wrapper { margin-top: 0 !important; padding-top: 0 !important; }
.topbar-fixed-wrapper .btn,
.topbar-fixed-wrapper .btn-sm {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    line-height: 1.1 !important;
}
.topbar-fixed-wrapper h4, .topbar-fixed-wrapper h5, .topbar-fixed-wrapper .text-white {
    color: var(--g-ink) !important;
}
.dashboard-sidebar-filter__button {
    background: var(--g-fill-2) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: none !important;
    padding: 2px 6px !important;
}
.dashboard-sidebar-filter__button i { color: var(--g-ink) !important; }
/* 头像：品牌渐变圆形 + 白色首字母 */
.dropdown a div {
    background: var(--g-grad) !important;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--g-on-accent) !important;
    transition: box-shadow .2s var(--g-ease), transform .2s var(--g-ease) !important;
}
.dropdown a:hover div {
    box-shadow: none !important;
}
#header-avatar-letter {
    color: var(--g-on-accent) !important;
    font-family: var(--g-font) !important;
    font-weight: 700 !important;
    font-size: 15px;
}
.dropdown-menu {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
    padding: 6px !important;
}
.dropdown-item {
    color: var(--g-ink) !important;
    border-radius: var(--g-r-sm) !important;
    font-weight: 600;
    padding: 9px 12px !important;
}
.dropdown-item i { color: var(--g-muted); }
.dropdown-item:hover, .dropdown-item:focus {
    background: var(--g-tint) !important;
    color: var(--g-ink) !important;
}
.dropdown-item.text-danger, .dropdown-item.text-danger i { color: var(--g-down) !important; }
.dropdown-item.text-danger:hover { background: rgba(246, 70, 93, .10) !important; }
.dropdown-divider { border-color: var(--g-line) !important; opacity: 1; }

/* ============================================================
   6. 表格 —— 表头是一条浅色玻璃，行与行之间只留细线
   ============================================================ */
.custom-table-neon, .table {
    color: var(--g-ink) !important;
    border-color: var(--g-line) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-bottom: 0;
    --bs-table-bg: transparent;
    --bs-table-color: var(--g-ink);
}
.custom-table-neon thead th, .table thead th {
    background: var(--g-fill-2) !important;
    color: var(--g-muted) !important;
    font-size: .72rem;
    font-weight: 700 !important;
    border: none !important;
    padding: 12px 16px !important;
    white-space: nowrap;
}
.custom-table-neon thead th:first-child, .table thead th:first-child { border-radius: var(--g-r-sm) 0 0 var(--g-r-sm) !important; }
.custom-table-neon thead th:last-child,  .table thead th:last-child  { border-radius: 0 var(--g-r-sm) var(--g-r-sm) 0 !important; }
.custom-table-neon tbody td, .table tbody td {
    background: transparent !important;
    color: var(--g-body) !important;
    border: none !important;
    border-bottom: 1px solid var(--g-line) !important;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
    padding: 14px 16px !important;
    transition: background .15s var(--g-ease);
}
.custom-table-neon tbody tr:last-child td, .table tbody tr:last-child td { border-bottom: none !important; }
.custom-table-neon tbody tr:hover td, .table tbody tr:hover td { background: var(--g-tint) !important; color: var(--g-ink) !important; }
.custom-table-neon tbody td.text-success, .table tbody td.text-success { color: var(--g-up) !important; }
.custom-table-neon tbody td.text-danger,  .table tbody td.text-danger  { color: var(--g-down) !important; }

/* 历史表分页（assets/js/table-pager.js，每页 20 条） */
.table-pager {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 16px;
    border-top: 1px solid var(--g-line);
    background: transparent;
}
.table-pager[hidden] { display: none; }
.table-pager__info {
    font-size: .8rem; font-weight: 600;    color: var(--g-muted);
}
.table-pager__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.table-pager__btn {
    min-width: 36px; height: 36px; padding: 0 10px;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--g-font); font-weight: 600; font-size: .9rem;
    color: var(--g-ink);
    background: var(--g-fill);
    border: 1px solid var(--g-line);
    border-radius: var(--g-r-sm);
    cursor: pointer;
    transition: background .15s var(--g-ease), border-color .15s var(--g-ease), color .15s var(--g-ease);
}
.table-pager__btn:hover:not(:disabled) { background: var(--g-tint); border-color: rgba(var(--g-accent-rgb), .3); color: var(--g-primary); }
.table-pager__btn.is-active {
    background: var(--g-grad);
    border-color: transparent;
    color: var(--g-on-accent);
    box-shadow: none;
    cursor: default;
}
.table-pager__btn:disabled { opacity: .4; cursor: not-allowed; }
.table-pager__btn:focus-visible { outline: none; box-shadow: var(--g-ring); }
.table-pager__gap { padding: 0 4px; font-weight: 600; color: var(--g-faint); }
@media (max-width: 575.98px) {
    .table-pager { justify-content: center; }
    .table-pager__btn { min-width: 32px; height: 32px; padding: 0 8px; }
}

.list-group-item {
    background: var(--g-fill) !important;
    color: var(--g-ink) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: none !important;
    margin-bottom: 8px;
}

/* ============================================================
   7. 表单 —— 半透明输入框，聚焦时品牌蓝描边 + 柔光圈
   ============================================================ */
.form-control, .form-select, .form-control-neon, .form--control, .cmn--form--control,
.form-select.form-control-neon, textarea.form-control,
input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="tel"], input[type="date"], input[type="search"] {
    background: var(--g-glass-soft) !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: var(--g-r) !important;
    color: var(--g-ink) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    font-family: var(--g-font) !important;
    font-weight: 500;
    padding: 12px 16px !important;
    transition: border-color .2s var(--g-ease), box-shadow .2s var(--g-ease), background .2s var(--g-ease) !important;
}
.form-control::placeholder, .form-control-neon::placeholder,
.cmn--form--control::placeholder { color: var(--g-faint) !important; opacity: 1; }
.form-control:hover, .form-control-neon:hover, .form-select:hover { border-color: rgba(var(--g-accent-rgb), .35) !important; }
.form-control:focus, .form-select:focus, .form-control-neon:focus,
.form--control:focus, .cmn--form--control:focus,
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus,
input[type="number"]:focus, input[type="tel"]:focus, input[type="search"]:focus {
    background: var(--g-glass-strong) !important;
    border-color: var(--g-primary) !important;
    box-shadow: var(--g-ring) !important;
    color: var(--g-ink) !important;
    outline: none !important;
}
.form-control:-webkit-autofill, .form-control-neon:-webkit-autofill {
    -webkit-text-fill-color: var(--g-ink);
    -webkit-box-shadow: 0 0 0 1000px var(--g-bg) inset;
    caret-color: var(--g-ink);
}
/* 下拉选项由系统绘制，颜色跟主题走 */
select option, #input-bank-name option { background: var(--g-bg) !important; color: var(--g-ink) !important; }
.form-label, .form-label-neon, label {
    color: var(--g-muted) !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    margin-bottom: 7px;
}
.input-group-text {
    background: var(--g-fill-2) !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    color: var(--g-ink) !important;
    font-weight: 600;
    margin-right: 6px;
}
.input-group > .form-control { border-radius: var(--g-r) !important; }
.form-check-input {
    background-color: var(--g-glass-strong) !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 1.15em; height: 1.15em;
}
.form-check-input:checked {
    background-color: var(--g-primary) !important;
    border-color: var(--g-primary) !important;
}
.form-check-input:focus { box-shadow: var(--g-ring) !important; }
.form-check-label { color: var(--g-body) !important; font-weight: 500 !important; letter-spacing: 0; font-size: .9rem !important; }
/* flex 排版的勾选行：去掉 Bootstrap 的负边距，勾选框与文字对齐 */
.form-check.d-flex { padding-left: 0 !important; }
.form-check.d-flex .form-check-input {
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    float: none !important;
    flex: 0 0 auto;
}
.form-check.d-flex .form-check-label { margin-bottom: 0 !important; line-height: 1.15 !important; }
.input-icon, .toggle-pass { color: var(--g-faint) !important; }
.input-group-neon:focus-within .input-icon { color: var(--g-primary) !important; }
/* 带图标的输入框：为左侧图标/右侧眼睛留出空间 */
.input-group-neon .form-control,
.input-group-neon .form-control-neon,
.input-group-neon .form-select,
.input-group-neon input,
.input-group-neon select,
.input-group-neon textarea { padding-left: 46px !important; }
.input-group-neon:has(.toggle-pass) .form-control,
.input-group-neon:has(.toggle-pass) .form-control-neon,
.input-group-neon:has(.toggle-pass) input { padding-right: 46px !important; }
.input-group-neon .form-select,
.input-group-neon select { padding-right: 38px !important; }
.file-upload-label {
    background: var(--g-fill) !important;
    border: 1.5px dashed var(--g-line-2) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    color: var(--g-ink) !important;
    font-weight: 600;
}
.file-upload-wrapper:hover .file-upload-label { background: var(--g-tint) !important; border-color: var(--g-primary) !important; }
input[type="date"]::-webkit-calendar-picker-indicator { opacity: .7; cursor: pointer; }
:root[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); }
/* 下拉箭头。页面内联的 .form-select.form-control-neon 用 background 简写
   （!important，特异性 0,2,0）会把 background-repeat 重置成 repeat、把箭头清掉：
   浅色下箭头消失，深色下箭头铺满整格。这里用 :root 抬高特异性，并把所有
   background 子属性一起写死，不管页面怎么写都只显示一个箭头。 */
:root .form-select,
:root .form-select.form-control-neon {
    background-color: var(--g-glass-soft) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234B5675' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 6 5 5 5-5'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 14px 14px !important;
    padding-right: 2.4rem !important;
}
:root .form-select:focus,
:root .form-select.form-control-neon:focus { background-color: var(--g-glass-strong) !important; }
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] .form-select.form-control-neon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239AA6C2' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 6 5 5 5-5'/%3e%3c/svg%3e") !important;
}

/* ============================================================
   8. 按钮 —— 主按钮品牌渐变 + 顶边高光；次按钮是玻璃
   ============================================================ */
.btn {
    border: 1px solid transparent !important;
    border-radius: var(--g-r) !important;
    font-family: var(--g-font) !important;
    font-weight: 600 !important;
    padding: 10px 20px;
    box-shadow: none !important;
    animation: none !important;
    transition: transform .15s var(--g-ease), box-shadow .2s var(--g-ease), filter .2s var(--g-ease), background-color .2s var(--g-ease) !important;
}
.btn:hover { }
.btn:active { transform: translateY(0); filter: brightness(.96); }
.btn:focus { outline: none !important; }
.btn:focus-visible { outline: none !important; box-shadow: var(--g-ring) !important; }
.btn-sm { padding: 6px 14px; border-radius: var(--g-r-sm) !important; }
.btn-lg { padding: 14px 28px; }
.btn i { color: inherit !important; }

/* 实色按钮：渐变 + 内高光 + 同色柔光投影 */
.btn-primary, .btn-primary:focus, .cmn--btn, .deposit__button, .btn--base {
    background: var(--g-grad) !important;
    color: var(--g-on-accent) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.btn-primary:hover, .cmn--btn:hover, .deposit__button:hover, .btn--base:hover {
    color: var(--g-on-accent) !important;
    filter: brightness(1.06);
    box-shadow: none !important;
}
.btn-success, .btn-success:focus, .btn--success, .buy-sell.buy {
    background: #2EBD85 !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.btn-danger, .btn--danger, .buy-sell.sell {
    background: #F6465D !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.btn-success:hover, .btn--success:hover, .btn-danger:hover, .btn--danger:hover { color: #FFFFFF !important; filter: brightness(1.06); }
.btn-warning {
    background: #FCD535 !important;
    color: #1F1300 !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* 玻璃按钮：次要操作 / 顶栏的 TRADE、LiveChat */
.btn-secondary, .btn-light, .btn-outline-primary, .bg-outline-primary, .btn-outline-info {
    background-color: var(--g-glass) !important;
    background-image: var(--g-sheen) !important;
    color: var(--g-ink) !important;
    border: 1px solid var(--g-stroke) !important;
    box-shadow: var(--g-shadow-sm), var(--g-rim) !important;
}
.btn-outline-primary, .bg-outline-primary { color: var(--g-link) !important; }
.btn-outline-info { color: var(--g-primary-2) !important; }
.btn-secondary:hover, .btn-light:hover, .btn-outline-primary:hover, .btn-outline-info:hover {
    background-color: var(--g-glass-strong) !important;
    border-color: rgba(var(--g-accent-rgb), .35) !important;
    box-shadow: var(--g-shadow), var(--g-rim) !important;
}
.btn-outline-danger {
    background: rgba(246, 70, 93, .08) !important;
    color: var(--g-down) !important;
    border: 1px solid rgba(246, 70, 93, .35) !important;
}
.btn-outline-danger:hover { background: #F6465D !important; color: #FFFFFF !important; }

.btn-primary:disabled, .btn:disabled, .btn.disabled {
    opacity: .55;
    filter: saturate(.6);
    transform: none;
    box-shadow: none !important;
    cursor: not-allowed;
}

/* Tab：iOS 分段控件那种胶囊 */
.cyber-tab {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--g-muted) !important;
    font-weight: 600;
    padding: 8px 18px;
    transition: background .2s var(--g-ease), color .2s var(--g-ease), box-shadow .2s var(--g-ease);
}
.cyber-tab:hover:not(.active) { background: var(--g-fill-2) !important; color: var(--g-ink) !important; }
.cyber-tab.active {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border-color: var(--g-stroke) !important;
    color: var(--g-primary) !important;
    box-shadow: var(--g-shadow-sm), var(--g-rim) !important;
}
/* 徽章：浅色底 + 同色字，保持可读 */
.badge {
    border: 1px solid var(--g-line-2) !important;
    border-radius: 999px !important;
    background: var(--g-fill-2) !important;
    color: var(--g-ink) !important;
    box-shadow: none !important;
    font-weight: 600;
    padding: .42em .8em;
}
.badge.bg-success, .badge.badge-success { background: rgba(46, 189, 133, .14) !important; border-color: rgba(46, 189, 133, .35) !important; color: var(--g-up) !important; }
.badge.bg-danger,  .badge.badge-danger  { background: rgba(246, 70, 93, .12) !important;  border-color: rgba(246, 70, 93, .35) !important;  color: var(--g-down) !important; }
.badge.bg-warning, .badge.badge-warning { background: rgba(245, 158, 11, .14) !important; border-color: rgba(245, 158, 11, .38) !important; color: var(--g-warn) !important; }
.badge.bg-primary, .badge.badge-primary { background: var(--g-tint) !important;           border-color: rgba(var(--g-accent-rgb), .30) !important;  color: var(--g-link) !important; }

/* ============================================================
   9. 弹窗 / offcanvas —— 最厚的玻璃，背后压暗 + 模糊
   ============================================================ */
.modal-content, .offcanvas {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-xl) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
    color: var(--g-ink) !important;
}
.offcanvas.offcanvas-end   { border-radius: var(--g-r-xl) 0 0 var(--g-r-xl) !important; }
.offcanvas.offcanvas-start { border-radius: 0 var(--g-r-xl) var(--g-r-xl) 0 !important; }
.modal-header, .modal-footer, .offcanvas-header { border-color: var(--g-line) !important; }
.offcanvas-title, .modal-title { font-family: var(--g-font) !important; font-weight: 700 !important; }
.modal-backdrop.show { background: #060A18; opacity: .45 !important; }
.btn-close {
    filter: none !important;
    opacity: .7;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--g-ink) !important;
}
.btn-close:hover { opacity: 1; transform: none; color: var(--g-down) !important; }

/* 结算弹窗（.overlay / .overlay-content）—— 底色原本内联写死 #fff */
.overlay {
    background-color: rgba(6, 10, 24, .45) !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.overlay-content {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-xl) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    color: var(--g-ink) !important;
    max-width: calc(100vw - 32px);
}
.overlay-content h3, .overlay-content h5, .overlay-content p,
.overlay-content > div > div, .circle-content { color: var(--g-ink) !important; }
.overlay-content hr { border-color: var(--g-line) !important; opacity: 1; }

/* ============================================================
   10. 页脚 —— 一整块玻璃，跟主题走
   ============================================================ */
.cyber-footer {
    background-color: var(--g-glass) !important;
    background-image: var(--g-sheen) !important;
    border-top: 1px solid var(--g-stroke) !important;
    box-shadow: var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
    color: var(--g-body) !important;
    margin-top: 40px;
}
.cyber-footer::before { display: none !important; }
@media (max-width: 767.98px) {
    .cyber-footer > .container,
    .cyber-footer > .container-fluid { padding-left: 26px !important; padding-right: 26px !important; }
}
.cyber-footer .footer-title, .footer-title {
    color: var(--g-ink) !important;
    font-family: var(--g-font) !important;
    font-weight: 700 !important;
    font-size: .8rem;
    border-left: none !important;
    padding-left: 0 !important;
}
.footer-widget p, .footer-link-list li a, .cyber-footer a, .footer-bottom,
.cyber-footer p, .cyber-footer span, .cyber-footer li {
    color: var(--g-muted) !important;
    opacity: 1;
    font-weight: 500;
}
.footer-link-list li a { display: inline-block; }
.footer-link-list li a:hover, .cyber-footer a:hover {
    color: var(--g-primary) !important;
    opacity: 1;
    padding-left: 0 !important;
}
.footer-link-list li a:hover::before { display: none !important; }
.footer-bottom { border-top: 1px solid var(--g-line) !important; }
.social-links { display: flex; gap: 10px; flex-wrap: wrap; }
.social-links a .social-svg { width: 1.05em; height: 1.05em; display: block; fill: currentColor; }
.footer-widget .logo { display: block; margin-bottom: 20px; }
.footer-link-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.social-links a {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto;
    font-size: 1rem;
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    color: var(--g-ink) !important;
    opacity: 1 !important;
    border-radius: 50% !important;
    box-shadow: var(--g-shadow-sm), var(--g-rim) !important;
    transition: transform .2s var(--g-ease), box-shadow .2s var(--g-ease), color .2s var(--g-ease), background .2s var(--g-ease);
}
.social-links a:hover {
    color: var(--g-on-accent) !important;
    background: var(--g-grad) !important;
    box-shadow: none !important;
}


/* ============================================================
   11. 移动端底栏 / 悬浮按钮 —— iOS 风格的悬浮玻璃胶囊
   ============================================================ */
.mobile-bottom-nav {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: 999px !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur) !important;
    backdrop-filter: var(--g-blur) !important;
}
/* 条款页底部的 .mobile-footer-menu（模板 main.css 里是黑底白框）—— 同一种玻璃胶囊 */
.mobile-footer-menu {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: 999px !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
}
.mobile-footer-menu a, .mobile-footer-menu a i { color: var(--g-muted) !important; transition: color .15s var(--g-ease); }
.mobile-footer-menu a:hover, .mobile-footer-menu a:hover i,
.mobile-footer-menu a.active, .mobile-footer-menu a.active i { color: var(--g-primary) !important; }
.mobile-bottom-nav a { color: var(--g-muted) !important; border-radius: 999px !important; box-shadow: none !important; }
.mobile-bottom-nav a i { color: inherit !important; }
.mobile-bottom-nav a:hover, .mobile-bottom-nav a.active { background: var(--g-tint) !important; color: var(--g-primary) !important; }
.mobile-bottom-nav .mid-button {
    background: var(--g-grad) !important;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
    color: var(--g-on-accent) !important;
    box-shadow: none !important;
}
.mobile-bottom-nav .mid-button i { color: var(--g-on-accent) !important; }
.m-float-contact-btn a, .float-wa {
    background: #2EBD85 !important;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

/* ============================================================
   12. 预加载（动画本身在各页面 head 的 #glass-preloader-base 里）
   ============================================================ */
#cyber-preloader, .preloader-wrapper { background-color: var(--g-bg) !important; }

/* ============================================================
   13. 博客 / 条款页
   ============================================================ */
.navbar {
    background-color: var(--g-glass) !important;
    border-bottom: 1px solid var(--g-stroke) !important;
    box-shadow: var(--g-shadow-xs) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
}
.navbar a, .navbar span, .navbar h1, .navbar h2, .navbar h3 { color: var(--g-ink) !important; }
.navbar .btn-primary, .navbar .btn-primary span, .navbar .btn-primary i { color: var(--g-on-accent) !important; }
.navbar a:hover img { filter: none !important; }
.page-wrap { background: transparent !important; }
.about-card {
    max-width: 1000px;
    margin: 0 auto;
    padding: 44px 48px !important;
    border-radius: var(--g-r-xl) !important;
}
.about-card p, .about-card li, .about-card span, .about-card td,
.page-content p, .page-content li { color: var(--g-body) !important; line-height: 1.8; }
.about-card a, .page-content a {
    color: var(--g-link) !important;
    font-weight: 600;
    text-decoration: underline !important;
    text-decoration-color: rgba(var(--g-accent-rgb), .35) !important;
    text-underline-offset: 3px;
}
.about-card a:hover, .page-content a:hover { text-decoration-color: currentColor !important; }
.about-meta { color: var(--g-faint) !important; }
.about-card hr { border-color: var(--g-line) !important; opacity: 1; }
@media (max-width: 575.98px) { .about-card { padding: 26px 20px !important; } }

/* ============================================================
   14. 交易页组件
   ============================================================ */
.card-title.m-title, .card-title.m-title > span { color: var(--g-ink) !important; }
.coin-icon {
    background: #FFFFFF !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: 50% !important;
    box-shadow: var(--g-shadow-sm) !important;
}
.action-bar, .countdown-container, .counter-table-content {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
}
.action-bar, .action-bar *,
.action-bar stock-market-widget { color: var(--g-ink) !important; font-weight: 600; }
.circle svg circle:first-child { stroke: var(--g-line-2) !important; }
.circle svg circle#progress { stroke: var(--g-primary) !important; }
.empty-icon-box {
    background: var(--g-grad-soft) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    box-shadow: var(--g-rim) !important;
    color: var(--g-primary) !important;
}
.avatar-badge {
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: var(--g-shadow-sm) !important;
}
.highlowButton, .f-price { border-radius: var(--g-r-sm) !important; font-weight: 700; }
/* 时长选择按钮："120 seconds" 不换行；选中的是品牌渐变 */
.highlow-time-duration { display: flex !important; flex-wrap: wrap !important; row-gap: 10px !important; }
.highlow-time-duration .gameTime,
.highlow-time-duration li { white-space: nowrap !important; }
.highlow-time-duration .gameTime { display: inline-flex !important; align-items: center; gap: 6px; }
ul.highlow-time-duration li a {
    background: var(--g-fill-2) !important;
    color: var(--g-ink) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: 999px !important;
    padding: 6px 12px !important;
    font-weight: 600;
    transition: background .15s var(--g-ease), color .15s var(--g-ease);
}
ul.highlow-time-duration li a:hover { background: var(--g-tint) !important; color: var(--g-primary) !important; }
ul.highlow-time-duration li a.active, .gameTime.active {
    background: var(--g-grad) !important;
    border-color: transparent !important;
    color: var(--g-on-accent) !important;
    box-shadow: none !important;
}
/* 交易页余额条：图标在左跨两行，标题一行、金额一行 */
div:has(> #trade-balance) {
    display: grid !important;
    grid-template-columns: auto 1fr;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 2px !important;
    padding: 13px 16px !important;
    justify-content: start !important;
    background: var(--g-grad) !important;
    border: 1px solid transparent !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
}
div:has(> #trade-balance), div:has(> #trade-balance) * { color: var(--g-on-accent) !important; }
div:has(> #trade-balance) > i { grid-column: 1; grid-row: 1 / span 2; }
div:has(> #trade-balance) > span,
div:has(> #trade-balance) > .trade-balance-line {
    grid-column: 2;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}
.trade-balance-line { display: block; }
#trade-balance { font-variant-numeric: tabular-nums; font-weight: 700; }
@media (max-width: 400px) { div:has(> #trade-balance) > span { font-size: .78rem !important; } }

/* K 线图工具条 */
.trading-chart .tvbar .pill,
.trading-chart .tvbar select,
.trading-chart .tvbar input,
.trading-chart .tvbar .btn,
.trading-chart .tag,
.trading-chart .ctl,
.trading-chart .toolbar button,
.trading-chart .toolbar select {
    background: var(--g-glass-strong) !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: var(--g-r-sm) !important;
    color: var(--g-ink) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-transform: none;
    transform: none !important;
}
.trading-chart .toolbar, .trading-chart .toolbar span { color: var(--g-muted) !important; border-color: var(--g-line) !important; }
.trading-chart .tvbar { background: transparent !important; border: none !important; box-shadow: none !important; }
.trading-chart .tv-controls {
    background-color: var(--g-glass-strong) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    box-shadow: var(--g-shadow), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur-sm);
    backdrop-filter: var(--g-blur-sm);
}
.trading-chart .wrap,
.trading-chart .tvbar,
.trading-chart > .container,
.trading-chart .container .container { max-width: 100% !important; }
@media (max-width: 600px) {
    .trading-chart .tvbar { gap: 6px !important; row-gap: 6px !important; padding: 6px !important; }
    .trading-chart .tvbar .btn,
    .trading-chart .tvbar select,
    .trading-chart .tvbar input { padding: 6px 10px !important; font-size: 12px !important; }
    .trading-chart .tvbar .btn.type { padding: 6px 9px !important; }
}
@media (max-width: 767.98px) {
    .trading-chart { overflow-x: hidden !important; }
    .trading-chart .container,
    .trading-chart .row { max-width: 100% !important; }
    .trading-chart .container { padding-left: 12px !important; padding-right: 12px !important; }
    .trading-chart .row { margin-left: 0 !important; margin-right: 0 !important; }
    .trading-chart .row > * { padding-left: 0 !important; padding-right: 0 !important; }
}
.trading-chart .tvbar .btn:hover, .trading-chart .ctl:hover,
.trading-chart .toolbar button:hover { background: var(--g-tint) !important; color: var(--g-primary) !important; border-color: rgba(var(--g-accent-rgb), .35) !important; }
.trading-chart .tvbar .btn.active {
    background: var(--g-grad) !important;
    border-color: transparent !important;
    color: var(--g-on-accent) !important;
}
/* K 线画布本身由 klinecharts 按自己的浅色配色绘制（JS 里的 dc_theme），
   两种主题下都垫一块白底，网格线和坐标轴文字才看得清 */
.trading-chart .pane { background: #FFFFFF !important; border-radius: var(--g-r) !important; border: 1px solid var(--g-line) !important; }
.sep { background: var(--g-line-2) !important; }

/* stock-market-widget（assets/dist 的 Vue 小工具，渲染在 light DOM 里）
   - 市场卡片：页面写死 color="#5679FF"，整块纯色；小工具的走势线是白色 ——
     换成 Binance 炭灰卡（白字 / 白线读得清）+ 底边一道黄线
   - 历史表 / 信息手风琴：模板 CSS 给 table 白底、线条用 color 属性的白色，
     深色主题下会出现白块白框 —— 统一成透明底 + 主题细线 */
.asset-card-wrapper .smw-widget.smw-card {
    background: #202630 !important;
    border-radius: calc(var(--g-r-lg) - 6px) !important;
    box-shadow: none !important;
    color: #EAECEF !important;
}
.smw-widget table { background: transparent !important; color: var(--g-ink) !important; }
.smw-widget table th, .smw-widget table td {
    background: transparent !important;
    color: var(--g-body) !important;
    border-color: var(--g-line) !important;
}
.smw-widget table th { color: var(--g-muted) !important; font-weight: 600; }
.smw-accordion, .smw-accordion * { border-color: var(--g-line) !important; }
/* 手风琴外框是 box-shadow 画的 1px 环（颜色取 color 属性），不是 border */
.smw-accordion .smw-accordion-container {
    box-shadow: 0 0 0 1px var(--g-line) !important;
    border-radius: var(--g-r-sm);
}

/* ============================================================
   15. Dashboard 通用组件（版面本身在 control-panel.html 内联样式里）
   ============================================================ */
.section-heading { font-family: var(--g-font) !important; }
.live-chip {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 14px;
    background-color: var(--g-glass) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: 999px !important;
    box-shadow: var(--g-shadow-sm), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur-sm);
    backdrop-filter: var(--g-blur-sm);
    color: var(--g-up) !important;
    font-size: 11px;
    font-weight: 700 !important;
}
.live-dot {
    position: relative;
    width: 8px; height: 8px;
    background: var(--g-up-fill) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 0 rgba(46, 189, 133, .55) !important;
    animation: glassPulse 1.8s var(--g-ease) infinite;
}
@keyframes glassPulse {
    0%   { box-shadow: 0 0 0 0 rgba(46, 189, 133, .55); }
    70%  { box-shadow: 0 0 0 8px rgba(46, 189, 133, 0); }
    100% { box-shadow: 0 0 0 0 rgba(46, 189, 133, 0); }
}
.rail-card__head, .market-panel__head, .panel-header {
    border-color: var(--g-line) !important;
    border-bottom-width: 1px !important;
    background: transparent !important;
}
.wallet-item {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    margin-bottom: 10px !important;
    transition: background .15s var(--g-ease), border-color .15s var(--g-ease);
}
.wallet-item:hover { background: var(--g-tint) !important; border-color: rgba(var(--g-accent-rgb), .25) !important; }
.wallet-item img { border-radius: 50%; background: #FFFFFF; box-shadow: var(--g-shadow-xs); }

/* ============================================================
   16. 登录 / 注册页
   ============================================================ */
.auth-section { background: transparent !important; }
.brand-badge {
    background: transparent !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.brand-badge .brand-logo { max-height: 56px !important; width: auto !important; filter: none !important; }
.auth-title { color: var(--g-ink) !important; font-family: var(--g-font) !important; font-weight: 800 !important; }
.auth-subtitle { color: var(--g-muted) !important; font-weight: 500; }
.divider-neon::before { background: var(--g-line) !important; height: 1px !important; }
.divider-neon span {
    background: transparent !important;
    color: var(--g-faint) !important;
    font-weight: 600;
    font-size: 11px;
    padding: 3px 12px !important;
    /* 页面内联给这个小标签加了 blur，会在分隔线上糊出一个灰方块 */
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.glass-chip {
    background-color: var(--g-glass) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: 999px !important;
    box-shadow: var(--g-rim) !important;
    color: var(--g-muted) !important;
    font-weight: 600;
}
.glass-chip i { color: var(--g-primary-2) !important; }
.hover-glow:hover { color: var(--g-primary) !important; text-decoration: underline !important; text-underline-offset: 3px; }

.brand-logo, .cyber-footer .logo, .footer-widget .logo {
    border: none;
    filter: none !important;
}

/* ============================================================
   17. 内联样式补丁（无 class，只能按 style 属性匹配）
   ============================================================ */
/* 交易页 / holdings 的外层卡片（内联写了软阴影 + 毛玻璃） */
[style*="rgba(163, 177, 198"], [style*="rgba(163,177,198"] {
    background-color: var(--g-glass) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-lg) !important;
    box-shadow: var(--g-shadow), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur) !important;
    backdrop-filter: var(--g-blur) !important;
    color: var(--g-ink) !important;
}
[style*="rgba(30, 41, 59"], [style*="rgba(30,41,59"],
[style*="rgba(255,255,255,0.05)"],
[style*="rgba(0,243,255,0.05)"], [style*="rgba(0, 243, 255, 0.05)"] {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    color: var(--g-ink) !important;
}
[style*="background:#0d1526"], [style*="background: #0d1526"] {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-xl) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    color: var(--g-ink) !important;
}
[style*="background: #000"], [style*="background:#000;"], [style*="background: #050d0f"] {
    background: var(--g-fill-2) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: none !important;
    color: var(--g-ink) !important;
}
/* holdings 的 Buy 按钮内联写了 background:#000 —— 改回主按钮 */
button[style*="background: #000"] {
    background: var(--g-grad) !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    color: var(--g-on-accent) !important;
    font-weight: 600;
    box-shadow: none !important;
}
[style*="rgba(239,68,68"], [style*="rgba(239, 68, 68"] {
    background: rgba(246, 70, 93, .10) !important;
    border: 1px solid rgba(246, 70, 93, .30) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: none !important;
    color: var(--g-down) !important;
}
[style*="rgba(56,189,248"] {
    background: var(--g-tint) !important;
    border: 1px solid rgba(var(--g-accent-rgb), .25) !important;
    border-radius: var(--g-r-sm) !important;
    color: var(--g-ink) !important;
}
/* 内联写死的灰字 / 黑色分隔线 */
[style*="color: #959595"] { color: var(--g-faint) !important; }
[style*="border-bottom: 1px solid #000"] { border-bottom-color: var(--g-line-2) !important; }

/* ============================================================
   18. 摘要面板（.glass-inset）—— 内凹的浅玻璃，行之间细线分隔
   ============================================================ */
.glass-inset {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
    padding: 18px 20px !important;
}
.glass-inset .list-group-item {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    padding: 11px 0 !important;
    border-bottom: 1px solid var(--g-line) !important;
}
.glass-inset .list-group-item:first-child { padding-top: 0 !important; }
.glass-inset .list-group-item:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.glass-inset .list-group-item .text-muted { color: var(--g-muted) !important; font-weight: 500; }
.border-bottom-neon { border-bottom-color: var(--g-line) !important; }

/* ============================================================
   19. 结算弹窗的信息条
   ============================================================ */
.counter-table-content {
    padding: 14px 18px !important;
    margin: 10px 0 !important;
    gap: 12px;
}
.counter-table-content > p { margin: 0 !important; color: var(--g-muted) !important; font-weight: 500; }
.counter-table-content > span:not(.buy-sell) { margin: 0 !important; color: var(--g-ink) !important; font-weight: 700; }
.buy-sell { border-radius: 999px !important; font-weight: 600; }
.overlay-content .buy-sell { color: #FFFFFF !important; }

/* ============================================================
   20. 动效克制
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    .btn:hover, .asset-card-wrapper:hover, .social-links a:hover, .dropdown a:hover div {
        transform: none !important;
    }
    .live-dot { animation: none !important; }
}

/* ============================================================
   21. Binance 质感（按钮 / 标签页 / 表格 / 分隔线 / logo 尺寸）
   ============================================================ */
/* 版面：面板贴着细线，不要投影 */
.sidebar-wrapper-fixed { border-right: 1px solid var(--g-line) !important; box-shadow: none !important; }
.topbar-fixed-wrapper { border-bottom: 1px solid var(--g-line) !important; box-shadow: none !important; }
.cyber-footer { border-top: 1px solid var(--g-line) !important; }
.navbar { border-bottom: 1px solid var(--g-line) !important; box-shadow: none !important; }
.topbar-fixed-wrapper > .navbar { border: none !important; }
.sidebar-wrapper-fixed.active { box-shadow: 0 0 0 100vmax rgba(11, 14, 17, .6) !important; }
.glass-panel:hover, .card:hover, .asset-card-wrapper:hover { box-shadow: none !important; transform: none !important; }
h1, h2, h3, h4, h5, h6, .section-heading, .footer-title, .about-title, .about-section-title { font-weight: 600 !important; }

/* 侧栏：选中是灰底 + 左侧黄条 */
.nav-item-modern { font-weight: 500; }
.nav-item-modern:hover { background: var(--g-fill-2) !important; border-color: transparent !important; }
.nav-item-modern.active { background: var(--g-fill-2) !important; border-color: transparent !important; box-shadow: none !important; font-weight: 500; }
.nav-item-modern.active i, .nav-item-modern:hover i { color: var(--g-primary-2) !important; }
.nav-item-modern.active::before { background: var(--g-primary-2) !important; box-shadow: none !important; }

/* 按钮：主按钮 #FCD535 黄底黑字，次要 #333B47 / #E6E6E6，买 / 卖白字 */
.btn { font-weight: 500 !important; border-color: transparent !important; }
.btn.rounded-pill { border-radius: var(--g-r) !important; }
.btn-primary:hover, .cmn--btn:hover, .deposit__button:hover, .btn--base:hover { opacity: .9; filter: none; }
.btn-success, .btn-success:focus, .btn--success, .btn-danger, .btn--danger { border-color: transparent !important; }
.btn-success:hover, .btn--success:hover, .btn-danger:hover, .btn--danger:hover { filter: brightness(1.08); }
.btn-secondary, .btn-light, .btn-outline-primary, .bg-outline-primary, .btn-outline-info {
    background: var(--g-btn2) !important;
    color: var(--g-btn2-text) !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}
.btn-secondary:hover, .btn-light:hover, .btn-outline-primary:hover, .btn-outline-info:hover {
    background: var(--g-btn2) !important;
    border-color: transparent !important;
    color: var(--g-primary-2) !important;
    box-shadow: none !important;
}
.btn-primary:disabled, .btn:disabled, .btn.disabled {
    opacity: 1;
    filter: none;
    background: var(--g-btn-off) !important;
    color: var(--g-text-off) !important;
}
.btn-warning { color: var(--g-on-accent) !important; }

/* 标签页：文字 + 黄色下划线，不是胶囊 */
.cyber-tab {
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    color: var(--g-muted) !important;
    font-weight: 500;
    padding: 8px 14px;
}
.cyber-tab:hover:not(.active) { background: transparent !important; color: var(--g-ink) !important; }
.cyber-tab.active {
    background: transparent !important;
    border-bottom-color: var(--g-primary-2) !important;
    color: var(--g-ink) !important;
    box-shadow: none !important;
}

/* 小标签：小圆角，不是胶囊 */
.badge, .glass-chip, .buy-sell, ul.highlow-time-duration li a { border-radius: var(--g-r-sm) !important; }

/* 表格：表头只是灰字 + 细线，hover 灰底 */
.custom-table-neon thead th, .table thead th {
    background: transparent !important;
    border-bottom: 1px solid var(--g-line) !important;
    border-radius: 0 !important;
    color: var(--g-muted) !important;
    font-size: .75rem;
    font-weight: 500 !important;
}
.custom-table-neon tbody tr:hover td, .table tbody tr:hover td { background: var(--g-fill-2) !important; }

/* 输入框：描边，hover / 聚焦变黄 */
.form-control:hover, .form-control-neon:hover, .form-select:hover { border-color: var(--g-primary-2) !important; }
.form-control:focus, .form-select:focus, .form-control-neon:focus,
.form--control:focus, .cmn--form--control:focus,
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus,
input[type="number"]:focus, input[type="tel"]:focus, input[type="search"]:focus {
    background: transparent !important;
    border-color: var(--g-primary-2) !important;
}
select option, #input-bank-name option { background: var(--g-glass) !important; }

/* 分隔 / 登录卡 */
.divider-neon::before { background: var(--g-line) !important; }
.auth-card { border: 1px solid var(--g-line) !important; }

/* 弹层：遮罩用 Binance 的 Mask，不模糊 */
.overlay, .modal-backdrop.show { background: rgba(11, 14, 17, .6) !important; opacity: 1 !important; }

/* K 线画布跟着图表自己的 Theme 按钮（页面脚本写在 body[data-theme] 上） */
body[data-theme="dark"] .trading-chart .pane { background: #181A20 !important; }

/* logo：黄字透明底，宽高比约 6:1，深浅色都同一张，不用底板 */
.sidebar-brand img, .sidebar-brand .brand-logo { max-height: 32px !important; width: auto !important; max-width: 100%; }
.topbar-fixed-wrapper .brand-logo { max-height: 24px !important; width: auto !important; }
.cyber-footer .footer-widget .logo img { max-height: 36px !important; width: auto !important; }
.navbar .brand-logo { max-height: 32px !important; height: auto !important; width: auto !important; }
.brand-badge .brand-logo { max-height: 40px !important; }

/* --- 审计补充 --- */
/* 页面内联 / 第三方样式留下的，按真实页面的计算样式逐条清掉 */
*, *::before, *::after { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.cyber-footer::before, .glow-bg-circle, .glow-bg-top, .glow-bg-top-gold { display: none !important; }
.bg-gradient-dark { background: transparent !important; }

/* 全站一种字体（第三方 CSS 给 p / a 写了 Outfit、Lexend）。图标字体不能动 */
:is(p, a, li, label, td, th, small, strong, b, em, dt, dd, button, input, select, textarea, option, span, div, h1, h2, h3, h4, h5, h6):not(.las, .lar, .lab, .la, .fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands, .iziToast-icon) {
    font-family: var(--g-font) !important;
}

/* 不要全大写 */
.menu-label, .footer-title, th, th *, label, .btn, .btn * {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* 侧栏和顶栏同一层：BasicBg */
.sidebar-wrapper-fixed { background: var(--g-glass) !important; }

/* 去掉输入框内阴影 / 状态点光圈 */
.form-control, .form-select, .form-control-neon, textarea, input { box-shadow: none !important; }

/* 主按钮：有些页面用更高权重写过渐变 */
button.btn.btn-primary, a.btn.btn-primary, .btn.btn-primary.btn-sm {
    background: #FCD535 !important;
    color: var(--g-on-accent) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* 设置 / 改密 / 提现页的图标块：原来是紫色、橙色发光 */
.security-icon-box, .security-icon-box-gold {
    background: rgba(240, 185, 11, .1) !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--g-primary-2) !important;
}
.security-icon-box i, .security-icon-box-gold i { color: var(--g-primary-2) !important; }
.user-avatar-container { background: var(--g-fill-2) !important; box-shadow: none !important; }

/* 移动端标签页的滚动条 */
.tabs-scroll-thumb { background: var(--g-primary-2) !important; box-shadow: none !important; }

/* 交易页金额框里的币种标签 */
.currency-badge { background: transparent !important; border: none !important; color: var(--g-muted) !important; box-shadow: none !important; }

/* 提示条：ToastBg，不用 iziToast 自带的浅绿 / 浅红 */
.iziToast {
    background: #FFFFFF !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: var(--g-shadow-lg) !important;
}
.iziToast::after { display: none !important; }
.iziToast .iziToast-title, .iziToast .iziToast-message { color: #000000 !important; }
.iziToast .iziToast-progressbar > div { background: var(--g-primary-2) !important; }
:root[data-theme="dark"] .iziToast { background: #4F5867 !important; border-color: transparent !important; }
:root[data-theme="dark"] .iziToast .iziToast-title, :root[data-theme="dark"] .iziToast .iziToast-message { color: #EAECEF !important; }
:root[data-theme="dark"] .iziToast .iziToast-icon, :root[data-theme="dark"] .iziToast .iziToast-close { filter: invert(1); }

/* 内联颜色（写在 style 属性或脚本模板里，这里只改外观） */
[style*="#64748B" i] { color: var(--g-faint) !important; }
[style*="#94A3B8" i] { color: var(--g-muted) !important; }
.avatar-badge { background: #2EBD85 !important; }
.info-item { border-bottom-color: var(--g-line) !important; }

/* 占位文字：Placeholder token */
::placeholder { color: #BFBFBF !important; opacity: 1 !important; }
:root[data-theme="dark"] ::placeholder { color: #434C5A !important; }

/* 手机顶栏：一行放下。新 logo 宽高比约 6:1，窄屏缩小，再窄就只留图标 */
@media (max-width: 991.98px) {
    .topbar-fixed-wrapper > .navbar { flex-wrap: nowrap !important; }
    .topbar-fixed-wrapper > .navbar a.d-lg-none .brand-logo { max-height: 24px !important; }
}
@media (max-width: 575.98px) {
    .topbar-fixed-wrapper > .navbar a.d-lg-none .brand-logo { max-height: 20px !important; }
}
@media (max-width: 380px) {
    .topbar-fixed-wrapper > .navbar a.d-lg-none .brand-logo {
        width: 30px !important;
        height: 24px !important;
        max-height: none !important;
        object-fit: cover;
        object-position: left center;
    }
}

/* 金额框后面的币种标签：页面内联了 color: #000 !important，样式表压不过，只能用 text-fill */
span.input-group-text.bg--info { -webkit-text-fill-color: var(--g-ink) !important; }

/* #########################################################################
   LIVE CHAT —— 以下是聊天站专用部分
   上面整段与主站 trading 项目的 assets/css/glass-theme.css 完全相同（侧栏、顶栏、
   按钮、下拉、表单……两边长得一样）；改主站那份时，把上面这段一起同步过来。
   ######################################################################### */

/* =========================================================================
   C0. 厂商页面变量 → 玻璃 token
   dark_mode_css_variables.css 在 :root 上写死了一套深色值；这里用 var(--g-*)
   重新指一遍，深 / 浅色主题切换时自动跟着变。
   ========================================================================= */
:root {
    --entry-page-primary-bg-color:    transparent;
    --entry-page-secondary-bg-color:  transparent;
    --entry-page-tertiary-bg-color:   #1D4ED8;
    --entry-page-quaternary-bg-color: #0891B2;
    --entry-page-quinary-bg-color:    var(--g-fill);
    --entry-page-senary-bg-color:     var(--g-primary);
    --entry-page-primary-text-color:    var(--g-muted);
    --entry-page-secondary-text-color:  var(--g-muted);
    --entry-page-tertiary-text-color:   var(--g-ink);
    --entry-page-quaternary-text-color: #FFFFFF;
    --entry-page-quinary-text-color:    var(--g-link);
    --entry-page-senary-text-color:     var(--g-body);
    --entry-page-primary-border-color:    transparent;
    --entry-page-secondary-border-color:  var(--g-primary);
    --entry-page-tertiary-border-color:   var(--g-primary);
    --entry-page-quaternary-border-color: transparent;
}

/* 登录类页面（entry.html / guest-entry.html / 聊天页的登录遮罩）和主站登录页
   一样永远是深色极光：把深色 token 写到这几个容器上，里面的规则照常用
   var(--g-*) 就会拿到深色值，不用管 html 上的 data-theme。 */
.guest-overlay {
    --g-glass:        #181A20;
    --g-glass-strong: #202630;
    --g-fill:         #202630;
    --g-fill-2:       #29313D;
    --g-line:         #333B47;
    --g-line-2:       #434C5A;
    --g-ink:   #EAECEF;
    --g-body:  #EAECEF;
    --g-muted: #929AA5;
    --g-faint: #707A8A;
    --g-on-accent: #202630;
    --g-primary: #F0B90B;
    --g-link:    #F0B90B;
}


/* =========================================================================
   C1. 聊天壳 / 头部
   ========================================================================= */
.chat-shell {
    background-color: var(--g-glass) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-xl) !important;
    box-shadow: var(--g-shadow), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur) !important;
    backdrop-filter: var(--g-blur) !important;
}
.chat-agent-head {
    background: var(--g-fill) !important;
    border-bottom: 1px solid var(--g-line) !important;
    box-shadow: none !important;
    padding: 16px 22px !important;
}
.agent-avatar {
    background: var(--g-grad) !important;
    border: 1px solid transparent !important;
    color: var(--g-on-accent) !important;
    box-shadow: none !important;
}
.agent-name { color: var(--g-ink) !important; font-weight: 700; }
.agent-status { color: var(--g-up) !important; font-weight: 600; }
.agent-status::before {
    background: var(--g-up-fill) !important;
    box-shadow: 0 0 0 3px rgba(46, 189, 133, .18) !important;
}
.lang-btn {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    color: var(--g-muted) !important;
    border-radius: 999px !important;
    box-shadow: var(--g-shadow-sm), var(--g-rim) !important;
    font-weight: 600;
}
.lang-btn:hover { color: var(--g-primary) !important; border-color: rgba(var(--g-accent-rgb), .35) !important; }

/* 顶栏 / 侧栏小细节（结构与主站相同，主站规则已覆盖大部分） */
.topbar-fixed-wrapper .las { color: var(--g-ink) !important; }
.sidebar-menu__close.text-white { color: var(--g-ink) !important; }

/* =========================================================================
   C2. 消息
   ========================================================================= */
.chat-messages::-webkit-scrollbar-thumb { background: var(--g-line-2) !important; }
.msg-avatar {
    background: var(--g-fill-2) !important;
    border: 1px solid var(--g-line) !important;
    color: var(--g-muted) !important;
    box-shadow: none !important;
    font-weight: 700;
}
.msg-row.mine .msg-avatar {
    background: var(--g-grad) !important;
    border-color: transparent !important;
    color: var(--g-on-accent) !important;
}
.msg-bubble {
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-weight: 500;
    line-height: 1.5;
}
/* 对方：一块磨砂玻璃；自己：品牌渐变 —— 和 iMessage / 主站按钮一致 */
.msg-row:not(.mine) .msg-bubble {
    background: var(--g-fill-2) !important;
    border: none !important;
    color: var(--g-ink) !important;
    box-shadow: none !important;
    border-bottom-left-radius: 2px !important;
}
.msg-row.mine .msg-bubble {
    background: var(--g-grad) !important;
    border: none !important;
    color: var(--g-on-accent) !important;
    box-shadow: none !important;
    border-bottom-right-radius: 2px !important;
}
.msg-row.mine .msg-bubble a { color: var(--g-on-accent) !important; text-decoration: underline !important; }
.msg-time { color: var(--g-faint) !important; font-weight: 500; }
.empty-chat { color: var(--g-faint) !important; }
.empty-chat i { color: var(--g-line-2) !important; }

.msg-image, .msg-video, .quoted-thumb {
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    box-shadow: var(--g-shadow-sm) !important;
}
.msg-file-attach {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    box-shadow: none !important;
}
.msg-file-attach i { color: var(--g-primary) !important; }
.msg-file-attach span { color: var(--g-ink) !important; }
.msg-row.mine .msg-file-attach { background: rgba(32, 38, 48, .08) !important; border-color: rgba(32, 38, 48, .18) !important; }
.msg-row.mine .msg-file-attach span,
.msg-row.mine .msg-file-attach i { color: var(--g-on-accent) !important; }

.msg-action-btn {
    background-color: var(--g-glass-strong) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: 999px !important;
    color: var(--g-link) !important;
    box-shadow: var(--g-shadow-sm) !important;
    padding: 2px 9px !important;
    font-weight: 600;
}
.msg-action-btn:hover { background: var(--g-tint) !important; }

.quoted-msg {
    border-left: 3px solid var(--g-primary) !important;
    background: var(--g-fill) !important;
    border-radius: var(--g-r-sm) !important;
}
.quoted-msg:hover { background: var(--g-fill-2) !important; }
.msg-row.mine .quoted-msg {
    background: rgba(32, 38, 48, .08) !important;
    border-left-color: rgba(32, 38, 48, .55) !important;
}
.quoted-sender { color: var(--g-link) !important; }
.msg-row.mine .quoted-sender { color: var(--g-on-accent) !important; }
.quoted-body, .quoted-body span, .quoted-body i { color: var(--g-muted) !important; }
.msg-row.mine .quoted-body,
.msg-row.mine .quoted-body span,
.msg-row.mine .quoted-body i { color: rgba(32, 38, 48, .75) !important; }

/* =========================================================================
   C3. 输入区 / 附件
   ========================================================================= */
.chat-input-bar {
    background: var(--g-fill) !important;
    border-top: 1px solid var(--g-line) !important;
    box-shadow: none !important;
    padding: 16px 18px !important;
}
.chat-input {
    background: var(--g-glass-strong) !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: var(--g-r) !important;
    color: var(--g-ink) !important;
    box-shadow: none !important;
    font-weight: 500;
    padding: 12px 16px !important;
    transition: border-color .2s var(--g-ease), box-shadow .2s var(--g-ease) !important;
}
.chat-input:focus { border-color: var(--g-primary) !important; box-shadow: var(--g-ring) !important; outline: none !important; }
.chat-input::placeholder { color: var(--g-faint) !important; }
.send-btn {
    background: var(--g-grad) !important;
    border: 1px solid transparent !important;
    border-radius: var(--g-r) !important;
    color: var(--g-on-accent) !important;
    box-shadow: none !important;
    transition: transform .15s var(--g-ease), box-shadow .2s var(--g-ease), filter .2s var(--g-ease) !important;
}
.send-btn:hover { transform: translateY(-1px) !important; filter: brightness(1.06); }
.send-btn:active { transform: translateY(0) !important; }
.send-btn:disabled { opacity: .45 !important; box-shadow: none !important; transform: none !important; }

.btn-attach {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    color: var(--g-muted) !important;
    box-shadow: var(--g-shadow-sm), var(--g-rim) !important;
}
.btn-attach:hover { color: var(--g-primary) !important; border-color: rgba(var(--g-accent-rgb), .35) !important; }
.attach-menu {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
    padding: 6px !important;
}
.attach-item { color: var(--g-ink) !important; border-radius: var(--g-r-sm) !important; font-weight: 600; }
.attach-item:hover { background: var(--g-tint) !important; color: var(--g-ink) !important; }
.attach-item i { color: var(--g-primary) !important; }

.image-preview-wrapper { background: transparent !important; border-top: 1px solid var(--g-line) !important; }
.image-preview-box img {
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: var(--g-shadow-sm) !important;
}
.image-preview-box .remove-btn,
.file-preview-item .remove-btn {
    background: #F6465D !important;
    box-shadow: none !important;
}
.file-preview-row {
    background: var(--g-fill) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r-sm) !important;
    box-shadow: none !important;
}
.file-preview-row i { color: var(--g-primary) !important; }
.file-preview-row .fp-name { color: var(--g-ink) !important; }
.file-preview-row .fp-size { color: var(--g-faint) !important; }

.reply-mode-bar {
    background: var(--g-fill-2) !important;
    border: 1px solid var(--g-line) !important;
    border-radius: var(--g-r) !important;
    margin: 0 18px !important;
    box-shadow: none !important;
}
.reply-mode-bar .rbar-icon,
.reply-mode-bar .rbar-label { color: var(--g-link) !important; }
.reply-mode-bar .rbar-preview { color: var(--g-muted) !important; }
.reply-mode-bar .rbar-close { color: var(--g-faint) !important; }
.reply-mode-bar .rbar-close:hover { color: var(--g-down) !important; }

.drag-overlay {
    background: color-mix(in srgb, var(--g-bg) 80%, transparent) !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border: 2px dashed var(--g-primary) !important;
    border-radius: var(--g-r-xl) !important;
    color: var(--g-link) !important;
}
.drag-overlay i { filter: none !important; }

/* =========================================================================
   C4. 语言弹窗
   ========================================================================= */
.lang-backdrop {
    background: rgba(6, 10, 24, .45) !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.lang-modal {
    background-color: var(--g-glass-strong) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-xl) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    -webkit-backdrop-filter: var(--g-blur);
    backdrop-filter: var(--g-blur);
}
.lang-modal h6 { color: var(--g-ink) !important; font-weight: 700; }
.lang-option {
    color: var(--g-muted) !important;
    border: 1px solid transparent !important;
    border-radius: var(--g-r-sm) !important;
    font-weight: 600;
}
.lang-option:hover, .lang-option.active {
    background: var(--g-tint) !important;
    border-color: rgba(var(--g-accent-rgb), .22) !important;
    color: var(--g-ink) !important;
}

/* =========================================================================
   C5. 登录类页面 —— 和主站登录页同款：深色极光 + 漂浮光球 + 一块磨砂卡
   ========================================================================= */
/* 聊天页上的登录遮罩 */
.guest-overlay {
    background: #0B0E11 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.guest-card,
.g-auth .card,
.g-auth .entry_box {
    outline: 1px solid var(--g-line);
    outline-offset: -1px;
    background-color: var(--g-glass) !important;
    background-image: var(--g-sheen) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r-xl) !important;
    box-shadow: var(--g-shadow-lg), var(--g-rim) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: var(--g-ink) !important;
}
.guest-icon, .g-auth .icon-ring {
    background: var(--g-grad-soft) !important;
    border: 1px solid var(--g-stroke) !important;
    color: var(--g-primary) !important;
    box-shadow: var(--g-rim) !important;
}
.guest-card h3, .g-auth h2 { color: var(--g-ink) !important; font-weight: 800 !important; }
.guest-card p, .g-auth .subtitle { color: var(--g-muted) !important; }
.g-auth label { color: var(--g-muted) !important; }
.guest-input,
.g-auth input[type="text"],
.g-auth input[type="password"] {
    background: var(--g-fill-2) !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: var(--g-r) !important;
    color: var(--g-ink) !important;
    box-shadow: none !important;
    font-weight: 500;
}
.guest-input:focus,
.g-auth input[type="text"]:focus,
.g-auth input[type="password"]:focus { border-color: var(--g-primary) !important; box-shadow: var(--g-ring) !important; outline: none !important; }
.guest-input::placeholder, .g-auth input::placeholder { color: var(--g-faint) !important; }
.guest-input:-webkit-autofill, .g-auth input:-webkit-autofill {
    -webkit-text-fill-color: var(--g-ink);
    -webkit-box-shadow: 0 0 0 1000px #1E2329 inset;
    caret-color: var(--g-ink);
}
.guest-err, .g-auth .err { color: var(--g-down) !important; }
.guest-btn, .g-auth .btn-enter, .g-auth .entry_box .submit_form > span {
    background: var(--g-grad) !important;
    border: 1px solid transparent !important;
    border-radius: var(--g-r) !important;
    color: var(--g-on-accent) !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    transition: transform .15s var(--g-ease), filter .2s var(--g-ease), box-shadow .2s var(--g-ease) !important;
}
.guest-btn:hover, .g-auth .btn-enter:hover, .g-auth .entry_box .submit_form > span:hover { transform: translateY(-1px) !important; filter: brightness(1.06); }
.guest-btn:active, .g-auth .btn-enter:active, .g-auth .entry_box .submit_form > span:active { transform: translateY(0) !important; }
.g-auth .divider { color: var(--g-faint) !important; }
.g-auth .divider::before, .g-auth .divider::after { background: var(--g-line) !important; }
.g-auth .btn-login {
    background-color: var(--g-glass) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    color: var(--g-link) !important;
    box-shadow: var(--g-rim) !important;
    font-weight: 700;
}
.g-auth .btn-login:hover { background-color: var(--g-glass-strong) !important; color: #FFFFFF !important; }
.g-auth .logo-wrap img { filter: none !important; max-height: 40px !important; width: auto !important; }

.g-auth .g-orb { display: none; }

/* =========================================================================
   C6. entry.html —— 厂商登录页：左栏表单 + 右侧大图，改成居中一块磨砂卡
   ========================================================================= */
.g-auth.entry_page .background { display: none !important; }
.g-auth.entry_page .main_window > .row {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
}
.g-auth .col-xl-3.entry_box,
.g-auth .entry_box {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 440px !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
}
.g-auth .entry_box > div { height: auto !important; overflow: visible !important; padding: 34px 26px 22px !important; }
.g-auth .entry_box > div > .top { margin-bottom: 8px !important; }
.g-auth .entry_box > div > .top > .logo { background: transparent !important; border: none !important; padding: 0 0 6px !important; }
.g-auth .entry_box > div > .top > .logo img { max-height: 40px !important; width: auto !important; }
.g-auth .entry_box > div > .middle { margin: 0 !important; padding: 0 !important; }
.g-auth .entry_box .heading { text-align: center; }
.g-auth .entry_box .heading > div > h3 {
    color: var(--g-ink) !important;
    font-family: var(--g-font) !important;
    font-weight: 800 !important;
    font-size: 1.7rem !important;
}
.g-auth .entry_box .heading > div > span { color: var(--g-muted) !important; font-weight: 500; }
/* 只有一个 Login 标签时这一行没有意义 */
.g-auth .entry_box .tabs { display: none !important; }
.g-auth .entry_box .form_container > form > .field > label {
    color: var(--g-muted) !important;
    font-weight: 600 !important;
    font-size: .82rem !important;
}
.g-auth .entry_box .form_container > form > .field > input,
.g-auth .entry_box .form_container > form > .field > select,
.g-auth .entry_box .form_container > form > .field > textarea {
    min-height: 48px;
    background: transparent !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: var(--g-r) !important;
    color: var(--g-ink) !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    padding: 12px 16px !important;
}
.g-auth .entry_box .form_container > form > .field > input:hover,
.g-auth .entry_box .form_container > form > .field > select:hover,
.g-auth .entry_box .form_container > form > .field > textarea:hover,
.g-auth .entry_box .form_container > form > .field > input:focus,
.g-auth .entry_box .form_container > form > .field > select:focus,
.g-auth .entry_box .form_container > form > .field > textarea:focus {
    border: 1px solid var(--g-primary) !important;
    box-shadow: var(--g-ring) !important;
}
.g-auth .entry_box .form_container > form > .field.checkbox > label { color: var(--g-body) !important; font-weight: 500 !important; }
.g-auth .entry_box .form_container > form > .field.checkbox > label > .checkmark {
    background: var(--g-fill-2) !important;
    border: 1px solid var(--g-line-2) !important;
    border-radius: 6px !important;
}
.g-auth .entry_box .form_container > form > .field.checkbox > label > input:checked ~ .checkmark {
    background: var(--g-primary) !important;
    border-color: var(--g-primary) !important;
}
.g-auth .entry_box .form_container > .message {
    background: rgba(246, 70, 93, .12) !important;
    border: 1px solid rgba(246, 70, 93, .35) !important;
    border-radius: var(--g-r) !important;
    color: #FECDD3 !important;
    box-shadow: none !important;
}
.g-auth .entry_box .form_container > .message.success { background: rgba(46, 189, 133, .12) !important; border-color: rgba(46, 189, 133, .35) !important; color: #A7F3D0 !important; }
.g-auth .entry_box .form_container > .message.warning { background: rgba(245, 158, 11, .12) !important; border-color: rgba(245, 158, 11, .35) !important; color: #FDE68A !important; }
.g-auth .entry_box .submit_form > span { padding: 13px !important; }
.g-auth .entry_box .change_form { margin: 18px 0 6px !important; }
.g-auth .entry_box .change_form span,
.g-auth .entry_box .change_form a { color: var(--g-link) !important; font-weight: 600 !important; }
.g-auth .entry_box > div > .bottom {
    background: transparent !important;
    color: var(--g-faint) !important;
    border-top: 1px solid var(--g-line) !important;
    margin-top: 18px !important;
    padding: 16px 0 0 !important;
}
.g-auth .entry_box .switch_languages, .g-auth .entry_box .current_language { color: var(--g-muted) !important; }
.g-auth .entry_box .dropdown_list {
    background-color: var(--g-glass-strong) !important;
    border: 1px solid var(--g-stroke) !important;
    border-radius: var(--g-r) !important;
    box-shadow: var(--g-shadow-lg) !important;
}
.g-auth.entry_page .modal-content { background-color: var(--g-glass-strong) !important; }

/* 聊天壳 / 头部 / 输入条用细线分层 */
.chat-shell { border: 1px solid var(--g-line) !important; }
.chat-agent-head { background: transparent !important; }
.chat-input-bar { background: transparent !important; }
.chat-input { background: transparent !important; }
.btn-attach { background: var(--g-btn2) !important; color: var(--g-btn2-text) !important; }
.agent-avatar { background: #FCD535 !important; color: var(--g-on-accent) !important; border: none !important; }
.lang-btn { background: var(--g-btn2) !important; color: var(--g-btn2-text) !important; border-radius: var(--g-r-sm) !important; }

/* --- 聊天审计补充 --- */
.agent-status::before { box-shadow: none !important; }
.chat-input { box-shadow: none !important; }
button[onclick="_captureCamera()"] { background: #FCD535 !important; color: #202630 !important; border-radius: 6px !important; }

/* 登录页输入框跟主站一样：描边不填色，hover / 聚焦变黄 */
.g-auth input:not([type="checkbox"]):not([type="radio"]), .guest-card input {
    background: transparent !important;
    border: 1px solid var(--g-line-2) !important;
}
.g-auth input:not([type="checkbox"]):not([type="radio"]):hover, .guest-card input:hover,
.g-auth input:not([type="checkbox"]):not([type="radio"]):focus, .guest-card input:focus {
    border-color: var(--g-primary-2) !important;
}
