/* BevTools companion: the same dense, keyboard-first look as the in-app panel, for a window of its own. */
:root {
    --bc-bg: #ffffff;
    --bc-bg2: #f3f4f6;
    --bc-bg3: #e8eaee;
    --bc-fg: #1f2328;
    --bc-fg2: #59636e;
    --bc-border: #d0d7de;
    --bc-accent: #0969da;
    --bc-accent-bg: #ddf4ff;
    --bc-warn: #9a6700;
    --bc-warn-bg: #fff8c5;
    --bc-err: #cf222e;
    --bc-err-bg: #ffebe9;
    --bc-ok: #1a7f37;
    --bc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    --bc-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color-scheme: light;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bc-bg: #0d1117;
        --bc-bg2: #161b22;
        --bc-bg3: #21262d;
        --bc-fg: #e6edf3;
        --bc-fg2: #8b949e;
        --bc-border: #30363d;
        --bc-accent: #58a6ff;
        --bc-accent-bg: #0c2d6b;
        --bc-warn: #d29922;
        --bc-warn-bg: #3b2e00;
        --bc-err: #f85149;
        --bc-err-bg: #4a1414;
        --bc-ok: #3fb950;
        color-scheme: dark;
    }
}

* { box-sizing: border-box; }

html, body { height: 100%; margin: 0; }

.bc-root {
    display: flex;
    flex-direction: column;
    background: var(--bc-bg);
    color: var(--bc-fg);
    font: 12px/1.4 var(--bc-sans);
}

button, input { font: inherit; color: inherit; }

button {
    background: var(--bc-bg2);
    border: 1px solid var(--bc-border);
    border-radius: 4px;
    padding: 2px 8px;
    cursor: pointer;
}

button:hover { background: var(--bc-bg3); }

button:focus-visible, input:focus-visible, .bc-tree-row:focus-visible { outline: 2px solid var(--bc-accent); outline-offset: -2px; }

input[type="search"] {
    background: var(--bc-bg);
    border: 1px solid var(--bc-border);
    border-radius: 4px;
    padding: 3px 6px;
    min-width: 280px;
}

.bc-header { border-bottom: 1px solid var(--bc-border); background: var(--bc-bg2); }

.bc-bar { display: flex; align-items: center; gap: 4px; padding: 4px 8px; flex-wrap: wrap; }

.bc-title { margin-right: 8px; }

.bc-spacer { flex: 1 1 auto; }

.bc-runtimes { display: flex; gap: 2px; }

.bc-runtime.bc-active, .bc-tab.bc-active { background: var(--bc-bg); border-color: var(--bc-accent); font-weight: 600; }

.bc-tabs { display: flex; gap: 2px; padding: 0 8px 4px; flex-wrap: wrap; }

.bc-tab { border-color: transparent; background: transparent; }

.bc-count { margin-left: 4px; font-size: 10px; padding: 0 5px; border-radius: 999px; background: var(--bc-err-bg); color: var(--bc-err); }

.bc-toolbar { display: flex; align-items: center; gap: 8px; padding: 4px 8px; border-bottom: 1px solid var(--bc-border); }

.bc-toolbar[hidden] { display: none; }

.bc-content { flex: 1 1 auto; min-height: 0; display: flex; }

.bc-content > * { flex: 1 1 auto; min-width: 0; }

.bc-status { border-top: 1px solid var(--bc-border); background: var(--bc-bg2); padding: 2px 8px; color: var(--bc-fg2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.bc-scroll { overflow: auto; min-height: 0; padding: 4px 8px; }

.bc-split { display: flex; min-height: 0; }

.bc-split > .bc-left { flex: 0 0 52%; border-right: 1px solid var(--bc-border); }

.bc-split > .bc-right { flex: 1 1 auto; }

.bc-empty { padding: 24px; color: var(--bc-fg2); }

.bc-muted { color: var(--bc-fg2); }

.bc-mono { font-family: var(--bc-mono); }

.bc-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.bc-truncate { max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bc-err { color: var(--bc-err); }

.bc-warn { color: var(--bc-warn); }

.bc-live { color: var(--bc-ok); }

table { border-collapse: collapse; width: 100%; }

th, td { text-align: left; padding: 2px 6px; border-bottom: 1px solid var(--bc-bg3); vertical-align: top; }

th { position: sticky; top: 0; background: var(--bc-bg); font-weight: 600; }

tbody tr:hover { background: var(--bc-bg2); cursor: default; }

tr.bc-selected, .bc-tree-row.bc-selected { background: var(--bc-accent-bg) !important; }

tr.bc-sev-error td, .bc-sev-error { color: var(--bc-err); }

tr.bc-sev-warning td:first-child { box-shadow: inset 3px 0 var(--bc-warn); }

.bc-sortable { cursor: pointer; }

.bc-sortable.bc-active { text-decoration: underline; }

.bc-chip { display: inline-block; padding: 0 5px; margin: 0 2px; border-radius: 999px; background: var(--bc-bg3); font-size: 11px; white-space: nowrap; }

.bc-chip.bc-info { background: var(--bc-accent-bg); color: var(--bc-accent); }

.bc-chip.bc-warn { background: var(--bc-warn-bg); color: var(--bc-warn); }

.bc-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin: 4px 0 8px; }

.bc-stat { border: 1px solid var(--bc-border); border-radius: 6px; padding: 6px 8px; }

.bc-stat-value { font-size: 18px; font-weight: 600; }

.bc-stat-label { color: var(--bc-fg2); }

.bc-section { border: 1px solid var(--bc-border); border-radius: 6px; margin: 6px 0; }

.bc-section > summary { padding: 4px 8px; background: var(--bc-bg2); cursor: pointer; font-weight: 600; border-radius: 6px 6px 0 0; }

.bc-section-body { padding: 4px 8px; }

.bc-kv { display: grid; grid-template-columns: max-content 1fr; gap: 1px 12px; margin: 2px 0; }

.bc-kv dt { color: var(--bc-fg2); }

.bc-kv dd { margin: 0; overflow-wrap: anywhere; }

.bc-tree-row { display: flex; gap: 6px; align-items: center; padding: 1px 6px; white-space: nowrap; cursor: default; }

.bc-tree-row:hover { background: var(--bc-bg2); }

.bc-meta { margin-left: auto; color: var(--bc-fg2); font-variant-numeric: tabular-nums; }

.bc-inspector-head { display: flex; gap: 6px; align-items: center; margin: 4px 0; }

.bc-vt-row { font-family: var(--bc-mono); white-space: nowrap; }

.bc-caret { display: inline-block; width: 14px; cursor: pointer; color: var(--bc-fg2); }

.bc-vt-name { color: var(--bc-fg2); }

.bc-k-string { color: var(--bc-ok); }

.bc-k-redacted { color: var(--bc-warn); font-style: italic; }

.bc-k-null, .bc-k-special { color: var(--bc-fg2); }

.bc-kind { font-size: 10px; padding: 0 4px; border-radius: 3px; background: var(--bc-bg3); }

.bc-link { color: var(--bc-accent); cursor: pointer; }

a { color: var(--bc-accent); }

.bc-pre { font-family: var(--bc-mono); white-space: pre-wrap; background: var(--bc-bg2); padding: 6px; border-radius: 4px; }

.bc-finding { border: 1px solid var(--bc-border); border-left-width: 3px; border-radius: 4px; padding: 6px 8px; margin: 6px 0; }

.bc-finding.bc-sev-warning { border-left-color: var(--bc-warn); }

.bc-finding.bc-sev-error { border-left-color: var(--bc-err); }

.bc-finding-title { font-weight: 600; margin-bottom: 2px; }

.bc-suggestion { color: var(--bc-fg2); margin: 2px 0 4px; }

.bc-change { border-bottom: 1px solid var(--bc-bg3); padding: 3px 0; }

.bc-change ul { margin: 2px 0 2px 16px; padding: 0; }

.bc-socket { border-top: 1px solid var(--bc-bg3); padding: 4px 0; }

.bc-cap-available { color: var(--bc-ok); }

.bc-cap-notavailable, .bc-cap-notreliable { color: var(--bc-err); }
