.ivd {
  --ivd-bg:#101b2b; --ivd-panel:#182639; --ivd-raised:#203249; --ivd-text:#e9f0f8;
  --ivd-muted:#9dacc1; --ivd-line:#324357; --ivd-accent:#65dcc3; --ivd-soft:#193e41;
  --ivd-danger:#ffaaa0; --ivd-warning:#efc984;
  width:min(1480px,calc(100vw - 48px)); max-width:none; max-height:94vh; max-height:94dvh;
  margin:auto; padding:0; border:1px solid var(--ivd-line); border-radius:18px; color:var(--ivd-text);
  background:var(--ivd-bg); box-shadow:0 24px 90px #0006; font:14px/1.55 "Microsoft YaHei",system-ui,sans-serif;
  color-scheme:dark; z-index:1600;
}
body.light .ivd {
  --ivd-bg:#f4f7fb; --ivd-panel:#fff; --ivd-raised:#eaf0f7; --ivd-text:#24364c;
  --ivd-muted:#63758b; --ivd-line:#d9e2ed; --ivd-accent:#086f64; --ivd-soft:#e5f3ee;
  --ivd-danger:#bb393b; --ivd-warning:#986619; color-scheme:light;
}
.ivd::backdrop { background:#0713229e; backdrop-filter:blur(3px); }
.ivd[open] { display:flex; flex-direction:column; }
.ivd *, .ivd *::before, .ivd *::after { box-sizing:border-box; }
.ivd [hidden] { display:none !important; }
.ivd button, .ivd input, .ivd select { font:inherit; }
.ivd button { margin:0; padding:7px 13px; min-height:34px; border-radius:7px; border:1px solid var(--ivd-line); color:var(--ivd-text); background:var(--ivd-panel); cursor:pointer; white-space:nowrap; box-shadow:none; }
.ivd button:hover:not(:disabled) { border-color:var(--ivd-accent); background:var(--ivd-soft); }
.ivd button:hover, .ivd button:active { transform:none; }
.ivd button:disabled { opacity:.48; cursor:not-allowed; }
.ivd button:focus-visible, .ivd input:focus-visible, .ivd select:focus-visible { outline:2px solid var(--ivd-accent); outline-offset:3px; }
.ivd input, .ivd select { min-height:36px; padding:7px 10px; color:var(--ivd-text); background:var(--ivd-bg); border:1px solid var(--ivd-line); border-radius:7px; max-width:100%; min-width:0; }
.ivd input::placeholder { color:var(--ivd-muted); }
.ivd .ivd-primary { color:var(--ivd-bg); background:var(--ivd-accent); border-color:var(--ivd-accent); font-weight:700; }
.ivd .ivd-primary:hover:not(:disabled) { color:var(--ivd-text); }
.ivd-head { padding:20px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--ivd-line); background:var(--ivd-panel); }
.ivd-eyebrow { font:11px/1.4 ui-monospace,monospace; letter-spacing:1.1px; color:var(--ivd-muted); }
.ivd-head h2 { margin:6px 0 0; font-size:23px; font-weight:700; color:var(--ivd-text); display:flex; align-items:center; gap:12px; }
.ivd-head h2 span { font-size:11px; padding:2px 9px; background:var(--ivd-soft); border:1px solid var(--ivd-line); color:var(--ivd-accent); border-radius:20px; }
.ivd .ivd-close { font-size:24px; width:40px; height:40px; padding:0; flex:0 0 40px; }
.ivd-scroll { overflow:auto; padding:22px 26px; min-height:0; overscroll-behavior:contain; }
.ivd-identity { display:flex; gap:22px; align-items:center; padding:20px 24px; border:1px solid var(--ivd-line); background:var(--ivd-panel); border-radius:12px; }
.ivd-identity > img { width:72px; height:92px; object-fit:contain; }
.ivd-identity-main { flex:1; min-width:0; }
.ivd-device-line { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.ivd-device-line > strong { font-size:21px; }
.ivd-tag { font-size:11px; padding:3px 8px; border:1px solid var(--ivd-line); border-radius:5px; color:var(--ivd-muted); }
.ivd-identity label { display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:var(--ivd-muted); font-size:12px; }
.ivd-identity label select { font-family:ui-monospace,monospace; min-width:250px; }
.ivd-meta { display:flex; gap:8px 24px; flex-wrap:wrap; color:var(--ivd-muted); font-size:12px; margin-top:12px; }
.ivd-meta b { color:var(--ivd-text); font-family:ui-monospace,monospace; margin-left:7px; overflow-wrap:anywhere; }
.ivd-connection { border-left:1px solid var(--ivd-line); padding-left:22px; display:grid; gap:6px; color:var(--ivd-muted); font-size:12px; }
.ivd-connection b { color:var(--ivd-accent); font:600 12px/1.5 ui-monospace,monospace; }
.ivd-safety { font-size:12px; color:var(--ivd-muted); padding:12px 2px 6px; }
.ivd-notice { font-size:13px; color:var(--ivd-accent); min-height:30px; padding:5px 2px 11px; }
.ivd-notice[data-tone=error], .ivd .ivd-error { color:var(--ivd-danger); }
.ivd-notice[data-tone=warning], .ivd .ivd-stale { color:var(--ivd-warning); }
.ivd-tabs { display:flex; gap:4px; border-bottom:1px solid var(--ivd-line); margin:3px 0 18px; }
.ivd-tabs button { background:transparent; border:0; border-bottom:3px solid transparent; border-radius:0; padding:11px 22px; color:var(--ivd-muted); }
.ivd-tabs button[aria-selected=true] { color:var(--ivd-accent); border-bottom-color:var(--ivd-accent); font-weight:700; }
.ivd-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.ivd-metrics article { padding:16px; border:1px solid var(--ivd-line); border-radius:10px; background:var(--ivd-panel); }
.ivd-metrics article > span { color:var(--ivd-muted); font-size:12px; }
.ivd-metrics strong { display:block; font:600 25px/1.5 "Microsoft YaHei",system-ui,sans-serif; font-variant-numeric:tabular-nums; color:var(--ivd-text); margin:6px 0; overflow-wrap:anywhere; }
.ivd-metrics small { color:var(--ivd-muted); font-size:11px; display:block; }
.ivd-metrics strong small { display:inline; margin-left:5px; }
.ivd-workspace { display:grid; grid-template-columns:174px minmax(0,1fr); gap:18px; align-items:start; }
.ivd-workspace > aside { border:1px solid var(--ivd-line); border-radius:10px; background:var(--ivd-panel); padding:14px 9px; }
.ivd-side-title { color:var(--ivd-muted); font-size:11px; letter-spacing:1px; padding:0 8px 12px; }
.ivd-workspace > aside nav { display:grid; gap:5px; }
.ivd-workspace > aside button { width:100%; background:transparent; border-color:transparent; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:6px; font-size:12px; padding:9px 8px; }
.ivd-workspace > aside button[aria-pressed=true] { background:var(--ivd-soft); color:var(--ivd-accent); }
.ivd-workspace > aside button b { font:11px/1.6 ui-monospace,monospace; color:var(--ivd-muted); }
.ivd-side-note { padding:14px 8px 0; margin-top:12px; border-top:1px solid var(--ivd-line); color:var(--ivd-muted); font-size:11px; }
.ivd-workspace > main { min-width:0; }
.ivd-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:10px; padding:14px; background:var(--ivd-panel); border:1px solid var(--ivd-line); border-radius:10px 10px 0 0; }
.ivd-toolbar label { display:grid; gap:5px; font-size:11px; color:var(--ivd-muted); }
.ivd-search { flex:1; min-width:180px; }
.ivd-toolbar label > input, .ivd-toolbar label > select { font-size:13px; width:100%; }
.ivd-toolbar-actions { display:flex; gap:7px; flex-wrap:wrap; }
.ivd-toolbar-actions button { min-height:36px; font-size:12px; }
.ivd-read-summary { font-size:11px; padding:8px 14px; color:var(--ivd-muted); background:var(--ivd-raised); border-inline:1px solid var(--ivd-line); }
.ivd-table-wrap { overflow:auto; border:1px solid var(--ivd-line); background:var(--ivd-panel); }
.ivd-table { width:100%; border-collapse:collapse; min-width:760px; font-size:13px; table-layout:fixed; margin:0; color:var(--ivd-text); }
.ivd-table th { background:var(--ivd-raised); color:var(--ivd-muted); font-size:11px; font-weight:500; text-align:left; padding:11px 14px; border-bottom:1px solid var(--ivd-line); }
.ivd-table th:nth-child(1) { width:25%; } .ivd-table th:nth-child(2) { width:18%; } .ivd-table th:nth-child(3) { width:18%; } .ivd-table th:nth-child(4) { width:23%; } .ivd-table th:nth-child(5) { width:16%; }
.ivd-table td { padding:13px 14px; border-bottom:1px solid var(--ivd-line); vertical-align:top; overflow-wrap:anywhere; background:transparent; }
.ivd-table small { display:block; color:var(--ivd-muted); font-size:11px; margin-top:4px; }
.ivd-table .ivd-value { font:600 17px/1.5 ui-monospace,monospace; }
.ivd-table .ivd-value > small:first-of-type { display:inline; font-weight:400; }
.ivd-table td:last-child button { font-size:11px; padding:4px 7px; min-height:29px; margin:0 4px 5px 0; }
.ivd-mono, .ivd code { font-family:ui-monospace,monospace; }
.ivd .ivd-state { font-size:11px; display:inline-block; padding:2px 7px; background:var(--ivd-raised); border-radius:4px; }
.ivd [data-state=success] { color:var(--ivd-accent); } .ivd [data-state=failed] { color:var(--ivd-danger); } .ivd [data-state=reading] { color:var(--ivd-warning); }
.ivd-protocol { background:var(--ivd-bg); }
.ivd-protocol dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 22px; margin:0; font-size:12px; }
.ivd-protocol dt { color:var(--ivd-muted); font-size:11px; } .ivd-protocol dd { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.ivd-table .ivd-empty { padding:48px 18px; text-align:center; font-size:13px; color:var(--ivd-muted); }
.ivd-pager { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 0; color:var(--ivd-muted); font-size:12px; }
.ivd-pager > div { display:flex; align-items:center; gap:12px; } .ivd-pager button { font-size:11px; padding:5px 10px; }
.ivd-log { border:1px solid var(--ivd-line); border-radius:8px; margin-top:12px; padding:12px; background:var(--ivd-panel); }
.ivd-log summary { cursor:pointer; color:var(--ivd-muted); font-size:12px; } .ivd-log summary span { margin-left:8px; }
.ivd-log ol { margin:12px 0 0; padding:0; max-height:220px; overflow:auto; list-style:none; }
.ivd-log li { display:grid; grid-template-columns:155px 1fr 1.5fr; gap:12px; padding:8px 0; border-top:1px solid var(--ivd-line); font-size:11px; overflow-wrap:anywhere; }
.ivd-log time { color:var(--ivd-muted); }
.ivd-events { border:1px solid var(--ivd-line); border-radius:10px; padding:16px; margin:14px 0; background:var(--ivd-panel); }
.ivd-events header { display:flex; justify-content:space-between; align-items:center; gap:12px; } .ivd-events p { color:var(--ivd-muted); font-size:12px; }
.ivd-events article { display:grid; grid-template-columns:1fr auto; gap:7px; border-top:1px solid var(--ivd-line); padding:11px 0; }
.ivd-events small { color:var(--ivd-muted); font-size:11px; }
.ivd-events code { color:var(--ivd-muted); }
.ivd-entry { font-size:12px; white-space:nowrap; }
body.light .ivd button { color:var(--ivd-text); background:var(--ivd-panel); border-color:var(--ivd-line); }
body.light .ivd button:hover:not(:disabled) { color:var(--ivd-accent); background:var(--ivd-soft); border-color:var(--ivd-accent); }
body.light .ivd .ivd-primary { color:#fff; background:var(--ivd-accent); border-color:var(--ivd-accent); }
body.light .ivd .ivd-tabs button { background:transparent; color:var(--ivd-muted); border-color:transparent; }
body.light .ivd .ivd-tabs button[aria-selected=true] { color:var(--ivd-accent); border-bottom-color:var(--ivd-accent); }
body.light .ivd .ivd-workspace > aside button { background:transparent; color:var(--ivd-text); border-color:transparent; }
body.light .ivd .ivd-workspace > aside button[aria-pressed=true] { background:var(--ivd-soft); color:var(--ivd-accent); }
@media (max-width:1100px) {
  .ivd-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ivd-connection { display:none; }
  .ivd-workspace { grid-template-columns:155px minmax(0,1fr); gap:12px; }
}
@media (max-width:700px) {
  .ivd { width:calc(100vw - 16px); max-height:96dvh; border-radius:12px; }
  .ivd-head { padding:14px; } .ivd-head h2 { font-size:18px; } .ivd-eyebrow { font-size:9px; }
  .ivd-scroll { padding:12px; } .ivd-identity { padding:12px; gap:12px; }
  .ivd-identity > img { width:46px; height:68px; } .ivd-device-line > strong { font-size:16px; }
  .ivd-identity label select { min-width:0; width:100%; font-size:11px; }
  .ivd-meta { font-size:11px; gap:6px; flex-direction:column; }
  .ivd-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
  .ivd-tabs button { padding:12px 0; font-size:12px; }
  .ivd-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .ivd-metrics article { padding:12px; }
  .ivd-workspace { grid-template-columns:1fr; }
  .ivd-workspace > aside { padding:9px; } .ivd-workspace > aside nav { display:flex; flex-wrap:wrap; gap:5px; } .ivd-workspace > aside button { width:auto; }
  .ivd-side-note, .ivd-side-title { display:none; }
  .ivd-toolbar { padding:10px; } .ivd-toolbar-actions { width:100%; } .ivd-pager { flex-wrap:wrap; }
  .ivd-log li { grid-template-columns:1fr; gap:3px; }
  .ivd-events article { grid-template-columns:1fr; }
}
