#topbar .brand .dot{color:var(--accent)}
#topbar .controls{flex-shrink:1;min-width:0;flex-wrap:wrap;justify-content:flex-end}

/* filter bar inside a panel */
.hbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:4px 0 12px}
.hbar input[type=search]{border:1px solid var(--line2);background:var(--surface2);color:var(--ink);border-radius:7px;
  padding:6px 11px;font:13px "IBM Plex Sans",system-ui,sans-serif;min-width:260px;flex:1}
.hbar .note{margin-left:auto;color:var(--faint);font-size:12px}
.treewrap{min-height:120px}

/* function / string list rows */
.node{border-radius:7px}
.node>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:4px 6px;border-radius:7px;white-space:nowrap;overflow:hidden}
.node>summary::-webkit-details-marker{display:none}
.node>summary:hover{background:var(--surface2)}
.node>summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tw{display:inline-block;width:0;height:0;flex:none;border-left:5px solid var(--faint);
  border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s;margin:0 1px}
.node[open]>summary>.tw{transform:rotate(90deg)}
.kids{margin:2px 0 6px 20px}
.fidx{flex:none;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:11px;font-weight:700;color:var(--accent-ink);
  background:var(--accent-bg);border-radius:4px;padding:1px 6px;min-width:20px;text-align:center}
.fname{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.fname.anon{font-weight:500;color:var(--muted);font-style:italic}
.fsig{color:var(--muted);font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:12px;flex:none}
.fmeta{margin-left:auto;color:var(--faint);font-size:11px;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;flex:none}

.sidx{flex:none;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:11px;color:var(--faint);min-width:52px}
.skind{flex:none;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.sval{overflow:hidden;text-overflow:ellipsis;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:12.5px;color:#2f7d4f}
:root[data-theme="dark"] .sval{color:#7fca89}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sval{color:#7fca89}}

/* per-function header chips */
.minfo{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px 2px;align-items:center}
.minfo .chip{font-size:11px;color:var(--muted);background:var(--chip);border-radius:6px;padding:1px 8px;
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace}
.minfo .chip.flag{color:var(--warn)}

/* disassembly block (one element, white-space:pre) */
.diswrap{margin:2px 0 8px;border:1px solid var(--line);border-radius:8px;background:var(--code-bg);overflow-x:auto}
.distool{display:flex;align-items:center;gap:8px;padding:5px 8px;border-bottom:1px solid var(--line);background:var(--surface2);position:sticky;left:0}
.disasm{font-family:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12px;line-height:1.55;
  padding:8px 11px;min-width:max-content;white-space:pre}
.disasm .off{color:var(--faint)}
.disasm .mn{color:var(--accent-ink);font-weight:600}
.disasm .rg{color:var(--ink)}
.disasm .lt{color:#9a5b00} :root[data-theme="dark"] .disasm .lt{color:#e8a33d}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .disasm .lt{color:#e8a33d}}
.disasm .str{color:#2f7d4f} :root[data-theme="dark"] .disasm .str{color:#7fca89}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .disasm .str{color:#7fca89}}
.disasm .ref{color:#2f6f92} :root[data-theme="dark"] .disasm .ref{color:#7fc7e6}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .disasm .ref{color:#7fc7e6}}
.disasm .tgt{color:var(--crash-ink);font-weight:600}
.disasm .lbl{color:var(--crash-ink);font-weight:600}
.disasm .cmt{color:var(--faint);font-style:italic}
.disasm .bad{color:var(--crash);font-weight:600}

.mnone{color:var(--muted);font-style:italic;padding:4px 6px}
#welcome{display:flex;align-items:center;justify-content:center;color:var(--muted);padding:40px;text-align:center}
