  /* ---------- 用量看板 ---------- */
  .usage{font:12px/1.55 var(--mono);color:var(--text);transition:opacity .2s}
  .usage.refreshing{opacity:.5}
  .ubal{display:flex;align-items:baseline;gap:8px;padding:2px 0 9px;
        border-bottom:1px solid var(--line);margin-bottom:9px}
  .ubal b{font-size:21px;font-weight:600;color:var(--text);letter-spacing:-.4px}
  .ubal .uunit{font-size:10.5px;color:var(--dim)}
  .ubal .umini{margin-left:auto;text-align:right;font-size:10px;color:var(--dim);line-height:1.55}
  .usec{font-size:10px;color:var(--dim);letter-spacing:.8px;text-transform:uppercase;margin:11px 0 6px}
  .usp{margin-bottom:9px}
  .usp .urow{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;margin-bottom:3px}
  .usp .uid{color:var(--dim);font-size:9.5px}
  .ubar{height:6px;border-radius:3px;background:var(--panel2);overflow:hidden}
  .ubar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));
          transition:width .3s}
  .ubar.low i{background:linear-gradient(90deg,var(--warn),var(--warn))}
  .ubar.done i{background:var(--dim2)}
  .usp .spc{width:66px;font:10px var(--mono);padding:1px 4px;background:var(--panel2);
            border:1px solid var(--line);border-radius:var(--radius-tag);color:var(--text)}
  .usp .spset{color:var(--accent);font-size:10px;cursor:pointer}
  .usp .uspv{color:var(--text);font:11px var(--mono);font-weight:600}
  .usp.gone{opacity:.5}
  .uspdead{margin:2px 0 0}
  .uspdead a{color:var(--dim);font-size:10px;cursor:pointer;text-decoration:none}
  .uspdead a:hover{color:var(--accent);text-decoration:underline}
  .uchart{display:flex;align-items:flex-end;gap:4px;height:54px;margin:6px 0 5px}
  .uchart .ub{flex:1;display:flex;flex-direction:column;justify-content:flex-end;
              align-items:center;gap:3px;height:100%}
  .uchart .ub i{width:100%;background:var(--accent-line);border-radius:2px 2px 0 0;min-height:2px;transition:.2s}
  .uchart .ub:hover i{background:var(--accent)}
  .uchart .ub span{font-size:8.5px;color:var(--dim);white-space:nowrap}
  .uempty{color:var(--dim);font-size:11.5px;padding:3px 0;line-height:1.6}
  .ukey{display:flex;flex-direction:column;gap:6px}
  .ukey input{font:11px var(--mono);padding:5px 7px;background:var(--panel2);
              border:1px solid var(--line);border-radius:var(--radius-tag);color:var(--text)}
  .ukey input:focus{outline:none;border-color:var(--accent)}
  .uwarn{color:var(--warn);font-size:10px;line-height:1.55}
  .uact{display:flex;gap:6px;align-items:center}
  .uact .mini{font-size:10.5px;padding:5px 8px}
  .uhelp{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-tag);padding:8px 9px;
    font-size:10.5px;line-height:1.75;color:var(--dim)}
  .uhelp b{display:inline-block;width:13px;height:13px;line-height:13px;text-align:center;
    border-radius:50%;background:var(--accent);color:#fff;font-size:9px;font-weight:600;
    margin-right:5px;vertical-align:1px}
  .uhelp .ustep{margin:0 0 4px;padding-left:18px;text-indent:-18px}
  .uhelp .ustep:last-child{margin-bottom:0}
  .uhelp code{font:10px var(--mono);background:var(--panel2);border:1px solid var(--line2);
    border-radius:3px;padding:0 3px;color:var(--accent)}
  .uhelp a{color:var(--accent);text-decoration:none}
  .uhelp a:hover{text-decoration:underline}
  .uprobes{display:flex;flex-direction:column;gap:3px;background:var(--panel2);
    border:1px solid var(--line);border-radius:var(--radius-tag);padding:7px 8px}
  .up{display:flex;gap:6px;font-size:10.5px;line-height:1.5;align-items:baseline}
  .upi{flex:0 0 11px;font-weight:700}
  .up.ok .upi{color:var(--ok)}
  .up.bad .upi{color:var(--err)}
  .upn{flex:0 0 104px;color:var(--text2)}
  .upv{flex:1;min-width:0;color:var(--dim);overflow-wrap:anywhere}
  .up.bad .upv{color:var(--err)}
  .uphint{font-size:10px;color:var(--warn);line-height:1.5;padding-left:17px}
  .uphint code{font:10px var(--mono);background:var(--panel2);border:1px solid var(--line2);
    border-radius:3px;padding:0 3px;color:var(--warn)}
  /* 数据新鲜度 */
  .ufresh{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;margin-top:9px;padding-top:7px;
    border-top:1px dashed var(--line);font-size:9.5px;color:var(--dim);line-height:1.6}
  .ufresh .fd{width:5px;height:5px;border-radius:50%;background:var(--ok);flex:0 0 auto}
  .ufresh .fd.live{background:var(--ok);animation:upulse 2.2s ease-in-out infinite}
  .ufresh .fd.slow{background:var(--warn)}
  @keyframes upulse{0%,100%{opacity:1}50%{opacity:.28}}
  .ufresh b{font-weight:500;color:var(--dim)}
  .uptoday{color:var(--accent)}
  .mini.on{background:var(--accent);border-color:var(--accent);color:#fff}
  /* 提示条：默认就抬高到「日志」按钮上面，别和它压在一起；
     日志面板展开时再往上让一层（body.logopen 由日志开关维护） */
  .toast{position:fixed;right:18px;bottom:78px;background:var(--pop);border:1px solid var(--line2);
         border-radius:var(--radius-control);padding:10px 14px;font-size:13px;opacity:0;transform:translateY(8px);
         transition:.2s;pointer-events:none;max-width:380px;z-index:75;
         box-shadow:0 12px 32px rgba(16,24,40,.16)}
  body.logopen .toast{bottom:346px}
  .toast.show{opacity:1;transform:none}
  /* 回填高亮：独立浮层画一圈圆角描边（直接给元素加 box-shadow 时，
     .ctools 这种没圆角的容器会被画成直角，看着像上个世纪的选中框） */
  .flashring{position:fixed;z-index:70;pointer-events:none;border-radius:var(--radius-control);
      border:2px solid var(--accent);
      box-shadow:0 0 0 4px var(--accent-bg),0 0 24px rgba(59,130,246,.30);
      animation:flashfade .95s ease-out forwards}
  @keyframes flashfade{0%{opacity:0}12%{opacity:1}70%{opacity:.9}100%{opacity:0}}
  .toast.bad{border-color:var(--err-line);background:var(--err-bg);color:var(--err)}
  #modal{position:fixed;inset:0;background:#000000e0;display:none;align-items:center;
         justify-content:center;z-index:50;padding:40px}
  #modal.show{display:flex}
  #modal video{max-width:92vw;max-height:86vh;border-radius:var(--radius-control);background:#000;
               box-shadow:0 20px 60px #000a}
  #modal .close{position:absolute;top:16px;right:20px;font-size:22px;color:var(--text);
                cursor:pointer;background:none;border:none;line-height:1}
