/*
Theme Name: AxBI Power Dashboard
Description: Power BI 风格数据可视化 WordPress 模板：Axvart 清新浅色设计系统；后台「数据源（Excel 表格·计算列）→ 模型视图（表关系·语义）→ 报表视图（17 种图表可视化 DIY）」完整数据流；图表交叉筛选与时间粒度联动；首页互动轮播图；商店与赞助页全面自定义。
Author: WOOOON
Version: 2.2.9
License: GPL-2.0+
Text Domain: axbi
*/

:root {
        --bi-dim: 0;
        /* V2.2.32 默认主题「墨白 · 白主黑辅」：白色为主，黑色为辅 */
        --bi-borderb: #e8e8ea;
        --bi-bgb: #f7f7f8;
        --bi-bg2b: #ededf0;
        --bi-panelb: #ffffff;
        --bi-cardb: #ffffff;
        --bi-card2b: #f4f4f6;
        /* 明暗导出层：--bi-dim 0~1，0=主题原色，1=最深 */
        --bi-bg: color-mix(in srgb, var(--bi-bgb), #000 calc(var(--bi-dim) * 30%));
        --bi-bg2: color-mix(in srgb, var(--bi-bg2b), #000 calc(var(--bi-dim) * 30%));
        --bi-panel: color-mix(in srgb, var(--bi-panelb), #000 calc(var(--bi-dim) * 30%));
        --bi-card: color-mix(in srgb, var(--bi-cardb), #000 calc(var(--bi-dim) * 30%));
        --bi-card2: color-mix(in srgb, var(--bi-card2b), #000 calc(var(--bi-dim) * 30%));
        --bi-border: color-mix(in srgb, var(--bi-borderb, #e8eaf1), #000 calc(var(--bi-dim) * 18%));
        --bi-text: color-mix(in srgb, var(--bi-textb), #fff calc(var(--bi-dim) * 30%));
        --bi-text2: color-mix(in srgb, var(--bi-text2b), #fff calc(var(--bi-dim) * 26%));
        --bi-text3: color-mix(in srgb, var(--bi-text3b), #fff calc(var(--bi-dim) * 17%));
        --bi-border: #26262b;
        --bi-textb: #14181f;
        --bi-text2b: #5a6472;
        --bi-text3b: #9aa1b2;
        /* V2.2.32：黑色为辅——强调墨黑；明暗开关拉满时自动反转银白 */
        --bi-purple: color-mix(in srgb, #171717, #e9e9ec calc(var(--bi-dim) * 30%));
        --bi-violet: color-mix(in srgb, #3f3f46, #b9b9c1 calc(var(--bi-dim) * 100%));
        --bi-pink: #ec4899;
        --bi-cyan: color-mix(in srgb, #71717a, #8a8a94 calc(var(--bi-dim) * 100%));
        --bi-blue: color-mix(in srgb, #3f3f46, #b9b9c1 calc(var(--bi-dim) * 100%));
        --bi-amber: #f59e0b;
        --bi-green: #22c55e;
        /* 黑色渐变底上用白字（暗时反转黑字） */
        --bi-on-fg: color-mix(in srgb, #ffffff, #171717 calc(var(--bi-dim) * 100%));
        --bi-grad: linear-gradient(120deg, var(--bi-purple), var(--bi-violet));
        --bi-grad2: linear-gradient(120deg, var(--bi-purple), var(--bi-cyan));
        --bi-rowH: 84px;
        --bi-gap: 16px;
        --bi-shadow: 0 2px 12px rgba(17,17,16,.08);
        --bi-shadow-lg: 0 10px 30px rgba(17,17,16,.14);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body.bi-body {
        color: var(--bi-text);
        background: var(--bi-bg);
        min-height: 100vh;
}
a { color: var(--bi-cyan); }

/* ===== V2.3.1：WRC 拉力赛风格背景——赛道大弯弧线（红/蓝赛道走向）+ 尘土晕染 + 顶部红白路缘石条纹 ===== */
body.bi-body::before {
        content: '';
        position: fixed; inset: 0;
        z-index: 0; pointer-events: none;
        background:
                /* 右上大弯：红蓝双赛道弧线 */
                radial-gradient(circle at 88% 10%, transparent 43%, rgba(225,6,0,.055) 43.5%, rgba(225,6,0,.055) 44.3%, transparent 44.9%, transparent 52%, rgba(37,99,235,.05) 52.5%, rgba(37,99,235,.05) 53.3%, transparent 54%),
                /* 左下 S 弯：蓝红双弧 */
                radial-gradient(circle at 4% 92%, transparent 36%, rgba(37,99,235,.05) 36.5%, rgba(37,99,235,.05) 37.4%, transparent 38%, transparent 45%, rgba(225,6,0,.045) 45.5%, rgba(225,6,0,.045) 46.2%, transparent 47%),
                /* 中部飞跳坡尘土 */
                radial-gradient(880px 480px at 72% 78%, rgba(186,138,64,.055), transparent 62%),
                radial-gradient(640px 380px at 18% 24%, rgba(186,138,64,.045), transparent 58%);
}
body.bi-body::after {
        content: '';
        position: fixed; left: 0; right: 0; top: 0; height: 5px;
        z-index: 2; pointer-events: none;
        background: repeating-linear-gradient(-45deg, #e10600 0 16px, #ffffff 16px 32px, #2563eb 32px 48px, #ffffff 48px 64px);
        opacity: .5;
}
.bi-main, .bi-topnav { position: relative; z-index: 3; }

/* ===== 顶部胶囊导航（参考图 1） ===== */
.bi-topnav {
        display: flex; align-items: center; gap: 6px;
        background: linear-gradient(100deg, #3d2b8f 0%, #5b3fd4 55%, #6a46e8 100%);
        margin: 14px 18px 0; border-radius: 14px; padding: 9px 12px;
        box-shadow: 0 10px 30px rgba(70,40,180,.35);
        position: sticky; top: 10px; z-index: 60;
}
.bi-nav-logo {
        width: 40px; height: 40px; border-radius: 10px; flex: none;
        background: var(--bi-card); display: grid; place-items: center;
}
.bi-nav-logo img { max-width: 34px; max-height: 30px; object-fit: contain; }
.bi-nav-logo span { color: #fff; font-weight: 800; font-size: 17px; }
.bi-nav-links { display: flex; gap: 2px; flex: 1; flex-wrap: wrap; }
.bi-nav-links a {
        color: #d8d2f5; text-decoration: none; font-size: 12.5px; font-weight: 600;
        letter-spacing: .04em; padding: 8px 15px; border-radius: 10px; white-space: nowrap;
        transition: background .2s, color .2s;
}
.bi-nav-links a:hover { color: #fff; background: rgba(255,255,255,.08); }
.bi-nav-links a.on { color: #fff; background: rgba(255,255,255,.16); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.bi-nav-search {
        position: fixed; top: 0; right: 24px; z-index: 60;
        display: flex; align-items: center; gap: 7px;
        background: #ffffff; border: 1px solid var(--bi-border);
        border-radius: 999px; padding: 9px 18px 9px 14px; min-width: 240px;
        color: var(--bi-text); box-shadow: 0 2px 10px rgba(20,24,31,.06);
}
.bi-nav-search input {
        background: transparent; border: none; outline: none; color: var(--bi-text);
        width: 150px; font-size: 12.5px;
}
.bi-nav-search input::placeholder { color: #a99cd8; }
.bi-nav-bell {
        width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center;
        background: rgba(255,255,255,.12); color: #fff; text-decoration: none; font-size: 15px;
}

/* ===== 内容区 ===== */
.bi-main { padding: 18px; max-width: 1560px; margin: 0 auto; }

/* ===== 轮播（互动切换 + 跳转） ===== */
.bi-carousel {
        position: relative; border-radius: 18px; overflow: hidden;
        background: var(--bi-card); border: 1px solid var(--bi-border);
        box-shadow: 0 18px 44px rgba(10,5,30,.5);
}
.bi-car-track { position: relative; height: 100%; }
.bi-car-slide {
        position: absolute; inset: 0; cursor: pointer;
        display: flex; flex-direction: column; justify-content: center; gap: 10px;
        padding: 40px 54px; overflow: hidden;
        opacity: 0; visibility: hidden;
        transition: opacity .55s ease, visibility 0s linear .55s;
}
.bi-car-slide.on {
        opacity: 1; visibility: visible; z-index: 1;
        transition: opacity .55s ease;
}
.bi-car-slide::before {
        content: ""; position: absolute; right: -60px; top: -70px; width: 260px; height: 260px;
        border-radius: 50%; border: 30px solid rgba(255,255,255,.07);
}
.bi-car-slide::after {
        content: ""; position: absolute; right: 110px; bottom: -70px; width: 170px; height: 170px;
        border-radius: 50%; border: 18px solid rgba(255,255,255,.05);
}
.bi-car-slide.imgslide { background-size: cover; background-position: center; }
.bi-car-slide.imgslide::before {
        inset: 0; right: auto; top: auto; width: auto; height: auto; border: none; border-radius: 0;
        background: linear-gradient(92deg, rgba(18,10,40,.9) 0%, rgba(18,10,40,.5) 45%, rgba(18,10,40,.08) 100%);
}
.bi-car-kicker {
        align-self: flex-start; font-size: 11.5px; font-weight: 800; letter-spacing: .14em;
        color: #fff; background: rgba(255,255,255,.18); border-radius: 20px; padding: 5px 14px;
        backdrop-filter: blur(4px);
}
.bi-car-title { font-size: 27px; font-weight: 800; color: #fff; letter-spacing: .01em; text-shadow: 0 2px 14px var(--bi-shadow); }
.bi-car-desc { font-size: 13.5px; color: rgba(255,255,255,.82); max-width: 560px; }
.bi-car-cta {
        align-self: flex-start; margin-top: 6px; font-size: 12.5px; font-weight: 700; color: #fff;
        background: rgba(255,255,255,.2); border-radius: 22px; padding: 8px 18px; backdrop-filter: blur(3px);
}
.bi-car-arrow {
        position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
        width: 34px; height: 34px; border-radius: 50%; border: none; cursor: pointer;
        background: rgba(255,255,255,.16); color: #fff; font-size: 19px; display: grid; place-items: center;
        transition: background .2s;
}
.bi-car-arrow:hover { background: rgba(255,255,255,.34); }
.bi-car-prev { left: 14px; }
.bi-car-next { right: 14px; }
.bi-car-dots { position: absolute; bottom: 14px; left: 0; right: 0; display: flex; gap: 7px; justify-content: center; z-index: 5; }
.bi-car-dots button {
        width: 8px; height: 8px; border-radius: 6px; border: none; cursor: pointer;
        background: rgba(255,255,255,.32); transition: all .3s; padding: 0;
}
.bi-car-dots button.on { width: 24px; background: #fff; }

/* ===== Time Screening 筛选条（参考图 1 右侧） ===== */
.bi-timescreen {
        display: inline-flex; gap: 4px; background: var(--bi-card); border: 1px solid var(--bi-border);
        border-radius: 12px; padding: 4px; margin: 0 0 14px;
}
.bi-timescreen b { align-self: center; font-size: 11px; color: var(--bi-text3); padding: 0 10px; font-weight: 700; letter-spacing: .08em; }
.bi-timescreen button {
        border: none; cursor: pointer; font-size: 12px; font-weight: 700;
        background: transparent; color: var(--bi-text2); padding: 7px 18px; border-radius: 9px;
        transition: all .2s;
}
.bi-timescreen button.on { background: var(--bi-grad); color: var(--bi-on-fg, #fff); box-shadow: 0 4px 14px rgba(91,108,255,.4); }

/* ===== 报表网格（DIY 渲染区） ===== */
.bi-grid {
        display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
        grid-auto-rows: var(--bi-rowH); gap: var(--bi-gap);
        grid-auto-flow: dense;
}
.bi-card {
        background: linear-gradient(160deg, var(--bi-card2) 0%, var(--bi-card) 70%);
        border: 1px solid var(--bi-border); border-radius: 16px;
        padding: 16px 18px; min-width: 0; overflow: hidden;
        display: flex; flex-direction: column;
        box-shadow: 0 10px 26px rgba(8,4,24,.45);
}
.bi-card:hover { border-color: #5740a0; }
.bi-card-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex: none; }
.bi-card-title { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--bi-text); flex: 1; }
.bi-card-gear { color: var(--bi-text3); font-size: 13px; cursor: pointer; }
.bi-card-gear:hover { color: var(--bi-cyan); }
.bi-card-body { flex: 1; min-height: 0; position: relative; }
.bi-card-body > * { width: 100%; height: 100%; }

/* ===== 图表通用 ===== */
.bi-chart text { fill: var(--bi-text2); }
.bi-chart .bi-gridline { stroke: #33245f; }
.bi-bar { transition: opacity .2s; }
.bi-dimmed { opacity: .18; }
.bi-highlight { filter: brightness(1.35); }
.bi-legend { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; font-size: 11px; color: var(--bi-text2); }
.bi-legend i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; margin-right: 5px; vertical-align: -1px; }
.bi-tip {
        position: absolute; pointer-events: none; z-index: 30;
        background: rgba(20,12,44,.96); border: 1px solid #5740a0; color: var(--bi-text);
        font-size: 11.5px; padding: 7px 10px; border-radius: 9px; white-space: nowrap;
        box-shadow: 0 8px 20px var(--bi-shadow);
}

/* ===== 模型视图（后台关系图） ===== */
.bi-model-wrap { background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 16px; padding: 20px; overflow: auto; }
.bi-model-table rect.boxfill { fill: #eef0f6; stroke: #5740a0; }
.bi-model-table text { fill: var(--bi-text); font-size: 12px; }
.bi-model-table text.fld { fill: var(--bi-text2); font-size: 11px; }
.bi-model-table text.fldkey { fill: var(--bi-cyan); font-weight: 700; }
.bi-model-link { stroke: #a855f7; stroke-width: 2; fill: none; }
.bi-model-card { background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 14px; padding: 14px 16px; }
.bi-fld-tag { display: inline-block; font-size: 10.5px; padding: 2px 9px; border-radius: 8px; margin: 2px 4px 2px 0; }
.bi-fld-tag.t-text { background: rgba(56,189,248,.16); color: #7dd3fc; }
.bi-fld-tag.t-num { background: rgba(139,92,246,.2); color: #c4b5fd; }
.bi-fld-tag.t-date { background: rgba(236,72,153,.18); color: #f9a8d4; }
.bi-fld-tag.t-calc { background: rgba(245,158,11,.2); color: #fcd34d; }

/* ===== 数据源 Excel 表格 ===== */
.bi-excel { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--bi-card); border-radius: 12px; overflow: hidden; border: 1px solid var(--bi-border); }
.bi-excel th, .bi-excel td { border-bottom: 1px solid #33245f; padding: 0; }
.bi-excel th { background: #f3f4fa; color: var(--bi-text2); font-size: 11.5px; font-weight: 700; padding: 9px 10px; text-align: left; white-space: nowrap; }
.bi-excel td input, .bi-excel td input[type="text"] {
        width: 100%; border: none; background: transparent; color: var(--bi-text);
        padding: 8px 10px; font-size: 12px; outline: none;
}
.bi-excel td input:focus { background: rgba(139,92,246,.14); }
.bi-excel tr.calc td { color: #fcd34d; }
.bi-excel-num { text-align: right; font-variant-numeric: tabular-nums; }

/* ===== 后台通用 ===== */
.bi-admin { margin: 12px 16px; }
.bi-admin h1 { display: flex; align-items: center; gap: 10px; }
.bi-admin .sub { font-size: 12px; color: #777; font-weight: 400; }
.bi-flow { display: flex; gap: 0; align-items: center; margin: 10px 0 18px; flex-wrap: wrap; }
.bi-flow-step {
        display: flex; align-items: center; gap: 8px; background: #fff; border: 1.5px solid #d9dcf0;
        border-radius: 12px; padding: 9px 16px; font-weight: 700; font-size: 13px; color: #333;
}
.bi-flow-step.hot { border-color: #7c3aed; color: #7c3aed; }
.bi-flow-arrow { padding: 0 10px; color: #a0a5c0; font-weight: 800; }
.bi-btn {
        display: inline-block; border: none; cursor: pointer; font-weight: 700;
        background: linear-gradient(120deg, #7c3aed, #2563eb); color: #fff !important;
        border-radius: 9px; padding: 7px 16px; font-size: 12.5px; text-decoration: none;
}
.bi-btn.ghost { background: transparent; border: 1.5px solid #d9dcf0; color: #555 !important; }

/* ===== 商店 / 赞助 ===== */
.bi-shop-grid, .bi-sponsor-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.bi-product, .bi-sponsor-tier {
        background: linear-gradient(160deg, var(--bi-card2), var(--bi-card)); border: 1px solid var(--bi-border);
        border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 9px;
        transition: transform .2s, border-color .2s; position: relative; overflow: hidden;
}
.bi-product:hover, .bi-sponsor-tier:hover { transform: translateY(-4px); border-color: #6a4fd0; }
.bi-product-thumb {
        height: 140px; border-radius: 12px; background: var(--bi-card);
        display: grid; place-items: center; font-size: 42px; overflow: hidden;
}
.bi-product-thumb.img { background-size: cover; background-position: center; }
.bi-product-name { font-size: 15px; font-weight: 800; color: var(--bi-text); }
.bi-product-desc { font-size: 12.5px; color: var(--bi-text2); flex: 1; }
.bi-product-price { font-size: 20px; font-weight: 800; color: var(--bi-amber); font-variant-numeric: tabular-nums; }
.bi-product .bi-btn, .bi-sponsor-tier .bi-btn { text-align: center; }
.bi-sponsor-price { font-size: 24px; font-weight: 800; color: var(--bi-pink); }
.bi-qr-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.bi-qr-card { background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 14px; padding: 16px; text-align: center; }
.bi-qr-card img { width: 150px; height: 150px; object-fit: contain; background: #fff; border-radius: 10px; padding: 6px; }

/* ===== 页脚 ===== */
.bi-footer { text-align: center; padding: 26px 0 30px; color: var(--bi-text3); font-size: 12px; }

/* 响应式 */
@media (max-width: 760px) {
        .bi-grid { display: grid !important; grid-template-columns: 1fr !important; grid-auto-flow: row !important; }
        .bi-card { min-height: 220px; grid-column: auto !important; grid-row: auto !important; }
        .bi-nav-search input { width: 90px; }
        .bi-car-slide { padding: 30px 26px; }
}

/* ================================================================
   V2.3.0 全页面响应式增强：手机 / 小屏全覆盖
   ================================================================ */

/* ---- 报表画布（≤760）：纵向流式单列，行高自适应，图表画布不塌陷不重叠 ---- */
@media (max-width: 760px) {
        .bi-grid {
                grid-auto-rows: auto !important;  /* 关键修复：旧版 84px 定行高导致小屏卡片挤压重叠 */
                gap: 12px;
        }
        .bi-card {
                min-height: 240px;                /* 图表类卡片保底高度，保证画布完整渲染 */
                padding: 13px 14px;
                border-radius: 13px;
        }
        .bi-card[data-type="ui_text"],
        .bi-card[data-type="ui_search"] { min-height: 100px; }  /* 轻量卡不过高 */
        .bi-card[data-type="ui_image"],
        .bi-card[data-type="bi_carousel"],
        .bi-card[data-type="bi_slides"] { min-height: 200px; }
        .bi-main { padding: 12px; }

        /* 顶部导航收紧：logo+搜索第一行，链接横向换行到第二行 */
        .bi-topnav { padding: 8px 10px; gap: 8px; flex-wrap: wrap; }
        .bi-nav-logo, .bi-logo { margin-right: auto; }
        .bi-nav-search { order: 2; }
        .bi-nav-bell { order: 2; }
        .bi-nav-links { order: 3; width: 100%; flex-wrap: wrap; gap: 1px; }
        .bi-nav-links a { font-size: 12px; padding: 5px 8px; }

        /* 轮播：高度与字号随视口缩放 */
        .bi-carousel { min-height: 280px; }
        .bi-car-slide { min-height: 280px; }
        .bi-car-title { font-size: clamp(22px, 6.4vw, 30px) !important; }
        .bi-car-desc { font-size: 13.5px; }

        /* KPI 数字缩放 */
        .bi-kpi-num { font-size: 21px; }
        .bi-kpi-ico { width: 38px; height: 38px; }

        /* 商城 / 赞赏：单列大卡 + 触控友好按钮（≥44px 命中目标） */
        .bi-shop-grid, .bi-sponsor-grid { grid-template-columns: 1fr; gap: 14px; }
        .bi-product, .bi-sponsor-tier { padding: 14px; }
        .bi-product .bi-btn, .bi-sponsor-tier .bi-btn { min-height: 42px; font-size: 14px; }
        .bi-qr-row { grid-template-columns: 1fr; }

        /* 数据表格在卡内横向滚动，不撑破布局 */
        .bi-card-body { overflow-x: auto; }
        .bi-excel { min-width: 460px; }
}

/* ---- 小屏手机（≤480）进一步收紧 ---- */
@media (max-width: 480px) {
        .bi-nav-logo span { font-size: 15px; }
        .bi-nav-links a { font-size: 11.5px; padding: 5px 6px; }
        .bi-nav-search input { width: 72px; font-size: 12px; }
        .bi-main { padding: 10px; }
        .bi-card { min-height: 205px; padding: 12px; }
        .bi-card[data-type="ui_text"] { min-height: 84px; }
        .bi-carousel { min-height: 236px; }
        .bi-car-slide { min-height: 236px; padding: 22px 16px; }
        .bi-kpi-num { font-size: 19px; }
        .bi-card-head { font-size: 13.5px; }
        .bi-card-body { font-size: 13px; }
        .bi-excel { min-width: 380px; }
}

/* 顶部导航 Tabs */
.bi-nav-tabs { display: flex; gap: 4px; flex: 1; margin: 0 18px; }
.bi-tab {
        color: #6b7280; text-decoration: none; font-size: 13px; font-weight: 600;
        padding: 7px 18px; border-radius: 20px; transition: all .2s; white-space: nowrap;
}
.bi-tab:hover { color: #fff; background: rgba(255,255,255,.09); }
.bi-tab.on { background: linear-gradient(120deg, rgba(255,255,255,.22), rgba(255,255,255,.12)); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }

/* 图表 SVG 自适应（兼容 ax-chart / bi-chart 两类类名） */
.ax-chart, .bi-chart { width: 100%; height: auto; max-height: 100%; display: block; }

/* ===== 图表通用组件（tooltip / 图例 / 提示） ===== */
.ax-tip {
        position: fixed; z-index: 99999; pointer-events: none;
        background: rgba(20, 12, 40, .95); color: #ece9f6;
        border: 1px solid #4a3580; border-radius: 10px;
        padding: 8px 12px; font-size: 12px; line-height: 1.5;
        box-shadow: 0 8px 24px var(--bi-shadow-lg); white-space: nowrap; display: none;
}
.ax-legend {
        display: flex; flex-wrap: wrap; gap: 4px 14px; justify-content: center;
        margin-top: 10px; font-size: 11.5px; color: #b3a8d6;
}
.ax-legend span { display: inline-flex; align-items: center; gap: 5px; }
.ax-legend i { width: 9px; height: 9px; border-radius: 3px; flex: none; }
.ax-legend-center { justify-content: center; }
.ax-note { color: #7d6fa8; font-size: 12px; padding: 14px 4px; text-align: center; }
.ax-tag { display: inline-block; padding: 1.5px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; }
.ax-tag.ok { background: rgba(34,197,94,.16); color: #4ade80; }
.ax-tag.warn { background: rgba(245,158,11,.16); color: #fbbf24; }
.ax-table, .ax-table-wrap { width: 100%; }
.ax-table { border-collapse: collapse; font-size: 12px; width: 100%; }
.ax-table th, .ax-table td { border-bottom: 1px solid #33245f; padding: 6px 8px; text-align: left; color: #6b7280; }
.ax-table th { color: #8f81bb; font-weight: 600; font-size: 11px; }
.ax-table-sm { font-size: 11.5px; }
.ax-table-wrap { overflow: auto; max-height: 100%; }
.ax-btn, .bi-btn {
        display: inline-block; background: linear-gradient(120deg,#8b5cf6,#5b6cff);
        color: #fff; border: none; border-radius: 10px; padding: 9px 18px;
        font-size: 13px; font-weight: 700; text-decoration: none; cursor: pointer;
        transition: filter .2s, transform .15s;
}
.ax-btn:hover, .bi-btn:hover { filter: brightness(1.15); transform: translateY(-1px); }
.bi-btn-primary { width: 100%; margin-top: 10px; text-align: center; }
.ax-drv-group, .ax-drv-title, .ax-tabs, .ax-tab { all: revert; }
.ax-mini-card, .ax-product, .ax-cards-3 { display: block; }
.ax-cards-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.ax-chip-grid, .ax-chip { display: block; }
.ax-prose { font-size: 12.5px; color: #b3a8d6; line-height: 1.75; }
.ax-prose p { margin: 6px 0; }
.ax-prose a { color: #38bdf8; text-decoration: none; }
.ax-prose ol, .ax-prose ul { padding-left: 20px; margin: 6px 0; }
.ax-prose h4 { margin: 10px 0 4px; color: #ece9f6; }
.ax-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.ax-mini-head { display: flex; align-items: center; gap: 7px; margin-bottom: 4px; }
.ax-mini-card { background: rgba(139,92,246,.08); border: 1px solid #3d2b6b; border-radius: 12px; padding: 12px; }
.ax-mini-card b { font-size: 13px; color: #ece9f6; }
.ax-mini-card p { margin: 4px 0 0; font-size: 12px; color: #b3a8d6; }
.ax-donate-price, .ax-qr-grid, .ax-qr, .ax-qr-img, .ax-qr-box, .ax-qr-link, .ax-donate-link, .ax-donate-tier { display: block; }
.ax-donate-price { font-size: 20px; font-weight: 800; color: #ec4899; }
.ax-donate-tier b { color: #ece9f6; }

/* ===== 顶部 LOGO（修复错位：垂直居中 + 尺寸约束） ===== */
.bi-logo {
        display: inline-flex; align-items: center; justify-content: center;
        height: 34px; flex: none; gap: 8px; text-decoration: none; line-height: 1;
}
.bi-logo img {
        height: 30px; width: auto; max-width: 150px;
        object-fit: contain; display: block;
}
.bi-logo-mark {
        display: inline-flex; align-items: center; justify-content: center;
        width: 30px; height: 30px; border-radius: 9px;
        background: linear-gradient(135deg, #8b5cf6, #38bdf8);
        color: #fff; font-size: 15px; font-weight: 700;
        box-shadow: 0 0 14px rgba(139, 92, 246, .55);
}
.bi-topnav { align-items: center; }

/* 前台报表页 Tab */
.bi-report-tabs {
        display: flex; gap: 8px; margin: 4px 0 18px; flex-wrap: wrap;
}
.bi-report-tab {
        padding: 8px 20px; border-radius: 18px; font-size: 13px; font-weight: 700;
        color: var(--bi-text2); background: var(--bi-card); border: 1px solid var(--bi-border);
        text-decoration: none; transition: all .2s;
}
.bi-report-tab:hover { color: #fff; border-color: var(--bi-purple); }
.bi-report-tab.on {
        background: var(--bi-grad); color: var(--bi-on-fg, #fff); border-color: transparent;
        box-shadow: 0 4px 14px rgba(139,92,246,.4);
}

/* ============================================================
   V1.3 科技感配色 + 左侧竖排导航
   ============================================================ */
:root {
        --bi-bgb: #f7f7f8; --bi-cardb: #ffffff; --bi-card2b: #f4f4f6;
        --bi-border: var(--bi-border);
        /* V2.2.32：accent 墨黑系（白主黑辅），勿写死静态色 */
        --bi-accent: color-mix(in srgb, #171717, #e9e9ec calc(var(--bi-dim) * 30%));
        --bi-accent2: color-mix(in srgb, #3f3f46, #b9b9c1 calc(var(--bi-dim) * 100%));
        --bi-grad: linear-gradient(135deg, var(--bi-accent), var(--bi-accent2));
        --bi-textb: #14181f; --bi-text2b: #5a6472; --bi-text3b: #9aa1b2;
}
body.bi-body { background: radial-gradient(1100px 500px at 78% -8%, rgba(17,17,16,.028), transparent 60%), radial-gradient(900px 420px at -10% 30%, rgba(17,17,16,.02), transparent 55%), var(--bi-bg); color: var(--bi-text); }
.bi-main { margin-left: 206px; margin-right: 20px; padding: 22px 26px 40px; max-width: none; }
.bi-card { background: var(--bi-card); border-color: var(--bi-border); box-shadow: 0 8px 24px var(--bi-shadow); }
.bi-card:hover { box-shadow: 0 14px 34px color-mix(in srgb, var(--bi-purple), transparent 88%); }
.bi-card-gear { display: none; }

/* 左侧竖排导航 */
.bi-topnav.nav-side {
        position: fixed; left: 0; top: 0; bottom: 0; width: 190px; z-index: 90;
        flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 10px;
        margin: 0; border-radius: 0; padding: 20px 14px;
        background: #ffffff; border-right: 1px solid var(--bi-border);
        box-shadow: none;
        overflow-y: auto;
}
.bi-topnav.nav-side .bi-logo { height: auto; margin: 2px 4px 14px; justify-content: center; }
.bi-topnav.nav-side .bi-logo img { height: 34px; max-width: 140px; }
.bi-topnav.nav-side .bi-nav-title {
        color: #5b6c85; font-size: 11px; font-weight: 700; letter-spacing: .14em;
        padding: 4px 8px 8px; border-bottom: 1px solid var(--bi-border); margin-bottom: 6px;
}
.bi-topnav.nav-side .bi-nav-tabs { display: flex; flex-direction: column; gap: 6px; flex: none; }
/* V2.2.24：菜单项改为"左下角明暗开关"同款风格——毛玻璃胶囊 + 细边框 + 内阴影；选中态主题渐变填充 + 发光 */
.bi-topnav.nav-side .bi-tab {
        width: 100%; text-align: left; padding: 10px 15px; border-radius: 999px;
        color: var(--bi-text2); background: color-mix(in srgb, var(--bi-card2b), transparent 78%);
        border: 1px solid var(--bi-border); position: relative;
        font-size: 13.5px; font-weight: 600; letter-spacing: .02em;
        box-shadow: inset 0 1px 6px rgba(0,0,0,.10);
        transition: color .18s, background .18s, border-color .18s, box-shadow .18s, transform .18s;
}
.bi-topnav.nav-side .bi-tab:hover {
        color: #fff; transform: translateX(2px);
        background: color-mix(in srgb, var(--bi-card2b), transparent 46%);
        border-color: color-mix(in srgb, var(--bi-purple), transparent 60%);
}
.bi-topnav.nav-side .bi-tab.on {
        color: var(--bi-on-fg, #fff); background: var(--bi-grad); border-color: transparent;
        box-shadow: 0 5px 16px color-mix(in srgb, var(--bi-purple), transparent 65%), inset 0 1px 0 rgba(255,255,255,.25);
}
.bi-topnav.nav-side .bi-tab.on::before { content: none; }

/* 顶部横排模式（可选） */
.bi-topnav.nav-top { position: sticky; top: 10px; }

/* 轮播加高一倍 */
.bi-car-slide { min-height: 460px; padding: 56px 64px; }
.bi-car-title, .bi-car-kicker { letter-spacing: .12em; }
@media (max-width: 900px) {
        .bi-main { margin-left: 0; }
        .bi-topnav.nav-side {
                position: sticky; top: 0; width: auto; bottom: auto; flex-direction: row; align-items: center;
                border-right: none; border-bottom: 1px solid var(--bi-border); margin: 0; padding: 10px 14px;
        }
        .bi-topnav.nav-side .bi-nav-tabs { flex-direction: row; }
        .bi-topnav.nav-side .bi-nav-title { display: none; }
        .bi-car-slide { min-height: 300px; }
}

/* V1.9：搜索框与内容上方标题（菜单名称）平行，贴最右上角，滚动吸顶 */
.bi-page-heading { display: flex; align-items: center; justify-content: flex-start; gap: 16px; flex-wrap: wrap; margin-top: 2px; position: relative; min-height: 42px; padding-right: 260px; }
@media (max-width: 760px) { .bi-page-heading { padding-right: 0; } .bi-nav-search { position: static; width: 100%; min-width: 0; margin-top: 8px; box-shadow: none; } }
/* 搜索框 fixed 右上：基础定义见第 64 行 */
.bi-nav-search input { background: transparent; border: none; color: #e6edf7; width: 86%; outline: none; font-size: 12.5px; }
.bi-nav-search input::placeholder { color: #5b6c85; }
.bi-nav-search svg { color: #6366f1; vertical-align: -2px; }
.bi-main { padding-top: 18px; }
/* 轮播图片幻灯片：渐变遮罩保证文字可读 */
.bi-car-slide.imgslide::after {
        content: ""; position: absolute; inset: 0;
        background: linear-gradient(90deg, rgba(7,11,20,.82) 0%, rgba(7,11,20,.45) 55%, rgba(7,11,20,.15) 100%);
}
.bi-car-slide.imgslide > span { position: relative; z-index: 2; text-shadow: 0 1px 8px var(--bi-shadow-lg); }
.bi-car-slide.imgslide .bi-car-title { font-size: 30px; font-weight: 800; }
.bi-car-slide.imgslide .bi-car-cta {
        display: inline-flex; margin-top: 6px; padding: 8px 18px; border-radius: 999px;
        background: linear-gradient(135deg,#6366f1,#3b82f6); color: #fff; font-weight: 700; font-size: 13px;
}
.bi-car-slide[data-link] { cursor: pointer; }
.bi-car-slide.imgslide::before { opacity: .35; }
@media (max-width: 900px) {
        .bi-nav-search { width: 100%; }
}

/* V1.7：内容上方页面标题条 */
.bi-page-heading { max-width: 1560px; margin: 0 auto 14px; }
.bi-page-heading-title {
        font-size: 24px; font-weight: 800; color: #e6edf7; letter-spacing: .5px;
        line-height: 1.3;
}
/* sticky footer：内容不足一屏时版权仍贴底 */
body { min-height: 100vh; display: flex; flex-direction: column; }
.bi-main { flex: 1 0 auto; }
.bi-footer { flex-shrink: 0; }
/* 搜索框固定强化 */
.bi-nav-search { z-index: 120; }
/* ui 元素：编辑器画布内自适应 */
.bi-w-body { overflow: hidden; }

/* V1.8：轮播/图片卡填满卡框（去内边距） */
.bi-card-flush { padding: 0 !important; overflow: hidden; border-radius: 14px; }
.bi-card-flush .bi-card-body { padding: 0; height: calc(100% ); }
.bi-card-flush .bi-carousel { height: 100%; }
.bi-card-flush .bi-car-track, .bi-card-flush .bi-car-slide { height: 100%; }

/* V1.8：logo 站点标题 + flush 图卡 */
.bi-logo { display: inline-flex; align-items: center; gap: 8px; }
.bi-logo-name { font-size: 15px; font-weight: 800; color: #e6edf7; letter-spacing: .5px; }
.bi-logo-img { max-height: 30px; width: auto; }

/* ---- V2.0 Axvart 浅色：KPI 圆形图标底 + 数值强调 ---- */
.bi-kpi-row { display: flex; align-items: center; gap: 14px; height: 100%; }
.bi-kpi-ico {
        flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: 22px; font-weight: 800;
}
.bi-kpi-ico.c1 { background: var(--bi-card2); color: var(--bi-purple); }
.bi-kpi-ico.c2 { background: var(--bi-card2); color: #f59e0b; }
.bi-kpi-ico.c3 { background: var(--bi-card2); color: #fb7185; }
.bi-kpi-ico.c4 { background: var(--bi-card2); color: #8b5cf6; }
.bi-kpi-ico.c5 { background: var(--bi-card2); color: #06b6d4; }
.bi-kpi-num { font-size: 24px; font-weight: 800; color: var(--bi-text); line-height: 1.15; }
.bi-kpi-lab { font-size: 12.5px; color: var(--bi-text3); margin-top: 2px; }

/* ---- 搜索框组件（DIY 可放置） ---- */
.bi-search-widget { display: flex; height: 100%; align-items: center; }
.bi-search-widget form {
        display: flex; align-items: center; gap: 8px; width: 100%;
        background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 12px;
        padding: 10px 14px; box-shadow: var(--bi-shadow);
}
.bi-search-widget input { border: none; outline: none; background: transparent; color: var(--bi-text); width: 100%; font-size: 13.5px; }
.bi-search-widget svg { color: #6b7280; flex: 0 0 auto; }

/* ============ V2.0 浅色主题最终覆盖（Axvart 风格） ============ */
body.bi-body { background: var(--bi-bg); color: var(--bi-text); }
.bi-topnav.nav-side { background: var(--bi-panel); border-right: 1px solid var(--bi-border); box-shadow: none; }
.bi-topnav.nav-top { background: var(--bi-panel); border-bottom: 1px solid var(--bi-border); box-shadow: none; }
.bi-logo-name { color: var(--bi-text); }
.bi-nav-title { color: var(--bi-text3); }
.bi-tab { color: var(--bi-text2); }
.bi-tab:hover { color: var(--bi-purple); background: var(--bi-card2); }
.bi-tab.on { background: var(--bi-card2); color: var(--bi-purple); box-shadow: none; }
.bi-page-heading-title { color: var(--bi-text); font-weight: 800; }
.bi-nav-search { background: var(--bi-card2); border: 1px solid var(--bi-border); box-shadow: 0 2px 12px var(--bi-shadow); }
.bi-nav-search input { color: var(--bi-text); }
.bi-nav-search input::placeholder { color: var(--bi-text3); }
.bi-nav-search svg { color: var(--bi-text3); }
.bi-card { background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 16px; box-shadow: 0 2px 12px var(--bi-shadow); }
.bi-card-title { color: var(--bi-text); }
.bi-footer { color: var(--bi-text3); background: transparent; border-top: 1px solid var(--bi-border); }
.bi-kpi-num, .bi-card-title, .bi-model-table text { fill: var(--bi-text); }
.bi-search-widget form { background: var(--bi-card); }
.bi-btn, .bi-button-widget button { background: var(--bi-grad); color: var(--bi-on-fg, #fff); border: none; box-shadow: 0 4px 14px var(--bi-shadow); }

/* ---- V2.0 侧栏菜单最终浅色（V2.2.27：移除两条 !important 压制规则，菜单选中/hover 样式由 V2.2.25+ 科技感体系接管） ---- */
.bi-topnav.nav-top .bi-tab.on { color: var(--bi-purple); background: var(--bi-card2); box-shadow: none; }

/* ---- V2.0 KPI/数值旧渐变文字收尾 ---- */
[class*="kpi"] .value, .bi-kpi-val, .bi-kpi .num, .bi-kpi .value {
        color: var(--bi-text) !important; -webkit-text-fill-color: currentColor !important;
        background: none !important;
}

/* ---- V2.0.1 图片填满整个框 ---- */
.bi-car-slide img,
.bi-img-widget img,
.bi-image-widget img,
[class*="image"] img,
.bi-w-body img {
        width: 100% !important; height: 100% !important;
        object-fit: cover !important; display: block;
        border-radius: inherit;
}
.bi-car-slide, .bi-car-track, .bi-car-viewport { overflow: hidden; }
.bi-car-slide { padding: 0 !important; }

/* ---- V2.0.1 图片框/轮播全出血填满 ---- */
.bi-card-fullbleed { padding: 0 !important; }
.bi-card-fullbleed .bi-card-body { height: 100%; }
.bi-card-fullbleed img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; }
.bi-car-slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; }

/* ---- V2.0.2 文字色终极保底 ---- */
:root { --bi-textb: #14181f; --bi-text2b: #5a6472; --bi-text3b: #9aa1b2; }
body.bi-body { color: var(--bi-text); }
.bi-card, .bi-card * { -webkit-text-fill-color: currentColor; }

/* ---- V2.0.4 突破 WP 主题正文限宽，BI 页面全宽平铺 ---- */
body:has(.bi-main) .site-main,
body:has(.bi-main) .wp-block-post-content,
body:has(.bi-main) .wp-site-blocks,
body:has(.bi-main) .entry-content,
body:has(.bi-main) .content-area,
body:has(.bi-main) .ast-container,
body:has(.bi-main) .generate-grid-container {
        max-width: none !important; width: 100% !important;
}
body:has(.bi-main) .wp-site-blocks { padding-left: 0 !important; padding-right: 0 !important; }
body:has(.bi-main) .entry-content > .alignwide,
body:has(.bi-main) .entry-content > .alignfull { max-width: none !important; width: 100% !important; }

/* ---- V2.2.24 商品模块视觉升级：图片区渐变底衬+悬停缩放、分类渐变徽章、价格排版、按钮胶囊化 ----
   图片区：自适应占满剩余空间；contain=完整显示（默认，等比缩放不裁切），cover=填满裁切
   注：!important 用于对抗上方 .bi-card-fullbleed img 的 cover !important（商品卡因图顶满而带 fullbleed 类） */
.bi-product { width: 100%; height: 100%; display: flex; flex-direction: column; background: var(--bi-card); overflow: hidden; border-radius: 14px; }
/* 图片区底衬：随明暗开关（--bi-dim）同步混深，暗色下不再是刺眼亮块（与左下角开关同机制） */
.bi-product-img { position: relative; flex: 1 1 auto; min-height: 0; background: linear-gradient(160deg, color-mix(in srgb, var(--bi-purple) 6%, var(--bi-card2)), var(--bi-card)); display: grid; place-items: center; overflow: hidden; }
.bi-product-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 62%, rgba(15,12,30,.10)); pointer-events: none; }
.bi-product-img img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; display: block; position: relative; z-index: 1; transition: transform .4s cubic-bezier(.3,.7,.3,1); }
.bi-product:hover .bi-product-img img { transform: scale(1.05); }
.bi-product-img[data-fit="cover"] img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.bi-product-img-empty { color: #8a93a6; font-size: 13px; position: relative; z-index: 1; }
/* 信息区：按内容完整展示，不被压缩；分类改为主题渐变徽章 */
.bi-product-info { flex: 0 0 auto; display: flex; flex-direction: column; gap: 7px; padding: 13px 16px 0; }
.bi-product-cat { align-self: flex-start; font-size: 10.5px; font-weight: 800; color: var(--bi-on-fg, #fff); background: var(--bi-grad); border-radius: 999px; padding: 3px 11px; letter-spacing: .06em; box-shadow: 0 3px 10px color-mix(in srgb, var(--bi-purple), transparent 72%); }
.bi-product-name { margin: 0; font-size: 15.5px; font-weight: 800; color: var(--bi-text); line-height: 1.3; transition: color .18s; }
.bi-product:hover .bi-product-name { color: var(--bi-purple); }
.bi-product-desc { margin: 0; font-size: 12.5px; color: var(--bi-text2); line-height: 1.6; white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bi-product-actions { flex: 0 0 auto; margin-top: auto; display: flex; gap: 9px; flex-wrap: wrap; padding: 12px 16px 16px; }
.bi-product-price-row { display: flex; align-items: baseline; gap: 8px; }
.bi-product-price-row .bi-product-price { font-size: 21px; font-weight: 800; color: var(--bi-amber, #f59e0b); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.bi-product-price-row .bi-product-orig { font-size: 12px; color: var(--bi-text2, #8a93a6); }
.bi-product-img.bi-img-fail::after { content: "图片加载失败"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 12px; color: #8a93a6; z-index: 2; }
/* 按钮：说明书=描边幽灵胶囊；点击购买=主题渐变胶囊+箭头，hover 上浮加光 */
.bi-product-actions a { display: inline-flex; align-items: center; justify-content: center; font-size: 12.5px; font-weight: 700; border-radius: 999px; padding: 8px 16px; text-decoration: none; transition: transform .18s, box-shadow .18s, border-color .18s, background .18s; }
/* V2.2.12：无链接时的管理员诊断提示（浅色小字，游客不渲染） */
.bi-product-actions .bi-actions-empty { font-size: 11px; color: #b45309; background: #fef7ed; border: 1px dashed #f0c78a; border-radius: 8px; padding: 6px 10px; line-height: 1.5; }
.bi-product-actions a:hover { transform: translateY(-2px); }
.bi-product-doc { color: var(--bi-text); background: color-mix(in srgb, var(--bi-card2), transparent 30%); border: 1.5px solid var(--bi-border); }
.bi-product-doc:hover { border-color: var(--bi-purple); color: var(--bi-purple); box-shadow: 0 4px 12px color-mix(in srgb, var(--bi-purple), transparent 78%); }
.bi-product-buy { color: var(--bi-on-fg, #fff); background: var(--bi-grad); border: none; box-shadow: 0 4px 14px color-mix(in srgb, var(--bi-purple), transparent 62%); }
.bi-product-buy:hover { box-shadow: 0 7px 20px color-mix(in srgb, var(--bi-purple), transparent 45%); }

/* ---- V2.1.0 页面标题 ---- */
.bi-page-heading-title { margin: 0 0 12px; font-size: 22px; font-weight: 800; color: var(--bi-text); letter-spacing: .01em; }

/* ================= V2.2.0 科技感主题配色系统 ================= */
[data-theme="golden"] {
        --bi-bgb: #0f0f10; --bi-bg2b: #141416; --bi-panelb: #131315;
        --bi-cardb: #1d1d20; --bi-card2b: #242428; --bi-border: #2e2e33;
        --bi-textb: #f5f5f4; --bi-text2b: #b8b8b0; --bi-text3b: #7a7a74;
        --bi-purple: #f5d90a; --bi-violet: #e8c40a; --bi-cyan: #f5d90a;
        --bi-grad: linear-gradient(120deg, #f5d90a, #d4b708);
        --bi-grad2: linear-gradient(120deg, #f5d90a, #fb923c);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.45); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.6);
}
[data-theme="cyber"] {
        --bi-bgb: #0b1220; --bi-bg2b: #0d1626; --bi-panelb: #0d1424;
        --bi-cardb: #111a2e; --bi-card2b: #15213a; --bi-border: #1f2d4a;
        --bi-textb: #e6f1ff; --bi-text2b: #9db2d6; --bi-text3b: #5f7599;
        --bi-purple: #22d3ee; --bi-violet: #38bdf8; --bi-cyan: #22d3ee;
        --bi-grad: linear-gradient(120deg, #0ea5e9, #22d3ee);
        --bi-grad2: linear-gradient(120deg, #22d3ee, #34d399);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.4); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.55);
}
[data-theme="neon"] {
        --bi-bgb: #120b1e; --bi-bg2b: #160e26; --bi-panelb: #150d24;
        --bi-cardb: #1c1230; --bi-card2b: #241a3d; --bi-border: #322452;
        --bi-textb: #f3e8ff; --bi-text2b: #c4a9e8; --bi-text3b: #8168a8;
        --bi-purple: #d946ef; --bi-violet: #c026d3; --bi-cyan: #e879f9;
        --bi-grad: linear-gradient(120deg, #a21caf, #d946ef);
        --bi-grad2: linear-gradient(120deg, #d946ef, #22d3ee);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.45); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.6);
}
[data-theme="matrix"] {
        --bi-bgb: #0a1410; --bi-bg2b: #0d1a13; --bi-panelb: #0c1811;
        --bi-cardb: #10241a; --bi-card2b: #163024; --bi-border: #1f4433;
        --bi-textb: #e8fff2; --bi-text2b: #9fd4b8; --bi-text3b: #5c8a72;
        --bi-purple: #34d399; --bi-violet: #10b981; --bi-cyan: #34d399;
        --bi-grad: linear-gradient(120deg, #059669, #34d399);
        --bi-grad2: linear-gradient(120deg, #34d399, #a3e635);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.4); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.55);
}
[data-theme="solar"] {
        --bi-bgb: #17120d; --bi-bg2b: #1c1610; --bi-panelb: #1a140e;
        --bi-cardb: #241c12; --bi-card2b: #2e2418; --bi-border: #43331f;
        --bi-textb: #fff7ea; --bi-text2b: #d9c4a5; --bi-text3b: #96805e;
        --bi-purple: #fb923c; --bi-violet: #f97316; --bi-cyan: #fb923c;
        --bi-grad: linear-gradient(120deg, #ea580c, #fb923c);
        --bi-grad2: linear-gradient(120deg, #fb923c, #fbbf24);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.45); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.6);
}
[data-theme="ice"] {
        --bi-bgb: #0c1626; --bi-bg2b: #0f1c30; --bi-panelb: #0e1a2c;
        --bi-cardb: #142338; --bi-card2b: #1a2d47; --bi-border: #25405f;
        --bi-textb: #eaf4ff; --bi-text2b: #aecbe8; --bi-text3b: #6b8db2;
        --bi-purple: #60a5fa; --bi-violet: #3b82f6; --bi-cyan: #60a5fa;
        --bi-grad: linear-gradient(120deg, #2563eb, #60a5fa);
        --bi-grad2: linear-gradient(120deg, #60a5fa, #a5f3fc);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.4); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.55);
}

/* ---- 侧栏面板色随主题 ---- */
.bi-topnav.nav-side { background: var(--bi-panel); }
.bi-topnav.nav-side .bi-nav-title { color: var(--bi-text3); border-bottom-color: var(--bi-border); }
.bi-topnav.nav-side .bi-tab { color: var(--bi-text2); }
.bi-topnav.nav-side .bi-tab:hover { color: var(--bi-text); background: var(--bi-card2); }
.bi-topnav.nav-side .bi-tab.on { color: var(--bi-on-fg, #fff); background: var(--bi-grad); box-shadow: 0 4px 14px rgba(0,0,0,.18); }

/* ---- 侧栏用户区（参考图头像风格） ---- */
.bi-nav-user { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 10px 6px 14px; }
.bi-nav-avatar { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--bi-card2); border: 2px solid var(--bi-grad); box-shadow: 0 4px 12px var(--bi-shadow); }
.bi-nav-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bi-nav-avatar span { font-size: 22px; opacity: .6; }
.bi-nav-avatar .bi-avatar-badge {
        width: 100%; height: 100%; display: grid; place-items: center;
        background: linear-gradient(135deg, var(--bi-purple), var(--bi-cyan));
        color: #fff; font-size: 20px; font-weight: 800;
}
.bi-nav-user b { font-size: 12.5px; color: var(--bi-text); font-weight: 800; letter-spacing: .02em; }
.bi-nav-edit { font-size: 10px; font-weight: 700; color: var(--bi-text2); background: var(--bi-card2); border: 1px solid var(--bi-border); border-radius: 999px; padding: 2px 12px; text-decoration: none; transition: color .2s, border-color .2s; }
.bi-nav-edit:hover { color: var(--bi-purple); border-color: var(--bi-purple); }

/* ---- 菜单图标（按菜单名匹配的简约 SVG） ---- */
.bi-topnav.nav-side .bi-tab { display: flex; align-items: center; gap: 9px; }
.bi-tab-ico { display: inline-flex; flex: none; opacity: .72; }
.bi-tab:hover .bi-tab-ico, .bi-tab.on .bi-tab-ico { opacity: 1; }

/* ---- 侧栏底部明暗开关（太阳/月亮 + 可拖滑块） ---- */
.bi-mode-switch { position: relative; margin: auto auto 0; display: flex; align-items: center; justify-content: space-between; width: 84px; height: 38px; border-radius: 999px; padding: 0 9px; cursor: pointer; user-select: none; background: color-mix(in srgb, var(--bi-card2b), #000 calc(var(--bi-dim) * 30%)); border: 1px solid var(--bi-border); box-shadow: inset 0 2px 8px rgba(0,0,0,.18); }
.bi-mode-ico { position: relative; z-index: 1; color: var(--bi-text3); transition: color .3s, opacity .3s; pointer-events: none; }
.bi-mode-sun { color: var(--bi-purple); }
.bi-mode-moon { opacity: .45; }
.bi-mode-switch.dark .bi-mode-sun { color: var(--bi-text3); }
.bi-mode-switch.dark .bi-mode-moon { color: var(--bi-purple); opacity: 1; }
.bi-mode-knob { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--bi-grad); box-shadow: 0 3px 10px rgba(0,0,0,.35), 0 0 0 3px color-mix(in srgb, var(--bi-panelb), #000 calc(var(--bi-dim) * 30%)); cursor: grab; touch-action: none; }
.bi-mode-knob:active { cursor: grabbing; }
.bi-mode-knob.anim { transition: left .35s cubic-bezier(.5,0,.2,1); }

/* ---- 顶栏三段式：标题 | 搜索 | 工具 ---- */
.bi-page-heading { display: flex; align-items: center; gap: 18px; max-width: 1560px; margin: 0 auto 16px; padding: 0 4px; }
.bi-page-heading-title { margin: 0 !important; flex: none; }
.bi-nav-search { position: static; flex: 0 1 400px; margin: 0 auto; min-width: 0; background: var(--bi-card2); border: 1px solid var(--bi-border); box-shadow: none; color: var(--bi-text); }
.bi-nav-search input { width: 100%; color: var(--bi-text); }
.bi-nav-search input::placeholder { color: var(--bi-text3); }
.bi-heading-tools { margin-left: auto; display: flex; align-items: center; gap: 10px; flex: none; }
.bi-upgrade { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 800; color: var(--bi-on-fg, #fff); background: var(--bi-grad); border-radius: 999px; padding: 9px 20px; text-decoration: none; box-shadow: 0 4px 14px var(--bi-shadow); transition: transform .15s, box-shadow .15s; }
.bi-upgrade:hover { transform: translateY(-1px); box-shadow: 0 6px 18px var(--bi-shadow); }
.bi-theme-btn { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--bi-card2); border: 1px solid var(--bi-border); color: var(--bi-text2); cursor: pointer; transition: color .2s, border-color .2s, transform .15s; }
.bi-theme-btn:hover { color: var(--bi-purple); border-color: var(--bi-purple); transform: translateY(-1px); }

/* ===== V2.3.5：标题条主题配色按钮右侧「搬运」按钮——线稿卡车图标（与主题按钮同规格同逻辑）+ 悬停气泡显示后台自定义名字 ===== */
.bi-nav-carry {
        position: relative; width: 38px; height: 38px; border-radius: 11px;
        display: grid; place-items: center; flex: none;
        background: var(--bi-card2); border: 1px solid var(--bi-border);
        color: var(--bi-text2); text-decoration: none;
        transition: color .2s, border-color .2s, transform .15s, box-shadow .15s;
}
.bi-nav-carry:hover { color: var(--bi-purple); border-color: var(--bi-purple); transform: translateY(-1px); z-index: 95; }
.bi-nav-carry::after {
        content: attr(data-name);
        position: absolute; top: calc(100% + 8px); right: 0;
        white-space: nowrap; padding: 5px 11px; border-radius: 8px;
        background: #1e1b4b; color: #fff; font-size: 11.5px; font-weight: 600;
        letter-spacing: .02em; box-shadow: 0 6px 18px rgba(17,17,16,.28);
        opacity: 0; transform: translateY(-4px); pointer-events: none;
        transition: opacity .18s, transform .18s; z-index: 300;
}
.bi-nav-carry:hover::after { opacity: 1; transform: translateY(0); }
/* V2.3.6 修复：触屏设备无悬停概念，tap 后 :hover 粘滞导致气泡卡住并遮挡下方内容——触屏/窄屏端不渲染气泡 */
@media (hover: none), (max-width: 760px) {
        .bi-nav-carry::after { display: none; }
}
@media (max-width: 760px) {
        .bi-nav-carry { width: 34px; height: 34px; border-radius: 9px; }
        .bi-nav-carry svg { width: 17px; height: 17px; }
}

/* ---- 主题色板弹出层 ---- */
.bi-theme-pop { position: fixed; z-index: 300; width: 250px; background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 16px; padding: 14px; box-shadow: var(--bi-shadow-lg); }
.bi-theme-pop-title { margin: 0 0 10px; font-size: 12.5px; font-weight: 800; color: var(--bi-text); }
.bi-theme-grid { display: flex; flex-direction: column; gap: 4px; }
.bi-theme-item { display: flex; align-items: center; gap: 10px; width: 100%; background: transparent; border: none; border-radius: 10px; padding: 8px 10px; cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--bi-text2); transition: background .15s, color .15s; }
.bi-theme-item:hover { background: var(--bi-card2); color: var(--bi-text); }
.bi-theme-item.on { background: var(--bi-card2); color: var(--bi-text); box-shadow: inset 0 0 0 1px var(--bi-purple); }
.bi-theme-item i { width: 18px; height: 18px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); }
.bi-theme-reset { margin-top: 10px; width: 100%; background: var(--bi-grad); color: var(--bi-on-fg, #fff); border: none; border-radius: 999px; padding: 9px; font-size: 12.5px; font-weight: 800; cursor: pointer; }
.bi-theme-reset:hover { filter: brightness(1.08); }

@media (max-width: 900px) {
        .bi-page-heading { flex-wrap: wrap; }
        .bi-nav-search { order: 3; flex: 1 1 100%; }
        .bi-heading-tools { margin-left: 0; }
}

/* V2.2.8：商品模块空配置引导 */
.bi-product-guide { height: 100%; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 18px; font-size: 13px; color: var(--bi-text2, #5b6c85); line-height: 1.6; }
.bi-product-guide b { font-size: 14px; color: var(--bi-text, #1c2740); }

/* ================= V2.2.25 科技感动效升级 ================= */
/* —— 背景科技网格（fixed 层 + 径向淡出，随 --bi-dim 调整浓度，亮色下若隐若现） —— */
body.bi-body::before {
        content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
        background-image:
                linear-gradient(color-mix(in srgb, var(--bi-purple) calc(4% + var(--bi-dim) * 9%), transparent) 1px, transparent 1px),
                linear-gradient(90deg, color-mix(in srgb, var(--bi-purple) calc(4% + var(--bi-dim) * 9%), transparent) 1px, transparent 1px);
        background-size: 44px 44px;
        -webkit-mask-image: radial-gradient(ellipse 130% 95% at 50% 0%, #000 25%, transparent 78%);
        mask-image: radial-gradient(ellipse 130% 95% at 50% 0%, #000 25%, transparent 78%);
}

/* —— 侧栏菜单：逐项滑入 —— */
.bi-topnav.nav-side .bi-tab { animation: axbiNavIn .55s cubic-bezier(.2,.8,.25,1) backwards; }
.bi-topnav.nav-side .bi-tab:nth-child(1) { animation-delay: .05s }
.bi-topnav.nav-side .bi-tab:nth-child(2) { animation-delay: .10s }
.bi-topnav.nav-side .bi-tab:nth-child(3) { animation-delay: .15s }
.bi-topnav.nav-side .bi-tab:nth-child(4) { animation-delay: .20s }
.bi-topnav.nav-side .bi-tab:nth-child(5) { animation-delay: .25s }
.bi-topnav.nav-side .bi-tab:nth-child(6) { animation-delay: .30s }
.bi-topnav.nav-side .bi-tab:nth-child(7) { animation-delay: .35s }
.bi-topnav.nav-side .bi-tab:nth-child(8) { animation-delay: .40s }
.bi-topnav.nav-side .bi-tab:nth-child(n+9) { animation-delay: .45s }
@keyframes axbiNavIn { from { opacity: 0; transform: translateX(-16px); } to { opacity: 1; transform: none; } }

/* —— 菜单项 hover：一道斜光扫过 —— */
.bi-topnav.nav-side .bi-tab { overflow: hidden; }
.bi-topnav.nav-side .bi-tab::after {
        content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 36%;
        background: linear-gradient(105deg, transparent, rgba(255,255,255,.20), transparent);
        transform: translateX(-130%) skewX(-18deg); opacity: 0; pointer-events: none;
}
.bi-topnav.nav-side .bi-tab:hover::after { animation: axbiShine .7s ease; }
@keyframes axbiShine {
        0% { transform: translateX(-130%) skewX(-18deg); opacity: 0; }
        25% { opacity: 1; }
        100% { transform: translateX(400%) skewX(-18deg); opacity: 0; }
}
/* 图标 hover 小跳 */
.bi-topnav.nav-side .bi-tab:hover .bi-tab-ico { animation: axbiIco .45s ease; }
@keyframes axbiIco { 0%,100% { transform: translateY(0) } 40% { transform: translateY(-3px) } }

/* —— 选中项：流光渐变（渐变缓慢流动）+ 呼吸光晕 + 右侧闪烁光点 —— */
.bi-topnav.nav-side .bi-tab.on {
        color: var(--bi-on-fg, #fff); border-color: transparent;
        background: linear-gradient(115deg, var(--bi-purple) 0%, var(--bi-violet) 30%, var(--bi-purple) 55%, var(--bi-cyan) 100%);
        background-size: 240% 100%;
        animation: axbiFlow 3.4s linear infinite, axbiGlow 2.8s ease-in-out infinite;
}
@keyframes axbiFlow { 0% { background-position: 0% 50%; } 100% { background-position: 240% 50%; } }
@keyframes axbiGlow {
        0%,100% { box-shadow: 0 5px 16px color-mix(in srgb, var(--bi-purple), transparent 62%), inset 0 1px 0 rgba(255,255,255,.25); }
        50% { box-shadow: 0 6px 26px color-mix(in srgb, var(--bi-purple), transparent 40%), inset 0 1px 0 rgba(255,255,255,.25); }
}
.bi-topnav.nav-side .bi-tab.on::before {
        content: ""; position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
        width: 5px; height: 5px; border-radius: 50%; background: currentColor;
        box-shadow: 0 0 10px color-mix(in srgb, currentColor 95%, transparent), 0 0 4px color-mix(in srgb, currentColor 80%, transparent);
        animation: axbiBlink 1.7s ease-in-out infinite;
}
@keyframes axbiBlink { 0%,100% { opacity: 1 } 50% { opacity: .25 } }
/* 选中项给右侧光点留位 */
.bi-topnav.nav-side .bi-tab.on { padding-right: 26px; }

/* —— 导航面板标题：科技角线 + 流动光条 —— */
.bi-topnav.nav-side .bi-nav-title { display: flex; align-items: center; gap: 9px; border-bottom: none; }
.bi-topnav.nav-side .bi-nav-title::before {
        content: ""; flex: none; width: 7px; height: 7px; border-radius: 2px;
        transform: rotate(45deg); background: var(--bi-grad);
        box-shadow: 0 0 8px color-mix(in srgb, var(--bi-purple), transparent 55%);
        animation: axbiBlink 2.2s ease-in-out infinite;
}
.bi-topnav.nav-side .bi-nav-title::after {
        content: ""; flex: 1; height: 2px; border-radius: 2px;
        background: linear-gradient(90deg, var(--bi-purple), transparent);
        animation: axbiPulseLine 2.6s ease-in-out infinite;
}
@keyframes axbiPulseLine { 0%,100% { opacity: .35 } 50% { opacity: 1 } }

/* —— 模块卡片：hover 顶部扫描光条（科技大屏既视感） —— */
.bi-card { position: relative; }
.bi-card::before {
        content: ""; position: absolute; top: 0; left: 10%; right: 10%; height: 2px;
        border-radius: 2px; z-index: 3; pointer-events: none;
        background: linear-gradient(90deg, transparent, var(--bi-purple), transparent);
        opacity: 0; transition: opacity .35s;
}
.bi-card:hover::before { opacity: .9; animation: axbiScan 2.4s linear infinite; }
@keyframes axbiScan {
        0% { transform: translateX(-55%); }
        100% { transform: translateX(55%); }
}
.bi-card:hover { border-color: color-mix(in srgb, var(--bi-purple), transparent 45%); }

/* —— 无动画偏好降级 —— */
@media (prefers-reduced-motion: reduce) {
        body.bi-body::before,
        .bi-topnav.nav-side .bi-tab,
        .bi-topnav.nav-side .bi-tab::after,
        .bi-topnav.nav-side .bi-tab:hover .bi-tab-ico,
        .bi-topnav.nav-side .bi-tab.on::before,
        .bi-topnav.nav-side .bi-nav-title::before,
        .bi-topnav.nav-side .bi-nav-title::after,
        .bi-card::before { animation: none !important; }
        .bi-topnav.nav-side .bi-tab.on { background: var(--bi-grad); }
}

/* ================= V2.2.27 侧栏：图标+名称宽栏（去头像） =================
   头像区移除；菜单项恢复「图标 + 菜单名」横排；保留 V2.2.25 全部科技感动效 */
@media (min-width: 901px) {
        .bi-topnav.nav-side { width: 184px; padding: 18px 12px 18px; }
        .bi-main { margin-left: 200px; }

        /* 去头像：侧栏不再渲染用户区 */
        .bi-topnav.nav-side .bi-nav-user { display: none; }

        /* LOGO：图标 + 品牌名，左对齐 */
        .bi-topnav.nav-side .bi-logo { margin: 0 6px 16px; justify-content: flex-start; padding: 0; }
        .bi-topnav.nav-side .bi-logo .bi-logo-img { max-height: 32px; max-width: 130px; }
        .bi-topnav.nav-side .bi-logo .bi-logo-mark { font-size: 24px; }
        .bi-topnav.nav-side .bi-logo-name { display: block; }

        /* 菜单：图标 + 名称横排（V2.2.24 胶囊体系保留） */
        .bi-topnav.nav-side .bi-tab {
                width: 100%; padding: 10px 15px; gap: 10px;
                font-size: 13.5px; justify-content: flex-start;
        }
        .bi-topnav.nav-side .bi-tab .bi-tab-ico svg { width: 19px; height: 19px; }
        .bi-topnav.nav-side .bi-tab.on { padding-right: 26px; }
        /* 选中光点恢复右侧中部 */
        .bi-topnav.nav-side .bi-tab.on::before {
                right: 12px; top: 50%; transform: translateY(-50%);
                width: 5px; height: 5px;
        }
        /* 入场动画保留 */
        .bi-topnav.nav-side .bi-tab { animation: axbiNavIn .55s cubic-bezier(.2,.8,.25,1) backwards; }

        /* 明暗开关恢复标准宽度 */
        .bi-topnav.nav-side .bi-mode-switch { width: 84px; padding: 0 9px; }
        .bi-topnav.nav-side .bi-mode-ico.bi-mode-sun { width: 15px; height: 15px; }
        .bi-topnav.nav-side .bi-mode-ico.bi-mode-moon { width: 14px; height: 14px; }
}

/* ================= V2.2.27 黑白系科技主题（简约而不简单） ================= */
/* 曜黑 · 银白暗夜：深黑底 + 银白强调 + 白色微光（Vercel/Linear 风） */
[data-theme="obsidian"] {
        --bi-bgb: #0a0a0b; --bi-bg2b: #101013; --bi-panelb: #0e0e10;
        --bi-cardb: #161619; --bi-card2b: #1e1e22; --bi-border: #2a2a2f;
        --bi-textb: #fafafa; --bi-text2b: #a1a1aa; --bi-text3b: #63636b;
        --bi-purple: #f5f5f5; --bi-violet: #d4d4d8; --bi-cyan: #a1a1aa; --bi-blue: #d4d4d8;
        --bi-on-fg: #171717;
        --bi-grad: linear-gradient(120deg, #f5f5f5, #a1a1aa);
        --bi-grad2: linear-gradient(120deg, #f5f5f5, #737373);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.5); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.65);
}
/* 碳纤 · 钛银工业：碳灰底 + 钛银强调 + 冷金属光泽 */
[data-theme="carbon"] {
        --bi-bgb: #101012; --bi-bg2b: #161619; --bi-panelb: #131316;
        --bi-cardb: #1b1b1f; --bi-card2b: #242428; --bi-border: #2f2f35;
        --bi-textb: #f4f4f5; --bi-text2b: #b3b3bc; --bi-text3b: #71717a;
        --bi-purple: #cfcfd8; --bi-violet: #9a9aa6; --bi-cyan: #8a8a94; --bi-blue: #b8b8c2;
        --bi-on-fg: #141416;
        --bi-grad: linear-gradient(120deg, #d6d6de, #8a8a94);
        --bi-grad2: linear-gradient(120deg, #d6d6de, #6a6a74);
        --bi-shadow: 0 2px 12px rgba(0,0,0,.5); --bi-shadow-lg: 0 10px 30px rgba(0,0,0,.65);
}
/* 纸白 · 墨韵极简：纯白底 + 纯黑强调 + 极细墨线（瑞士风排版） */
[data-theme="paper"] {
        --bi-bgb: #fbfbfa; --bi-bg2b: #f3f3f1; --bi-panelb: #ffffff;
        --bi-cardb: #ffffff; --bi-card2b: #f6f6f4; --bi-border: #e6e6e1;
        --bi-textb: #111110; --bi-text2b: #52525b; --bi-text3b: #a1a1aa;
        --bi-purple: #111110; --bi-violet: #3f3f46; --bi-cyan: #71717a; --bi-blue: #3f3f46;
        --bi-on-fg: #ffffff;
        --bi-grad: linear-gradient(120deg, #171717, #3f3f46);
        --bi-grad2: linear-gradient(120deg, #171717, #52525b);
        --bi-shadow: 0 2px 12px rgba(17,17,16,.07); --bi-shadow-lg: 0 10px 30px rgba(17,17,16,.12);
}

/* ================= V2.2.28 简约黑白整理 ================= */
/* ① 导航标题装饰区（菱形角标+光线）整体移除 */
.bi-topnav.nav-side .bi-nav-title { display: none !important; }

/* ② 菜单项扁平化：去掉外层胶囊底/边框，仅保留 hover 与选中反馈 */
@media (min-width: 901px) {
        .bi-topnav.nav-side .bi-tab {
                background: transparent;
                border-color: transparent;
                box-shadow: none;
        }
        .bi-topnav.nav-side .bi-tab:hover {
                background: var(--bi-card2);
                border-color: transparent;
                box-shadow: none;
        }
        /* 选中项：保留银白渐变流光（科技感核心反馈） */
        .bi-topnav.nav-side .bi-tab.on {
                background: linear-gradient(115deg, var(--bi-purple) 0%, var(--bi-violet) 30%, var(--bi-purple) 55%, var(--bi-cyan) 100%);
                background-size: 240% 100%;
        }
}
/* 顶横排菜单同步扁平（移动端横条） */
.bi-topnav.nav-side .bi-nav-tabs .bi-tab { background: transparent; border-color: transparent; box-shadow: none; }

/* ================= V2.2.29 黑白撞色：黑菜单栏 + 白内容区 ================= */
/* ① 取消内容背景网格 */
body.bi-body::before { display: none !important; }

@media (min-width: 901px) {
        /* ② 侧栏：纯黑 */
        .bi-topnav.nav-side { background: #0a0a0b; border-right-color: #1d1d21; }
        .bi-topnav.nav-side .bi-logo-name,
        .bi-topnav.nav-side .bi-logo .bi-logo-mark { color: #f5f5f6; }

        /* ③ 菜单：无椭圆底框；黑底上浅灰字 */
        .bi-topnav.nav-side .bi-tab { color: #a1a1aa; background: transparent; border-color: transparent; box-shadow: none; }
        .bi-topnav.nav-side .bi-tab .bi-tab-ico { color: #8a8a94; }
        .bi-topnav.nav-side .bi-tab:hover { color: #ffffff; background: #16161a; }
        .bi-topnav.nav-side .bi-tab:hover .bi-tab-ico { color: #ffffff; }

        /* ④ 选中：无胶囊/无渐变底，仅左缘竖条 + 文字图标提亮 */
        .bi-topnav.nav-side .bi-tab.on {
                background: transparent; border-color: transparent; box-shadow: none;
                color: #ffffff; font-weight: 800;
                animation: none;
        }
        .bi-topnav.nav-side .bi-tab.on .bi-tab-ico { color: #ffffff; }
        .bi-topnav.nav-side .bi-tab.on::after { display: none; }
        .bi-topnav.nav-side .bi-tab.on::before {
                left: 0; right: auto; top: 50%; transform: translateY(-50%);
                width: 3px; height: 22px; border-radius: 0 3px 3px 0;
                background: #f5f5f6;
                box-shadow: 0 0 12px rgba(245,245,246,.55);
                animation: axbiBlink 1.6s ease-in-out infinite;
        }
}

/* ⑤ 移动端横条菜单（body 黑底）：同步浅字 */
@media (max-width: 900px) {
        .bi-topnav .bi-tab { color: #a1a1aa; }
        .bi-topnav .bi-tab:hover { color: #fff; }
        .bi-topnav.nav-side .bi-tab.on { color: #fff; background: #16161a; }
        .bi-logo-name, .bi-logo .bi-logo-mark { color: #f5f5f6; }
}

/* ================= V2.2.30 全白极简：白侧栏 + 白内容区 ================= */
@media (min-width: 901px) {
        /* 侧栏转白：与内容区同色系，右缘细线分隔 */
        .bi-topnav.nav-side { background: #ffffff; border-right-color: var(--bi-border); }
        .bi-topnav.nav-side .bi-logo-name,
        .bi-topnav.nav-side .bi-logo .bi-logo-mark { color: var(--bi-text); }

        /* 菜单：墨黑文字系（无椭圆底框保持不变） */
        .bi-topnav.nav-side .bi-tab { color: #5a6472; background: transparent; border-color: transparent; box-shadow: none; }
        .bi-topnav.nav-side .bi-tab .bi-tab-ico { color: #71717a; }
        .bi-topnav.nav-side .bi-tab:hover { color: #14181f; background: #f4f4f6; }
        .bi-topnav.nav-side .bi-tab:hover .bi-tab-ico { color: #14181f; }

        /* 选中：墨黑加粗 + 左缘墨黑竖条 */
        .bi-topnav.nav-side .bi-tab.on {
                background: transparent; border-color: transparent; box-shadow: none;
                color: #14181f; font-weight: 800;
                animation: none;
        }
        .bi-topnav.nav-side .bi-tab.on .bi-tab-ico { color: #14181f; }
        .bi-topnav.nav-side .bi-tab.on::after { display: none; }
        .bi-topnav.nav-side .bi-tab.on::before {
                left: 0; right: auto; top: 50%; transform: translateY(-50%);
                width: 3px; height: 22px; border-radius: 0 3px 3px 0;
                background: #171717;
                box-shadow: 0 0 10px rgba(23,23,23,.35);
                animation: axbiBlink 1.6s ease-in-out infinite;
        }
}

/* 移动端横条：白底深字 */
@media (max-width: 900px) {
        .bi-topnav { background: #ffffff; border-bottom-color: var(--bi-border); }
        .bi-topnav .bi-tab { color: #5a6472; }
        .bi-topnav .bi-tab:hover { color: #14181f; }
        .bi-topnav.nav-side .bi-tab.on { color: #14181f; background: #f4f4f6; }
        .bi-logo-name, .bi-logo .bi-logo-mark { color: #14181f; }
}

/* ================= V2.2.31 SpaceX 深空黑白 ================= */
@media (min-width: 901px) {
        /* 侧栏：深空黑（与内容区一体，细白线分隔） */
        .bi-topnav.nav-side { background: #000000; border-right-color: rgba(255,255,255,.09); }
        .bi-topnav.nav-side .bi-logo-name,
        .bi-topnav.nav-side .bi-logo .bi-logo-mark { color: #ffffff; }

        /* 菜单：白字系，无椭圆底框 */
        .bi-topnav.nav-side .bi-tab { color: #a1a1aa; background: transparent; border-color: transparent; box-shadow: none; }
        .bi-topnav.nav-side .bi-tab .bi-tab-ico { color: #8a8a94; }
        .bi-topnav.nav-side .bi-tab:hover { color: #ffffff; background: #131316; }
        .bi-topnav.nav-side .bi-tab:hover .bi-tab-ico { color: #ffffff; }

        /* 选中：纯白加粗 + 白色发光竖条 */
        .bi-topnav.nav-side .bi-tab.on {
                background: transparent; border-color: transparent; box-shadow: none;
                color: #ffffff; font-weight: 800;
                animation: none;
        }
        .bi-topnav.nav-side .bi-tab.on .bi-tab-ico { color: #ffffff; }
        .bi-topnav.nav-side .bi-tab.on::after { display: none; }
        .bi-topnav.nav-side .bi-tab.on::before {
                left: 0; right: auto; top: 50%; transform: translateY(-50%);
                width: 3px; height: 22px; border-radius: 0 3px 3px 0;
                background: #ffffff;
                box-shadow: 0 0 12px rgba(255,255,255,.6);
                animation: axbiBlink 1.6s ease-in-out infinite;
        }
}

/* 移动端横条：黑底白字 */
@media (max-width: 900px) {
        .bi-topnav { background: #000000; border-bottom-color: rgba(255,255,255,.09); }
        .bi-topnav .bi-tab { color: #a1a1aa; }
        .bi-topnav .bi-tab:hover { color: #fff; }
        .bi-topnav.nav-side .bi-tab.on { color: #fff; background: #131316; }
        .bi-logo-name, .bi-logo .bi-logo-mark { color: #ffffff; }
}

/* ================= V2.2.32 白主黑辅 ================= */
@media (min-width: 901px) {
        /* 侧栏：白（黑色为辅——深字 + 墨黑竖条） */
        .bi-topnav.nav-side { background: #ffffff; border-right-color: var(--bi-border); }
        .bi-topnav.nav-side .bi-logo-name,
        .bi-topnav.nav-side .bi-logo .bi-logo-mark { color: #14181f; }

        .bi-topnav.nav-side .bi-tab { color: #5a6472; background: transparent; border-color: transparent; box-shadow: none; }
        .bi-topnav.nav-side .bi-tab .bi-tab-ico { color: #71717a; }
        .bi-topnav.nav-side .bi-tab:hover { color: #14181f; background: #f4f4f6; }
        .bi-topnav.nav-side .bi-tab:hover .bi-tab-ico { color: #14181f; }

        /* 选中：墨黑加粗 + 黑色发光竖条 */
        .bi-topnav.nav-side .bi-tab.on {
                background: transparent; border-color: transparent; box-shadow: none;
                color: #14181f; font-weight: 800;
                animation: none;
        }
        .bi-topnav.nav-side .bi-tab.on .bi-tab-ico { color: #14181f; }
        .bi-topnav.nav-side .bi-tab.on::after { display: none; }
        .bi-topnav.nav-side .bi-tab.on::before {
                left: 0; right: auto; top: 50%; transform: translateY(-50%);
                width: 3px; height: 22px; border-radius: 0 3px 3px 0;
                background: #171717;
                box-shadow: 0 0 10px rgba(23,23,23,.4);
                animation: axbiBlink 1.6s ease-in-out infinite;
        }
}

/* 移动端横条：白底深字 */
@media (max-width: 900px) {
        .bi-topnav { background: #ffffff; border-bottom-color: var(--bi-border); }
        .bi-topnav .bi-tab { color: #5a6472; }
        .bi-topnav .bi-tab:hover { color: #14181f; }
        .bi-topnav.nav-side .bi-tab.on { color: #14181f; background: #f4f4f6; }
        .bi-logo-name, .bi-logo .bi-logo-mark { color: #14181f; }
}

/* ================= V2.2.33 菜单图标 tile 化 ================= */
/* 图标从裸 SVG 升级为圆角小方块容器：默认淡灰底 / 悬停加深微浮 / 选中墨黑渐变底+白图标 */
.bi-tab-ico {
        width: 22px; height: 22px;
        display: inline-flex; align-items: center; justify-content: center;
        flex: none;
        border-radius: 6px;
        background: var(--bi-card2);
        color: var(--bi-text2);
        opacity: 1;
        transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.bi-tab-ico svg { width: 13px !important; height: 13px !important; }
.bi-tab:hover .bi-tab-ico {
        background: var(--bi-bg2);
        color: var(--bi-text);
        transform: translateY(-1px);
}
.bi-tab.on .bi-tab-ico {
        background: var(--bi-grad);
        color: var(--bi-on-fg);
        box-shadow: 0 2px 8px color-mix(in srgb, var(--bi-purple), transparent 72%);
        transform: none;
}

@media (min-width: 901px) {
        /* 选中项右侧留白归位（V2.2.27 为右侧光点预留的 padding 不再需要） */
        .bi-topnav.nav-side .bi-tab.on { padding-right: 15px; }
        .bi-topnav.nav-side .bi-tab { gap: 11px; }
}

/* 无动画偏好：关闭 tile 微浮 */
@media (prefers-reduced-motion: reduce) {
        .bi-tab:hover .bi-tab-ico { transform: none; }
}

/* ================= V2.2.34 选中态图标去墨黑 ================= */
/* 选中 tile：淡墨轻底 + 墨黑图标（不再是墨黑大色块），选中指示交给文字加粗+左侧竖条 */
.bi-tab.on .bi-tab-ico {
        background: color-mix(in srgb, var(--bi-purple), transparent 90%);
        color: var(--bi-text);
        box-shadow: none;
}

/* ================= V2.2.35 消除菜单跳转「刷新感」 ================= */
/* 1) 跨文档视图过渡：跳转时旧页 0.1s 淡出、新页 0.18s 淡入（不支持的浏览器自动跳切，无副作用） */
@view-transition { navigation: auto; }
@keyframes axbiVtOut { to { opacity: 0; } }
@keyframes axbiVtIn { from { opacity: .4; } to { opacity: 1; } }
::view-transition-old(root) { animation: axbiVtOut .1s ease both; }
::view-transition-new(root) { animation: axbiVtIn .18s ease both; }

/* 2) 入场动画只在会话首次进入播放：后续跳转菜单直接呈现，不再逐项重滑 */
.axbi-no-enter .bi-topnav.nav-side .bi-tab { animation: none !important; }

@media (prefers-reduced-motion: reduce) {
        ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

/* ================= V2.2.36 暗夜模式 = 日常配色 + 科技磨砂 ================= */
/* 明暗拉满时：卡片/侧栏半透明化 + 背板磨砂模糊 + 细高光边框，不再深度压黑 */
body.bi-body .bi-card {
        background: color-mix(in srgb, var(--bi-card), transparent calc(var(--bi-dim) * 46%));
        -webkit-backdrop-filter: blur(calc(var(--bi-dim) * 16px)) saturate(calc(1 + var(--bi-dim) * 0.3));
        backdrop-filter: blur(calc(var(--bi-dim) * 16px)) saturate(calc(1 + var(--bi-dim) * 0.3));
        border-color: color-mix(in srgb, #ffffff calc(var(--bi-dim) * 24%), var(--bi-border));
}
@media (min-width: 901px) {
        body.bi-body .bi-topnav.nav-side {
                background: color-mix(in srgb, var(--bi-panel), transparent calc(var(--bi-dim) * 40%));
                -webkit-backdrop-filter: blur(calc(var(--bi-dim) * 14px)) saturate(calc(1 + var(--bi-dim) * 0.3));
                backdrop-filter: blur(calc(var(--bi-dim) * 14px)) saturate(calc(1 + var(--bi-dim) * 0.3));
        }
}

/* ================= V2.2.36 修复：图片轮播上出现装饰圆环（阴影圈圈） ================= */
/* 纯色轮播的装饰圆环只属于纯色版式；图片轮播 ::before 已改为渐变遮罩，::after 圆环此前漏处理 */
.bi-car-slide.imgslide::after { display: none; }

/* V2.2.54：文本框描述文字链接 */
.bi-txt-desc-link { color: #7cb3f5; text-decoration: none; cursor: pointer; }
.bi-txt-desc-link:hover { color: #a5c8fa; text-decoration: underline; }

/* ===== V2.3.8：WRC/CRC 赛事数据幕布模块（template-wrc.php） ===== */
.bi-wrc-head { margin: 2px auto 16px; max-width: 1560px; }
.bi-wrc-title { margin: 0 0 6px; font-size: 26px; font-weight: 800; letter-spacing: .5px; color: var(--bi-text); }
.bi-wrc-title::after { content: ""; display: inline-block; width: 42px; height: 5px; margin-left: 12px; border-radius: 3px; background: linear-gradient(90deg, #e10600, var(--bi-purple)); vertical-align: 6px; }
.bi-wrc-sub { margin: 0; font-size: 12.5px; line-height: 1.8; color: var(--bi-text2); max-width: 900px; }
.bi-wrc-wrap { display: grid; grid-template-columns: 1.35fr 1fr; gap: 16px; align-items: start; }
/* 左：地图卡 */
.bi-wrc-map-card { background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 18px; padding: 18px 18px 10px; box-shadow: var(--bi-shadow); }
.bi-wrc-map-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.bi-wrc-map-label { font-size: 14px; font-weight: 800; color: var(--bi-text); letter-spacing: .4px; }
.bi-wrc-legend { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--bi-text2); }
.bi-wrc-legend i { width: 16px; height: 10px; border-radius: 5px; background: var(--c); display: inline-block; border: 1px solid rgba(255,255,255,.35); }
.bi-wrc-map-card svg { width: 100%; height: auto; display: block; }
.bi-wrc-map-card #biWrcDots circle[role="button"]:hover { stroke-width: 2; filter: brightness(1.25); }
.bi-wrc-map-card #biWrcDots circle[role="button"]:focus-visible { outline: 2px solid var(--bi-purple); outline-offset: 2px; }
.bi-wrc-map-hint { margin: 6px 0 8px; font-size: 11.5px; color: var(--bi-text2); text-align: center; }
/* 右：数据面板 */
.bi-wrc-panel { background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 18px; padding: 18px; box-shadow: var(--bi-shadow); display: grid; gap: 14px; }
.bi-wrc-switch { position: relative; display: grid; grid-template-columns: 1fr 1fr; width: 200px; height: 40px; margin: 0 auto; border-radius: 999px; background: var(--bi-card2b); border: 1px solid var(--bi-border); box-shadow: inset 0 2px 8px rgba(0,0,0,.16); padding: 4px; }
.bi-wrc-switch-slider { position: absolute; top: 4px; left: 4px; width: calc(50% - 4px); height: calc(100% - 8px); border-radius: 999px; background: linear-gradient(135deg, #e10600, #ff4d3a); transition: transform .28s cubic-bezier(.34,1.4,.64,1); }
.bi-wrc-switch-slider[data-pos="crc"] { transform: translateX(100%); }
.bi-wrc-switch-btn { position: relative; z-index: 1; border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 800; letter-spacing: 1px; color: var(--bi-text2); cursor: pointer; transition: color .2s; }
.bi-wrc-switch-btn.is-on { color: #fff; }
.bi-wrc-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.bi-wrc-kpi { background: var(--bi-card2); border: 1px solid var(--bi-border); border-radius: 13px; padding: 11px 8px; text-align: center; }
.bi-wrc-kpi b { display: block; font-size: 21px; font-weight: 800; color: var(--bi-text); line-height: 1.25; }
.bi-wrc-kpi span { font-size: 11px; color: var(--bi-text2); }
.bi-wrc-block { background: var(--bi-card2); border: 1px solid var(--bi-border); border-radius: 13px; padding: 13px 14px; }
.bi-wrc-block-t { margin: 0 0 10px; font-size: 12.5px; font-weight: 800; letter-spacing: .5px; color: var(--bi-text); display: flex; align-items: center; gap: 8px; }
.bi-wrc-block-t::before { content: ""; width: 4px; height: 13px; border-radius: 2px; background: #e10600; }
.bi-wrc-row { display: grid; grid-template-columns: minmax(96px, 38%) 1fr 52px; align-items: center; gap: 8px; padding: 3.5px 0; }
.bi-wrc-row-name { font-size: 11.8px; color: var(--bi-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bi-wrc-row-track { height: 8px; border-radius: 4px; background: color-mix(in srgb, var(--bi-text) 7%, transparent); overflow: hidden; }
.bi-wrc-row-track i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #e10600, #ff6b52); animation: biWrcBar .8s cubic-bezier(.25,1,.4,1) backwards; }
.bi-wrc-row.is-purple .bi-wrc-row-track i { background: linear-gradient(90deg, var(--bi-purple), color-mix(in srgb, var(--bi-purple) 55%, #fff)); }
.bi-wrc-row.is-dim .bi-wrc-row-track i { background: color-mix(in srgb, var(--bi-text) 34%, transparent); }
.bi-wrc-row.is-gold .bi-wrc-row-track i { background: linear-gradient(90deg, #c9a227, #ffd75e); }
.bi-wrc-row.is-top .bi-wrc-row-name { font-weight: 800; }
.bi-wrc-row-val { font-size: 11.5px; font-weight: 700; color: var(--bi-text2); text-align: right; font-variant-numeric: tabular-nums; }
@keyframes biWrcBar { from { width: 0 !important; } }
.bi-wrc-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bi-wrc-duo .bi-wrc-row { grid-template-columns: minmax(80px, 44%) 1fr 40px; }
/* 里程碑 */
.bi-wrc-mile { display: flex; gap: 10px; align-items: baseline; padding: 5px 0; border-bottom: 1px dashed color-mix(in srgb, var(--bi-border) 70%, transparent); }
.bi-wrc-mile:last-child { border-bottom: 0; }
.bi-wrc-mile b { flex: none; font-size: 13px; font-weight: 800; color: #e10600; font-variant-numeric: tabular-nums; }
.bi-wrc-mile span { font-size: 11.8px; line-height: 1.55; color: var(--bi-text2); }
/* 幕布详情 */
.bi-wrc-veil { position: fixed; inset: 0; z-index: 400; background: rgba(8,10,16,.62); backdrop-filter: blur(6px); display: grid; place-items: center; padding: 20px; opacity: 0; transition: opacity .26s; }
.bi-wrc-veil.is-open { opacity: 1; }
.bi-wrc-sheet { position: relative; width: min(1100px, 96%); max-height: 90vh; overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; background: var(--bi-card); border: 1px solid var(--bi-border); border-radius: 20px; padding: 26px 26px 22px; box-shadow: 0 30px 80px rgba(0,0,0,.45); transform: translateY(-46px); transition: transform .3s cubic-bezier(.3,1.2,.5,1); }
.bi-wrc-veil.is-open .bi-wrc-sheet { transform: translateY(0); }
.bi-wrc-sheet::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; border-radius: 20px 20px 0 0; background: linear-gradient(90deg, #e10600, var(--bi-purple)); }
.bi-wrc-sheet-x { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border-radius: 10px; border: 1px solid var(--bi-border); background: var(--bi-card2); color: var(--bi-text2); font-size: 17px; cursor: pointer; display: grid; place-items: center; transition: color .15s, border-color .15s; }
.bi-wrc-sheet-x:hover { color: #e10600; border-color: #e10600; }
.bi-wrc-sheet-kicker { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: 1px; color: var(--bi-text2); text-transform: uppercase; margin-bottom: 6px; }
.bi-wrc-sheet-title { margin: 0 0 14px; font-size: 25px; font-weight: 800; color: var(--bi-text); }
.bi-wrc-sheet-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 14px; }
.bi-wrc-sheet-stats span { background: var(--bi-card2); border: 1px solid var(--bi-border); border-radius: 11px; padding: 9px 6px; text-align: center; font-size: 10.5px; color: var(--bi-text2); }
.bi-wrc-sheet-stats b { display: block; font-size: 15px; color: var(--bi-text); margin-bottom: 2px; }
.bi-wrc-sheet-desc { margin: 0 0 14px; font-size: 13.2px; line-height: 1.95; color: var(--bi-text); }
.bi-wrc-sheet-tag { font-size: 11.8px; color: var(--bi-text2); background: var(--bi-card2); border: 1px dashed var(--bi-border); border-radius: 10px; padding: 8px 12px; }
/* 响应式 */
@media (max-width: 1160px) { .bi-wrc-wrap { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
        .bi-wrc-title { font-size: 21px; }
        .bi-wrc-kpis { grid-template-columns: repeat(2, 1fr); }
        .bi-wrc-duo { grid-template-columns: 1fr; }
        .bi-wrc-sheet { padding: 20px 16px 16px; }
        .bi-wrc-sheet-stats { grid-template-columns: repeat(2, 1fr); }
}

.bi-wrc-chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; padding: 10px 4px 8px; border-top: 1px dashed color-mix(in srgb, var(--bi-border) 80%, transparent); margin-top: 8px; }
.bi-wrc-chip { border: 1px solid var(--bi-border); background: var(--bi-card2); color: var(--bi-text2); font: inherit; font-size: 11px; padding: 3.5px 9px; border-radius: 999px; cursor: pointer; transition: color .15s, border-color .15s, transform .12s; }
.bi-wrc-chip:hover { color: #e10600; border-color: #e10600; transform: translateY(-1px); }
.bi-wrc-chip em { font-style: normal; font-weight: 700; font-variant-numeric: tabular-nums; margin-left: 2px; }
.bi-wrc-chip.is-hot { color: #e10600; border-color: color-mix(in srgb, #e10600 45%, var(--bi-border)); background: color-mix(in srgb, #e10600 7%, var(--bi-card2)); }

/* V2.3.9：WRC 模块 DIY 场景 + low-poly 地图 */
.bi-wrc-wrap.is-widget { gap: 12px; }
.bi-wrc-wrap.is-widget .bi-wrc-map-card, .bi-wrc-wrap.is-widget .bi-wrc-panel { min-width: 0; }
.bi-wrc-map-card svg { background: radial-gradient(120% 90% at 50% 8%, #10294a, #081527 72%); border-radius: 12px; border: 1px solid rgba(90,180,255,.14); }
.bi-wrc-map-card svg rect.tick { fill: rgba(90,190,255,.5); }

/* V2.4.0：WRC 小模块组 · 联动高亮 · 迷你系列切换 */
.bi-wrc-mini { display: flex; flex-direction: column; gap: 8px; height: 100%; }
.bi-wrc-mini-head { display: flex; justify-content: flex-end; align-items: center; }
.bi-wrc-mini-tabs { display: inline-flex; background: #f1f5f9; border-radius: 999px; padding: 2px; gap: 2px; }
.bi-wrc-mini-tabs button { border: 0; background: transparent; border-radius: 999px; padding: 3px 12px; font-size: 11px; font-weight: 700; color: #64748b; cursor: pointer; }
.bi-wrc-mini-tabs button.is-on { background: #e10600; color: #fff; }
.bi-wrc-row.is-hit .bi-wrc-row-track i { background: linear-gradient(90deg, #f97316, #e10600) !important; }
.bi-wrc-row.is-hit .bi-wrc-row-name { color: #b91c1c; font-weight: 700; }
.bi-wrc-chip.is-active { border-color: #e10600; background: rgba(225, 6, 0, .08); color: #b91c1c; }

/* V2.4.10 WRC 信息卡（前台） */
.axbi-wrc-tip{position:fixed;z-index:99999;display:none;max-width:320px;padding:12px 14px;background:rgba(15,23,42,.96);color:#e2e8f0;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.35);font-size:13px;line-height:1.55;pointer-events:none;border:1px solid rgba(255,255,255,.12);font-family:"Microsoft YaHei",sans-serif}
.axbi-wrc-tip h4{margin:0 0 8px;font-size:14px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px}
.axbi-wrc-tip h4 em{font-style:normal;font-size:11px;color:#f8d347;white-space:nowrap;flex:none}
.axbi-wrc-tip .row{display:flex;justify-content:space-between;gap:14px;padding:3px 0;border-top:1px solid rgba(255,255,255,.08)}
.axbi-wrc-tip .row:first-of-type{border-top:0}
.axbi-wrc-tip .row span{color:#94a3b8;flex:none}
.axbi-wrc-tip .row b{color:#fff;font-weight:600;text-align:right}
.axbi-wrc-tip p.desc{margin:8px 0 0;font-size:12px;color:#cbd5e1;line-height:1.6}

/* V2.4.14 赛道库（主题变量自适应 · 路面色彩编码 · 双条形 · 摘要 KPI · 对比内嵌条形） */
.axbi-trk-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--bi-border,#e8e8ea);flex-wrap:wrap;min-height:20px}
.axbi-trk-bar em{font-style:normal;color:#e10600;font-size:12px;font-weight:600}
.axbi-trk-bar .axbi-trk-hint{color:var(--bi-text2,#5a6472);font-size:12px}
.axbi-trk-bar .axbi-trk-cmpn{color:var(--bi-text2,#5a6472);font-size:12px}
.axbi-trk-go{padding:5px 16px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:linear-gradient(135deg,#e10600,#ff6a00);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 16px rgba(225,6,0,.42),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .15s,box-shadow .15s,filter .15s}
.axbi-trk-go:hover{transform:translateY(-1px);box-shadow:0 4px 22px rgba(225,6,0,.6),inset 0 1px 0 rgba(255,255,255,.3);filter:brightness(1.08)}
.axbi-trk-go:disabled{background:var(--bi-border,#e8e8ea);color:var(--bi-text2,#5a6472);cursor:not-allowed}
.axbi-trk-clear{padding:4px 12px;border:1px solid var(--bi-border,#e8e8ea);border-radius:8px;background:none;color:var(--bi-text2,#5a6472);font-size:12px;cursor:pointer}
.axbi-trk-kpis{display:flex;padding:10px 14px;border-bottom:1px solid var(--bi-border,#e8e8ea);flex-wrap:wrap;row-gap:8px}
.axbi-trk-kpis span{flex:1;min-width:130px;padding:0 16px;border-left:1px solid var(--bi-border,#e8e8ea);display:flex;flex-direction:column;gap:2px}
.axbi-trk-kpis span:first-child{border-left:0;padding-left:0}
.axbi-trk-kpis b{color:#e10600;font-size:20px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.axbi-trk-kpis em{font-style:normal;color:var(--bi-text2,#5a6472);font-size:11px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axbi-trk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:12px;padding:14px}
.axbi-trk-card{border:1px solid var(--bi-border,#e8e8ea);background:var(--bi-card,#fff);border-radius:10px;padding:12px 12px 10px;cursor:pointer;transition:box-shadow .15s,transform .15s}
.axbi-trk-card:hover{box-shadow:0 8px 24px rgba(20,24,31,.12);transform:translateY(-2px)}
.axbi-trk-card.is-picked{border-color:#e10600;box-shadow:0 0 0 1px #e10600 inset}
.axbi-trk-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.axbi-trk-cn{color:var(--bi-text,#14181f);font-size:15px;font-weight:700}
.axbi-trk-chip{font-style:normal;font-size:11px;padding:2px 9px;border-radius:10px;white-space:nowrap;flex:none;color:#fff;font-weight:600}
.axbi-trk-sub{font-size:11px;color:var(--bi-text2,#5a6472);font-style:italic;margin:3px 0 6px}
.axbi-trk-meter{display:flex;align-items:center;gap:8px;margin-top:7px}
.axbi-trk-meter span{color:var(--bi-text2,#5a6472);font-size:11px;flex:none;width:50px}
.axbi-trk-meter-track{flex:1;height:7px;border-radius:4px;background:var(--bi-border,#e8e8ea);overflow:hidden}
.axbi-trk-meter-track i{display:block;height:100%;border-radius:4px}
.axbi-trk-meter b{color:var(--bi-text,#14181f);font-size:11px;flex:none;min-width:58px;text-align:right;font-variant-numeric:tabular-nums}
.axbi-trk-route{font-size:12px;color:var(--bi-text2,#5a6472);margin-top:7px;line-height:1.5}
.axbi-trk-feat{font-size:12px;color:var(--bi-text,#14181f);margin-top:4px;line-height:1.55;opacity:.85}
.axbi-trk-pick{margin-top:9px;width:100%;padding:5px 0;border:1px solid #e10600;background:none;color:#e10600;border-radius:7px;font-size:12px;cursor:pointer;transition:.15s}
.axbi-trk-pick:hover{background:rgba(225,6,0,.08)}
.axbi-trk-pick.is-on{background:#e10600;color:#fff;font-weight:600}
.axbi-trk-search-wrap{flex:1;min-width:150px}
.axbi-trk-search{width:100%;padding:4px 10px;border:1px solid var(--bi-border,#e8e8ea);border-radius:7px;background:var(--bi-card,#fff);color:var(--bi-text,#14181f);font-size:12px}
.axbi-trk-surface,.axbi-trk-sort{padding:4px 6px;border-radius:7px;border:1px solid var(--bi-border,#e8e8ea);background:var(--bi-card,#fff);color:var(--bi-text,#14181f);font-size:12px}
.axbi-trk-cmp{width:100%;border-collapse:collapse;font-size:13px;background:var(--bi-card,#fff)}
.axbi-trk-cmp th,.axbi-trk-cmp td{border:1px solid var(--bi-border,#e8e8ea);padding:8px 12px;text-align:left;vertical-align:top}
.axbi-trk-cmp th{background:var(--bi-card2,#f4f4f6);color:#e10600;white-space:nowrap}
.axbi-trk-cmp th u{font-style:normal;text-decoration:none;color:var(--bi-text,#14181f);font-weight:700;display:block;border-top:6px solid transparent}
.axbi-trk-cmp th i{display:block;font-style:italic;color:var(--bi-text2,#5a6472);font-size:11px;font-weight:400}
.axbi-trk-cmp td{color:var(--bi-text,#14181f);min-width:120px}
.axbi-trk-cmpbar{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,#e1060044,#e10600);margin-bottom:4px}

/* V2.4.15 赛道路线示意 */
.axbi-trk-map{display:block;cursor:crosshair;width:100%;height:46px;margin:8px 0 2px;background:var(--bi-card2,#f7f7f8);border:1px dashed var(--bi-border,#d8dce4);border-radius:8px;padding:3px 4px}
.axbi-trk-map.is-big{height:110px;border-radius:12px;margin:14px 0 4px}
.axbi-trk-map polyline{vector-effect:non-scaling-stroke}

/* V2.4.16 路线里程节点 + 系列徽章 */
.axbi-trk-node{fill:rgba(255,255,255,.01);stroke:none;cursor:crosshair}
.axbi-trk-node:hover{fill:var(--nc,#e10600);stroke:#fff;stroke-width:1.4px}
.axbi-trk-ser{font-style:normal;font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;background:var(--bi-text,#14181f);color:#fff;flex:none;letter-spacing:.5px}

.bi-wrc-lg{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:-1px;margin:0 4px 0 10px;border:1px solid rgba(255,255,255,.8)}
.bi-wrc-lg-on{background:#e10600}
.bi-wrc-lg-off{background:#96a0ae}
.bi-wrc-chip.is-off{opacity:.5}
.axbi-trk-pwrap{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin-top:12px}
.axbi-trk-pcard{border:1px solid var(--bi-border,#e8e8ea);border-radius:12px;padding:14px 16px;background:var(--bi-card2,#f8f9fb);position:relative;overflow:hidden}
.axbi-trk-pcard u{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--pc,#e10600)}
.axbi-trk-pcard b{font-size:16px;color:var(--bi-text,#14181f)}
.axbi-trk-pcard>i{display:block;font-style:normal;font-size:12px;color:var(--bi-text2,#5a6472);margin:2px 0 8px}
.axbi-trk-ptag{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--pc,#e10600);color:#fff;font-weight:700;font-size:12px;letter-spacing:.5px}
.axbi-trk-pcard dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:12px 0 10px}
.axbi-trk-pcard dt{font-size:11px;color:var(--bi-text2,#5a6472)}
.axbi-trk-pcard dd{margin:0;font-size:15px;font-weight:700;color:var(--bi-text,#14181f)}
.axbi-trk-pcard dd em{font-style:normal;font-size:11px;font-weight:400;color:var(--bi-text2,#5a6472)}
.axbi-trk-pcard p{margin:0;font-size:12px;line-height:1.7;color:var(--bi-text2,#5a6472);border-top:1px dashed var(--bi-border,#e8e8ea);padding-top:8px}
.axbi-trk-vs{align-self:center;font-style:italic;font-weight:800;font-size:22px;color:#e10600;letter-spacing:1px}
.axbi-trk-duos{margin:14px 0 4px;display:grid;gap:2px}
.axbi-trk-duo{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center}
.axbi-trk-duo>span{font-size:12px;color:var(--bi-text2,#5a6472);text-align:right}
.axbi-trk-duo-b>div{display:flex;align-items:center;gap:8px;margin:3px 0}
.axbi-trk-duo-b i{display:block;height:9px;border-radius:4px;transition:width .3s}
.axbi-trk-duo-b em{font-style:normal;font-size:12px;font-weight:600;color:var(--bi-text,#14181f);white-space:nowrap}
.axbi-trk-duo-b em u{text-decoration:none;color:#e10600;font-size:10px}
.axbi-trk-deltas{margin:10px 0 0;padding:10px 14px;border-radius:10px;background:var(--bi-card2,#f4f4f6)}
.axbi-trk-deltas p{margin:4px 0;font-size:12.5px;line-height:1.7;color:var(--bi-text,#14181f)}
.axbi-trk-story{margin-top:10px;padding:12px 14px;border-radius:10px;border-left:3px solid #e10600;background:linear-gradient(90deg,rgba(225,6,0,.08),transparent);font-size:13px;line-height:1.8;color:var(--bi-text,#14181f)}
.axbi-trk-story b{display:block;font-size:12px;color:#e10600;margin-bottom:2px;letter-spacing:1px}

.axbi-trk-q{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:12px;background:var(--bi-card,#fff)}
.axbi-trk-q th,.axbi-trk-q td{border:1px solid var(--bi-border,#e8e8ea);padding:7px 10px;text-align:left;vertical-align:middle}
.axbi-trk-q th{background:var(--bi-card2,#f4f4f6);color:#e10600;font-weight:700;white-space:nowrap}
.axbi-trk-q td:first-child{color:var(--bi-text,#14181f);font-weight:600;white-space:nowrap}
.axbi-trk-q td b{font-weight:700;white-space:nowrap}
.axbi-trk-q td u{text-decoration:none;color:var(--bi-text,#14181f);font-weight:700}
.axbi-trk-q td i{font-style:normal;color:var(--bi-text2,#5a6472);font-size:11.5px;margin-left:6px}
.bi-wrc-spec{display:grid;grid-template-columns:308px 1fr 1.08fr;gap:12px;margin-top:12px}
.bi-wrc-spec-col{border:1px solid var(--bi-border,#e8e8ea);border-radius:10px;padding:10px 12px;background:var(--bi-card2,#f8f9fb)}
.bi-wrc-spec-col h4{margin:0 0 8px;font-size:12px;color:#e10600;letter-spacing:1px}
.bi-wrc-spec-col dl{margin:0;display:grid;gap:6px}
.bi-wrc-spec-col dl>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.bi-wrc-spec-col dt{font-size:11.5px;color:var(--bi-text2,#5a6472);white-space:nowrap}
.bi-wrc-spec-col dd{margin:0;font-size:12.5px;font-weight:600;color:var(--bi-text,#14181f);text-align:right}

@media (max-width: 760px){.bi-wrc-spec{grid-template-columns:1fr 1fr !important}}
@media (max-width: 520px){.bi-wrc-spec{grid-template-columns:1fr !important}}

.bi-wrc-spec-radar h4{margin-bottom:2px}
.bi-wrc-spec-radar svg{width:100%;height:auto;color:var(--bi-text,#14181f)}
.axbi-trk-radar{display:flex;justify-content:center;padding:4px 0 10px}
.axbi-trk-radar svg{width:min(430px,92%);height:auto;color:var(--bi-text,#14181f)}
@media (max-width: 980px){.bi-wrc-spec{grid-template-columns:1fr 1fr !important}.bi-wrc-spec-radar{grid-column:1/-1}}
@media (max-width: 560px){.bi-wrc-spec{grid-template-columns:1fr !important}}

/* V2.4.25 对手分析 */
.bi-opp{color:var(--bi-text,#14181f)}
.bi-opp-tabs{display:flex;gap:8px;margin-bottom:14px}
/* 对手分析 · 选人条（修复被 6px 微条样式压扁的 BUG） */
.bi-opp-cmpbar{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:linear-gradient(100deg,rgba(225,6,0,.14),rgba(124,92,255,.10) 55%,rgba(56,189,248,.08));border:1px solid rgba(225,6,0,.32);border-radius:14px;padding:11px 16px;margin:0 0 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 26px rgba(0,0,0,.12)}
.bi-opp-cmpbar::before{content:'';position:absolute;top:0;left:-70%;width:38%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);animation:axbiSweep 4.4s ease-in-out infinite;pointer-events:none}
@keyframes axbiSweep{0%{left:-70%}52%{left:135%}100%{left:135%}}
.bi-opp-cmpbar .axbi-trk-cmpn{font-weight:800;color:#e10600;font-size:12.5px;letter-spacing:.05em}
.bi-opp-cmpbar .axbi-trk-hint{color:var(--bi-text2,#5a6472);font-size:12.5px}
.bi-opp-cmpbar em{font-style:normal;font-weight:800;font-size:12.5px;padding:5px 14px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:linear-gradient(135deg,var(--emc,#e10600),color-mix(in srgb,var(--emc,#e10600) 55%,#ff8a3c));color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--emc,#e10600) 45%,transparent);animation:axbiPop .25s ease}
@keyframes axbiPop{from{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}
.bi-opp-cmpbar .axbi-trk-go{margin-left:auto}

.bi-opp-tabs button{border:1px solid rgba(148,163,184,.35);background:linear-gradient(160deg,rgba(148,163,184,.16),rgba(148,163,184,.05));color:var(--bi-text2,#5a6472);border-radius:10px;padding:6px 18px;font-size:12.5px;cursor:pointer;font-weight:700;letter-spacing:.06em;transition:color .15s,border-color .15s,box-shadow .15s,background .15s}
.bi-opp-tabs button.is-on{background:linear-gradient(135deg,#e10600,#ff5a3c);color:#fff;border-color:rgba(255,255,255,.4);box-shadow:0 0 14px rgba(225,6,0,.45),inset 0 1px 0 rgba(255,255,255,.3)}
.bi-opp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}
.bi-opp-card{position:relative;border:1px solid var(--bi-border,#e8e8ea);border-radius:12px;padding:14px 14px 10px;background:var(--bi-card,#fff);display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"rank main kpi" "radar radar side" "acts acts acts";gap:10px 12px;align-items:center;cursor:pointer;transition:transform .15s,box-shadow .15s}
.bi-opp-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.14),0 0 0 1px color-mix(in srgb,var(--ac,#e10600) 45%,transparent),0 0 22px color-mix(in srgb,var(--ac,#e10600) 28%,transparent);border-color:color-mix(in srgb,var(--ac,#e10600) 55%,var(--bi-border,#e8e8ea))}
.bi-opp-rank{grid-area:rank;width:34px;height:34px;border-radius:10px;border:1px solid;display:grid;place-items:center;font-weight:800;font-size:15px}
.bi-opp-main{grid-area:main;display:grid;gap:3px;min-width:0}
.bi-opp-main b{font-size:15px;display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.bi-opp-nm{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bi-opp-main em{font-style:normal;font-size:11.5px;color:var(--bi-text2,#5a6472);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bi-opp-kpi{grid-area:kpi;text-align:right}
.bi-opp-kpi b{font-size:20px;color:#e10600}
.bi-opp-kpi b i{font-style:normal;font-size:11px;color:var(--bi-text2,#5a6472);margin-left:2px}
.bi-opp-kpi span{display:block;font-size:10.5px;color:var(--bi-text2,#5a6472);margin-top:2px}
.bi-opp-radar{grid-area:radar;text-align:center}
.bi-opp-radar svg{width:178px;height:auto;color:var(--bi-text,#14181f)}
.bi-opp-acts{position:static;grid-area:acts;display:flex;gap:10px;padding-top:2px}
.bi-opp-acts i{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap;height:36px;border-radius:11px;cursor:pointer;transition:all .16s ease}
.bi-opp-acts i:hover{transform:translateY(-2px)}
.bi-opp-pick{border:1px solid rgba(225,6,0,.55);color:#e10600;background:linear-gradient(160deg,rgba(225,6,0,.14),rgba(225,6,0,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.bi-opp-pick:hover{background:linear-gradient(135deg,#e10600,#ff5a3c);color:#fff;border-color:rgba(255,255,255,.4);box-shadow:0 0 16px rgba(225,6,0,.5)}
.bi-opp-pick.is-on{background:linear-gradient(135deg,#e10600,#ff5a3c);color:#fff;border-color:rgba(255,255,255,.4);box-shadow:0 0 16px rgba(225,6,0,.5),inset 0 1px 0 rgba(255,255,255,.3)}
.bi-opp-more{border:1px solid rgba(148,163,184,.5);color:var(--bi-text2,#5a6472);background:linear-gradient(160deg,rgba(148,163,184,.13),rgba(148,163,184,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.bi-opp-more:hover{color:#e10600;border-color:rgba(225,6,0,.6);box-shadow:0 0 12px rgba(225,6,0,.28)}
.bi-opp-comore{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap;height:36px;border-radius:11px;cursor:pointer;border:1px solid rgba(124,92,255,.55);color:#7c5cff;background:linear-gradient(160deg,rgba(124,92,255,.12),rgba(124,92,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.35);transition:all .16s ease}
.bi-opp-comore:hover{background:linear-gradient(135deg,#7c5cff,#a78bfa);color:#fff;border-color:rgba(255,255,255,.4);box-shadow:0 0 16px rgba(124,92,255,.5)}
.bi-opp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.bi-opp-kpib{border:1px solid var(--bi-border,#e8e8ea);border-radius:10px;padding:10px 12px;background:var(--bi-card2,#f8f9fb);display:grid;gap:3px}
.bi-opp-kpib b{font-size:17px;color:#e10600}
.bi-opp-kpib span{font-size:11.5px;color:var(--bi-text2,#5a6472)}
.bi-opp-sec{border:1px solid var(--bi-border,#e8e8ea);border-radius:10px;padding:10px 12px;background:var(--bi-card2,#f8f9fb)}
.bi-opp-sec h4{margin:0 0 8px;font-size:12px;color:#e10600;letter-spacing:1px}
.bi-opp-sec dl{margin:0;display:grid;gap:6px}
.bi-opp-sec dl>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.bi-opp-sec dt{font-size:11.5px;color:var(--bi-text2,#5a6472);white-space:nowrap}
.bi-opp-sec dd{margin:0;font-size:12.5px;font-weight:600;color:var(--bi-text,#14181f);text-align:right}
.bi-opp-tlist{display:grid;gap:16px}
.bi-opp-group{display:flex;align-items:baseline;gap:10px;margin:20px 0 12px;flex-wrap:wrap}
.bi-opp-group b{font-size:14.5px;font-weight:800;color:var(--bi-text,#14181f)}
.bi-opp-group span{font-size:11.5px;font-weight:600;color:var(--bi-text2,#5a6472)}
.bi-opp-group::after{content:'';flex:1;height:1px;background:var(--bi-border,#e8e8ea);align-self:center}
.bi-opp-subgroup{display:flex;align-items:baseline;gap:8px;margin:16px 0 10px;padding:2px 0 2px 10px;border-left:3px solid #e10600}
.bi-opp-subgroup b{font-size:13px;font-weight:800;color:var(--bi-text,#14181f)}
.bi-opp-subgroup span{font-size:11px;font-weight:700;color:#fff;background:var(--bi-text2,#5a6472);border-radius:999px;padding:1px 8px}
.bi-opp-group + .bi-opp-subgroup{margin-top:6px}
.bi-opp-tcard{position:relative;border:1px solid var(--bi-border,#e8e8ea);border-radius:14px;background:var(--bi-card,#fff);padding:16px 18px;display:grid;grid-template-columns:44px 1.1fr 1.2fr 1.25fr;grid-template-areas:"rank main info kpi" "rank radar contrib meta" "acts acts acts acts";gap:14px 16px;overflow:hidden}
.bi-opp-trank{grid-area:rank;align-self:start;width:32px;height:32px;border-radius:9px;border:1px solid var(--ac,#e10600);color:var(--ac,#e10600);background:var(--bi-card2,#f8f9fb);display:grid;place-items:center;font-weight:800;font-size:15px}
.bi-opp-tinfo{grid-area:info;border:1px solid var(--bi-border,#e8e8ea);border-radius:10px;padding:10px 12px;background:var(--bi-card2,#f8f9fb);min-width:0}
.bi-opp-tinfo h5{margin:0 0 7px;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--ac,#e10600)}
.bi-opp-tinfo dl{margin:0;display:grid;gap:5px}
.bi-opp-tinfo dl>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.bi-opp-tinfo dt{font-size:11px;color:var(--bi-text2,#5a6472);white-space:nowrap;flex:none}
.bi-opp-tinfo dd{margin:0;font-size:11.5px;font-weight:600;color:var(--bi-text,#14181f);text-align:right}
.bi-opp-tbar{border-radius:3px}
.bi-opp-tmain b{font-size:17px;display:block}
.bi-opp-tmain em{font-style:normal;font-size:12px;color:var(--bi-text2,#5a6472)}
.bi-opp-tkpi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bi-opp-tmeta dl,.bi-opp-tcontrib dl{margin:8px 0 0;display:grid;gap:5px}
.bi-opp-tmeta dl>div,.bi-opp-tcontrib dl>div{display:flex;justify-content:space-between;gap:10px}
.bi-opp-tmeta dt,.bi-opp-tcontrib dt{font-size:11.5px;color:var(--bi-text2,#5a6472);white-space:nowrap}
.bi-opp-tmeta dd,.bi-opp-tcontrib dd{margin:0;font-size:12px;font-weight:600;text-align:right}
.bi-opp-tcontrib h4,.bi-opp-tradar h4{margin:0 0 6px;font-size:12px;color:#e10600;letter-spacing:1px}
.bi-opp-tradar{text-align:center}
.bi-opp-tradar svg{width:150px;height:auto;color:var(--bi-text,#14181f)}
.bi-opp-stack{display:flex;height:14px;border-radius:7px;overflow:hidden;background:rgba(128,140,160,.15)}
.bi-opp-stack i{display:block}
.bi-opp-stacklg{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--bi-text2,#5a6472);margin:6px 0 10px}
.bi-opp-stacklg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px}
.bi-opp-tbwrap{margin-top:4px}
.bi-opp-tbtitle{font-size:13px;color:#e10600;letter-spacing:1px;margin:14px 0 8px}
.bi-opp-tb{width:100%;border-collapse:collapse;font-size:12px}
.bi-opp-tb th{background:var(--bi-card2,#f8f9fb);color:var(--bi-text2,#5a6472);font-weight:600;padding:8px 10px;text-align:left;border-bottom:1px solid var(--bi-border,#e8e8ea);white-space:nowrap}
.bi-opp-tb td{padding:8px 10px;border-bottom:1px solid var(--bi-border,#e8e8ea)}
.bi-opp-tb td.up{color:#12a35a;font-weight:700}
.bi-opp-tb td.dn{color:#e10600;font-weight:700}
.bi-opp-vsradar{display:flex;justify-content:center;padding:6px 0 12px}
.bi-wrc-sheet .bi-opp-kpis{margin:16px 0 18px;gap:12px}
.bi-wrc-sheet .bi-wrc-spec{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:stretch;margin-bottom:14px}
.bi-wrc-sheet .bi-opp-spec-hero{grid-template-columns:340px 1fr 1fr}
.bi-wrc-sheet .bi-opp-sec{background:var(--bi-card2,#f8f9fb);border:1px solid var(--bi-border,#e8e8ea);border-radius:12px;padding:14px 16px;min-width:0}
.bi-wrc-sheet .bi-opp-sec h4{margin:0 0 10px;font-size:12.5px;letter-spacing:1.5px}
.bi-wrc-sheet .bi-opp-sec dl{gap:8px}
.bi-wrc-sheet .bi-opp-sec dd{font-size:12.5px}
.bi-wrc-sheet .bi-opp-spec-hero .bi-wrc-spec-radar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--bi-card2,#f8f9fb);border:1px solid var(--bi-border,#e8e8ea);border-radius:12px;padding:14px}
.bi-wrc-sheet .bi-opp-spec-hero .bi-wrc-spec-radar h4{margin:0;font-size:12.5px;color:#e10600;letter-spacing:1.5px}
@media (max-width: 900px){.bi-wrc-sheet .bi-wrc-spec,.bi-wrc-sheet .bi-opp-spec-hero{grid-template-columns:1fr}}
.bi-opp-vsradar svg{width:min(580px,96%);height:auto;color:var(--bi-text,#14181f)}

/* 对手分析 · 组别筛选选项 */
.bi-opp-flt{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px}
.bi-opp-flt button{appearance:none;-webkit-appearance:none;border:1px solid rgba(132,144,164,.4);background:rgba(132,144,164,.1);color:inherit;font-size:12px;font-weight:600;line-height:1;padding:7px 13px;border-radius:999px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.bi-opp-flt button:hover{border-color:#e10600;color:#e10600}
.bi-opp-flt button.is-on{background:#e10600;border-color:#e10600;color:#fff}
.bi-opp-attack{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.bi-opp-attack h4{margin:0 0 6px;font-size:12px;color:#e10600}
.bi-opp-attack p{margin:0;font-size:12.5px;line-height:1.65;color:var(--bi-text2,#5a6472)}
@media (max-width: 900px){.bi-opp-tcard{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"rank main" "rank info" "kpi kpi" "radar radar" "contrib contrib" "meta meta"}.bi-opp-kpis{grid-template-columns:1fr 1fr}.bi-opp-attack{grid-template-columns:1fr}}}

.bi-opp-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.bi-opp-tabs{display:flex;gap:6px;flex-wrap:wrap}
.bi-opp-ava{position:relative;display:inline-grid;place-items:center;flex:none}
.bi-opp-ava svg{width:54px;height:54px;display:block}
.bi-opp-ava b{position:absolute;bottom:-3px;right:-5px;font-size:10.5px;background:var(--ac,#e10600);color:#fff;padding:1px 6px;border-radius:8px}
.bi-opp-ava{--ac:#e10600}
.bi-opp-ring{width:56px;height:56px;color:var(--bi-text,#14181f)}
.bi-opp-spark{width:100%;height:28px;display:block}
.bi-opp-side{grid-area:side;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:104px;justify-content:center}
.bi-opp-side i{font-style:normal;font-size:10px;color:var(--bi-text2,#5a6472)}
.bi-opp-card{--ac:#e10600}
.bi-opp-card .bi-opp-kpi b{color:var(--ac,#e10600)}
.bi-opp-age{display:block;font-style:normal;font-size:11px;color:var(--bi-text2,#5a6472);margin-top:2px}
.bi-opp-radar6{width:100%;height:auto;color:var(--bi-text,#14181f)}
.bi-opp-card .bi-opp-radar{width:192px;flex:none}
.bi-opp-tcard{--ac:#e10600}
.bi-opp-tcard .bi-opp-radar{width:176px;flex:none}
.bi-opp-tmeta{grid-area:meta;display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--bi-text2,#5a6472);min-width:0}
.bi-opp-contrib{grid-area:contrib;display:flex;flex-direction:column;gap:3px;min-width:0}
.bi-opp-contrib>span{display:flex;align-items:center;gap:6px;font-size:11px}
.bi-opp-contrib i{font-style:normal;min-width:52px;color:var(--bi-text2,#5a6472)}
.bi-opp-contrib b{flex:1;height:7px;border-radius:4px;opacity:.8}
.bi-opp-contrib em{font-style:normal;font-weight:700;color:var(--bi-text,#14181f)}
.bi-opp-tb-in{margin-top:12px}

.bi-opp-modtitle{margin:0;font-size:14px;font-weight:800}
.bi-opp-board{display:flex;flex-direction:column;gap:6px}
.bi-opp-chart{width:100%;height:auto;max-height:230px;color:var(--bi-text,#14181f)}
.bi-opp-lgd{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;color:var(--bi-text2,#5a6472);margin:2px 0 8px}
.bi-opp-lgd i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:4px}
.bi-opp-stack{display:flex;align-items:center;gap:8px;margin:3px 0}
.bi-opp-stack-n{min-width:150px;font-size:12px;text-align:right;color:var(--bi-text2,#5a6472)}
.bi-opp-stack-b{flex:1;display:flex;height:16px;border-radius:5px;overflow:hidden;background:rgba(128,140,160,.14)}
.bi-opp-stack-b i{display:block;height:100%}
.bi-opp-stack>b{min-width:44px;font-size:12px}
.bi-opp-heat{border-collapse:collapse;width:100%;font-size:11.5px;margin:4px 0 10px}
.bi-opp-heat th{font-weight:600;padding:4px 6px;color:var(--bi-text2,#5a6472);text-align:center}
.bi-opp-heat td{padding:5px 6px;text-align:center;border:1px solid rgba(128,140,160,.18);border-radius:3px;min-width:44px}
.bi-opp-gantt{border-collapse:collapse;width:100%;font-size:11.5px;margin:4px 0 10px}
.bi-opp-gantt th{font-weight:600;padding:4px 6px;color:var(--bi-text2,#5a6472)}
.bi-opp-gantt td{padding:4px 8px;border-bottom:1px solid rgba(128,140,160,.12)}
.bi-opp-gb{display:inline-block;height:8px;border-radius:4px;background:var(--bi-red,#e10600);opacity:.75;vertical-align:middle}
.bi-opp-gantt td i{font-style:normal;font-size:10px;color:var(--bi-text2,#5a6472);margin-left:6px;vertical-align:middle}
.bi-opp-tpick{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap;height:36px;border-radius:11px;border:1px solid color-mix(in srgb,var(--ac,#e10600) 55%,transparent);color:var(--ac,#e10600);background:linear-gradient(160deg,color-mix(in srgb,var(--ac,#e10600) 12%,transparent),transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);cursor:pointer;transition:all .16s ease}
.bi-opp-tpick:hover{background:linear-gradient(135deg,var(--ac,#e10600),color-mix(in srgb,var(--ac,#e10600) 60%,#ff8a3c));color:#fff;border-color:rgba(255,255,255,.4);box-shadow:0 0 14px color-mix(in srgb,var(--ac,#e10600) 45%,transparent)}
.bi-opp-tpick.is-on{background:linear-gradient(135deg,var(--ac,#e10600),color-mix(in srgb,var(--ac,#e10600) 60%,#ff8a3c));color:#fff;border-color:rgba(255,255,255,.4);box-shadow:0 0 14px color-mix(in srgb,var(--ac,#e10600) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.3)}
.bi-opp-age{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bi-opp-card .bi-opp-main{min-width:0}

/* V2.4.66 移动端弹层滚动兼容 */
@supports (-webkit-touch-callout: none){
  .bi-wrc-veil{backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media (max-height:640px){
  .bi-wrc-veil{place-items:start center}
  .bi-wrc-sheet{max-height:94vh}
}
/* V2.4.67 车手/车队列表独立滚动 */
.bi-opp-grid{max-height:min(62vh,620px);overflow-y:auto;scrollbar-width:thin;padding-right:4px;-webkit-overflow-scrolling:touch}
.bi-opp-tlist{max-height:min(62vh,620px);overflow-y:auto;scrollbar-width:thin;padding-right:4px;-webkit-overflow-scrolling:touch}
.bi-opp-grid::-webkit-scrollbar,.bi-opp-tlist::-webkit-scrollbar{width:6px}
.bi-opp-grid::-webkit-scrollbar-thumb,.bi-opp-tlist::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}
/* ===== V2.4.69 对手分析 · 悬停数据卡 / 状态徽章 / 科技感 ===== */
.bi-opp-stag{flex:none;display:inline-block;vertical-align:middle;font-style:normal;font-size:10.5px;font-weight:800;line-height:1;padding:3px 8px;border-radius:6px;letter-spacing:.08em}
.bi-opp-stag.is-ft{color:#0e9f8a;background:rgba(14,159,138,.12);border:1px solid rgba(14,159,138,.4)}
.bi-opp-stag.is-pt{color:#b8730e;background:rgba(255,170,50,.14);border:1px solid rgba(255,170,50,.45)}
.bi-opp-stag.is-ret{color:#7c5cff;background:rgba(124,92,255,.12);border:1px solid rgba(124,92,255,.4)}
.axbi-tip{position:fixed;z-index:99999;max-width:320px;padding:12px 14px;border-radius:14px;background:linear-gradient(165deg,rgba(16,21,34,.96),rgba(24,30,48,.94));border:1px solid rgba(120,140,180,.35);box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04) inset,0 0 24px rgba(225,6,0,.14);color:#eef2fa;font-size:12px;line-height:1.5;opacity:0;transform:translateY(6px) scale(.97);transition:opacity .14s ease,transform .14s ease;pointer-events:none;backdrop-filter:blur(8px)}
.axbi-tip.is-on{opacity:1;transform:translateY(0) scale(1)}
.axbi-tip-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(148,163,184,.25)}
.axbi-tip-h b{font-size:14.5px;letter-spacing:.02em;color:#fff;text-shadow:0 0 14px var(--ac,#e10600)}
.axbi-tip-h span{font-size:11px;color:#9fb0c7}
.axbi-tip-badge{font-style:normal;font-size:10px;font-weight:800;padding:2px 8px;border-radius:5px;background:var(--ac,#e10600);color:#fff;letter-spacing:.06em;box-shadow:0 0 10px var(--ac,#e10600)}
.axbi-tip-r{display:flex;justify-content:space-between;gap:14px;padding:2.5px 0;font-size:11.5px}
.axbi-tip-r span{color:#8fa0b8;white-space:nowrap}
.axbi-tip-r b{font-weight:700;color:#e8edf6;text-align:right}
.axbi-tip-f{margin:8px 0 0;padding-top:7px;border-top:1px dashed rgba(148,163,184,.3);font-size:11px;color:#aab8cc}
/* 组别筛选 · 科技感升级 */
.bi-opp-flt button{border:1px solid rgba(148,163,184,.38);background:linear-gradient(160deg,rgba(148,163,184,.14),rgba(148,163,184,.04));color:var(--bi-text2,#5a6472);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1;padding:7px 14px;border-radius:9px;cursor:pointer;transition:all .15s ease}
.bi-opp-flt button:hover{border-color:#e10600;color:#e10600;box-shadow:0 0 10px rgba(225,6,0,.25)}
.bi-opp-flt button.is-on{background:linear-gradient(135deg,#e10600,#ff5a3c);border-color:rgba(255,255,255,.4);color:#fff;box-shadow:0 0 14px rgba(225,6,0,.45),inset 0 1px 0 rgba(255,255,255,.3)}
/* 车手积分榜 / 车队运营 */
.axbi-ptwrap{color:var(--bi-text,#14181f)}
.axbi-pt-list{display:grid;gap:7px}
.axbi-pt-row{display:grid;grid-template-columns:30px 42px minmax(0,1fr) minmax(70px,180px) 52px;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;border:1px solid var(--bi-border,#e8e8ea);background:var(--bi-card,#fff);cursor:default;transition:transform .15s,box-shadow .15s,border-color .15s}
.axbi-pt-row:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12),0 0 16px rgba(225,6,0,.12);border-color:rgba(225,6,0,.4)}
.axbi-pt-rank{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:12.5px;background:rgba(148,163,184,.12);color:var(--bi-text2,#5a6472)}
.axbi-pt-rank.is-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#3a2a00;box-shadow:0 0 12px rgba(245,158,11,.5)}
.axbi-pt-rank.is-silver{background:linear-gradient(135deg,#cbd5e1,#94a3b8);color:#1e293b}
.axbi-pt-rank.is-bronze{background:linear-gradient(135deg,#d59d73,#b0713d);color:#3d2007}
.axbi-pt-no{font-weight:800;font-size:12.5px;color:var(--bi-text2,#5a6472);font-variant-numeric:tabular-nums}
.axbi-pt-name{display:grid;gap:2px;min-width:0}
.axbi-pt-name b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axbi-pt-name i{font-style:normal;font-size:10.5px;color:var(--bi-text2,#5a6472);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axbi-pt-bar{height:8px;border-radius:4px;background:rgba(148,163,184,.15);overflow:hidden}
.axbi-pt-bar i{display:block;height:100%;border-radius:4px;box-shadow:0 0 8px rgba(225,6,0,.4)}
.axbi-pt-pts{text-align:right;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--bi-text,#14181f)}
.axbi-ops-row{--ac:#8a93a3}
.axbi-ops-row:hover{box-shadow:0 8px 22px rgba(0,0,0,.12),0 0 16px color-mix(in srgb,var(--ac) 30%,transparent);border-color:color-mix(in srgb,var(--ac) 55%,var(--bi-border,#e8e8ea))}
.axbi-ops-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ac,#8a93a3);margin-right:7px;box-shadow:0 0 8px var(--ac,#8a93a3)}
.axbi-ops-chips{display:flex;gap:5px;flex-wrap:wrap}
.axbi-ops-chips i{font-style:normal;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:rgba(148,163,184,.12);color:var(--bi-text2,#5a6472);white-space:nowrap}
/* 领航员名录 */
.axbi-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.axbi-nav-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 13px;border-radius:12px;border:1px solid var(--bi-border,#e8e8ea);background:var(--bi-card,#fff);cursor:default;transition:transform .15s,box-shadow .15s,border-color .15s}
.axbi-nav-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12),0 0 16px color-mix(in srgb,var(--ac,#7c5cff) 30%,transparent);border-color:color-mix(in srgb,var(--ac,#7c5cff) 55%,var(--bi-border,#e8e8ea))}
.axbi-nav-ava{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;background:linear-gradient(135deg,var(--ac,#7c5cff),color-mix(in srgb,var(--ac,#7c5cff) 55%,#38bdf8));box-shadow:0 0 12px color-mix(in srgb,var(--ac,#7c5cff) 45%,transparent)}
.axbi-nav-main{display:grid;gap:2px;min-width:0}
.axbi-nav-main b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axbi-nav-main em{font-style:normal;font-size:11px;color:var(--bi-text2,#5a6472);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axbi-nav-main i{font-style:normal;font-size:10.5px;color:var(--bi-text2,#5a6472);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axbi-nav-champ{font-weight:800;font-size:16px;color:var(--ac,#7c5cff);text-shadow:0 0 12px color-mix(in srgb,var(--ac,#7c5cff) 50%,transparent)}
@media (max-width: 760px){.axbi-pt-row{grid-template-columns:26px 34px minmax(0,1fr) 46px}.axbi-pt-bar,.axbi-ops-chips{display:none}.axbi-tip{max-width:270px}}

/* ===== V2.4.71 高级分析模块（赛季回放 / 稳定性行 / 时间轴） ===== */
.axbi-tl-slider{display:flex;align-items:center;gap:12px;margin:4px 0 10px;color:var(--bi-text2,#5a6472);font-size:11px;font-weight:700}
.axbi-tl-slider input[type=range]{flex:1;appearance:none;-webkit-appearance:none;height:8px;border-radius:5px;background:linear-gradient(90deg,#e10600,#ff7a00,#38bdf8);outline:none;cursor:pointer;box-shadow:inset 0 1px 3px rgba(0,0,0,.25)}
.axbi-tl-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #e10600;box-shadow:0 0 12px rgba(225,6,0,.5);cursor:grab}
.axbi-tl-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #e10600;box-shadow:0 0 12px rgba(225,6,0,.5);cursor:grab}
.axbi-tl-track{display:flex;gap:4px;flex-wrap:wrap}
.axbi-tl-st{flex:1;min-width:56px;text-align:center;padding:6px 2px;border-radius:9px;border:1px solid var(--bi-border,#e8e8ea);background:var(--bi-card2,#f8f9fb);cursor:pointer;transition:all .15s ease}
.axbi-tl-st b{font-size:10.5px;color:var(--bi-text2,#5a6472);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axbi-tl-st i{display:block;width:9px;height:9px;border-radius:50%;background:rgba(148,163,184,.35);margin:0 auto 4px}
.axbi-tl-st.is-on{border-color:#e10600;background:linear-gradient(160deg,rgba(225,6,0,.12),rgba(225,6,0,.03))}
.axbi-tl-st.is-on i{background:#e10600;box-shadow:0 0 8px rgba(225,6,0,.6)}
.axbi-tl-st:hover{transform:translateY(-2px)}
.axbi-tl-st i.is-ev{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.7)}
.axbi-tl-st i.is-warn{background:#e10600;box-shadow:0 0 10px rgba(225,6,0,.8)}
.axbi-tl-evnow{margin-top:10px;padding:9px 14px;border:1px dashed rgba(245,158,11,.55);border-radius:10px;background:rgba(245,158,11,.08);font-size:12px;color:var(--bi-text2,#5a6472)}
.axbi-tl-evnow b{color:var(--bi-text,#14181f)}
.axbi-tl-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(70px,180px) 52px;gap:10px;align-items:center;padding:9px 12px;border-radius:11px;border:1px solid var(--bi-border,#e8e8ea);background:var(--bi-card,#fff);transition:transform .15s,box-shadow .15s,border-color .15s}
.axbi-tl-row:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12),0 0 16px rgba(225,6,0,.12);border-color:rgba(225,6,0,.4)}
.axbi-tl-up{color:#12a35a;font-size:10.5px;margin-left:7px;vertical-align:1px}
.axbi-tl-dn{color:#e10600;font-size:10.5px;margin-left:7px;vertical-align:1px}
@media (max-width: 760px){.axbi-tl-row{grid-template-columns:26px minmax(0,1fr) 44px}.axbi-tl-row .axbi-pt-bar,.axbi-tl-row svg{display:none}}
