.log.err > .s{color:#b91c1c}
.log.ui > .s{color:#4f46e5}

/* Z13-PIE-CENTER：中心显示"价值最高"的币种 */
.pie .mid{display:none}
/* Z13-PIE-MIDCENTER：flex 不认 place-items，改 grid 才真正居中 */
  .pie .mid.on{display:grid !important;place-items:center;text-align:center}
  .pie .mid > div{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
.pie .mid b{font-size:15px;font-weight:800;color:#0f172a;line-height:1.1}
.pie .mid i{display:block;font-style:normal;font-size:11px;color:#0f766e;font-weight:700;
  font-variant-numeric:tabular-nums}

/* Z13-PIE-COLORS */
.pie-legend .pl i{width:9px;height:9px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(15,23,42,.08)}
.pie-legend .pl .n{letter-spacing:.02em}

/* Z2O-FIT-V4 —— 列宽 + 图标尺寸（表格 18px / 抽屉 22px）
   原规则一列都不动：
     .mn-chip img{15px} → 这里抬到 18px，图标列 16px → 20px
     .dr-card .t img{18px} → 这里抬到 22px
   表格 <img> 自带 width="15" 属性也没关系：CSS 优先级高于呈现属性。 */
td.mn-cell{min-width:480px}
td.mn-cell .mn-list{display:inline-flex;white-space:nowrap}
td.mn-cell .mn-chip{width:max-content;max-width:none;grid-template-columns:20px 104px auto}
td.mn-cell .mn-chip img{width:18px;height:18px;border-radius:3px}
.dr-card .t img{width:22px;height:22px;border-radius:6px}
.dr-card .t .coin{width:22px;height:22px}

/* Z2O-FONT-V1 —— 图例/坐标/点位数字加大；图例不再显示「今天」二字（脚本里也去掉了） */
.hb-legend{gap:12px !important}
.hb-li{font-size:13px !important;padding:2px 9px !important;letter-spacing:.01em}
.hb-li b{font-size:13.5px !important}
.hb-li i{width:10px !important;height:10px !important}
#hbChart .hb-num{font-size:10px !important;font-weight:700 !important}
#hbChart text[font-size]{font-size:12px !important}

/* BOOT_LOADER_V1：进面板第一屏 = 品牌动画（不透明，界面不会先露出来） */
#zxBootLoad{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:#eef3fa;transition:opacity .32s ease}
#zxBootLoad svg{width:56px;height:56px;display:block;overflow:visible}
#zxBootLoad.hide{opacity:0;pointer-events:none}

  .z13digit{ transform-box:fill-box; transform-origin:center; will-change:transform; animation:z13rot 10s linear infinite }
  @keyframes z13rot{ 0%,10%{transform:scale(1)} 24%{transform:scale(1.03)} 84%{transform:scale(1.03)} 96%,100%{transform:scale(1)} }
  .z13d0b{ stroke:#7dd3fc; stroke-width:13; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:.55 }
  .z13d0{ fill:none; stroke:#475569; stroke-width:7.5; stroke-linecap:round; stroke-linejoin:round;
           transform-box:fill-box; transform-origin:center; will-change:transform,opacity;
           animation:z13zero 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13zero{
    0%,10%   { opacity:1;  transform:scaleX(1)   }
    15%      { opacity:.9; transform:scaleX(.66) }
    20%      { opacity:.6; transform:scaleX(.30) }
    24%,86%  { opacity:0;  transform:scaleX(.12) }
    92%      { opacity:.6; transform:scaleX(.30) }
    97%,100% { opacity:1;  transform:scaleX(1)   }
  }
  .z13d1{ fill:none; stroke:#0a0a0a; stroke-width:7.5; stroke-linecap:round; stroke-linejoin:round;
           stroke-dasharray:76.5; opacity:0; will-change:opacity;
           animation:z13one 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13one{
    0%,16%   { opacity:.85; stroke-dashoffset:76.5 }
    24%      { opacity:1;   stroke-dashoffset:0    }
    86%      { opacity:1;   stroke-dashoffset:0    }
    92%      { opacity:.7;  stroke-dashoffset:76.5 }
    100%     { opacity:0;   stroke-dashoffset:76.5 }
  }
  .z13ring{ fill:none; stroke:url(#blg_bt); stroke-width:2.2; transform-box:fill-box; transform-origin:center;
             opacity:0; will-change:transform,opacity; animation:z13ring 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13ring{ 0%,16%{opacity:0;transform:scale(.45)} 24%{opacity:.9;transform:scale(.85)} 34%{opacity:0;transform:scale(1.26)} 100%{opacity:0;transform:scale(1.26)} }
  .z13glow{ opacity:.2; transform-box:fill-box; transform-origin:center; will-change:transform,opacity;
             animation:z13glow 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13glow{ 0%,12%{opacity:.2;transform:scale(.9)} 26%,84%{opacity:.62;transform:scale(1.1)} 96%,100%{opacity:.2;transform:scale(.9)} }
  .z2o-logo-anim .z2o-particles{ transform-box:fill-box; transform-origin:center; animation:z13spin 22s linear infinite !important }
  @keyframes z13spin{ 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
  .z2o-logo-anim .z2o-particles circle{ transform-box:fill-box; transform-origin:center;
    animation:z13part 10s cubic-bezier(.4,0,.2,1) infinite !important }
  @keyframes z13part{
    0%,8%{opacity:.3;transform:scale(.6)} 16%{opacity:1;transform:scale(1.2)}
    26%{opacity:.85;transform:scale(.95)} 36%{opacity:1;transform:scale(1.12)}
    46%{opacity:.75;transform:scale(.92)} 56%{opacity:1;transform:scale(1.14)}
    66%{opacity:.8;transform:scale(.94)} 76%{opacity:1;transform:scale(1.1)}
    86%{opacity:.9;transform:scale(1.02)} 94%,100%{opacity:.3;transform:scale(.6)}
  }
  .z2o-logo-anim .z2o-particles circle:nth-child(1){ animation-delay:0.00s }
  .z2o-logo-anim .z2o-particles circle:nth-child(2){ animation-delay:0.08s }
  .z2o-logo-anim .z2o-particles circle:nth-child(3){ animation-delay:0.16s }
  .z2o-logo-anim .z2o-particles circle:nth-child(4){ animation-delay:0.24s }
  .z2o-logo-anim .z2o-particles circle:nth-child(5){ animation-delay:0.32s }
  .z2o-logo-anim .z2o-particles circle:nth-child(6){ animation-delay:0.40s }
  .z2o-logo-anim .z2o-particles circle:nth-child(7){ animation-delay:0.48s }
  .z2o-logo-anim .z2o-particles circle:nth-child(8){ animation-delay:0.56s }
  .z2o-logo-anim .z2o-particles circle:nth-child(9){ animation-delay:0.64s }
  .z2o-logo-anim .z2o-particles circle:nth-child(10){ animation-delay:0.72s }
  .z2o-logo-anim .z2o-particles circle:nth-child(11){ animation-delay:0.80s }
  .z2o-logo-anim .z2o-particles circle:nth-child(12){ animation-delay:0.88s }
  .z2o-logo-anim .z2o-particles circle:nth-child(13){ animation-delay:0.96s }
  .z2o-logo-anim .z2o-particles circle:nth-child(14){ animation-delay:1.04s }

  .z13digit{ transform-box:fill-box; transform-origin:center; will-change:transform; animation:z13rot 10s linear infinite }
  @keyframes z13rot{ 0%,10%{transform:scale(1)} 24%{transform:scale(1.03)} 84%{transform:scale(1.03)} 96%,100%{transform:scale(1)} }
  .z13d0b{ stroke:#7dd3fc; stroke-width:13; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:.55 }
  .z13d0{ fill:none; stroke:#475569; stroke-width:7.5; stroke-linecap:round; stroke-linejoin:round;
           transform-box:fill-box; transform-origin:center; will-change:transform,opacity;
           animation:z13zero 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13zero{
    0%,10%   { opacity:1;  transform:scaleX(1)   }
    15%      { opacity:.9; transform:scaleX(.66) }
    20%      { opacity:.6; transform:scaleX(.30) }
    24%,86%  { opacity:0;  transform:scaleX(.12) }
    92%      { opacity:.6; transform:scaleX(.30) }
    97%,100% { opacity:1;  transform:scaleX(1)   }
  }
  .z13d1{ fill:none; stroke:#0a0a0a; stroke-width:7.5; stroke-linecap:round; stroke-linejoin:round;
           stroke-dasharray:76.5; opacity:0; will-change:opacity;
           animation:z13one 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13one{
    0%,16%   { opacity:.85; stroke-dashoffset:76.5 }
    24%      { opacity:1;   stroke-dashoffset:0    }
    86%      { opacity:1;   stroke-dashoffset:0    }
    92%      { opacity:.7;  stroke-dashoffset:76.5 }
    100%     { opacity:0;   stroke-dashoffset:76.5 }
  }
  .z13ring{ fill:none; stroke:url(#blg); stroke-width:2.2; transform-box:fill-box; transform-origin:center;
             opacity:0; will-change:transform,opacity; animation:z13ring 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13ring{ 0%,16%{opacity:0;transform:scale(.45)} 24%{opacity:.9;transform:scale(.85)} 34%{opacity:0;transform:scale(1.26)} 100%{opacity:0;transform:scale(1.26)} }
  .z13glow{ opacity:.2; transform-box:fill-box; transform-origin:center; will-change:transform,opacity;
             animation:z13glow 10s cubic-bezier(.3,.7,.3,1) infinite }
  @keyframes z13glow{ 0%,12%{opacity:.2;transform:scale(.9)} 26%,84%{opacity:.62;transform:scale(1.1)} 96%,100%{opacity:.2;transform:scale(.9)} }
  .z2o-logo-anim .z2o-particles{ transform-box:fill-box; transform-origin:center; animation:z13spin 22s linear infinite !important }
  @keyframes z13spin{ 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
  .z2o-logo-anim .z2o-particles circle{ transform-box:fill-box; transform-origin:center;
    animation:z13part 10s cubic-bezier(.4,0,.2,1) infinite !important }
  @keyframes z13part{
    0%,8%{opacity:.3;transform:scale(.6)} 16%{opacity:1;transform:scale(1.2)}
    26%{opacity:.85;transform:scale(.95)} 36%{opacity:1;transform:scale(1.12)}
    46%{opacity:.75;transform:scale(.92)} 56%{opacity:1;transform:scale(1.14)}
    66%{opacity:.8;transform:scale(.94)} 76%{opacity:1;transform:scale(1.1)}
    86%{opacity:.9;transform:scale(1.02)} 94%,100%{opacity:.3;transform:scale(.6)}
  }
  .z2o-logo-anim .z2o-particles circle:nth-child(1){ animation-delay:0.00s }
  .z2o-logo-anim .z2o-particles circle:nth-child(2){ animation-delay:0.08s }
  .z2o-logo-anim .z2o-particles circle:nth-child(3){ animation-delay:0.16s }
  .z2o-logo-anim .z2o-particles circle:nth-child(4){ animation-delay:0.24s }
  .z2o-logo-anim .z2o-particles circle:nth-child(5){ animation-delay:0.32s }
