/* ===========================================================================
   view-jetbrains.css · Project + editor (files) · Git Log + side-by-side diff
   with gutter change-markers and center connector ribbons.
   =========================================================================== */
.view-jetbrains { display: flex; width: 100%; }
.view-jetbrains .wb { width: 100%; }

.jb-toolwin { display: flex; flex-direction: column; background: var(--bg-elev); border-right: 1px solid var(--border); min-width: 0; }
.jb-project { width: 252px; flex: none; overflow: auto; }
.jb-changes { width: 290px; flex: none; overflow: auto; }
.jb-toolwin-t { display: flex; align-items: center; gap: 6px; padding: 6px 12px; font-size: 0.72rem; color: var(--fg-muted); border-bottom: 1px solid var(--border); text-transform: uppercase; letter-spacing: 0.05em; }
.jb-toolwin-t .ic { width: 14px; height: 14px; }
.jb-toolwin-b { overflow: auto; flex: 1; }

.jb-editor { flex: 1; min-width: 0; display: flex; flex-direction: column; background: var(--bg); overflow: hidden; }
.jb-editor .code { padding: 8px 0; flex: 1; min-height: 0; overflow: auto; }
.jb-editor .split { flex: 1; min-height: 0; overflow: auto; }
.jb-preview { flex: 1; min-height: 0; padding: 24px 32px; overflow: auto; }
.jb-preview .rel, .jb-preview .md { max-width: 880px; }
.jb-listpane { padding: 20px 28px; }

.jb-difftoolbar { display: flex; align-items: center; gap: 16px; padding: 5px 14px; background: var(--bg-elev); border-bottom: 1px solid var(--border); font-size: 0.76rem; color: var(--fg-muted); }
.jb-dt-nav { display: flex; align-items: center; gap: 2px; color: var(--fg-muted); }
.jb-dt-name { display: flex; align-items: center; gap: 6px; color: var(--fg); }
.jb-dt-name .ic { width: 14px; height: 14px; }
.jb-dt-mode { margin-left: auto; color: var(--fg-faint); }

.jb-changes-commits { border-bottom: 1px solid var(--border); padding: 4px 0; }
.jb-cc { display: flex; align-items: center; gap: 8px; padding: 4px 12px; font-family: var(--font-mono); font-size: 0.78rem; }
.jb-cc.is-sel { background: var(--accent-soft); }
.jb-cc .hash { background: none; padding: 0; }
.jb-node { width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--statusbar-accent); flex: none; }
.jb-cc-subj { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--fg-muted); }

/* jetbrains side-by-side: gutter change bars + center connector ribbons */
.view-jetbrains .split-row { grid-template-columns: 46px minmax(0, 1fr) 18px 46px minmax(0, 1fr); }
.view-jetbrains .split-mid { width: 18px; align-self: stretch; }
.view-jetbrains .split-mid--mod { background: var(--diff-hunk-bg); }
.view-jetbrains .split-mid--del { background: linear-gradient(to right, var(--diff-del-bg), transparent); }
.view-jetbrains .split-mid--add { background: linear-gradient(to left, var(--diff-add-bg), transparent); }
.view-jetbrains .split-ln--add { box-shadow: inset 3px 0 0 var(--diff-add-marker); }
.view-jetbrains .split-ln--del { box-shadow: inset 3px 0 0 var(--diff-del-marker); }

/* Git Log table */
.jb-logwin { height: 100%; border-right: 0; }
.jb-log { font-size: 0.8rem; }
.jb-log-head, .jb-log-row { display: grid; grid-template-columns: 88px minmax(0, 1fr) 130px 96px; gap: 10px; padding: 4px 14px; align-items: center; }
.jb-log-head { color: var(--fg-muted); border-bottom: 1px solid var(--border); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; }
.jb-log-row { color: var(--fg); }
.jb-log-row:hover { background: var(--bg-hover); text-decoration: none; }
.jb-log-row.is-sel { background: var(--accent-soft); }
.jb-log-graph { display: flex; align-items: center; position: relative; height: 100%; padding-left: 4px; }
.jb-log-graph .jb-edge { position: absolute; left: 7px; top: 50%; bottom: -50%; width: 2px; background: var(--statusbar-accent); opacity: 0.5; }
.jb-log-subj { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jb-log-auth, .jb-log-date { color: var(--fg-muted); font-size: 0.74rem; }
