@young1lin/dsh-ui-gitworkbench 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -845,6 +845,43 @@ window.__ModuleLoader__.load({
845
845
  return Math.min(Math.max(next, min), max);
846
846
  }
847
847
  //#endregion
848
+ //#region src/client/history-layout.ts
849
+ /** Every layout, in the order the switch offers them. */
850
+ const HISTORY_LAYOUTS = ["columns", "stacked"];
851
+ /** The arrangement the tab had first, and what a reader who never touches the
852
+ * switch gets. */
853
+ const DEFAULT_HISTORY_LAYOUT = "columns";
854
+ /**
855
+ * Narrow a stored value to a layout this build has.
856
+ *
857
+ * Storage is a durable boundary: the value on disk was written by whatever
858
+ * build the reader ran last, and a layout this one has since dropped must fall
859
+ * back rather than reach the stylesheet.
860
+ * @param value - value read back from storage.
861
+ * @returns whether it names a layout.
862
+ */
863
+ function isHistoryLayout(value) {
864
+ return HISTORY_LAYOUTS.some((known) => known === value);
865
+ }
866
+ /**
867
+ * How tall one commit row is, per layout.
868
+ *
869
+ * The two differ because the row itself differs: a column has no width to
870
+ * spend, so the hash, the author and the date take a line of their own above
871
+ * the subject; spanning the drawer they all fit on one line and a 48px row
872
+ * would spend the stacked layout's scarcest axis on padding.
873
+ *
874
+ * This is the ONE home for the number. The panel publishes the active entry as
875
+ * `--gs-commit-row` and the stylesheet sizes the row from it, while the lane
876
+ * graph draws each row's segment exactly that tall — the lanes only meet across
877
+ * the seam between rows if both come from here. Guarded by
878
+ * `tests/commit-row-height.test.ts`.
879
+ */
880
+ const COMMIT_ROW_H = {
881
+ columns: 48,
882
+ stacked: 28
883
+ };
884
+ //#endregion
848
885
  //#region src/client/use-change-nav.ts
849
886
  /**
850
887
  * Walking a scroller change by change — the wiring half of `diff-nav.ts`.
@@ -1102,7 +1139,7 @@ window.__ModuleLoader__.load({
1102
1139
  }
1103
1140
  //#endregion
1104
1141
  //#region \0dsh-css:src/client/GitWorkbenchPanel.module.css.mjs
1105
- const css = ".SD8qLW_card{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:3px 10px;font-size:12px;line-height:18px;transition:background .12s,border-color .12s;display:inline-flex}.SD8qLW_card:hover,.SD8qLW_card:focus-visible{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.SD8qLW_cardBranch{max-width:220px;color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-weight:550;display:inline-flex;overflow:hidden}.SD8qLW_cardBranchName{min-width:0;overflow:hidden}.SD8qLW_cardGlyph{opacity:.7;flex:none}.SD8qLW_cardDetached{background:var(--dsw-alias-state-warning-bg,#bb800926);color:var(--dsw-alias-state-warning-primary,#d29922);letter-spacing:.02em;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}.SD8qLW_cardWt{background:var(--dsw-alias-state-business-bg,#388bfd29);max-width:150px;color:var(--dsw-alias-state-business-primary,#58a6ff);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex;overflow:hidden}.SD8qLW_cardAhead,.SD8qLW_cardBehind{color:var(--dsw-alias-label-tertiary);font-size:11px}.SD8qLW_cardAhead{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardBehind{color:var(--dsw-alias-state-attention-primary,#d29922)}.SD8qLW_cardSep{background:var(--dsw-alias-border-l2);width:1px;height:14px}.SD8qLW_cardAdded{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardDeleted{color:var(--dsw-alias-state-error-primary)}.SD8qLW_cardFiles{color:var(--dsw-alias-label-tertiary)}.SD8qLW_overlay[data-gs-theme=github-dark]{--gs-bg:#0d1117;--gs-panel:#161b22;--gs-raise:#21262d;--gs-border:#30363d;--gs-border-soft:#21262d;--gs-fg:#e6edf3;--gs-fg-muted:#c9d1d9;--gs-fg-dim:#8b949e;--gs-fg-faint:#6e7681;--gs-fg-fainter:#484f58;--gs-accent:#58a6ff;--gs-accent-bg:#388bfd24;--gs-accent-border:#388bfd8c;--gs-add:#3fb950;--gs-del:#f85149;--gs-warn:#d29922;--gs-info:#79c0ff;--gs-add-bg:#2ea04329;--gs-del-bg:#f8514929;--gs-warn-bg:#bb800929;--gs-info-bg:#388bfd29;--gs-add-line:#12261e;--gs-del-line:#25181c;--gs-add-word:#1a4a29;--gs-del-word:#6b2b2b;--gs-add-num:#1c4428;--gs-del-num:#542426;--gs-hunk:#111d2e;--gs-hunk-num:#0c2d6b;--gs-neutral-bg:#6e76812e;--gs-backdrop:#01040999;--gs-shadow:#0104098c}.SD8qLW_overlay[data-gs-theme=github-light]{--gs-bg:#fff;--gs-panel:#f6f8fa;--gs-raise:#eaeef2;--gs-border:#d0d7de;--gs-border-soft:#eaeef2;--gs-fg:#1f2328;--gs-fg-muted:#32383f;--gs-fg-dim:#656d76;--gs-fg-faint:#8c959f;--gs-fg-fainter:#afb8c1;--gs-accent:#0969da;--gs-accent-bg:#0969da1a;--gs-accent-border:#0969da73;--gs-add:#1a7f37;--gs-del:#cf222e;--gs-warn:#9a6700;--gs-info:#0550ae;--gs-add-bg:#1a7f371f;--gs-del-bg:#cf222e1f;--gs-warn-bg:#9a67001f;--gs-info-bg:#0969da1f;--gs-add-line:#dafbe1;--gs-del-line:#ffebe9;--gs-add-word:#aceebb;--gs-del-word:#ffcecb;--gs-add-num:#aceebb;--gs-del-num:#ffcecb;--gs-hunk:#ddf4ff;--gs-hunk-num:#b6e3ff;--gs-neutral-bg:#6e76811f;--gs-backdrop:#1f232847;--gs-shadow:#1f232838}.SD8qLW_overlay[data-gs-theme=idea-dark]{--gs-bg:#1e1f22;--gs-panel:#2b2d30;--gs-raise:#393b40;--gs-border:#393b40;--gs-border-soft:#2b2d30;--gs-fg:#dfe1e5;--gs-fg-muted:#ced0d6;--gs-fg-dim:#9da0a8;--gs-fg-faint:#6f737a;--gs-fg-fainter:#4e5157;--gs-accent:#548af7;--gs-accent-bg:#548af729;--gs-accent-border:#548af78c;--gs-add:#5fad65;--gs-del:#e26e6e;--gs-warn:#f0a732;--gs-info:#3592c4;--gs-add-bg:#5fad6529;--gs-del-bg:#e26e6e29;--gs-warn-bg:#f0a73229;--gs-info-bg:#3592c429;--gs-add-line:#293c2e;--gs-del-line:#3d2b2b;--gs-add-word:#3d6640;--gs-del-word:#6b3838;--gs-hunk:#548af71a;--gs-neutral-bg:#9da0a82e;--gs-backdrop:#10111399;--gs-shadow:#00000080}.SD8qLW_overlay[data-gs-theme=idea-light]{--gs-bg:#fff;--gs-panel:#f7f8fa;--gs-raise:#ebecf0;--gs-border:#d3d5db;--gs-border-soft:#ebecf0;--gs-fg:#1e1f22;--gs-fg-muted:#3c3f44;--gs-fg-dim:#6c707e;--gs-fg-faint:#818594;--gs-fg-fainter:#a8adbd;--gs-accent:#3574f0;--gs-accent-bg:#3574f01a;--gs-accent-border:#3574f073;--gs-add:#398a4a;--gs-del:#cc4a4a;--gs-warn:#a8760b;--gs-info:#2b7fb8;--gs-add-bg:#398a4a1f;--gs-del-bg:#cc4a4a1f;--gs-warn-bg:#a8760b1f;--gs-info-bg:#2b7fb81f;--gs-add-line:#e6f5e9;--gs-del-line:#fbe9ea;--gs-add-word:#c2e5c9;--gs-del-word:#f5c9cc;--gs-hunk:#3574f012;--gs-neutral-bg:#6c707e1f;--gs-backdrop:#1e1f2242;--gs-shadow:#1e1f222e}.SD8qLW_overlay[data-gs-theme=vscode-dark]{--gs-bg:#1e1e1e;--gs-panel:#252526;--gs-raise:#2d2d30;--gs-border:#3e3e42;--gs-border-soft:#2d2d30;--gs-fg:#d4d4d4;--gs-fg-muted:#ccc;--gs-fg-dim:#9d9d9d;--gs-fg-faint:gray;--gs-fg-fainter:#5a5a5a;--gs-accent:#0098ff;--gs-accent-bg:#007acc3d;--gs-accent-border:#0098ff99;--gs-add:#89d185;--gs-del:#f14c4c;--gs-warn:#cca700;--gs-info:#75beff;--gs-add-bg:#89d1852e;--gs-del-bg:#f14c4c2e;--gs-warn-bg:#cca7002e;--gs-info-bg:#75beff2e;--gs-add-line:#9bb9552e;--gs-del-line:#ff000029;--gs-add-word:#9bb95566;--gs-del-word:#ff00005c;--gs-hunk:#007acc24;--gs-neutral-bg:#bebebe24;--gs-backdrop:#0000008c;--gs-shadow:#0009}.SD8qLW_overlay[data-gs-theme=vscode-light]{--gs-bg:#fff;--gs-panel:#f3f3f3;--gs-raise:#e8e8e8;--gs-border:#cecece;--gs-border-soft:#e8e8e8;--gs-fg:#1e1e1e;--gs-fg-muted:#333;--gs-fg-dim:#616161;--gs-fg-faint:#767676;--gs-fg-fainter:#a0a0a0;--gs-accent:#005fb8;--gs-accent-bg:#005fb81a;--gs-accent-border:#005fb873;--gs-add:#10793f;--gs-del:#b5200d;--gs-warn:#855b00;--gs-info:#005fb8;--gs-add-bg:#10793f1f;--gs-del-bg:#b5200d1f;--gs-warn-bg:#855b001f;--gs-info-bg:#005fb81f;--gs-add-line:#9bb95538;--gs-del-line:#ff000021;--gs-add-word:#9bb95573;--gs-del-word:#ff00004d;--gs-hunk:#005fb812;--gs-neutral-bg:#6161611f;--gs-backdrop:#00000040;--gs-shadow:#0000002e}.SD8qLW_overlay[data-gs-theme=cyberpunk-dark]{--gs-bg:#0b0417;--gs-panel:#14082a;--gs-raise:#1f0d3d;--gs-border:#3a1f6b;--gs-border-soft:#26124a;--gs-fg:#f0e6ff;--gs-fg-muted:#d5c2f5;--gs-fg-dim:#a98fd6;--gs-fg-faint:#7d64a8;--gs-fg-fainter:#56427a;--gs-accent:#00f0ff;--gs-on-accent:#0b0417;--gs-accent-bg:#00f0ff24;--gs-accent-border:#00f0ff80;--gs-add:#39ff88;--gs-del:#ff2e88;--gs-warn:#fc0;--gs-info:#00f0ff;--gs-add-bg:#39ff8824;--gs-del-bg:#ff2e8824;--gs-warn-bg:#ffcc0024;--gs-info-bg:#00f0ff24;--gs-add-line:#39ff881f;--gs-del-line:#ff2e881f;--gs-add-word:#39ff8857;--gs-del-word:#ff2e8857;--gs-hunk:#00f0ff1a;--gs-neutral-bg:#a98fd629;--gs-backdrop:#06020ead;--gs-shadow:#00f0ff24}.SD8qLW_overlay[data-gs-theme=cyberpunk-light]{--gs-bg:#fdfbff;--gs-panel:#f4eeff;--gs-raise:#e9dfff;--gs-border:#c9b3f0;--gs-border-soft:#e0d2f7;--gs-fg:#1a0b2e;--gs-fg-muted:#33195c;--gs-fg-dim:#6b4ba0;--gs-fg-faint:#8f74bd;--gs-fg-fainter:#b9a5d6;--gs-accent:#00a6b8;--gs-accent-bg:#00a6b81f;--gs-accent-border:#00a6b880;--gs-add:#00875a;--gs-del:#d6006e;--gs-warn:#b37a00;--gs-info:#00a6b8;--gs-add-bg:#00875a1f;--gs-del-bg:#d6006e1f;--gs-warn-bg:#b37a001f;--gs-info-bg:#00a6b81f;--gs-add-line:#00c88224;--gs-del-line:#ff2e881f;--gs-add-word:#00c88257;--gs-del-word:#ff2e884d;--gs-hunk:#00a6b814;--gs-neutral-bg:#6b4ba01f;--gs-backdrop:#1a0b2e47;--gs-shadow:#1a0b2e29}.SD8qLW_overlay[data-gs-theme=one-dark]{--gs-bg:#282c34;--gs-panel:#21252b;--gs-raise:#2c313a;--gs-border:#3e4451;--gs-border-soft:#2c313a;--gs-fg:#abb2bf;--gs-fg-muted:#b6bdca;--gs-fg-dim:#7f848e;--gs-fg-faint:#636d83;--gs-fg-fainter:#4b5263;--gs-accent:#61afef;--gs-accent-bg:#61afef24;--gs-accent-border:#61afef8c;--gs-add:#98c379;--gs-del:#e06c75;--gs-warn:#e5c07b;--gs-info:#56b6c2;--gs-add-bg:#98c37929;--gs-del-bg:#e06c7529;--gs-warn-bg:#e5c07b29;--gs-info-bg:#56b6c229;--gs-add-line:#98c37924;--gs-del-line:#e06c7524;--gs-add-word:#98c37961;--gs-del-word:#e06c7561;--gs-hunk:#61afef1a;--gs-neutral-bg:#7f848e2e;--gs-backdrop:#171a2199;--gs-shadow:#0f11158c}.SD8qLW_overlay[data-gs-theme=one-light]{--gs-bg:#fafafa;--gs-panel:#f0f0f0;--gs-raise:#e5e5e6;--gs-border:#d4d4d4;--gs-border-soft:#e5e5e6;--gs-fg:#383a42;--gs-fg-muted:#4a4c53;--gs-fg-dim:#696c77;--gs-fg-faint:#909196;--gs-fg-fainter:#b8b9bd;--gs-accent:#4078f2;--gs-accent-bg:#4078f21a;--gs-accent-border:#4078f273;--gs-add:#50a14f;--gs-del:#e45649;--gs-warn:#c18401;--gs-info:#0184bc;--gs-add-bg:#50a14f1f;--gs-del-bg:#e456491f;--gs-warn-bg:#c184011f;--gs-info-bg:#0184bc1f;--gs-add-line:#50a14f24;--gs-del-line:#e4564921;--gs-add-word:#50a14f57;--gs-del-word:#e4564952;--gs-hunk:#4078f212;--gs-neutral-bg:#696c771f;--gs-backdrop:#383a4242;--gs-shadow:#383a422e}.SD8qLW_overlay[data-gs-theme=solarized-dark]{--gs-bg:#002b36;--gs-panel:#073642;--gs-raise:#0a4553;--gs-border:#0f5666;--gs-border-soft:#073642;--gs-fg:#93a1a1;--gs-fg-muted:#839496;--gs-fg-dim:#657b83;--gs-fg-faint:#586e75;--gs-fg-fainter:#45636b;--gs-accent:#268bd2;--gs-accent-bg:#268bd229;--gs-accent-border:#268bd28c;--gs-add:#859900;--gs-del:#dc322f;--gs-warn:#b58900;--gs-info:#2aa198;--gs-add-bg:#85990033;--gs-del-bg:#dc322f2e;--gs-warn-bg:#b589002e;--gs-info-bg:#2aa1982e;--gs-add-line:#85990029;--gs-del-line:#dc322f26;--gs-add-word:#85990066;--gs-del-word:#dc322f61;--gs-hunk:#268bd21f;--gs-neutral-bg:#657b8333;--gs-backdrop:#00141a9e;--gs-shadow:#00141a8c}.SD8qLW_overlay[data-gs-theme=solarized-light]{--gs-bg:#fdf6e3;--gs-panel:#eee8d5;--gs-raise:#e3ddca;--gs-border:#d5cfbb;--gs-border-soft:#eee8d5;--gs-fg:#586e75;--gs-fg-muted:#657b83;--gs-fg-dim:#839496;--gs-fg-faint:#93a1a1;--gs-fg-fainter:#b5b0a0;--gs-accent:#268bd2;--gs-accent-bg:#268bd21f;--gs-accent-border:#268bd273;--gs-add:#6c7c00;--gs-del:#cb2825;--gs-warn:#9a7400;--gs-info:#21867f;--gs-add-bg:#8599002e;--gs-del-bg:#dc322f24;--gs-warn-bg:#b5890029;--gs-info-bg:#2aa19824;--gs-add-line:#85990029;--gs-del-line:#dc322f1f;--gs-add-word:#85990061;--gs-del-word:#dc322f4d;--gs-hunk:#268bd214;--gs-neutral-bg:#586e7524;--gs-backdrop:#586e7542;--gs-shadow:#586e7533}.SD8qLW_overlay[data-gs-theme=nord-dark]{--gs-bg:#2e3440;--gs-panel:#3b4252;--gs-raise:#434c5e;--gs-border:#4c566a;--gs-border-soft:#3b4252;--gs-fg:#eceff4;--gs-fg-muted:#d8dee9;--gs-fg-dim:#9aa5b8;--gs-fg-faint:#7b88a1;--gs-fg-fainter:#5d6a82;--gs-accent:#88c0d0;--gs-on-accent:#2e3440;--gs-accent-bg:#88c0d024;--gs-accent-border:#88c0d08c;--gs-add:#a3be8c;--gs-del:#bf616a;--gs-warn:#ebcb8b;--gs-info:#81a1c1;--gs-add-bg:#a3be8c29;--gs-del-bg:#bf616a2e;--gs-warn-bg:#ebcb8b29;--gs-info-bg:#81a1c129;--gs-add-line:#a3be8c24;--gs-del-line:#bf616a26;--gs-add-word:#a3be8c61;--gs-del-word:#bf616a66;--gs-hunk:#88c0d01a;--gs-neutral-bg:#9aa5b829;--gs-backdrop:#1d232d9e;--gs-shadow:#1419218c}.SD8qLW_overlay[data-gs-theme=nord-light]{--gs-bg:#eceff4;--gs-panel:#e5e9f0;--gs-raise:#d8dee9;--gs-border:#c3cbd8;--gs-border-soft:#dfe4ec;--gs-fg:#2e3440;--gs-fg-muted:#3b4252;--gs-fg-dim:#4c566a;--gs-fg-faint:#6b7689;--gs-fg-fainter:#9aa4b5;--gs-accent:#5e81ac;--gs-accent-bg:#5e81ac1f;--gs-accent-border:#5e81ac80;--gs-add:#5e7d47;--gs-del:#a5424c;--gs-warn:#97701f;--gs-info:#4c7a8c;--gs-add-bg:#5e7d4724;--gs-del-bg:#a5424c21;--gs-warn-bg:#97701f24;--gs-info-bg:#4c7a8c21;--gs-add-line:#5e7d4724;--gs-del-line:#a5424c1f;--gs-add-word:#5e7d4757;--gs-del-word:#a5424c52;--gs-hunk:#5e81ac17;--gs-neutral-bg:#4c566a21;--gs-backdrop:#2e344042;--gs-shadow:#2e34402e}.SD8qLW_overlay{--gs-inset:14px;--gs-h-control:28px;--gs-h-compact:24px;--gs-pad-control:0 12px;--gs-pad-compact:0 10px;--gs-on-accent:#fff;--gs-graph-0:#58a6ff;--gs-graph-1:#3fb950;--gs-graph-2:#d29922;--gs-graph-3:#bc8cff;--gs-graph-4:#f778ba;--gs-graph-5:#39c5cf;--gs-r-pill:999px;--gs-r-control:8px;--gs-r-surface:12px;--gs-r-drawer:14px;--gs-t-meta:11px;--gs-t-dense:12px;--gs-t-ui:13px;--gs-gutter:16px;--gs-gutter-pane:12px;z-index:1000;padding:var(--gs-inset);box-sizing:border-box;background:var(--gs-backdrop);justify-content:flex-end;align-items:stretch;gap:12px;animation:.16s ease-out SD8qLW_gsFade;display:flex;position:fixed;inset:0}.SD8qLW_drawer{box-sizing:border-box;width:min(1600px,94vw);height:100%;color:var(--gs-fg);background:var(--gs-bg);border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);box-shadow:0 24px 64px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);--gs-surface:var(--gs-bg);--gs-surface-2:var(--gs-panel);flex-direction:column;animation:.18s cubic-bezier(.22,1,.36,1) SD8qLW_gsSlide;display:flex;position:relative;overflow:hidden}.SD8qLW_drawer[data-gs-bg]{--gs-surface:color-mix(in srgb, var(--gs-bg) var(--gs-veil), transparent);--gs-surface-2:color-mix(in srgb, var(--gs-panel) var(--gs-veil), transparent)}.SD8qLW_drawer[data-gs-bg]:before{content:\"\";z-index:0;background-image:var(--gs-bg-image);filter:blur(var(--gs-bg-blur));pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}.SD8qLW_drawer>:not(.SD8qLW_resizer){z-index:1;position:relative}.SD8qLW_drawer>.SD8qLW_header{z-index:24}.SD8qLW_drawer>.SD8qLW_tabs{z-index:23}.SD8qLW_drawer>.SD8qLW_compareBar{z-index:22}.SD8qLW_drawer>.SD8qLW_syncBar{z-index:20}.SD8qLW_drawer>.SD8qLW_confirmScrim{z-index:40;position:absolute;inset:0}.SD8qLW_overlayMax{gap:0;padding:0}.SD8qLW_overlayMax .SD8qLW_drawer{border-width:0 0 0 1px;border-radius:0;flex:auto;width:auto;min-width:0}@keyframes SD8qLW_gsFade{0%{opacity:0}}@keyframes SD8qLW_gsSlide{0%{opacity:0;transform:translate(24px)}}.SD8qLW_resizer{z-index:30;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0;left:0}.SD8qLW_resizer:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:32px;transition:opacity .14s,height .14s}.SD8qLW_resizer:hover:after{opacity:.6}.SD8qLW_resizerActive:after{opacity:.9;height:56px}.SD8qLW_paneDivider{z-index:5;cursor:col-resize;touch-action:none;flex:none;justify-content:center;align-items:center;width:7px;display:flex;position:relative}.SD8qLW_paneDivider:before{content:\"\";background:var(--gs-border-soft);width:1px;position:absolute;top:0;bottom:0;left:3px}.SD8qLW_paneDivider:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:28px;transition:opacity .14s,height .14s;position:relative}.SD8qLW_paneDivider:hover:after{opacity:.6}.SD8qLW_paneDividerActive:after{opacity:.9;height:48px}.SD8qLW_paneDividerY{cursor:row-resize;width:auto;height:7px}.SD8qLW_paneDividerY:before{width:auto;height:1px;inset:3px 0 auto}.SD8qLW_paneDividerY:after{width:28px;height:3px;transition:opacity .14s,width .14s}.SD8qLW_paneDividerY.SD8qLW_paneDividerActive:after{width:48px;height:3px}.SD8qLW_header{padding:10px var(--gs-gutter);border-bottom:1px solid var(--gs-border);background:var(--gs-surface-2);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-ui);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.SD8qLW_headerLeft{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.SD8qLW_headerBranch{border:1px solid var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.SD8qLW_refButton.SD8qLW_headerPicker{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);max-width:420px;color:var(--gs-accent);font-weight:600}.SD8qLW_refButton.SD8qLW_headerPicker:hover{background:var(--gs-accent-bg);color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_elide{flex:0 auto;align-items:baseline;min-width:0;display:inline-flex}.SD8qLW_elideHead{white-space:nowrap;text-overflow:ellipsis;flex:0 999 auto;min-width:0;overflow:hidden}.SD8qLW_elideTail{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.SD8qLW_headerPathMain{color:var(--gs-fg-faint);font-size:var(--gs-t-meta)}.SD8qLW_headerPathMain .SD8qLW_elideTail{color:var(--gs-fg-dim)}.SD8qLW_headerViewRef{max-width:160px}.SD8qLW_headerView{background:var(--gs-neutral-bg);color:var(--gs-fg-muted);font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px}.SD8qLW_headerDetached{background:var(--gs-warn-bg);color:var(--gs-warn);font-size:var(--gs-t-meta);letter-spacing:.02em;border-radius:999px;padding:1px 8px}.SD8qLW_headerTotals{font-variant-numeric:tabular-nums}.SD8qLW_headerTotalsAdd{color:var(--gs-add);font-weight:600}.SD8qLW_headerTotalsDel{color:var(--gs-del);font-weight:600}.SD8qLW_headerTotalsDim{color:var(--gs-fg-dim);font-size:var(--gs-t-dense)}.SD8qLW_headerRight{flex:none;gap:8px;display:flex;position:relative}.SD8qLW_theme{display:inline-flex;position:relative}.SD8qLW_refPop.SD8qLW_settingsPop{width:320px;max-width:calc(100vw - 32px);max-height:min(560px,100vh - 120px);top:calc(100% + 6px);left:auto;right:0}.SD8qLW_themeRail{min-height:0;font-family:var(--dsw-font-ui,system-ui, sans-serif);flex-direction:column;flex:1;gap:14px;padding:12px 14px 16px;display:flex;overflow-y:auto}.SD8qLW_themeGroup{flex-direction:column;gap:6px;display:flex}.SD8qLW_themeLabel{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.SD8qLW_themeRowSplit{justify-content:space-between;align-items:center;gap:8px;display:flex}.SD8qLW_segmented{gap:6px;display:flex}.SD8qLW_segment{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;padding:4px;transition:background .12s,color .12s,border-color .12s;display:flex}.SD8qLW_segment:hover{background:var(--gs-raise);border-color:var(--gs-fg-fainter);color:var(--gs-fg)}.SD8qLW_segment:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_segmentChip{border-radius:calc(var(--gs-r-control) - 4px);border:1px solid #80808073;height:20px}.SD8qLW_chipLight{background:#fff}.SD8qLW_chipDark{background:#0b0b0d}.SD8qLW_chipSystem{background:linear-gradient(105deg,#fff 0 50%,#0b0b0d 50% 100%)}.SD8qLW_paletteRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.SD8qLW_paletteRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_swatch{border:1px solid var(--gs-border);border-radius:3px;flex:none;width:26px;height:12px;display:inline-flex;overflow:hidden}.SD8qLW_swatch span{flex:1}.SD8qLW_scopeRow{gap:6px;display:flex}.SD8qLW_scopeHint{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);overflow-wrap:anywhere}.SD8qLW_bgPreview{border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background-color:var(--gs-bg);background-position:50%;background-size:cover;height:64px}.SD8qLW_bgEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);justify-content:center;align-items:center;display:flex}.SD8qLW_sliderRow{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);align-items:center;gap:8px;display:flex}.SD8qLW_sliderRow input{min-width:0;accent-color:var(--gs-accent);flex:1}.SD8qLW_sliderValue{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px}.SD8qLW_cssArea{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:96px;max-height:220px;color:var(--gs-fg);font-family:var(--dsw-font-mono,ui-monospace, Consolas, monospace);font-size:var(--gs-t-meta);resize:vertical;outline:none;padding:7px 8px}.SD8qLW_cssArea:focus{border-color:var(--gs-accent-border)}.SD8qLW_themeNote{color:var(--gs-warn);font-size:var(--gs-t-meta)}.SD8qLW_themeDirty{color:var(--gs-accent);font-size:var(--gs-t-meta)}.SD8qLW_wtCurrent{color:var(--gs-add);font-size:8px;line-height:1}.SD8qLW_commitCopy{margin-left:auto}.SD8qLW_commitPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:min(380px,100vw - 24px);color:var(--gs-fg);box-shadow:0 16px 40px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);font-size:var(--gs-t-dense);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;position:fixed;overflow:auto}.SD8qLW_commitPopTop{align-items:center;gap:8px;display:flex}.SD8qLW_commitPopTop .SD8qLW_commitWhen{margin-right:auto}.SD8qLW_commitPopMeta{color:var(--gs-fg-muted);font-size:var(--gs-t-dense);flex-direction:column;gap:2px;line-height:16px;display:flex}.SD8qLW_commitFilter{min-width:120px;height:var(--gs-h-control);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 10px}.SD8qLW_commitFilter:focus{border-color:var(--gs-accent)}.SD8qLW_commitFilter::placeholder{color:var(--gs-fg-faint)}.SD8qLW_filterChips{border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.SD8qLW_filterChip{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-surface-2);max-width:220px;font-size:var(--gs-t-dense);align-items:center;gap:2px;line-height:18px;display:inline-flex}.SD8qLW_filterChipLabel{text-overflow:ellipsis;white-space:nowrap;color:var(--gs-fg-muted);padding:2px 4px 2px 8px;overflow:hidden}.SD8qLW_filterChipRemove{border:none;border-left:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;flex:none;padding:0 6px;line-height:20px}.SD8qLW_filterChipRemove:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_filterClear{color:var(--gs-fg-faint);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;padding:2px 4px;line-height:18px}.SD8qLW_filterClear:hover{color:var(--gs-fg)}.SD8qLW_funnel{display:inline-flex;position:relative}.SD8qLW_funnelButton.SD8qLW_funnelButtonActive{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:320px;max-width:calc(100vw - 24px);box-shadow:0 16px 40px var(--gs-shadow);font-size:var(--gs-t-dense);flex-direction:column;display:flex;position:fixed;overflow:hidden}.SD8qLW_funnelTabs{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-pill);background:var(--gs-bg);flex:none;gap:2px;margin:8px 8px 0;padding:2px;display:flex}.SD8qLW_funnelTab{border-radius:var(--gs-r-pill);min-width:0;height:22px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:0 8px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelTab:hover{color:var(--gs-fg)}.SD8qLW_funnelTab.SD8qLW_funnelTabActive{color:var(--gs-fg);background:var(--gs-raise);box-shadow:inset 0 0 0 1px var(--gs-border)}.SD8qLW_funnelTab:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelTabCount{color:var(--gs-accent);font-variant-numeric:tabular-nums;margin-left:4px}.SD8qLW_funnelPane{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:8px;display:flex}.SD8qLW_funnelCaption{color:var(--gs-fg-faint);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:11px;line-height:14px}.SD8qLW_funnelBounds{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);flex:none;gap:2px;padding:2px;display:flex}.SD8qLW_funnelBoundBtn{border-radius:calc(var(--gs-r-control) - 3px);min-width:0;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:1;padding:0 6px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelBoundBtn:hover{color:var(--gs-fg)}.SD8qLW_funnelBoundBtn.SD8qLW_funnelBoundBtnActive{color:var(--gs-accent);background:var(--gs-accent-bg);box-shadow:inset 0 0 0 1px var(--gs-accent-border)}.SD8qLW_cal{flex-direction:column;flex:none;gap:4px;display:flex}.SD8qLW_calHead{align-items:center;gap:4px;display:flex}.SD8qLW_calTitle{text-align:center;color:var(--gs-fg);font-size:var(--gs-t-dense);flex:1;line-height:20px}.SD8qLW_calNav{border-radius:var(--gs-r-control);width:22px;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:none;flex:none;padding:0}.SD8qLW_calNav:hover{color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_calWeek,.SD8qLW_calGrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.SD8qLW_calWeek span{text-align:center;color:var(--gs-fg-faint);font-size:11px;line-height:14px}.SD8qLW_calGrid button{border-radius:var(--gs-r-control);height:26px;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none}.SD8qLW_calGrid button:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calOut{color:var(--gs-fg-fainter)}.SD8qLW_calGrid button.SD8qLW_calToday{color:var(--gs-accent);font-weight:600}.SD8qLW_calGrid button.SD8qLW_calIn{background:var(--gs-accent-bg);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calMark{background:var(--gs-accent);color:var(--gs-on-accent);font-weight:600}.SD8qLW_funnelBoundRows{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.SD8qLW_funnelBoundRow{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);align-items:center;gap:4px;min-width:0;padding:3px 6px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelBoundKey{color:var(--gs-fg-faint);flex:none}.SD8qLW_funnelBoundVal{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.SD8qLW_funnelBoundValSet{color:var(--gs-fg)}.SD8qLW_funnelBoundClear{color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;line-height:1}.SD8qLW_funnelBoundClear:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_funnelSearch{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);height:26px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:0 8px}.SD8qLW_funnelSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_funnelSearch:focus{border-color:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent-bg)}.SD8qLW_funnelList{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gs-fg-fainter) transparent;flex-direction:column;flex:auto;gap:1px;min-height:0;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.SD8qLW_funnelList::-webkit-scrollbar{width:10px}.SD8qLW_funnelList::-webkit-scrollbar-track{background:0 0}.SD8qLW_funnelList::-webkit-scrollbar-thumb{background:var(--gs-fg-fainter);background-clip:content-box;border:3px solid #0000;border-radius:5px}.SD8qLW_funnelRow{box-sizing:border-box;border-radius:var(--gs-r-control);cursor:pointer;align-items:center;gap:6px;min-height:24px;padding:0 4px;display:flex}.SD8qLW_funnelRow:hover{background:var(--gs-raise)}.SD8qLW_funnelRow:has(input[type=checkbox]:checked) .SD8qLW_funnelName,.SD8qLW_funnelRow:has(input[type=checkbox]:indeterminate) .SD8qLW_funnelName{color:var(--gs-fg)}.SD8qLW_funnelRow input[type=checkbox]{-webkit-appearance:none;appearance:none;box-sizing:border-box;border:1px solid var(--gs-fg-fainter);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:14px;height:14px;margin:0;transition:background .12s,border-color .12s;position:relative}.SD8qLW_funnelRow input[type=checkbox]:hover{border-color:var(--gs-fg-dim)}.SD8qLW_funnelRow input[type=checkbox]:checked,.SD8qLW_funnelRow input[type=checkbox]:indeterminate{background:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelRow input[type=checkbox]:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelRow input[type=checkbox]:checked:after{content:\"\";border:solid var(--gs-on-accent);border-width:0 1.5px 1.5px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(42deg)}.SD8qLW_funnelRow input[type=checkbox]:indeterminate:after{content:\"\";background:var(--gs-on-accent);border-radius:1px;width:8px;height:2px;position:absolute;top:5px;left:2px}.SD8qLW_pathNode,.SD8qLW_pathChildren{flex-direction:column;display:flex}.SD8qLW_pathFileGlyph,.SD8qLW_pathDirGlyph{width:16px;height:16px;color:var(--gs-fg-dim);flex:none}.SD8qLW_funnelRow:hover .SD8qLW_pathFileGlyph,.SD8qLW_funnelRow:hover .SD8qLW_pathDirGlyph{color:var(--gs-fg-muted)}.SD8qLW_funnelName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-muted);flex:1;overflow:hidden}.SD8qLW_funnelCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.SD8qLW_funnelMore{color:var(--gs-fg-faint);padding:4px 6px}.SD8qLW_funnelChevron{width:14px;color:var(--gs-fg-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-family:inherit;font-size:9px;line-height:16px}.SD8qLW_funnelChevron:hover:not(:disabled){color:var(--gs-fg)}.SD8qLW_funnelChevron:disabled{cursor:default}.SD8qLW_funnelPresets{flex:none;gap:4px;display:flex}.SD8qLW_funnelPreset{flex:1 1 0;min-width:0;padding:0 6px}.SD8qLW_funnelPreset.SD8qLW_funnelPresetActive{color:var(--gs-accent);border-color:var(--gs-accent);background:var(--gs-accent-bg)}.SD8qLW_funnelFoot{border-top:1px solid var(--gs-border-soft);background:var(--gs-bg);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelFootCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums}.SD8qLW_funnelFootCountOn{color:var(--gs-fg-muted)}.SD8qLW_funnelFootClear{border-radius:var(--gs-r-control);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-family:inherit;font-size:11px;line-height:16px}.SD8qLW_funnelFootClear:hover:not(:disabled){color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_funnelFootClear:disabled{color:var(--gs-fg-fainter);cursor:default}.SD8qLW_commitPopSubject{color:var(--gs-fg);font-size:var(--gs-t-ui);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-weight:600;line-height:18px}.SD8qLW_commitPopBody{color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;margin:0;line-height:18px}.SD8qLW_tabs{padding:0 var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:24px;font-family:inherit;display:flex}.SD8qLW_tab{font-family:inherit;font-size:var(--gs-t-ui);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:8px 0 9px;font-weight:500;line-height:16px;position:relative}.SD8qLW_tab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_tabActive{color:var(--gs-accent)}.SD8qLW_tabActive:after{background:var(--gs-accent)}.SD8qLW_compareBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.SD8qLW_compareArrow{color:var(--gs-fg-faint)}.SD8qLW_refPicker{align-items:center;gap:6px;display:inline-flex;position:relative}.SD8qLW_refLabel{color:var(--gs-fg-faint);flex:none}.SD8qLW_refButton{justify-content:space-between;max-width:260px}.SD8qLW_refValue{min-width:0;overflow:hidden}.SD8qLW_refCaret{color:var(--gs-fg-faint);flex:none;font-size:9px}.SD8qLW_refPop{z-index:10;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-panel);width:300px;max-width:80vw;box-shadow:0 12px 32px var(--gs-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.SD8qLW_menuPop{width:auto;min-width:100%;padding:4px;left:auto;right:0}.SD8qLW_refSearch{border:0;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:7px 10px}.SD8qLW_refSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_refList{flex:1;max-height:280px;padding:4px;overflow-y:auto}.SD8qLW_refGroup{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 3px;font-weight:600}.SD8qLW_refRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.SD8qLW_refRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_refRowSpacer{flex:none;width:12px}.SD8qLW_refRowName{flex:auto;min-width:0;overflow:hidden}.SD8qLW_refEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-dense);padding:14px 10px}.SD8qLW_refFoot{border-top:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);flex:none;padding:5px 10px}.SD8qLW_commitsPane{box-sizing:border-box;width:26%;min-height:0;min-width:var(--gs-min-commits);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:340px;display:flex}.SD8qLW_paneHead{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_paneTitle{font-weight:600}.SD8qLW_commitsSentinel{flex:none;height:1px}.SD8qLW_commitsFoot{color:var(--gs-fg-faint);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-meta);text-align:center;flex:none;min-height:16px;padding:8px}.SD8qLW_commits{flex-direction:column;flex:1;min-height:0;padding:4px 6px 4px 0;display:flex;overflow-y:auto}.SD8qLW_commitLine{flex:none;align-items:stretch;height:28px;display:flex}.SD8qLW_graphCell{flex:none;display:block}.SD8qLW_commit{box-sizing:border-box;border-radius:var(--gs-r-surface);text-align:left;cursor:pointer;min-width:0;height:100%;font-family:inherit;font-size:var(--gs-t-dense);background:0 0;border:1px solid #0000;flex:auto;align-items:center;gap:10px;margin:1px 0;padding:4px 8px;transition:background .12s,border-color .12s;display:flex;overflow:hidden}.SD8qLW_commit:hover{background:var(--gs-raise)}.SD8qLW_commitActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg)}.SD8qLW_commitMeta{flex:none;align-items:baseline;gap:8px;display:flex}.SD8qLW_commitHash{color:var(--gs-info);flex:none}.SD8qLW_commitSubjectRow{flex:auto;align-items:baseline;gap:4px;min-width:0;display:flex}.SD8qLW_commitSubject{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gs-fg-muted);flex:0 auto;overflow:hidden}.SD8qLW_commitHasBody{color:var(--gs-fg-faint);letter-spacing:.04em;flex:none}.SD8qLW_commitRef{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--gs-accent-border);border-radius:var(--gs-r-pill);background:var(--gs-accent-bg);max-width:96px;color:var(--gs-accent);font-size:var(--gs-t-meta);flex:none;padding:0 5px;line-height:15px;overflow:hidden}.SD8qLW_commitWhen{color:var(--gs-fg-faint);flex:none}.SD8qLW_commitAuthor{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--gs-fg-dim);flex:none;overflow:hidden}.SD8qLW_body{z-index:1;flex:1;min-height:0;display:flex}.SD8qLW_body[data-stacked]{flex-direction:column}.SD8qLW_bodyRow{flex:1 1 0;min-width:0;min-height:0;display:flex}.SD8qLW_body[data-stacked] .SD8qLW_commitsPane{width:auto;min-width:0;max-width:none;height:34%;min-height:var(--gs-min-commits-tall);max-height:max(var(--gs-min-commits-tall), calc(100% - var(--gs-min-stacked-lower)));flex:none}.SD8qLW_treeCol{box-sizing:border-box;width:28%;min-height:0;min-width:var(--gs-min-tree);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:400px;display:flex}.SD8qLW_treeWrap{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.SD8qLW_treeTools{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px;display:flex}.SD8qLW_treeActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.SD8qLW_treeLead{align-items:center;gap:4px;min-width:0;display:flex}.SD8qLW_treeLabel{white-space:nowrap;color:var(--gs-fg-dim);font-size:var(--gs-t-dense);flex:none}.SD8qLW_treeFilter{padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex:none;align-items:center;display:flex;position:relative}.SD8qLW_treeFilterInput{min-width:0;height:var(--gs-h-compact);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 24px 0 8px}.SD8qLW_treeFilterInput:focus{border-color:var(--gs-accent)}.SD8qLW_treeFilterInput::placeholder{color:var(--gs-fg-faint)}.SD8qLW_treeFilterClear{right:calc(var(--gs-gutter-pane) + 6px);border-radius:var(--gs-r-pill);width:16px;height:16px;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute}.SD8qLW_treeFilterClear:hover{color:var(--gs-fg)}.SD8qLW_tree{flex:1;min-height:0;margin:0;padding:6px 0 16px;list-style:none;overflow:auto}.SD8qLW_treeEmpty{min-height:0;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);flex:1;justify-content:center;align-items:center;display:flex}.SD8qLW_treeSub{margin:0;padding:0;list-style:none;position:relative}.SD8qLW_treeSub:before{content:\"\";top:0;bottom:0;left:var(--gs-rail,0);background:var(--gs-border-soft);width:1px;position:absolute}.SD8qLW_treeDirLi{position:relative}.SD8qLW_treeDir{box-sizing:border-box;width:100%;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:600;display:flex}.SD8qLW_treeDir:hover{background:var(--gs-panel);color:var(--gs-fg-muted)}.SD8qLW_treeDirActive{color:var(--gs-fg-muted)}.SD8qLW_chevron{width:10px;color:var(--gs-fg-fainter);font-size:var(--gs-t-meta);flex:none;transition:transform .12s;display:inline-block}.SD8qLW_chevronOpen{transform:rotate(90deg)}.SD8qLW_treeDirName{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_treeDirCount{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);border-radius:999px;flex:none;padding:0 6px;font-weight:600;line-height:16px}.SD8qLW_treeDirCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_file{box-sizing:border-box;width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 14px;display:flex}.SD8qLW_file:hover{background:var(--gs-panel)}.SD8qLW_fileActive{background:var(--gs-panel);border-left-color:var(--gs-accent);color:var(--gs-fg)}.SD8qLW_fileStatus{width:18px;height:18px;font-weight:700;font-size:var(--gs-t-meta);border-radius:5px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.SD8qLW_stAdded,.SD8qLW_stUntracked{color:var(--gs-add);background:var(--gs-add-bg)}.SD8qLW_stDeleted{color:var(--gs-del);background:var(--gs-del-bg)}.SD8qLW_stModified{color:var(--gs-warn);background:var(--gs-warn-bg)}.SD8qLW_stRenamed{color:var(--gs-info);background:var(--gs-info-bg)}.SD8qLW_filePath{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_fileBinary{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);letter-spacing:.06em;border-radius:4px;flex:none;padding:0 5px;font-size:9px;font-weight:700}.SD8qLW_fileCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fileCountAdd{color:var(--gs-add)}.SD8qLW_fileCountDel{color:var(--gs-del)}.SD8qLW_diffPane{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;display:flex;overflow:auto}.SD8qLW_diffWrap{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.SD8qLW_diffScroll{outline:none;flex:1 1 0;min-height:0;overflow:auto}.SD8qLW_diffNav{border-bottom:1px solid var(--gs-border-soft);flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:3px 12px 3px 0;display:flex}.SD8qLW_diffNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_diffPre{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;flex-direction:column;margin:0;padding:8px 0 16px;font-weight:400;line-height:20px;display:flex}.SD8qLW_renameLine{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_renameLine code{color:var(--gs-fg)}.SD8qLW_line{white-space:nowrap;align-items:stretch;width:max-content;min-width:100%;min-height:20px;line-height:20px;display:flex}.SD8qLW_lnOld,.SD8qLW_lnNew{box-sizing:border-box;text-align:right;width:3.2em;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;flex:none;padding:0 8px}.SD8qLW_line:hover .SD8qLW_lnOld,.SD8qLW_line:hover .SD8qLW_lnNew{color:var(--gs-fg-dim)}.SD8qLW_gutter{text-align:center;user-select:none;flex:none;width:1.4em}.SD8qLW_code{white-space:pre;flex:1 0 auto;padding:0 16px 0 10px}.SD8qLW_lineAdd{background:var(--gs-add-line)}.SD8qLW_lineDel{background:var(--gs-del-line)}.SD8qLW_lineAdd .SD8qLW_lnOld,.SD8qLW_lineAdd .SD8qLW_lnNew,.SD8qLW_lineAdd .SD8qLW_gutter{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_lineDel .SD8qLW_lnOld,.SD8qLW_lineDel .SD8qLW_lnNew,.SD8qLW_lineDel .SD8qLW_gutter{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_lineContext{color:var(--gs-fg-muted)}.SD8qLW_lineHunk{background:var(--gs-hunk)}.SD8qLW_lineHunk .SD8qLW_code{color:var(--gs-fg-dim)}.SD8qLW_lineHunk .SD8qLW_lnOld,.SD8qLW_lineHunk .SD8qLW_lnNew,.SD8qLW_lineHunk .SD8qLW_gutter{background:var(--gs-hunk-num,var(--gs-hunk))}.SD8qLW_signAdd{color:var(--gs-add)}.SD8qLW_signDel{color:var(--gs-del)}.SD8qLW_wordAdd{background:var(--gs-add-word);border-radius:2px}.SD8qLW_wordDel{background:var(--gs-del-word);border-radius:2px}.SD8qLW_sidePane{flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.SD8qLW_sideScroll{flex:1 1 0;min-height:0;overflow:hidden auto}.SD8qLW_sideCols{align-items:stretch;min-height:100%;display:flex}.SD8qLW_sideCol{flex:none;min-width:0;overflow-x:auto}.SD8qLW_sideColRight{flex:1 1 0}.SD8qLW_sideColGrid{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;grid-template-columns:3.2em 1fr;align-content:start;padding:8px 0 16px;font-weight:400;line-height:20px;display:grid}.SD8qLW_sideColGridBlame{grid-template-columns:13em 3.2em 1fr}.SD8qLW_blameCell{box-sizing:border-box;border-right:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:pre;text-overflow:ellipsis;user-select:none;padding:0 8px 0 10px;overflow:hidden}.SD8qLW_sideTabs{z-index:5;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:16px;padding:6px 16px 0;display:flex}.SD8qLW_sideTab{font-family:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:2px 0 5px;font-weight:500;line-height:16px;position:relative}.SD8qLW_sideTab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_sideTabActive{color:var(--gs-accent)}.SD8qLW_sideTabActive:after{background:var(--gs-accent)}.SD8qLW_sideNotice{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_sideNum{box-sizing:border-box;text-align:right;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;padding:0 8px}.SD8qLW_sideNumAdd{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_sideNumDel{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_sideCode{white-space:pre;min-height:20px;padding:0 16px 0 10px}.SD8qLW_sideCodeSame{color:var(--gs-fg-muted)}.SD8qLW_sideCodeAdd{background:var(--gs-add-line)}.SD8qLW_sideCodeDel{background:var(--gs-del-line)}.SD8qLW_sideCellBlock{position:relative}.SD8qLW_sideBlockHot{outline:1px solid var(--gs-accent);outline-offset:-1px}.SD8qLW_blockBar{z-index:4;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-surface-2,var(--gs-bg));box-shadow:0 4px 14px var(--gs-shadow);white-space:nowrap;gap:4px;padding:2px;display:flex;position:absolute;top:-21px;left:0}.SD8qLW_blockBtn{border:1px solid var(--gs-border);border-radius:var(--gs-r-pill);background:var(--gs-bg);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;padding:0 8px;line-height:16px}.SD8qLW_blockBtn:hover:not(:disabled){color:var(--gs-fg);border-color:var(--gs-accent)}.SD8qLW_blockBtn:disabled{opacity:.45;cursor:default}.SD8qLW_blockBtnDanger{color:var(--gs-del);border-color:var(--gs-del-bg,var(--gs-border))}.SD8qLW_blockBtnDanger:hover:not(:disabled){color:var(--gs-del);border-color:var(--gs-del)}.SD8qLW_sideArmable{cursor:text}.SD8qLW_cmHost{position:relative}.SD8qLW_cmHost[data-editable]:before{content:\"\";background:var(--gs-accent);opacity:.32;pointer-events:none;border-radius:1px;width:2px;transition:opacity .14s;position:absolute;top:0;bottom:0;left:0}.SD8qLW_cmHost[data-editable]:focus-within:before{opacity:1}.SD8qLW_sideNav{align-items:center;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_sideNavCount{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:nowrap}.SD8qLW_sideActions{align-items:flex-start;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideSaveReady{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_sideBanner{border-bottom:1px solid var(--gs-border-soft);background:var(--gs-del-bg,transparent);color:var(--gs-del);font-size:var(--gs-t-dense);flex-direction:column;flex:none;gap:6px;padding:8px 16px;display:flex}.SD8qLW_sideBannerTitle{font-weight:600}.SD8qLW_sideBannerActs{gap:4px;display:flex}.SD8qLW_sideEditCell{position:relative}.SD8qLW_empty{color:var(--gs-fg-faint);font-size:var(--gs-t-ui);padding:32px 24px}.SD8qLW_syncBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);font-size:var(--gs-t-dense);color:var(--gs-fg-dim);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_syncUpstream{white-space:nowrap;text-overflow:ellipsis;max-width:260px;color:var(--gs-fg-muted);font-variant-numeric:tabular-nums;overflow:hidden}.SD8qLW_syncLevel{color:var(--gs-fg-faint)}.SD8qLW_syncSpacer{flex:auto}.SD8qLW_btn:disabled,.SD8qLW_treeIcon:disabled,.SD8qLW_miniBtn:disabled,.SD8qLW_refButton:disabled,.SD8qLW_funnelButton:disabled{opacity:.45;cursor:default}.SD8qLW_btn[data-quiet]:disabled,.SD8qLW_refButton[data-quiet]:disabled{opacity:1}.SD8qLW_opBanner{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;flex:none;line-height:18px}.SD8qLW_opBannerOk{background:var(--gs-add-bg);color:var(--gs-add)}.SD8qLW_opBannerBad{background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_fileLi{align-items:stretch;display:flex}.SD8qLW_fileLi .SD8qLW_file{flex:auto;min-width:0}.SD8qLW_fileDiscard{width:22px;color:var(--gs-fg-faint);opacity:0;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:flex}.SD8qLW_fileLi:hover .SD8qLW_fileDiscard,.SD8qLW_fileDiscard:focus-visible{opacity:1}.SD8qLW_fileDiscard:hover{color:var(--gs-del)}.SD8qLW_fileDiscard:focus-visible{outline:2px solid var(--gs-accent);outline-offset:-2px;border-radius:var(--gs-r-control)}.SD8qLW_treeRow{align-items:stretch;display:flex}.SD8qLW_treeRow .SD8qLW_treeDir{flex:auto;min-width:0}.SD8qLW_checkBox{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:22px;padding:0;display:flex}.SD8qLW_checkMark{box-sizing:border-box;border:1px solid var(--gs-fg-faint);background:var(--gs-bg);color:#0000;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;transition:background .12s,border-color .12s;display:flex}.SD8qLW_checkBox:hover .SD8qLW_checkMark{border-color:var(--gs-accent)}.SD8qLW_checkBox:focus-visible{outline:none}.SD8qLW_checkBox:focus-visible .SD8qLW_checkMark{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_checkMarkOn,.SD8qLW_checkMarkPartial{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent)}.SD8qLW_commitBox{padding:8px var(--gs-gutter-pane) 10px;border-top:1px solid var(--gs-border);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:6px;display:flex}.SD8qLW_commitMessage{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:46px;max-height:160px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);resize:vertical;outline:none;padding:6px 8px;line-height:18px}.SD8qLW_commitMessage:focus{border-color:var(--gs-accent-border)}.SD8qLW_commitMessage::placeholder{color:var(--gs-fg-faint)}.SD8qLW_commitRow{align-items:center;gap:8px;display:flex}.SD8qLW_commitAmend{color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:pointer;align-items:center;gap:4px;display:inline-flex}.SD8qLW_commitAmend input{accent-color:var(--gs-accent);cursor:pointer}.SD8qLW_commitStaged{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin-left:auto}.SD8qLW_commitLead{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin:0;line-height:15px}.SD8qLW_commitBtn{box-sizing:border-box;min-width:92px;height:var(--gs-h-control);border-radius:var(--gs-r-control);background:var(--gs-accent);color:var(--gs-on-accent);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;line-height:1;transition:filter .12s,opacity .12s;display:inline-flex}.SD8qLW_commitBtn:hover:not(:disabled){filter:brightness(1.1)}.SD8qLW_commitBtn:focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px}.SD8qLW_commitBtn:disabled{background:var(--gs-raise);color:var(--gs-fg-faint);border-color:var(--gs-border);cursor:default}.SD8qLW_btn,.SD8qLW_miniBtn,.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_scopeBtn,.SD8qLW_refButton,.SD8qLW_funnelButton,.SD8qLW_funnelPreset{box-sizing:border-box;height:var(--gs-h-control);padding:var(--gs-pad-control);border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.SD8qLW_btn:hover,.SD8qLW_miniBtn:hover,.SD8qLW_treeIcon:hover,.SD8qLW_commitCopy:hover,.SD8qLW_scopeBtn:hover,.SD8qLW_refButton:hover,.SD8qLW_funnelButton:hover,.SD8qLW_funnelPreset:hover{background:var(--gs-raise);color:var(--gs-fg);border-color:var(--gs-fg-fainter)}.SD8qLW_btn:focus-visible,.SD8qLW_miniBtn:focus-visible,.SD8qLW_treeIcon:focus-visible,.SD8qLW_commitCopy:focus-visible,.SD8qLW_scopeBtn:focus-visible,.SD8qLW_refButton:focus-visible,.SD8qLW_funnelPreset:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_btn,.SD8qLW_refButton{border-radius:var(--gs-r-pill)}.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_funnelPreset{height:var(--gs-h-compact);padding:var(--gs-pad-compact);font-size:var(--gs-t-dense)}.SD8qLW_treeIcon{width:var(--gs-h-compact);padding:0}.SD8qLW_treeIcon.SD8qLW_treeIconOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_treeIconGlyph{font-size:var(--gs-t-meta);line-height:1;display:block}.SD8qLW_treeIconDown{transform:rotate(90deg)}.SD8qLW_scopeBtn{flex:1 1 0}.SD8qLW_scopeBtnActive,.SD8qLW_miniBtnPrimary,.SD8qLW_segmentActive,.SD8qLW_refRowActive,.SD8qLW_paletteRowActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);font-weight:600}.SD8qLW_btnIcon{width:var(--gs-h-control);padding:0}.SD8qLW_btnIcon svg{display:block}.SD8qLW_btnClose:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_btnBehind{border-color:var(--gs-warn);background:var(--gs-warn-bg);color:var(--gs-warn);font-weight:600}.SD8qLW_btnBehind:hover:not(:disabled){background:var(--gs-warn-bg);color:var(--gs-warn);border-color:var(--gs-warn)}.SD8qLW_btnAhead{border-color:var(--gs-add);background:var(--gs-add-bg);color:var(--gs-add);font-weight:600}.SD8qLW_btnAhead:hover:not(:disabled){background:var(--gs-add-bg);color:var(--gs-add);border-color:var(--gs-add)}.SD8qLW_btnPrimary{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btnPrimary:hover:not(:disabled){background:var(--gs-accent);color:var(--gs-on-accent,#fff);border-color:var(--gs-accent)}.SD8qLW_btnCount{font-variant-numeric:tabular-nums;opacity:.85;border-left:1px solid;margin-left:1px;padding-left:6px}.SD8qLW_pullGroup{flex:none;align-items:center;display:inline-flex}.SD8qLW_pullGroup>.SD8qLW_refPicker>.SD8qLW_refButton{border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0}.SD8qLW_pullGroup>.SD8qLW_btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.SD8qLW_drawer{scrollbar-width:thin;scrollbar-color:var(--gs-border) transparent}.SD8qLW_drawer ::-webkit-scrollbar{width:10px;height:10px}.SD8qLW_drawer ::-webkit-scrollbar-track,.SD8qLW_drawer ::-webkit-scrollbar-corner{background:0 0}.SD8qLW_drawer ::-webkit-scrollbar-thumb{background:var(--gs-border);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.SD8qLW_drawer ::-webkit-scrollbar-thumb:hover{background:var(--gs-fg-faint);background-clip:padding-box}.SD8qLW_commitRefMore{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:default;flex:none;padding:0 5px;line-height:15px}.SD8qLW_confirmScrim{background:var(--gs-backdrop);justify-content:center;align-items:center;padding:24px;animation:.12s ease-out SD8qLW_gsFade;display:flex}.SD8qLW_confirmBox{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);background:var(--gs-bg);width:min(440px,100%);box-shadow:0 18px 48px var(--gs-shadow);flex-direction:column;gap:10px;padding:18px;display:flex}.SD8qLW_confirmTitle{color:var(--gs-fg);font-size:var(--gs-t-ui);font-weight:600}.SD8qLW_confirmBody{color:var(--gs-fg-dim);font-size:var(--gs-t-dense);overflow-wrap:anywhere;line-height:1.55}.SD8qLW_confirmActions{flex-direction:row-reverse;gap:8px;margin-top:2px;display:flex}.SD8qLW_btn.SD8qLW_btnDanger{border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btn.SD8qLW_btnDanger:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff)}.SD8qLW_fbTree{min-width:var(--gs-min-tree);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:4px;padding:6px;display:flex;overflow:auto}.SD8qLW_fbSearch{box-sizing:border-box;width:100%;font:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg);background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:4px;flex:none;padding:4px 6px}.SD8qLW_fbSearch:focus{border-color:var(--gs-accent);outline:none}.SD8qLW_fbNote{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);flex:none;padding:2px 4px}.SD8qLW_fbList{margin:0;padding:0;list-style:none}.SD8qLW_fbRow{width:100%;font:inherit;font-size:var(--gs-t-dense);color:var(--gs-fg-dim);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:3px;align-items:center;gap:4px;padding:2px 6px 2px 4px;display:flex;overflow:hidden}.SD8qLW_fbRow:hover{background:var(--gs-hover)}.SD8qLW_fbRowActive{background:var(--gs-selected);color:var(--gs-fg)}.SD8qLW_fbDirName,.SD8qLW_fbFileName{text-overflow:ellipsis;overflow:hidden}.SD8qLW_fbMain{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.SD8qLW_fbHeader{border-bottom:1px solid var(--gs-border);flex:none;align-items:flex-start;gap:8px;padding:4px 8px 0;display:flex}.SD8qLW_fbPath{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;overflow:hidden}.SD8qLW_fbBody{flex:1 1 0;min-height:0;padding:4px 8px;overflow:auto}.SD8qLW_fbCommit{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);background:var(--gs-surface-2);border-bottom:1px solid var(--gs-border);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.SD8qLW_fbCommitLine{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitWho{color:var(--gs-fg);flex:none;font-weight:600}.SD8qLW_fbCommitWhen{font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitHash{color:var(--gs-fg-faint);flex:none;font-family:inherit}.SD8qLW_fbCommitWhat{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg);flex:auto;overflow:hidden}.SD8qLW_fbCommitHint{color:var(--gs-fg-faint)}.SD8qLW_fbMore{font-size:var(--gs-t-meta);color:var(--gs-fg-faint);padding:2px 6px 4px 4px;font-style:italic;display:block}.SD8qLW_imgPane{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.SD8qLW_imgStage{border-radius:var(--gs-r-control);background-color:var(--gs-surface-2);background-image:linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%), linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%);background-position:0 0,8px 8px;background-size:16px 16px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.SD8qLW_imgShot{object-fit:contain;image-rendering:auto;max-width:100%;max-height:100%}.SD8qLW_imgStage[data-actual]{justify-content:flex-start;align-items:flex-start}.SD8qLW_imgStage[data-actual] .SD8qLW_imgShot{object-fit:none;max-width:none;max-height:none}.SD8qLW_imgCaption{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;display:flex}";
1142
+ const css = ".SD8qLW_card{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:3px 10px;font-size:12px;line-height:18px;transition:background .12s,border-color .12s;display:inline-flex}.SD8qLW_card:hover,.SD8qLW_card:focus-visible{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.SD8qLW_cardBranch{max-width:220px;color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-weight:550;display:inline-flex;overflow:hidden}.SD8qLW_cardBranchName{min-width:0;overflow:hidden}.SD8qLW_cardGlyph{opacity:.7;flex:none}.SD8qLW_cardDetached{background:var(--dsw-alias-state-warning-bg,#bb800926);color:var(--dsw-alias-state-warning-primary,#d29922);letter-spacing:.02em;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}.SD8qLW_cardWt{background:var(--dsw-alias-state-business-bg,#388bfd29);max-width:150px;color:var(--dsw-alias-state-business-primary,#58a6ff);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex;overflow:hidden}.SD8qLW_cardAhead,.SD8qLW_cardBehind{color:var(--dsw-alias-label-tertiary);font-size:11px}.SD8qLW_cardAhead{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardBehind{color:var(--dsw-alias-state-attention-primary,#d29922)}.SD8qLW_cardSep{background:var(--dsw-alias-border-l2);width:1px;height:14px}.SD8qLW_cardAdded{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardDeleted{color:var(--dsw-alias-state-error-primary)}.SD8qLW_cardFiles{color:var(--dsw-alias-label-tertiary)}.SD8qLW_overlay[data-gs-theme=github-dark]{--gs-bg:#0d1117;--gs-panel:#161b22;--gs-raise:#21262d;--gs-border:#30363d;--gs-border-soft:#21262d;--gs-fg:#e6edf3;--gs-fg-muted:#c9d1d9;--gs-fg-dim:#8b949e;--gs-fg-faint:#6e7681;--gs-fg-fainter:#484f58;--gs-accent:#58a6ff;--gs-accent-bg:#388bfd24;--gs-accent-border:#388bfd8c;--gs-add:#3fb950;--gs-del:#f85149;--gs-warn:#d29922;--gs-info:#79c0ff;--gs-add-bg:#2ea04329;--gs-del-bg:#f8514929;--gs-warn-bg:#bb800929;--gs-info-bg:#388bfd29;--gs-add-line:#12261e;--gs-del-line:#25181c;--gs-add-word:#1a4a29;--gs-del-word:#6b2b2b;--gs-add-num:#1c4428;--gs-del-num:#542426;--gs-hunk:#111d2e;--gs-hunk-num:#0c2d6b;--gs-neutral-bg:#6e76812e;--gs-backdrop:#01040999;--gs-shadow:#0104098c}.SD8qLW_overlay[data-gs-theme=github-light]{--gs-bg:#fff;--gs-panel:#f6f8fa;--gs-raise:#eaeef2;--gs-border:#d0d7de;--gs-border-soft:#eaeef2;--gs-fg:#1f2328;--gs-fg-muted:#32383f;--gs-fg-dim:#656d76;--gs-fg-faint:#8c959f;--gs-fg-fainter:#afb8c1;--gs-accent:#0969da;--gs-accent-bg:#0969da1a;--gs-accent-border:#0969da73;--gs-add:#1a7f37;--gs-del:#cf222e;--gs-warn:#9a6700;--gs-info:#0550ae;--gs-add-bg:#1a7f371f;--gs-del-bg:#cf222e1f;--gs-warn-bg:#9a67001f;--gs-info-bg:#0969da1f;--gs-add-line:#dafbe1;--gs-del-line:#ffebe9;--gs-add-word:#aceebb;--gs-del-word:#ffcecb;--gs-add-num:#aceebb;--gs-del-num:#ffcecb;--gs-hunk:#ddf4ff;--gs-hunk-num:#b6e3ff;--gs-neutral-bg:#6e76811f;--gs-backdrop:#1f232847;--gs-shadow:#1f232838}.SD8qLW_overlay[data-gs-theme=idea-dark]{--gs-bg:#1e1f22;--gs-panel:#2b2d30;--gs-raise:#393b40;--gs-border:#393b40;--gs-border-soft:#2b2d30;--gs-fg:#dfe1e5;--gs-fg-muted:#ced0d6;--gs-fg-dim:#9da0a8;--gs-fg-faint:#6f737a;--gs-fg-fainter:#4e5157;--gs-accent:#548af7;--gs-accent-bg:#548af729;--gs-accent-border:#548af78c;--gs-add:#5fad65;--gs-del:#e26e6e;--gs-warn:#f0a732;--gs-info:#3592c4;--gs-add-bg:#5fad6529;--gs-del-bg:#e26e6e29;--gs-warn-bg:#f0a73229;--gs-info-bg:#3592c429;--gs-add-line:#293c2e;--gs-del-line:#3d2b2b;--gs-add-word:#3d6640;--gs-del-word:#6b3838;--gs-hunk:#548af71a;--gs-neutral-bg:#9da0a82e;--gs-backdrop:#10111399;--gs-shadow:#00000080}.SD8qLW_overlay[data-gs-theme=idea-light]{--gs-bg:#fff;--gs-panel:#f7f8fa;--gs-raise:#ebecf0;--gs-border:#d3d5db;--gs-border-soft:#ebecf0;--gs-fg:#1e1f22;--gs-fg-muted:#3c3f44;--gs-fg-dim:#6c707e;--gs-fg-faint:#818594;--gs-fg-fainter:#a8adbd;--gs-accent:#3574f0;--gs-accent-bg:#3574f01a;--gs-accent-border:#3574f073;--gs-add:#398a4a;--gs-del:#cc4a4a;--gs-warn:#a8760b;--gs-info:#2b7fb8;--gs-add-bg:#398a4a1f;--gs-del-bg:#cc4a4a1f;--gs-warn-bg:#a8760b1f;--gs-info-bg:#2b7fb81f;--gs-add-line:#e6f5e9;--gs-del-line:#fbe9ea;--gs-add-word:#c2e5c9;--gs-del-word:#f5c9cc;--gs-hunk:#3574f012;--gs-neutral-bg:#6c707e1f;--gs-backdrop:#1e1f2242;--gs-shadow:#1e1f222e}.SD8qLW_overlay[data-gs-theme=vscode-dark]{--gs-bg:#1e1e1e;--gs-panel:#252526;--gs-raise:#2d2d30;--gs-border:#3e3e42;--gs-border-soft:#2d2d30;--gs-fg:#d4d4d4;--gs-fg-muted:#ccc;--gs-fg-dim:#9d9d9d;--gs-fg-faint:gray;--gs-fg-fainter:#5a5a5a;--gs-accent:#0098ff;--gs-accent-bg:#007acc3d;--gs-accent-border:#0098ff99;--gs-add:#89d185;--gs-del:#f14c4c;--gs-warn:#cca700;--gs-info:#75beff;--gs-add-bg:#89d1852e;--gs-del-bg:#f14c4c2e;--gs-warn-bg:#cca7002e;--gs-info-bg:#75beff2e;--gs-add-line:#9bb9552e;--gs-del-line:#ff000029;--gs-add-word:#9bb95566;--gs-del-word:#ff00005c;--gs-hunk:#007acc24;--gs-neutral-bg:#bebebe24;--gs-backdrop:#0000008c;--gs-shadow:#0009}.SD8qLW_overlay[data-gs-theme=vscode-light]{--gs-bg:#fff;--gs-panel:#f3f3f3;--gs-raise:#e8e8e8;--gs-border:#cecece;--gs-border-soft:#e8e8e8;--gs-fg:#1e1e1e;--gs-fg-muted:#333;--gs-fg-dim:#616161;--gs-fg-faint:#767676;--gs-fg-fainter:#a0a0a0;--gs-accent:#005fb8;--gs-accent-bg:#005fb81a;--gs-accent-border:#005fb873;--gs-add:#10793f;--gs-del:#b5200d;--gs-warn:#855b00;--gs-info:#005fb8;--gs-add-bg:#10793f1f;--gs-del-bg:#b5200d1f;--gs-warn-bg:#855b001f;--gs-info-bg:#005fb81f;--gs-add-line:#9bb95538;--gs-del-line:#ff000021;--gs-add-word:#9bb95573;--gs-del-word:#ff00004d;--gs-hunk:#005fb812;--gs-neutral-bg:#6161611f;--gs-backdrop:#00000040;--gs-shadow:#0000002e}.SD8qLW_overlay[data-gs-theme=cyberpunk-dark]{--gs-bg:#0b0417;--gs-panel:#14082a;--gs-raise:#1f0d3d;--gs-border:#3a1f6b;--gs-border-soft:#26124a;--gs-fg:#f0e6ff;--gs-fg-muted:#d5c2f5;--gs-fg-dim:#a98fd6;--gs-fg-faint:#7d64a8;--gs-fg-fainter:#56427a;--gs-accent:#00f0ff;--gs-on-accent:#0b0417;--gs-accent-bg:#00f0ff24;--gs-accent-border:#00f0ff80;--gs-add:#39ff88;--gs-del:#ff2e88;--gs-warn:#fc0;--gs-info:#00f0ff;--gs-add-bg:#39ff8824;--gs-del-bg:#ff2e8824;--gs-warn-bg:#ffcc0024;--gs-info-bg:#00f0ff24;--gs-add-line:#39ff881f;--gs-del-line:#ff2e881f;--gs-add-word:#39ff8857;--gs-del-word:#ff2e8857;--gs-hunk:#00f0ff1a;--gs-neutral-bg:#a98fd629;--gs-backdrop:#06020ead;--gs-shadow:#00f0ff24}.SD8qLW_overlay[data-gs-theme=cyberpunk-light]{--gs-bg:#fdfbff;--gs-panel:#f4eeff;--gs-raise:#e9dfff;--gs-border:#c9b3f0;--gs-border-soft:#e0d2f7;--gs-fg:#1a0b2e;--gs-fg-muted:#33195c;--gs-fg-dim:#6b4ba0;--gs-fg-faint:#8f74bd;--gs-fg-fainter:#b9a5d6;--gs-accent:#00a6b8;--gs-accent-bg:#00a6b81f;--gs-accent-border:#00a6b880;--gs-add:#00875a;--gs-del:#d6006e;--gs-warn:#b37a00;--gs-info:#00a6b8;--gs-add-bg:#00875a1f;--gs-del-bg:#d6006e1f;--gs-warn-bg:#b37a001f;--gs-info-bg:#00a6b81f;--gs-add-line:#00c88224;--gs-del-line:#ff2e881f;--gs-add-word:#00c88257;--gs-del-word:#ff2e884d;--gs-hunk:#00a6b814;--gs-neutral-bg:#6b4ba01f;--gs-backdrop:#1a0b2e47;--gs-shadow:#1a0b2e29}.SD8qLW_overlay[data-gs-theme=one-dark]{--gs-bg:#282c34;--gs-panel:#21252b;--gs-raise:#2c313a;--gs-border:#3e4451;--gs-border-soft:#2c313a;--gs-fg:#abb2bf;--gs-fg-muted:#b6bdca;--gs-fg-dim:#7f848e;--gs-fg-faint:#636d83;--gs-fg-fainter:#4b5263;--gs-accent:#61afef;--gs-accent-bg:#61afef24;--gs-accent-border:#61afef8c;--gs-add:#98c379;--gs-del:#e06c75;--gs-warn:#e5c07b;--gs-info:#56b6c2;--gs-add-bg:#98c37929;--gs-del-bg:#e06c7529;--gs-warn-bg:#e5c07b29;--gs-info-bg:#56b6c229;--gs-add-line:#98c37924;--gs-del-line:#e06c7524;--gs-add-word:#98c37961;--gs-del-word:#e06c7561;--gs-hunk:#61afef1a;--gs-neutral-bg:#7f848e2e;--gs-backdrop:#171a2199;--gs-shadow:#0f11158c}.SD8qLW_overlay[data-gs-theme=one-light]{--gs-bg:#fafafa;--gs-panel:#f0f0f0;--gs-raise:#e5e5e6;--gs-border:#d4d4d4;--gs-border-soft:#e5e5e6;--gs-fg:#383a42;--gs-fg-muted:#4a4c53;--gs-fg-dim:#696c77;--gs-fg-faint:#909196;--gs-fg-fainter:#b8b9bd;--gs-accent:#4078f2;--gs-accent-bg:#4078f21a;--gs-accent-border:#4078f273;--gs-add:#50a14f;--gs-del:#e45649;--gs-warn:#c18401;--gs-info:#0184bc;--gs-add-bg:#50a14f1f;--gs-del-bg:#e456491f;--gs-warn-bg:#c184011f;--gs-info-bg:#0184bc1f;--gs-add-line:#50a14f24;--gs-del-line:#e4564921;--gs-add-word:#50a14f57;--gs-del-word:#e4564952;--gs-hunk:#4078f212;--gs-neutral-bg:#696c771f;--gs-backdrop:#383a4242;--gs-shadow:#383a422e}.SD8qLW_overlay[data-gs-theme=solarized-dark]{--gs-bg:#002b36;--gs-panel:#073642;--gs-raise:#0a4553;--gs-border:#0f5666;--gs-border-soft:#073642;--gs-fg:#93a1a1;--gs-fg-muted:#839496;--gs-fg-dim:#657b83;--gs-fg-faint:#586e75;--gs-fg-fainter:#45636b;--gs-accent:#268bd2;--gs-accent-bg:#268bd229;--gs-accent-border:#268bd28c;--gs-add:#859900;--gs-del:#dc322f;--gs-warn:#b58900;--gs-info:#2aa198;--gs-add-bg:#85990033;--gs-del-bg:#dc322f2e;--gs-warn-bg:#b589002e;--gs-info-bg:#2aa1982e;--gs-add-line:#85990029;--gs-del-line:#dc322f26;--gs-add-word:#85990066;--gs-del-word:#dc322f61;--gs-hunk:#268bd21f;--gs-neutral-bg:#657b8333;--gs-backdrop:#00141a9e;--gs-shadow:#00141a8c}.SD8qLW_overlay[data-gs-theme=solarized-light]{--gs-bg:#fdf6e3;--gs-panel:#eee8d5;--gs-raise:#e3ddca;--gs-border:#d5cfbb;--gs-border-soft:#eee8d5;--gs-fg:#586e75;--gs-fg-muted:#657b83;--gs-fg-dim:#839496;--gs-fg-faint:#93a1a1;--gs-fg-fainter:#b5b0a0;--gs-accent:#268bd2;--gs-accent-bg:#268bd21f;--gs-accent-border:#268bd273;--gs-add:#6c7c00;--gs-del:#cb2825;--gs-warn:#9a7400;--gs-info:#21867f;--gs-add-bg:#8599002e;--gs-del-bg:#dc322f24;--gs-warn-bg:#b5890029;--gs-info-bg:#2aa19824;--gs-add-line:#85990029;--gs-del-line:#dc322f1f;--gs-add-word:#85990061;--gs-del-word:#dc322f4d;--gs-hunk:#268bd214;--gs-neutral-bg:#586e7524;--gs-backdrop:#586e7542;--gs-shadow:#586e7533}.SD8qLW_overlay[data-gs-theme=nord-dark]{--gs-bg:#2e3440;--gs-panel:#3b4252;--gs-raise:#434c5e;--gs-border:#4c566a;--gs-border-soft:#3b4252;--gs-fg:#eceff4;--gs-fg-muted:#d8dee9;--gs-fg-dim:#9aa5b8;--gs-fg-faint:#7b88a1;--gs-fg-fainter:#5d6a82;--gs-accent:#88c0d0;--gs-on-accent:#2e3440;--gs-accent-bg:#88c0d024;--gs-accent-border:#88c0d08c;--gs-add:#a3be8c;--gs-del:#bf616a;--gs-warn:#ebcb8b;--gs-info:#81a1c1;--gs-add-bg:#a3be8c29;--gs-del-bg:#bf616a2e;--gs-warn-bg:#ebcb8b29;--gs-info-bg:#81a1c129;--gs-add-line:#a3be8c24;--gs-del-line:#bf616a26;--gs-add-word:#a3be8c61;--gs-del-word:#bf616a66;--gs-hunk:#88c0d01a;--gs-neutral-bg:#9aa5b829;--gs-backdrop:#1d232d9e;--gs-shadow:#1419218c}.SD8qLW_overlay[data-gs-theme=nord-light]{--gs-bg:#eceff4;--gs-panel:#e5e9f0;--gs-raise:#d8dee9;--gs-border:#c3cbd8;--gs-border-soft:#dfe4ec;--gs-fg:#2e3440;--gs-fg-muted:#3b4252;--gs-fg-dim:#4c566a;--gs-fg-faint:#6b7689;--gs-fg-fainter:#9aa4b5;--gs-accent:#5e81ac;--gs-accent-bg:#5e81ac1f;--gs-accent-border:#5e81ac80;--gs-add:#5e7d47;--gs-del:#a5424c;--gs-warn:#97701f;--gs-info:#4c7a8c;--gs-add-bg:#5e7d4724;--gs-del-bg:#a5424c21;--gs-warn-bg:#97701f24;--gs-info-bg:#4c7a8c21;--gs-add-line:#5e7d4724;--gs-del-line:#a5424c1f;--gs-add-word:#5e7d4757;--gs-del-word:#a5424c52;--gs-hunk:#5e81ac17;--gs-neutral-bg:#4c566a21;--gs-backdrop:#2e344042;--gs-shadow:#2e34402e}.SD8qLW_overlay{--gs-inset:14px;--gs-h-control:28px;--gs-h-compact:24px;--gs-pad-control:0 12px;--gs-pad-compact:0 10px;--gs-on-accent:#fff;--gs-graph-0:#58a6ff;--gs-graph-1:#3fb950;--gs-graph-2:#d29922;--gs-graph-3:#bc8cff;--gs-graph-4:#f778ba;--gs-graph-5:#39c5cf;--gs-r-pill:999px;--gs-r-control:8px;--gs-r-surface:12px;--gs-r-drawer:14px;--gs-t-meta:11px;--gs-t-dense:12px;--gs-t-ui:13px;--gs-gutter:16px;--gs-gutter-pane:12px;z-index:1000;padding:var(--gs-inset);box-sizing:border-box;background:var(--gs-backdrop);justify-content:flex-end;align-items:stretch;gap:12px;animation:.16s ease-out SD8qLW_gsFade;display:flex;position:fixed;inset:0}.SD8qLW_drawer{box-sizing:border-box;width:min(1600px,94vw);height:100%;color:var(--gs-fg);background:var(--gs-bg);border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);box-shadow:0 24px 64px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);--gs-surface:var(--gs-bg);--gs-surface-2:var(--gs-panel);flex-direction:column;animation:.18s cubic-bezier(.22,1,.36,1) SD8qLW_gsSlide;display:flex;position:relative;overflow:hidden}.SD8qLW_drawer[data-gs-bg]{--gs-surface:color-mix(in srgb, var(--gs-bg) var(--gs-veil), transparent);--gs-surface-2:color-mix(in srgb, var(--gs-panel) var(--gs-veil), transparent)}.SD8qLW_drawer[data-gs-bg]:before{content:\"\";z-index:0;background-image:var(--gs-bg-image);filter:blur(var(--gs-bg-blur));pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}.SD8qLW_drawer>:not(.SD8qLW_resizer){z-index:1;position:relative}.SD8qLW_drawer>.SD8qLW_header{z-index:24}.SD8qLW_drawer>.SD8qLW_tabs{z-index:23}.SD8qLW_drawer>.SD8qLW_compareBar{z-index:22}.SD8qLW_drawer>.SD8qLW_syncBar{z-index:20}.SD8qLW_drawer>.SD8qLW_confirmScrim{z-index:40;position:absolute;inset:0}.SD8qLW_overlayMax{gap:0;padding:0}.SD8qLW_overlayMax .SD8qLW_drawer{border-width:0 0 0 1px;border-radius:0;flex:auto;width:auto;min-width:0}@keyframes SD8qLW_gsFade{0%{opacity:0}}@keyframes SD8qLW_gsSlide{0%{opacity:0;transform:translate(24px)}}.SD8qLW_resizer{z-index:30;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0;left:0}.SD8qLW_resizer:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:32px;transition:opacity .14s,height .14s}.SD8qLW_resizer:hover:after{opacity:.6}.SD8qLW_resizerActive:after{opacity:.9;height:56px}.SD8qLW_paneDivider{z-index:5;cursor:col-resize;touch-action:none;flex:none;justify-content:center;align-items:center;width:7px;display:flex;position:relative}.SD8qLW_paneDivider:before{content:\"\";background:var(--gs-border-soft);width:1px;position:absolute;top:0;bottom:0;left:3px}.SD8qLW_paneDivider:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:28px;transition:opacity .14s,height .14s;position:relative}.SD8qLW_paneDivider:hover:after{opacity:.6}.SD8qLW_paneDividerActive:after{opacity:.9;height:48px}.SD8qLW_paneDividerY{cursor:row-resize;width:auto;height:7px}.SD8qLW_paneDividerY:before{width:auto;height:1px;inset:3px 0 auto}.SD8qLW_paneDividerY:after{width:28px;height:3px;transition:opacity .14s,width .14s}.SD8qLW_paneDividerY.SD8qLW_paneDividerActive:after{width:48px;height:3px}.SD8qLW_header{padding:10px var(--gs-gutter);border-bottom:1px solid var(--gs-border);background:var(--gs-surface-2);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-ui);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.SD8qLW_headerLeft{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.SD8qLW_headerBranch{border:1px solid var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.SD8qLW_refButton.SD8qLW_headerPicker{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);max-width:420px;color:var(--gs-accent);font-weight:600}.SD8qLW_refButton.SD8qLW_headerPicker:hover{background:var(--gs-accent-bg);color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_elide{flex:0 auto;align-items:baseline;min-width:0;display:inline-flex}.SD8qLW_elideHead{white-space:nowrap;text-overflow:ellipsis;flex:0 999 auto;min-width:0;overflow:hidden}.SD8qLW_elideTail{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.SD8qLW_headerPathMain{color:var(--gs-fg-faint);font-size:var(--gs-t-meta)}.SD8qLW_headerPathMain .SD8qLW_elideTail{color:var(--gs-fg-dim)}.SD8qLW_headerViewRef{max-width:160px}.SD8qLW_headerView{background:var(--gs-neutral-bg);color:var(--gs-fg-muted);font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px}.SD8qLW_headerDetached{background:var(--gs-warn-bg);color:var(--gs-warn);font-size:var(--gs-t-meta);letter-spacing:.02em;border-radius:999px;padding:1px 8px}.SD8qLW_headerTotals{font-variant-numeric:tabular-nums}.SD8qLW_headerTotalsAdd{color:var(--gs-add);font-weight:600}.SD8qLW_headerTotalsDel{color:var(--gs-del);font-weight:600}.SD8qLW_headerTotalsDim{color:var(--gs-fg-dim);font-size:var(--gs-t-dense)}.SD8qLW_headerRight{flex:none;gap:8px;display:flex;position:relative}.SD8qLW_theme{display:inline-flex;position:relative}.SD8qLW_refPop.SD8qLW_settingsPop{width:320px;max-width:calc(100vw - 32px);max-height:min(560px,100vh - 120px);top:calc(100% + 6px);left:auto;right:0}.SD8qLW_themeRail{min-height:0;font-family:var(--dsw-font-ui,system-ui, sans-serif);flex-direction:column;flex:1;gap:14px;padding:12px 14px 16px;display:flex;overflow-y:auto}.SD8qLW_themeGroup{flex-direction:column;gap:6px;display:flex}.SD8qLW_themeLabel{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.SD8qLW_themeRowSplit{justify-content:space-between;align-items:center;gap:8px;display:flex}.SD8qLW_segmented{gap:6px;display:flex}.SD8qLW_segment{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;padding:4px;transition:background .12s,color .12s,border-color .12s;display:flex}.SD8qLW_segment:hover{background:var(--gs-raise);border-color:var(--gs-fg-fainter);color:var(--gs-fg)}.SD8qLW_segment:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_segmentChip{border-radius:calc(var(--gs-r-control) - 4px);border:1px solid #80808073;height:20px}.SD8qLW_chipLight{background:#fff}.SD8qLW_chipDark{background:#0b0b0d}.SD8qLW_chipSystem{background:linear-gradient(105deg,#fff 0 50%,#0b0b0d 50% 100%)}.SD8qLW_paletteRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.SD8qLW_paletteRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_swatch{border:1px solid var(--gs-border);border-radius:3px;flex:none;width:26px;height:12px;display:inline-flex;overflow:hidden}.SD8qLW_swatch span{flex:1}.SD8qLW_scopeRow{gap:6px;display:flex}.SD8qLW_scopeHint{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);overflow-wrap:anywhere}.SD8qLW_bgPreview{border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background-color:var(--gs-bg);background-position:50%;background-size:cover;height:64px}.SD8qLW_bgEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);justify-content:center;align-items:center;display:flex}.SD8qLW_sliderRow{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);align-items:center;gap:8px;display:flex}.SD8qLW_sliderRow input{min-width:0;accent-color:var(--gs-accent);flex:1}.SD8qLW_sliderValue{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px}.SD8qLW_cssArea{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:96px;max-height:220px;color:var(--gs-fg);font-family:var(--dsw-font-mono,ui-monospace, Consolas, monospace);font-size:var(--gs-t-meta);resize:vertical;outline:none;padding:7px 8px}.SD8qLW_cssArea:focus{border-color:var(--gs-accent-border)}.SD8qLW_themeNote{color:var(--gs-warn);font-size:var(--gs-t-meta)}.SD8qLW_themeDirty{color:var(--gs-accent);font-size:var(--gs-t-meta)}.SD8qLW_wtCurrent{color:var(--gs-add);font-size:8px;line-height:1}.SD8qLW_commitCopy{margin-left:auto}.SD8qLW_commitPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:min(380px,100vw - 24px);color:var(--gs-fg);box-shadow:0 16px 40px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);font-size:var(--gs-t-dense);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;position:fixed;overflow:auto}.SD8qLW_commitPopTop{align-items:center;gap:8px;display:flex}.SD8qLW_commitPopTop .SD8qLW_commitWhen{margin-right:auto}.SD8qLW_commitPopMeta{color:var(--gs-fg-muted);font-size:var(--gs-t-dense);flex-direction:column;gap:2px;line-height:16px;display:flex}.SD8qLW_commitFilter{min-width:120px;height:var(--gs-h-control);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 10px}.SD8qLW_commitFilter:focus{border-color:var(--gs-accent)}.SD8qLW_commitFilter::placeholder{color:var(--gs-fg-faint)}.SD8qLW_filterChips{border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.SD8qLW_filterChip{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-surface-2);max-width:220px;font-size:var(--gs-t-dense);align-items:center;gap:2px;line-height:18px;display:inline-flex}.SD8qLW_filterChipLabel{text-overflow:ellipsis;white-space:nowrap;color:var(--gs-fg-muted);padding:2px 4px 2px 8px;overflow:hidden}.SD8qLW_filterChipRemove{border:none;border-left:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;flex:none;padding:0 6px;line-height:20px}.SD8qLW_filterChipRemove:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_filterClear{color:var(--gs-fg-faint);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;padding:2px 4px;line-height:18px}.SD8qLW_filterClear:hover{color:var(--gs-fg)}.SD8qLW_funnel{display:inline-flex;position:relative}.SD8qLW_funnelButton.SD8qLW_funnelButtonActive{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:320px;max-width:calc(100vw - 24px);box-shadow:0 16px 40px var(--gs-shadow);font-size:var(--gs-t-dense);flex-direction:column;display:flex;position:fixed;overflow:hidden}.SD8qLW_funnelTabs{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-pill);background:var(--gs-bg);flex:none;gap:2px;margin:8px 8px 0;padding:2px;display:flex}.SD8qLW_funnelTab{border-radius:var(--gs-r-pill);min-width:0;height:22px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:0 8px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelTab:hover{color:var(--gs-fg)}.SD8qLW_funnelTab.SD8qLW_funnelTabActive{color:var(--gs-fg);background:var(--gs-raise);box-shadow:inset 0 0 0 1px var(--gs-border)}.SD8qLW_funnelTab:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelTabCount{color:var(--gs-accent);font-variant-numeric:tabular-nums;margin-left:4px}.SD8qLW_funnelPane{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:8px;display:flex}.SD8qLW_funnelCaption{color:var(--gs-fg-faint);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:11px;line-height:14px}.SD8qLW_funnelBounds{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);flex:none;gap:2px;padding:2px;display:flex}.SD8qLW_funnelBoundBtn{border-radius:calc(var(--gs-r-control) - 3px);min-width:0;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:1;padding:0 6px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelBoundBtn:hover{color:var(--gs-fg)}.SD8qLW_funnelBoundBtn.SD8qLW_funnelBoundBtnActive{color:var(--gs-accent);background:var(--gs-accent-bg);box-shadow:inset 0 0 0 1px var(--gs-accent-border)}.SD8qLW_cal{flex-direction:column;flex:none;gap:4px;display:flex}.SD8qLW_calHead{align-items:center;gap:4px;display:flex}.SD8qLW_calTitle{text-align:center;color:var(--gs-fg);font-size:var(--gs-t-dense);flex:1;line-height:20px}.SD8qLW_calNav{border-radius:var(--gs-r-control);width:22px;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:none;flex:none;padding:0}.SD8qLW_calNav:hover{color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_calWeek,.SD8qLW_calGrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.SD8qLW_calWeek span{text-align:center;color:var(--gs-fg-faint);font-size:11px;line-height:14px}.SD8qLW_calGrid button{border-radius:var(--gs-r-control);height:26px;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none}.SD8qLW_calGrid button:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calOut{color:var(--gs-fg-fainter)}.SD8qLW_calGrid button.SD8qLW_calToday{color:var(--gs-accent);font-weight:600}.SD8qLW_calGrid button.SD8qLW_calIn{background:var(--gs-accent-bg);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calMark{background:var(--gs-accent);color:var(--gs-on-accent);font-weight:600}.SD8qLW_funnelBoundRows{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.SD8qLW_funnelBoundRow{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);align-items:center;gap:4px;min-width:0;padding:3px 6px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelBoundKey{color:var(--gs-fg-faint);flex:none}.SD8qLW_funnelBoundVal{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.SD8qLW_funnelBoundValSet{color:var(--gs-fg)}.SD8qLW_funnelBoundClear{color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;line-height:1}.SD8qLW_funnelBoundClear:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_funnelSearch{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);height:26px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:0 8px}.SD8qLW_funnelSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_funnelSearch:focus{border-color:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent-bg)}.SD8qLW_funnelList{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gs-fg-fainter) transparent;flex-direction:column;flex:auto;gap:1px;min-height:0;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.SD8qLW_funnelList::-webkit-scrollbar{width:10px}.SD8qLW_funnelList::-webkit-scrollbar-track{background:0 0}.SD8qLW_funnelList::-webkit-scrollbar-thumb{background:var(--gs-fg-fainter);background-clip:content-box;border:3px solid #0000;border-radius:5px}.SD8qLW_funnelRow{box-sizing:border-box;border-radius:var(--gs-r-control);cursor:pointer;align-items:center;gap:6px;min-height:24px;padding:0 4px;display:flex}.SD8qLW_funnelRow:hover{background:var(--gs-raise)}.SD8qLW_funnelRow:has(input[type=checkbox]:checked) .SD8qLW_funnelName,.SD8qLW_funnelRow:has(input[type=checkbox]:indeterminate) .SD8qLW_funnelName{color:var(--gs-fg)}.SD8qLW_funnelRow input[type=checkbox]{-webkit-appearance:none;appearance:none;box-sizing:border-box;border:1px solid var(--gs-fg-fainter);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:14px;height:14px;margin:0;transition:background .12s,border-color .12s;position:relative}.SD8qLW_funnelRow input[type=checkbox]:hover{border-color:var(--gs-fg-dim)}.SD8qLW_funnelRow input[type=checkbox]:checked,.SD8qLW_funnelRow input[type=checkbox]:indeterminate{background:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelRow input[type=checkbox]:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelRow input[type=checkbox]:checked:after{content:\"\";border:solid var(--gs-on-accent);border-width:0 1.5px 1.5px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(42deg)}.SD8qLW_funnelRow input[type=checkbox]:indeterminate:after{content:\"\";background:var(--gs-on-accent);border-radius:1px;width:8px;height:2px;position:absolute;top:5px;left:2px}.SD8qLW_pathNode,.SD8qLW_pathChildren{flex-direction:column;display:flex}.SD8qLW_pathFileGlyph,.SD8qLW_pathDirGlyph{width:16px;height:16px;color:var(--gs-fg-dim);flex:none}.SD8qLW_funnelRow:hover .SD8qLW_pathFileGlyph,.SD8qLW_funnelRow:hover .SD8qLW_pathDirGlyph{color:var(--gs-fg-muted)}.SD8qLW_funnelName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-muted);flex:1;overflow:hidden}.SD8qLW_funnelCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.SD8qLW_funnelMore{color:var(--gs-fg-faint);padding:4px 6px}.SD8qLW_funnelChevron{width:14px;color:var(--gs-fg-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-family:inherit;font-size:9px;line-height:16px}.SD8qLW_funnelChevron:hover:not(:disabled){color:var(--gs-fg)}.SD8qLW_funnelChevron:disabled{cursor:default}.SD8qLW_funnelPresets{flex:none;gap:4px;display:flex}.SD8qLW_funnelPreset{flex:1 1 0;min-width:0;padding:0 6px}.SD8qLW_funnelPreset.SD8qLW_funnelPresetActive{color:var(--gs-accent);border-color:var(--gs-accent);background:var(--gs-accent-bg)}.SD8qLW_funnelFoot{border-top:1px solid var(--gs-border-soft);background:var(--gs-bg);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelFootCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums}.SD8qLW_funnelFootCountOn{color:var(--gs-fg-muted)}.SD8qLW_funnelFootClear{border-radius:var(--gs-r-control);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-family:inherit;font-size:11px;line-height:16px}.SD8qLW_funnelFootClear:hover:not(:disabled){color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_funnelFootClear:disabled{color:var(--gs-fg-fainter);cursor:default}.SD8qLW_commitPopSubject{color:var(--gs-fg);font-size:var(--gs-t-ui);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-weight:600;line-height:18px}.SD8qLW_commitPopBody{color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;margin:0;line-height:18px}.SD8qLW_tabs{padding:0 var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:24px;font-family:inherit;display:flex}.SD8qLW_tab{font-family:inherit;font-size:var(--gs-t-ui);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:8px 0 9px;font-weight:500;line-height:16px;position:relative}.SD8qLW_tab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_tabActive{color:var(--gs-accent)}.SD8qLW_tabActive:after{background:var(--gs-accent)}.SD8qLW_compareBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.SD8qLW_compareArrow{color:var(--gs-fg-faint)}.SD8qLW_refPicker{align-items:center;gap:6px;display:inline-flex;position:relative}.SD8qLW_refLabel{color:var(--gs-fg-faint);flex:none}.SD8qLW_refButton{justify-content:space-between;max-width:260px}.SD8qLW_refValue{min-width:0;overflow:hidden}.SD8qLW_refCaret{color:var(--gs-fg-faint);flex:none;font-size:9px}.SD8qLW_refPop{z-index:10;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-panel);width:300px;max-width:80vw;box-shadow:0 12px 32px var(--gs-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.SD8qLW_menuPop{width:auto;min-width:100%;padding:4px;left:auto;right:0}.SD8qLW_refSearch{border:0;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:7px 10px}.SD8qLW_refSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_refList{flex:1;max-height:280px;padding:4px;overflow-y:auto}.SD8qLW_refGroup{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 3px;font-weight:600}.SD8qLW_refRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.SD8qLW_refRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_refRowSpacer{flex:none;width:12px}.SD8qLW_refRowName{flex:auto;min-width:0;overflow:hidden}.SD8qLW_refEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-dense);padding:14px 10px}.SD8qLW_refFoot{border-top:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);flex:none;padding:5px 10px}.SD8qLW_commitsPane{box-sizing:border-box;width:26%;min-height:0;min-width:var(--gs-min-commits);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:340px;display:flex}.SD8qLW_paneHead{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_paneTitle{font-weight:600}.SD8qLW_commitsSentinel{flex:none;height:1px}.SD8qLW_commitsFoot{color:var(--gs-fg-faint);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-meta);text-align:center;flex:none;min-height:16px;padding:8px}.SD8qLW_commits{flex-direction:column;flex:1;min-height:0;padding:4px 6px 4px 0;display:flex;overflow-y:auto}.SD8qLW_commitLine{height:var(--gs-commit-row);flex:none;align-items:stretch;display:flex}.SD8qLW_graphCell{flex:none;display:block}.SD8qLW_commit{box-sizing:border-box;border-radius:var(--gs-r-surface);text-align:left;cursor:pointer;min-width:0;height:100%;font-family:inherit;font-size:var(--gs-t-dense);background:0 0;border:1px solid #0000;flex:auto;align-items:center;gap:10px;margin:1px 0;padding:4px 8px;transition:background .12s,border-color .12s;display:flex;overflow:hidden}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commit{flex-direction:column;justify-content:center;align-items:stretch;gap:2px}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commitSubjectRow{flex:none}.SD8qLW_commitTop{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.SD8qLW_commit:hover{background:var(--gs-raise)}.SD8qLW_commitActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg)}.SD8qLW_commitMeta{flex:none;align-items:baseline;gap:8px;display:flex}.SD8qLW_commitHash{color:var(--gs-info);flex:none}.SD8qLW_commitSubjectRow{flex:auto;align-items:baseline;gap:4px;min-width:0;display:flex}.SD8qLW_commitSubject{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gs-fg-muted);flex:0 auto;overflow:hidden}.SD8qLW_commitHasBody{color:var(--gs-fg-faint);letter-spacing:.04em;flex:none}.SD8qLW_commitRef{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--gs-accent-border);border-radius:var(--gs-r-pill);background:var(--gs-accent-bg);max-width:96px;color:var(--gs-accent);font-size:var(--gs-t-meta);flex:none;padding:0 5px;line-height:15px;overflow:hidden}.SD8qLW_commitWhen{color:var(--gs-fg-faint);flex:none}.SD8qLW_commitAuthor{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--gs-fg-dim);flex:none;overflow:hidden}.SD8qLW_body{z-index:1;flex:1;min-height:0;display:flex}.SD8qLW_body[data-stacked]{flex-direction:column}.SD8qLW_bodyRow{flex:1 1 0;min-width:0;min-height:0;display:flex}.SD8qLW_body[data-stacked] .SD8qLW_commitsPane{width:auto;min-width:0;max-width:none;height:34%;min-height:var(--gs-min-commits-tall);max-height:max(var(--gs-min-commits-tall), calc(100% - var(--gs-min-stacked-lower)));flex:none}.SD8qLW_treeCol{box-sizing:border-box;width:28%;min-height:0;min-width:var(--gs-min-tree);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:400px;display:flex}.SD8qLW_treeWrap{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.SD8qLW_treeTools{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px;display:flex}.SD8qLW_treeActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.SD8qLW_treeLead{align-items:center;gap:4px;min-width:0;display:flex}.SD8qLW_treeLabel{white-space:nowrap;color:var(--gs-fg-dim);font-size:var(--gs-t-dense);flex:none}.SD8qLW_treeFilter{padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex:none;align-items:center;display:flex;position:relative}.SD8qLW_treeFilterInput{min-width:0;height:var(--gs-h-compact);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 24px 0 8px}.SD8qLW_treeFilterInput:focus{border-color:var(--gs-accent)}.SD8qLW_treeFilterInput::placeholder{color:var(--gs-fg-faint)}.SD8qLW_treeFilterClear{right:calc(var(--gs-gutter-pane) + 6px);border-radius:var(--gs-r-pill);width:16px;height:16px;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute}.SD8qLW_treeFilterClear:hover{color:var(--gs-fg)}.SD8qLW_tree{flex:1;min-height:0;margin:0;padding:6px 0 16px;list-style:none;overflow:auto}.SD8qLW_treeEmpty{min-height:0;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);flex:1;justify-content:center;align-items:center;display:flex}.SD8qLW_treeSub{margin:0;padding:0;list-style:none;position:relative}.SD8qLW_treeSub:before{content:\"\";top:0;bottom:0;left:var(--gs-rail,0);background:var(--gs-border-soft);width:1px;position:absolute}.SD8qLW_treeDirLi{position:relative}.SD8qLW_treeDir{box-sizing:border-box;width:100%;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:600;display:flex}.SD8qLW_treeDir:hover{background:var(--gs-panel);color:var(--gs-fg-muted)}.SD8qLW_treeDirActive{color:var(--gs-fg-muted)}.SD8qLW_chevron{width:10px;color:var(--gs-fg-fainter);font-size:var(--gs-t-meta);flex:none;transition:transform .12s;display:inline-block}.SD8qLW_chevronOpen{transform:rotate(90deg)}.SD8qLW_treeDirName{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_treeDirCount{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);border-radius:999px;flex:none;padding:0 6px;font-weight:600;line-height:16px}.SD8qLW_treeDirCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_file{box-sizing:border-box;width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 14px;display:flex}.SD8qLW_file:hover{background:var(--gs-panel)}.SD8qLW_fileActive{background:var(--gs-panel);border-left-color:var(--gs-accent);color:var(--gs-fg)}.SD8qLW_fileStatus{width:18px;height:18px;font-weight:700;font-size:var(--gs-t-meta);border-radius:5px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.SD8qLW_stAdded,.SD8qLW_stUntracked{color:var(--gs-add);background:var(--gs-add-bg)}.SD8qLW_stDeleted{color:var(--gs-del);background:var(--gs-del-bg)}.SD8qLW_stModified{color:var(--gs-warn);background:var(--gs-warn-bg)}.SD8qLW_stRenamed{color:var(--gs-info);background:var(--gs-info-bg)}.SD8qLW_filePath{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_fileBinary{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);letter-spacing:.06em;border-radius:4px;flex:none;padding:0 5px;font-size:9px;font-weight:700}.SD8qLW_fileCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fileCountAdd{color:var(--gs-add)}.SD8qLW_fileCountDel{color:var(--gs-del)}.SD8qLW_diffPane{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;display:flex;overflow:auto}.SD8qLW_diffWrap{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.SD8qLW_diffScroll{outline:none;flex:1 1 0;min-height:0;overflow:auto}.SD8qLW_diffNav{border-bottom:1px solid var(--gs-border-soft);flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:3px 12px 3px 0;display:flex}.SD8qLW_diffNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_diffPre{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;flex-direction:column;margin:0;padding:8px 0 16px;font-weight:400;line-height:20px;display:flex}.SD8qLW_renameLine{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_renameLine code{color:var(--gs-fg)}.SD8qLW_line{white-space:nowrap;align-items:stretch;width:max-content;min-width:100%;min-height:20px;line-height:20px;display:flex}.SD8qLW_lnOld,.SD8qLW_lnNew{box-sizing:border-box;text-align:right;width:3.2em;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;flex:none;padding:0 8px}.SD8qLW_line:hover .SD8qLW_lnOld,.SD8qLW_line:hover .SD8qLW_lnNew{color:var(--gs-fg-dim)}.SD8qLW_gutter{text-align:center;user-select:none;flex:none;width:1.4em}.SD8qLW_code{white-space:pre;flex:1 0 auto;padding:0 16px 0 10px}.SD8qLW_lineAdd{background:var(--gs-add-line)}.SD8qLW_lineDel{background:var(--gs-del-line)}.SD8qLW_lineAdd .SD8qLW_lnOld,.SD8qLW_lineAdd .SD8qLW_lnNew,.SD8qLW_lineAdd .SD8qLW_gutter{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_lineDel .SD8qLW_lnOld,.SD8qLW_lineDel .SD8qLW_lnNew,.SD8qLW_lineDel .SD8qLW_gutter{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_lineContext{color:var(--gs-fg-muted)}.SD8qLW_lineHunk{background:var(--gs-hunk)}.SD8qLW_lineHunk .SD8qLW_code{color:var(--gs-fg-dim)}.SD8qLW_lineHunk .SD8qLW_lnOld,.SD8qLW_lineHunk .SD8qLW_lnNew,.SD8qLW_lineHunk .SD8qLW_gutter{background:var(--gs-hunk-num,var(--gs-hunk))}.SD8qLW_signAdd{color:var(--gs-add)}.SD8qLW_signDel{color:var(--gs-del)}.SD8qLW_wordAdd{background:var(--gs-add-word);border-radius:2px}.SD8qLW_wordDel{background:var(--gs-del-word);border-radius:2px}.SD8qLW_sidePane{flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.SD8qLW_sideScroll{flex:1 1 0;min-height:0;overflow:hidden auto}.SD8qLW_sideCols{align-items:stretch;min-height:100%;display:flex}.SD8qLW_sideCol{flex:none;min-width:0;overflow-x:auto}.SD8qLW_sideColRight{flex:1 1 0}.SD8qLW_sideColGrid{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;grid-template-columns:3.2em 1fr;align-content:start;padding:8px 0 16px;font-weight:400;line-height:20px;display:grid}.SD8qLW_sideColGridBlame{grid-template-columns:13em 3.2em 1fr}.SD8qLW_blameCell{box-sizing:border-box;border-right:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:pre;text-overflow:ellipsis;user-select:none;padding:0 8px 0 10px;overflow:hidden}.SD8qLW_sideTabs{z-index:5;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:16px;padding:6px 16px 0;display:flex}.SD8qLW_sideTab{font-family:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:2px 0 5px;font-weight:500;line-height:16px;position:relative}.SD8qLW_sideTab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_sideTabActive{color:var(--gs-accent)}.SD8qLW_sideTabActive:after{background:var(--gs-accent)}.SD8qLW_sideNotice{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_sideNum{box-sizing:border-box;text-align:right;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;padding:0 8px}.SD8qLW_sideNumAdd{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_sideNumDel{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_sideCode{white-space:pre;min-height:20px;padding:0 16px 0 10px}.SD8qLW_sideCodeSame{color:var(--gs-fg-muted)}.SD8qLW_sideCodeAdd{background:var(--gs-add-line)}.SD8qLW_sideCodeDel{background:var(--gs-del-line)}.SD8qLW_sideCellBlock{position:relative}.SD8qLW_sideBlockHot{outline:1px solid var(--gs-accent);outline-offset:-1px}.SD8qLW_blockBar{z-index:4;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-surface-2,var(--gs-bg));box-shadow:0 4px 14px var(--gs-shadow);white-space:nowrap;gap:4px;padding:2px;display:flex;position:absolute;top:-21px;left:0}.SD8qLW_blockBtn{border:1px solid var(--gs-border);border-radius:var(--gs-r-pill);background:var(--gs-bg);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;padding:0 8px;line-height:16px}.SD8qLW_blockBtn:hover:not(:disabled){color:var(--gs-fg);border-color:var(--gs-accent)}.SD8qLW_blockBtn:disabled{opacity:.45;cursor:default}.SD8qLW_blockBtnDanger{color:var(--gs-del);border-color:var(--gs-del-bg,var(--gs-border))}.SD8qLW_blockBtnDanger:hover:not(:disabled){color:var(--gs-del);border-color:var(--gs-del)}.SD8qLW_sideArmable{cursor:text}.SD8qLW_cmHost{position:relative}.SD8qLW_cmHost[data-editable]:before{content:\"\";background:var(--gs-accent);opacity:.32;pointer-events:none;border-radius:1px;width:2px;transition:opacity .14s;position:absolute;top:0;bottom:0;left:0}.SD8qLW_cmHost[data-editable]:focus-within:before{opacity:1}.SD8qLW_sideNav{align-items:center;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_sideNavCount{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:nowrap}.SD8qLW_sideActions{align-items:flex-start;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideSaveReady{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_sideBanner{border-bottom:1px solid var(--gs-border-soft);background:var(--gs-del-bg,transparent);color:var(--gs-del);font-size:var(--gs-t-dense);flex-direction:column;flex:none;gap:6px;padding:8px 16px;display:flex}.SD8qLW_sideBannerTitle{font-weight:600}.SD8qLW_sideBannerActs{gap:4px;display:flex}.SD8qLW_sideEditCell{position:relative}.SD8qLW_empty{color:var(--gs-fg-faint);font-size:var(--gs-t-ui);padding:32px 24px}.SD8qLW_syncBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);font-size:var(--gs-t-dense);color:var(--gs-fg-dim);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_syncUpstream{white-space:nowrap;text-overflow:ellipsis;max-width:260px;color:var(--gs-fg-muted);font-variant-numeric:tabular-nums;overflow:hidden}.SD8qLW_syncLevel{color:var(--gs-fg-faint)}.SD8qLW_syncSpacer{flex:auto}.SD8qLW_btn:disabled,.SD8qLW_treeIcon:disabled,.SD8qLW_miniBtn:disabled,.SD8qLW_refButton:disabled,.SD8qLW_funnelButton:disabled{opacity:.45;cursor:default}.SD8qLW_btn[data-quiet]:disabled,.SD8qLW_refButton[data-quiet]:disabled{opacity:1}.SD8qLW_opBanner{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;flex:none;line-height:18px}.SD8qLW_opBannerOk{background:var(--gs-add-bg);color:var(--gs-add)}.SD8qLW_opBannerBad{background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_fileLi{align-items:stretch;display:flex}.SD8qLW_fileLi .SD8qLW_file{flex:auto;min-width:0}.SD8qLW_fileDiscard{width:22px;color:var(--gs-fg-faint);opacity:0;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:flex}.SD8qLW_fileLi:hover .SD8qLW_fileDiscard,.SD8qLW_fileDiscard:focus-visible{opacity:1}.SD8qLW_fileDiscard:hover{color:var(--gs-del)}.SD8qLW_fileDiscard:focus-visible{outline:2px solid var(--gs-accent);outline-offset:-2px;border-radius:var(--gs-r-control)}.SD8qLW_treeRow{align-items:stretch;display:flex}.SD8qLW_treeRow .SD8qLW_treeDir{flex:auto;min-width:0}.SD8qLW_checkBox{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:22px;padding:0;display:flex}.SD8qLW_checkMark{box-sizing:border-box;border:1px solid var(--gs-fg-faint);background:var(--gs-bg);color:#0000;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;transition:background .12s,border-color .12s;display:flex}.SD8qLW_checkBox:hover .SD8qLW_checkMark{border-color:var(--gs-accent)}.SD8qLW_checkBox:focus-visible{outline:none}.SD8qLW_checkBox:focus-visible .SD8qLW_checkMark{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_checkMarkOn,.SD8qLW_checkMarkPartial{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent)}.SD8qLW_commitBox{padding:8px var(--gs-gutter-pane) 10px;border-top:1px solid var(--gs-border);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:6px;display:flex}.SD8qLW_commitMessage{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:46px;max-height:160px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);resize:vertical;outline:none;padding:6px 8px;line-height:18px}.SD8qLW_commitMessage:focus{border-color:var(--gs-accent-border)}.SD8qLW_commitMessage::placeholder{color:var(--gs-fg-faint)}.SD8qLW_commitRow{align-items:center;gap:8px;display:flex}.SD8qLW_commitAmend{color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:pointer;align-items:center;gap:4px;display:inline-flex}.SD8qLW_commitAmend input{accent-color:var(--gs-accent);cursor:pointer}.SD8qLW_commitStaged{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin-left:auto}.SD8qLW_commitLead{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin:0;line-height:15px}.SD8qLW_commitBtn{box-sizing:border-box;min-width:92px;height:var(--gs-h-control);border-radius:var(--gs-r-control);background:var(--gs-accent);color:var(--gs-on-accent);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;line-height:1;transition:filter .12s,opacity .12s;display:inline-flex}.SD8qLW_commitBtn:hover:not(:disabled){filter:brightness(1.1)}.SD8qLW_commitBtn:focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px}.SD8qLW_commitBtn:disabled{background:var(--gs-raise);color:var(--gs-fg-faint);border-color:var(--gs-border);cursor:default}.SD8qLW_btn,.SD8qLW_miniBtn,.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_scopeBtn,.SD8qLW_refButton,.SD8qLW_funnelButton,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{box-sizing:border-box;height:var(--gs-h-control);padding:var(--gs-pad-control);border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.SD8qLW_btn:hover,.SD8qLW_miniBtn:hover,.SD8qLW_treeIcon:hover,.SD8qLW_commitCopy:hover,.SD8qLW_scopeBtn:hover,.SD8qLW_refButton:hover,.SD8qLW_funnelButton:hover,.SD8qLW_funnelPreset:hover,.SD8qLW_layoutButton:hover{background:var(--gs-raise);color:var(--gs-fg);border-color:var(--gs-fg-fainter)}.SD8qLW_btn:focus-visible,.SD8qLW_miniBtn:focus-visible,.SD8qLW_treeIcon:focus-visible,.SD8qLW_commitCopy:focus-visible,.SD8qLW_scopeBtn:focus-visible,.SD8qLW_refButton:focus-visible,.SD8qLW_funnelPreset:focus-visible,.SD8qLW_layoutButton:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_btn,.SD8qLW_refButton{border-radius:var(--gs-r-pill)}.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{height:var(--gs-h-compact);padding:var(--gs-pad-compact);font-size:var(--gs-t-dense)}.SD8qLW_treeIcon{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutSwitch{flex:none;gap:2px;margin-left:auto;display:inline-flex}.SD8qLW_layoutButton{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutButton.SD8qLW_layoutButtonOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_layoutGlyph{display:block}.SD8qLW_treeIcon.SD8qLW_treeIconOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_treeIconGlyph{font-size:var(--gs-t-meta);line-height:1;display:block}.SD8qLW_treeIconDown{transform:rotate(90deg)}.SD8qLW_scopeBtn{flex:1 1 0}.SD8qLW_scopeBtnActive,.SD8qLW_miniBtnPrimary,.SD8qLW_segmentActive,.SD8qLW_refRowActive,.SD8qLW_paletteRowActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);font-weight:600}.SD8qLW_btnIcon{width:var(--gs-h-control);padding:0}.SD8qLW_btnIcon svg{display:block}.SD8qLW_btnClose:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_btnBehind{border-color:var(--gs-warn);background:var(--gs-warn-bg);color:var(--gs-warn);font-weight:600}.SD8qLW_btnBehind:hover:not(:disabled){background:var(--gs-warn-bg);color:var(--gs-warn);border-color:var(--gs-warn)}.SD8qLW_btnAhead{border-color:var(--gs-add);background:var(--gs-add-bg);color:var(--gs-add);font-weight:600}.SD8qLW_btnAhead:hover:not(:disabled){background:var(--gs-add-bg);color:var(--gs-add);border-color:var(--gs-add)}.SD8qLW_btnPrimary{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btnPrimary:hover:not(:disabled){background:var(--gs-accent);color:var(--gs-on-accent,#fff);border-color:var(--gs-accent)}.SD8qLW_btnCount{font-variant-numeric:tabular-nums;opacity:.85;border-left:1px solid;margin-left:1px;padding-left:6px}.SD8qLW_pullGroup{flex:none;align-items:center;display:inline-flex}.SD8qLW_pullGroup>.SD8qLW_refPicker>.SD8qLW_refButton{border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0}.SD8qLW_pullGroup>.SD8qLW_btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.SD8qLW_drawer{scrollbar-width:thin;scrollbar-color:var(--gs-border) transparent}.SD8qLW_drawer ::-webkit-scrollbar{width:10px;height:10px}.SD8qLW_drawer ::-webkit-scrollbar-track,.SD8qLW_drawer ::-webkit-scrollbar-corner{background:0 0}.SD8qLW_drawer ::-webkit-scrollbar-thumb{background:var(--gs-border);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.SD8qLW_drawer ::-webkit-scrollbar-thumb:hover{background:var(--gs-fg-faint);background-clip:padding-box}.SD8qLW_commitRefMore{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:default;flex:none;padding:0 5px;line-height:15px}.SD8qLW_confirmScrim{background:var(--gs-backdrop);justify-content:center;align-items:center;padding:24px;animation:.12s ease-out SD8qLW_gsFade;display:flex}.SD8qLW_confirmBox{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);background:var(--gs-bg);width:min(440px,100%);box-shadow:0 18px 48px var(--gs-shadow);flex-direction:column;gap:10px;padding:18px;display:flex}.SD8qLW_confirmTitle{color:var(--gs-fg);font-size:var(--gs-t-ui);font-weight:600}.SD8qLW_confirmBody{color:var(--gs-fg-dim);font-size:var(--gs-t-dense);overflow-wrap:anywhere;line-height:1.55}.SD8qLW_confirmActions{flex-direction:row-reverse;gap:8px;margin-top:2px;display:flex}.SD8qLW_btn.SD8qLW_btnDanger{border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btn.SD8qLW_btnDanger:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff)}.SD8qLW_fbTree{min-width:var(--gs-min-tree);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:4px;padding:6px;display:flex;overflow:auto}.SD8qLW_fbSearch{box-sizing:border-box;width:100%;font:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg);background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:4px;flex:none;padding:4px 6px}.SD8qLW_fbSearch:focus{border-color:var(--gs-accent);outline:none}.SD8qLW_fbNote{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);flex:none;padding:2px 4px}.SD8qLW_fbList{margin:0;padding:0;list-style:none}.SD8qLW_fbRow{width:100%;font:inherit;font-size:var(--gs-t-dense);color:var(--gs-fg-dim);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:3px;align-items:center;gap:4px;padding:2px 6px 2px 4px;display:flex;overflow:hidden}.SD8qLW_fbRow:hover{background:var(--gs-hover)}.SD8qLW_fbRowActive{background:var(--gs-selected);color:var(--gs-fg)}.SD8qLW_fbDirName,.SD8qLW_fbFileName{text-overflow:ellipsis;overflow:hidden}.SD8qLW_fbMain{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.SD8qLW_fbHeader{border-bottom:1px solid var(--gs-border);flex:none;align-items:flex-start;gap:8px;padding:4px 8px 0;display:flex}.SD8qLW_fbPath{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;overflow:hidden}.SD8qLW_fbBody{flex:1 1 0;min-height:0;padding:4px 8px;overflow:auto}.SD8qLW_fbCommit{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);background:var(--gs-surface-2);border-bottom:1px solid var(--gs-border);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.SD8qLW_fbCommitLine{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitWho{color:var(--gs-fg);flex:none;font-weight:600}.SD8qLW_fbCommitWhen{font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitHash{color:var(--gs-fg-faint);flex:none;font-family:inherit}.SD8qLW_fbCommitWhat{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg);flex:auto;overflow:hidden}.SD8qLW_fbCommitHint{color:var(--gs-fg-faint)}.SD8qLW_fbMore{font-size:var(--gs-t-meta);color:var(--gs-fg-faint);padding:2px 6px 4px 4px;font-style:italic;display:block}.SD8qLW_imgPane{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.SD8qLW_imgStage{border-radius:var(--gs-r-control);background-color:var(--gs-surface-2);background-image:linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%), linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%);background-position:0 0,8px 8px;background-size:16px 16px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.SD8qLW_imgShot{object-fit:contain;image-rendering:auto;max-width:100%;max-height:100%}.SD8qLW_imgStage[data-actual]{justify-content:flex-start;align-items:flex-start}.SD8qLW_imgStage[data-actual] .SD8qLW_imgShot{object-fit:none;max-width:none;max-height:none}.SD8qLW_imgCaption{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;display:flex}";
1106
1143
  const tagId = "@young1lin/dsh-ui-gitworkbench/GitWorkbenchPanel.module.css";
1107
1144
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
1108
1145
  const tag = document.createElement("style");
@@ -1112,325 +1149,330 @@ window.__ModuleLoader__.load({
1112
1149
  document.head.appendChild(tag);
1113
1150
  }
1114
1151
  var GitWorkbenchPanel_module_css_default = {
1115
- "headerTotals": "SD8qLW_headerTotals",
1116
- "refButton": "SD8qLW_refButton",
1117
- "swatch": "SD8qLW_swatch",
1118
- "filterChip": "SD8qLW_filterChip",
1119
- "stUntracked": "SD8qLW_stUntracked",
1120
- "stDeleted": "SD8qLW_stDeleted",
1152
+ "treeLabel": "SD8qLW_treeLabel",
1121
1153
  "lineContext": "SD8qLW_lineContext",
1122
- "themeDirty": "SD8qLW_themeDirty",
1123
- "overlayMax": "SD8qLW_overlayMax",
1124
- "calTitle": "SD8qLW_calTitle",
1125
- "headerLeft": "SD8qLW_headerLeft",
1126
- "elideTail": "SD8qLW_elideTail",
1127
- "graphCell": "SD8qLW_graphCell",
1128
- "checkBox": "SD8qLW_checkBox",
1129
- "fbList": "SD8qLW_fbList",
1130
- "refRowName": "SD8qLW_refRowName",
1131
- "fileCountAdd": "SD8qLW_fileCountAdd",
1132
- "refEmpty": "SD8qLW_refEmpty",
1133
- "line": "SD8qLW_line",
1134
- "sideCols": "SD8qLW_sideCols",
1135
- "pullGroup": "SD8qLW_pullGroup",
1136
- "commitLine": "SD8qLW_commitLine",
1137
- "treeDirName": "SD8qLW_treeDirName",
1138
- "sideNotice": "SD8qLW_sideNotice",
1139
- "treeEmpty": "SD8qLW_treeEmpty",
1140
- "headerViewRef": "SD8qLW_headerViewRef",
1141
- "sideNumAdd": "SD8qLW_sideNumAdd",
1142
- "cardGlyph": "SD8qLW_cardGlyph",
1143
- "pathDirGlyph": "SD8qLW_pathDirGlyph",
1144
- "commitMessage": "SD8qLW_commitMessage",
1145
- "fbFileName": "SD8qLW_fbFileName",
1146
- "commitPopSubject": "SD8qLW_commitPopSubject",
1147
- "imgStage": "SD8qLW_imgStage",
1148
- "paletteRowActive": "SD8qLW_paletteRowActive",
1149
- "funnelBoundKey": "SD8qLW_funnelBoundKey",
1150
- "commitPopBody": "SD8qLW_commitPopBody",
1151
- "funnelCount": "SD8qLW_funnelCount",
1152
- "cardBranchName": "SD8qLW_cardBranchName",
1153
- "funnelRow": "SD8qLW_funnelRow",
1154
- "sideBannerActs": "SD8qLW_sideBannerActs",
1155
- "tabs": "SD8qLW_tabs",
1156
- "syncBar": "SD8qLW_syncBar",
1157
- "funnelBoundVal": "SD8qLW_funnelBoundVal",
1158
- "cssArea": "SD8qLW_cssArea",
1159
- "imgCaption": "SD8qLW_imgCaption",
1154
+ "filterChip": "SD8qLW_filterChip",
1155
+ "cardDeleted": "SD8qLW_cardDeleted",
1156
+ "commitSubjectRow": "SD8qLW_commitSubjectRow",
1157
+ "fbMain": "SD8qLW_fbMain",
1158
+ "chipLight": "SD8qLW_chipLight",
1160
1159
  "funnelTabActive": "SD8qLW_funnelTabActive",
1161
- "funnelList": "SD8qLW_funnelList",
1162
- "headerTotalsDim": "SD8qLW_headerTotalsDim",
1163
- "cardSep": "SD8qLW_cardSep",
1160
+ "funnelBoundBtn": "SD8qLW_funnelBoundBtn",
1161
+ "diffNav": "SD8qLW_diffNav",
1162
+ "fbCommit": "SD8qLW_fbCommit",
1164
1163
  "themeGroup": "SD8qLW_themeGroup",
1165
- "paneTitle": "SD8qLW_paneTitle",
1166
- "sideCol": "SD8qLW_sideCol",
1167
- "themeLabel": "SD8qLW_themeLabel",
1168
- "cal": "SD8qLW_cal",
1169
- "funnelCaption": "SD8qLW_funnelCaption",
1170
- "themeRowSplit": "SD8qLW_themeRowSplit",
1171
- "scopeBtnActive": "SD8qLW_scopeBtnActive",
1172
- "bgEmpty": "SD8qLW_bgEmpty",
1164
+ "overlay": "SD8qLW_overlay",
1165
+ "sideActions": "SD8qLW_sideActions",
1166
+ "filterChipRemove": "SD8qLW_filterChipRemove",
1167
+ "funnelRow": "SD8qLW_funnelRow",
1168
+ "cardFiles": "SD8qLW_cardFiles",
1169
+ "funnelMore": "SD8qLW_funnelMore",
1170
+ "refPicker": "SD8qLW_refPicker",
1171
+ "calNav": "SD8qLW_calNav",
1172
+ "btnClose": "SD8qLW_btnClose",
1173
+ "pathDirGlyph": "SD8qLW_pathDirGlyph",
1174
+ "menuPop": "SD8qLW_menuPop",
1175
+ "treeIconGlyph": "SD8qLW_treeIconGlyph",
1176
+ "paneDividerY": "SD8qLW_paneDividerY",
1177
+ "gutter": "SD8qLW_gutter",
1178
+ "headerLeft": "SD8qLW_headerLeft",
1179
+ "signDel": "SD8qLW_signDel",
1180
+ "treeIconOn": "SD8qLW_treeIconOn",
1181
+ "fbRowActive": "SD8qLW_fbRowActive",
1182
+ "commitWhen": "SD8qLW_commitWhen",
1183
+ "fileCountAdd": "SD8qLW_fileCountAdd",
1184
+ "treeDirActive": "SD8qLW_treeDirActive",
1185
+ "wordAdd": "SD8qLW_wordAdd",
1186
+ "opBannerBad": "SD8qLW_opBannerBad",
1187
+ "fbNote": "SD8qLW_fbNote",
1188
+ "sideColGridBlame": "SD8qLW_sideColGridBlame",
1189
+ "funnelTabs": "SD8qLW_funnelTabs",
1190
+ "paneDividerActive": "SD8qLW_paneDividerActive",
1191
+ "sliderRow": "SD8qLW_sliderRow",
1192
+ "paletteRow": "SD8qLW_paletteRow",
1193
+ "funnelBounds": "SD8qLW_funnelBounds",
1194
+ "calIn": "SD8qLW_calIn",
1195
+ "commitHasBody": "SD8qLW_commitHasBody",
1196
+ "treeLead": "SD8qLW_treeLead",
1173
1197
  "commitPop": "SD8qLW_commitPop",
1174
1198
  "treeDirCounts": "SD8qLW_treeDirCounts",
1175
- "tree": "SD8qLW_tree",
1176
- "commitHash": "SD8qLW_commitHash",
1177
- "fileCountDel": "SD8qLW_fileCountDel",
1178
- "checkMarkPartial": "SD8qLW_checkMarkPartial",
1179
- "file": "SD8qLW_file",
1180
- "btnIcon": "SD8qLW_btnIcon",
1181
- "headerPathMain": "SD8qLW_headerPathMain",
1182
- "commitWhen": "SD8qLW_commitWhen",
1183
- "diffPre": "SD8qLW_diffPre",
1184
- "fileLi": "SD8qLW_fileLi",
1185
1199
  "lnNew": "SD8qLW_lnNew",
1200
+ "refRowSpacer": "SD8qLW_refRowSpacer",
1201
+ "fbList": "SD8qLW_fbList",
1202
+ "treeFilterClear": "SD8qLW_treeFilterClear",
1203
+ "gsSlide": "SD8qLW_gsSlide",
1204
+ "elideHead": "SD8qLW_elideHead",
1205
+ "syncLevel": "SD8qLW_syncLevel",
1206
+ "opBannerOk": "SD8qLW_opBannerOk",
1207
+ "blockBar": "SD8qLW_blockBar",
1208
+ "btnDanger": "SD8qLW_btnDanger",
1209
+ "imgShot": "SD8qLW_imgShot",
1210
+ "commitHash": "SD8qLW_commitHash",
1211
+ "drawer": "SD8qLW_drawer",
1186
1212
  "calOut": "SD8qLW_calOut",
1187
- "fileStatus": "SD8qLW_fileStatus",
1188
- "wordAdd": "SD8qLW_wordAdd",
1189
- "treeIconDown": "SD8qLW_treeIconDown",
1190
- "chipLight": "SD8qLW_chipLight",
1191
- "commitRefMore": "SD8qLW_commitRefMore",
1192
- "overlay": "SD8qLW_overlay",
1193
1213
  "treeTools": "SD8qLW_treeTools",
1194
- "stAdded": "SD8qLW_stAdded",
1195
- "chipSystem": "SD8qLW_chipSystem",
1214
+ "sideCols": "SD8qLW_sideCols",
1215
+ "fileCounts": "SD8qLW_fileCounts",
1216
+ "headerTotalsAdd": "SD8qLW_headerTotalsAdd",
1217
+ "headerTotalsDim": "SD8qLW_headerTotalsDim",
1218
+ "headerPicker": "SD8qLW_headerPicker",
1219
+ "chevron": "SD8qLW_chevron",
1220
+ "stDeleted": "SD8qLW_stDeleted",
1196
1221
  "scopeRow": "SD8qLW_scopeRow",
1197
- "commitActive": "SD8qLW_commitActive",
1198
- "signAdd": "SD8qLW_signAdd",
1199
- "btnBehind": "SD8qLW_btnBehind",
1200
- "fbCommitLine": "SD8qLW_fbCommitLine",
1201
- "settingsPop": "SD8qLW_settingsPop",
1202
- "diffNav": "SD8qLW_diffNav",
1203
- "fbRowActive": "SD8qLW_fbRowActive",
1204
- "segment": "SD8qLW_segment",
1205
- "wordDel": "SD8qLW_wordDel",
1206
- "sideNav": "SD8qLW_sideNav",
1207
- "empty": "SD8qLW_empty",
1208
- "funnelButtonActive": "SD8qLW_funnelButtonActive",
1209
- "refRow": "SD8qLW_refRow",
1210
- "refPop": "SD8qLW_refPop",
1211
- "sliderValue": "SD8qLW_sliderValue",
1222
+ "cardGlyph": "SD8qLW_cardGlyph",
1223
+ "funnelCount": "SD8qLW_funnelCount",
1224
+ "commitRef": "SD8qLW_commitRef",
1225
+ "chevronOpen": "SD8qLW_chevronOpen",
1226
+ "btnIcon": "SD8qLW_btnIcon",
1227
+ "sideCol": "SD8qLW_sideCol",
1228
+ "sideTabs": "SD8qLW_sideTabs",
1229
+ "stRenamed": "SD8qLW_stRenamed",
1230
+ "refButton": "SD8qLW_refButton",
1231
+ "sideBlockHot": "SD8qLW_sideBlockHot",
1232
+ "headerRight": "SD8qLW_headerRight",
1233
+ "commitMeta": "SD8qLW_commitMeta",
1212
1234
  "treeFilterInput": "SD8qLW_treeFilterInput",
1235
+ "cardSep": "SD8qLW_cardSep",
1236
+ "tabs": "SD8qLW_tabs",
1237
+ "filePath": "SD8qLW_filePath",
1238
+ "scopeBtn": "SD8qLW_scopeBtn",
1213
1239
  "funnelFootClear": "SD8qLW_funnelFootClear",
1214
- "headerRight": "SD8qLW_headerRight",
1215
- "treeLead": "SD8qLW_treeLead",
1216
- "treeRow": "SD8qLW_treeRow",
1217
- "treeIconOn": "SD8qLW_treeIconOn",
1218
- "btnAhead": "SD8qLW_btnAhead",
1219
- "filterChips": "SD8qLW_filterChips",
1220
- "fbDirName": "SD8qLW_fbDirName",
1221
- "sideColGrid": "SD8qLW_sideColGrid",
1222
- "treeActions": "SD8qLW_treeActions",
1223
- "sideActions": "SD8qLW_sideActions",
1224
- "sideNum": "SD8qLW_sideNum",
1225
- "miniBtnPrimary": "SD8qLW_miniBtnPrimary",
1226
- "headerTotalsAdd": "SD8qLW_headerTotalsAdd",
1227
- "fbCommitHash": "SD8qLW_fbCommitHash",
1228
- "syncLevel": "SD8qLW_syncLevel",
1229
- "blockBtn": "SD8qLW_blockBtn",
1230
- "calNav": "SD8qLW_calNav",
1240
+ "imgStage": "SD8qLW_imgStage",
1241
+ "sideTabActive": "SD8qLW_sideTabActive",
1242
+ "btnBehind": "SD8qLW_btnBehind",
1243
+ "refPop": "SD8qLW_refPop",
1244
+ "commitPopSubject": "SD8qLW_commitPopSubject",
1245
+ "file": "SD8qLW_file",
1246
+ "cardDetached": "SD8qLW_cardDetached",
1247
+ "lineAdd": "SD8qLW_lineAdd",
1248
+ "commitLead": "SD8qLW_commitLead",
1249
+ "funnelBoundRows": "SD8qLW_funnelBoundRows",
1231
1250
  "bgPreview": "SD8qLW_bgPreview",
1232
- "funnelPreset": "SD8qLW_funnelPreset",
1233
- "commitSubjectRow": "SD8qLW_commitSubjectRow",
1251
+ "syncUpstream": "SD8qLW_syncUpstream",
1252
+ "confirmBox": "SD8qLW_confirmBox",
1253
+ "fbCommitWho": "SD8qLW_fbCommitWho",
1254
+ "refList": "SD8qLW_refList",
1255
+ "gsFade": "SD8qLW_gsFade",
1256
+ "funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
1257
+ "treeRow": "SD8qLW_treeRow",
1258
+ "btnPrimary": "SD8qLW_btnPrimary",
1259
+ "fbSearch": "SD8qLW_fbSearch",
1260
+ "pathChildren": "SD8qLW_pathChildren",
1234
1261
  "cardBranch": "SD8qLW_cardBranch",
1235
- "sideSaveReady": "SD8qLW_sideSaveReady",
1236
- "confirmScrim": "SD8qLW_confirmScrim",
1237
- "refValue": "SD8qLW_refValue",
1238
- "refPicker": "SD8qLW_refPicker",
1239
- "refFoot": "SD8qLW_refFoot",
1240
- "fbMain": "SD8qLW_fbMain",
1241
- "fbCommitWhen": "SD8qLW_fbCommitWhen",
1242
- "sideCodeSame": "SD8qLW_sideCodeSame",
1243
- "treeDirLi": "SD8qLW_treeDirLi",
1244
- "confirmActions": "SD8qLW_confirmActions",
1245
- "btnDanger": "SD8qLW_btnDanger",
1246
- "imgShot": "SD8qLW_imgShot",
1247
- "funnelFootCountOn": "SD8qLW_funnelFootCountOn",
1248
- "diffWrap": "SD8qLW_diffWrap",
1249
- "funnelTabs": "SD8qLW_funnelTabs",
1250
- "sidePane": "SD8qLW_sidePane",
1251
- "sideCode": "SD8qLW_sideCode",
1252
- "calToday": "SD8qLW_calToday",
1253
- "filterChipRemove": "SD8qLW_filterChipRemove",
1254
- "commit": "SD8qLW_commit",
1255
- "sideTab": "SD8qLW_sideTab",
1256
- "lineDel": "SD8qLW_lineDel",
1257
- "treeSub": "SD8qLW_treeSub",
1258
- "segmentActive": "SD8qLW_segmentActive",
1259
- "pathNode": "SD8qLW_pathNode",
1260
- "commitsFoot": "SD8qLW_commitsFoot",
1261
- "cardAhead": "SD8qLW_cardAhead",
1262
+ "refSearch": "SD8qLW_refSearch",
1262
1263
  "commitAuthor": "SD8qLW_commitAuthor",
1263
- "tabActive": "SD8qLW_tabActive",
1264
- "opBannerOk": "SD8qLW_opBannerOk",
1265
- "sideBlockHot": "SD8qLW_sideBlockHot",
1266
- "confirmBox": "SD8qLW_confirmBox",
1267
- "syncSpacer": "SD8qLW_syncSpacer",
1268
- "sideCellBlock": "SD8qLW_sideCellBlock",
1269
- "sideNumDel": "SD8qLW_sideNumDel",
1264
+ "fileStatus": "SD8qLW_fileStatus",
1270
1265
  "sideBannerTitle": "SD8qLW_sideBannerTitle",
1271
- "diffPane": "SD8qLW_diffPane",
1272
- "cardFiles": "SD8qLW_cardFiles",
1273
- "renameLine": "SD8qLW_renameLine",
1274
- "btn": "SD8qLW_btn",
1275
- "treeDir": "SD8qLW_treeDir",
1276
- "funnelBoundValSet": "SD8qLW_funnelBoundValSet",
1277
- "resizerActive": "SD8qLW_resizerActive",
1278
- "themeNote": "SD8qLW_themeNote",
1279
- "funnelSearch": "SD8qLW_funnelSearch",
1280
- "treeIcon": "SD8qLW_treeIcon",
1281
- "fileActive": "SD8qLW_fileActive",
1282
- "sideNavCount": "SD8qLW_sideNavCount",
1283
- "fbHeader": "SD8qLW_fbHeader",
1284
- "commitBtn": "SD8qLW_commitBtn",
1285
- "fbMore": "SD8qLW_fbMore",
1266
+ "sideArmable": "SD8qLW_sideArmable",
1267
+ "fbCommitHash": "SD8qLW_fbCommitHash",
1268
+ "funnelChevron": "SD8qLW_funnelChevron",
1269
+ "layoutSwitch": "SD8qLW_layoutSwitch",
1270
+ "treeSub": "SD8qLW_treeSub",
1286
1271
  "imgPane": "SD8qLW_imgPane",
1287
- "cardDetached": "SD8qLW_cardDetached",
1288
- "chevronOpen": "SD8qLW_chevronOpen",
1289
- "paneDivider": "SD8qLW_paneDivider",
1290
- "sideBanner": "SD8qLW_sideBanner",
1291
- "refRowActive": "SD8qLW_refRowActive",
1292
- "filterChipLabel": "SD8qLW_filterChipLabel",
1293
- "fbTree": "SD8qLW_fbTree",
1272
+ "themeNote": "SD8qLW_themeNote",
1273
+ "segmentChip": "SD8qLW_segmentChip",
1274
+ "calTitle": "SD8qLW_calTitle",
1275
+ "treeDir": "SD8qLW_treeDir",
1276
+ "funnelPresets": "SD8qLW_funnelPresets",
1277
+ "chipSystem": "SD8qLW_chipSystem",
1278
+ "treeFilter": "SD8qLW_treeFilter",
1279
+ "refLabel": "SD8qLW_refLabel",
1280
+ "lineHunk": "SD8qLW_lineHunk",
1281
+ "paneHead": "SD8qLW_paneHead",
1282
+ "miniBtnPrimary": "SD8qLW_miniBtnPrimary",
1283
+ "commitRefMore": "SD8qLW_commitRefMore",
1294
1284
  "commitPopMeta": "SD8qLW_commitPopMeta",
1295
- "elide": "SD8qLW_elide",
1296
- "lnOld": "SD8qLW_lnOld",
1297
- "commitCopy": "SD8qLW_commitCopy",
1298
- "card": "SD8qLW_card",
1299
- "commits": "SD8qLW_commits",
1300
- "funnelBounds": "SD8qLW_funnelBounds",
1301
- "lineAdd": "SD8qLW_lineAdd",
1302
- "sideEditCell": "SD8qLW_sideEditCell",
1303
- "tab": "SD8qLW_tab",
1304
- "syncUpstream": "SD8qLW_syncUpstream",
1305
- "headerTotalsDel": "SD8qLW_headerTotalsDel",
1306
1285
  "fbCommitHint": "SD8qLW_fbCommitHint",
1307
- "funnelFoot": "SD8qLW_funnelFoot",
1308
- "headerBranch": "SD8qLW_headerBranch",
1309
- "blockBar": "SD8qLW_blockBar",
1310
- "calHead": "SD8qLW_calHead",
1311
- "cardAdded": "SD8qLW_cardAdded",
1312
- "paletteRow": "SD8qLW_paletteRow",
1313
- "opBanner": "SD8qLW_opBanner",
1314
- "blameCell": "SD8qLW_blameCell",
1315
- "fbCommitWhat": "SD8qLW_fbCommitWhat",
1316
- "fileCounts": "SD8qLW_fileCounts",
1317
- "calIn": "SD8qLW_calIn",
1318
- "calWeek": "SD8qLW_calWeek",
1319
- "fbRow": "SD8qLW_fbRow",
1320
- "fbPath": "SD8qLW_fbPath",
1321
- "fbCommitWho": "SD8qLW_fbCommitWho",
1322
- "funnelMore": "SD8qLW_funnelMore",
1323
- "chipDark": "SD8qLW_chipDark",
1324
- "refSearch": "SD8qLW_refSearch",
1325
- "paneDividerY": "SD8qLW_paneDividerY",
1326
- "commitHasBody": "SD8qLW_commitHasBody",
1327
- "code": "SD8qLW_code",
1328
- "compareBar": "SD8qLW_compareBar",
1286
+ "funnelBoundValSet": "SD8qLW_funnelBoundValSet",
1287
+ "commitTop": "SD8qLW_commitTop",
1288
+ "settingsPop": "SD8qLW_settingsPop",
1289
+ "imgCaption": "SD8qLW_imgCaption",
1329
1290
  "compareArrow": "SD8qLW_compareArrow",
1330
- "cardBehind": "SD8qLW_cardBehind",
1331
- "treeFilter": "SD8qLW_treeFilter",
1332
- "funnelTabCount": "SD8qLW_funnelTabCount",
1333
- "headerDetached": "SD8qLW_headerDetached",
1334
- "funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
1335
- "commitAmend": "SD8qLW_commitAmend",
1336
- "funnelChevron": "SD8qLW_funnelChevron",
1337
- "commitRef": "SD8qLW_commitRef",
1338
- "chevron": "SD8qLW_chevron",
1339
- "cmHost": "SD8qLW_cmHost",
1340
- "btnCount": "SD8qLW_btnCount",
1291
+ "body": "SD8qLW_body",
1292
+ "refRowActive": "SD8qLW_refRowActive",
1293
+ "pullGroup": "SD8qLW_pullGroup",
1294
+ "fbBody": "SD8qLW_fbBody",
1341
1295
  "treeDirCount": "SD8qLW_treeDirCount",
1342
- "commitsPane": "SD8qLW_commitsPane",
1343
- "commitMeta": "SD8qLW_commitMeta",
1344
- "btnPrimary": "SD8qLW_btnPrimary",
1345
- "treeDirActive": "SD8qLW_treeDirActive",
1346
- "sideCodeAdd": "SD8qLW_sideCodeAdd",
1347
- "commitsSentinel": "SD8qLW_commitsSentinel",
1348
- "refCaret": "SD8qLW_refCaret",
1296
+ "card": "SD8qLW_card",
1297
+ "overlayMax": "SD8qLW_overlayMax",
1298
+ "sideColRight": "SD8qLW_sideColRight",
1299
+ "fileDiscard": "SD8qLW_fileDiscard",
1300
+ "calGrid": "SD8qLW_calGrid",
1301
+ "funnelName": "SD8qLW_funnelName",
1302
+ "sideCode": "SD8qLW_sideCode",
1349
1303
  "header": "SD8qLW_header",
1350
- "filePath": "SD8qLW_filePath",
1351
- "treeLabel": "SD8qLW_treeLabel",
1352
- "sideArmable": "SD8qLW_sideArmable",
1353
- "cardDeleted": "SD8qLW_cardDeleted",
1354
- "treeCol": "SD8qLW_treeCol",
1355
- "checkMarkOn": "SD8qLW_checkMarkOn",
1356
- "funnel": "SD8qLW_funnel",
1304
+ "stAdded": "SD8qLW_stAdded",
1305
+ "commitRow": "SD8qLW_commitRow",
1357
1306
  "theme": "SD8qLW_theme",
1358
1307
  "calMark": "SD8qLW_calMark",
1359
- "funnelButton": "SD8qLW_funnelButton",
1360
- "treeIconGlyph": "SD8qLW_treeIconGlyph",
1361
- "segmented": "SD8qLW_segmented",
1308
+ "funnel": "SD8qLW_funnel",
1309
+ "btnCount": "SD8qLW_btnCount",
1310
+ "fbCommitWhen": "SD8qLW_fbCommitWhen",
1311
+ "funnelTabCount": "SD8qLW_funnelTabCount",
1312
+ "segment": "SD8qLW_segment",
1313
+ "cardBehind": "SD8qLW_cardBehind",
1314
+ "btn": "SD8qLW_btn",
1315
+ "sideBanner": "SD8qLW_sideBanner",
1316
+ "confirmActions": "SD8qLW_confirmActions",
1317
+ "sideBannerActs": "SD8qLW_sideBannerActs",
1318
+ "calHead": "SD8qLW_calHead",
1319
+ "line": "SD8qLW_line",
1320
+ "stModified": "SD8qLW_stModified",
1321
+ "graphCell": "SD8qLW_graphCell",
1322
+ "sliderValue": "SD8qLW_sliderValue",
1323
+ "commitMessage": "SD8qLW_commitMessage",
1324
+ "treeEmpty": "SD8qLW_treeEmpty",
1325
+ "commitAmend": "SD8qLW_commitAmend",
1326
+ "fileBinary": "SD8qLW_fileBinary",
1327
+ "funnelButtonActive": "SD8qLW_funnelButtonActive",
1328
+ "headerTotalsDel": "SD8qLW_headerTotalsDel",
1362
1329
  "filterClear": "SD8qLW_filterClear",
1363
- "pathChildren": "SD8qLW_pathChildren",
1364
- "cardWt": "SD8qLW_cardWt",
1365
- "calGrid": "SD8qLW_calGrid",
1366
- "funnelPane": "SD8qLW_funnelPane",
1330
+ "funnelBoundClear": "SD8qLW_funnelBoundClear",
1331
+ "funnelFoot": "SD8qLW_funnelFoot",
1332
+ "commit": "SD8qLW_commit",
1333
+ "commitActive": "SD8qLW_commitActive",
1334
+ "bodyRow": "SD8qLW_bodyRow",
1335
+ "sideCellBlock": "SD8qLW_sideCellBlock",
1336
+ "sideNumDel": "SD8qLW_sideNumDel",
1337
+ "refValue": "SD8qLW_refValue",
1338
+ "checkMarkOn": "SD8qLW_checkMarkOn",
1339
+ "fbPath": "SD8qLW_fbPath",
1340
+ "opBanner": "SD8qLW_opBanner",
1341
+ "tabActive": "SD8qLW_tabActive",
1342
+ "fbCommitWhat": "SD8qLW_fbCommitWhat",
1367
1343
  "checkMark": "SD8qLW_checkMark",
1344
+ "scopeBtnActive": "SD8qLW_scopeBtnActive",
1345
+ "themeRowSplit": "SD8qLW_themeRowSplit",
1346
+ "tree": "SD8qLW_tree",
1347
+ "headerBranch": "SD8qLW_headerBranch",
1348
+ "refFoot": "SD8qLW_refFoot",
1349
+ "syncSpacer": "SD8qLW_syncSpacer",
1350
+ "btnAhead": "SD8qLW_btnAhead",
1351
+ "funnelPreset": "SD8qLW_funnelPreset",
1352
+ "funnelPane": "SD8qLW_funnelPane",
1353
+ "paneDivider": "SD8qLW_paneDivider",
1354
+ "cardAdded": "SD8qLW_cardAdded",
1355
+ "themeRail": "SD8qLW_themeRail",
1356
+ "funnelFootCount": "SD8qLW_funnelFootCount",
1357
+ "syncBar": "SD8qLW_syncBar",
1358
+ "blameCell": "SD8qLW_blameCell",
1359
+ "funnelButton": "SD8qLW_funnelButton",
1360
+ "funnelSearch": "SD8qLW_funnelSearch",
1361
+ "refCaret": "SD8qLW_refCaret",
1362
+ "wordDel": "SD8qLW_wordDel",
1363
+ "paletteRowActive": "SD8qLW_paletteRowActive",
1364
+ "fbCommitLine": "SD8qLW_fbCommitLine",
1365
+ "commitBox": "SD8qLW_commitBox",
1366
+ "commitBtn": "SD8qLW_commitBtn",
1367
+ "layoutGlyph": "SD8qLW_layoutGlyph",
1368
+ "themeDirty": "SD8qLW_themeDirty",
1369
+ "resizerActive": "SD8qLW_resizerActive",
1370
+ "commitCopy": "SD8qLW_commitCopy",
1371
+ "fileLi": "SD8qLW_fileLi",
1372
+ "cssArea": "SD8qLW_cssArea",
1373
+ "sideScroll": "SD8qLW_sideScroll",
1374
+ "pathNode": "SD8qLW_pathNode",
1375
+ "bgEmpty": "SD8qLW_bgEmpty",
1368
1376
  "headerView": "SD8qLW_headerView",
1369
- "refLabel": "SD8qLW_refLabel",
1377
+ "refRow": "SD8qLW_refRow",
1370
1378
  "sideCodeDel": "SD8qLW_sideCodeDel",
1371
- "btnClose": "SD8qLW_btnClose",
1372
- "fileBinary": "SD8qLW_fileBinary",
1373
- "funnelBoundClear": "SD8qLW_funnelBoundClear",
1379
+ "segmentActive": "SD8qLW_segmentActive",
1380
+ "fbMore": "SD8qLW_fbMore",
1381
+ "scopeHint": "SD8qLW_scopeHint",
1382
+ "checkMarkPartial": "SD8qLW_checkMarkPartial",
1383
+ "commitPopTop": "SD8qLW_commitPopTop",
1384
+ "empty": "SD8qLW_empty",
1374
1385
  "commitFilter": "SD8qLW_commitFilter",
1375
- "funnelPresetActive": "SD8qLW_funnelPresetActive",
1376
- "blockBtnDanger": "SD8qLW_blockBtnDanger",
1377
- "refGroup": "SD8qLW_refGroup",
1378
- "opBannerBad": "SD8qLW_opBannerBad",
1379
- "fbCommit": "SD8qLW_fbCommit",
1380
- "gsFade": "SD8qLW_gsFade",
1381
1386
  "diffScroll": "SD8qLW_diffScroll",
1382
- "scopeBtn": "SD8qLW_scopeBtn",
1383
- "treeFilterClear": "SD8qLW_treeFilterClear",
1384
- "funnelBoundBtn": "SD8qLW_funnelBoundBtn",
1385
- "commitLead": "SD8qLW_commitLead",
1386
- "fileDiscard": "SD8qLW_fileDiscard",
1387
- "body": "SD8qLW_body",
1387
+ "cardBranchName": "SD8qLW_cardBranchName",
1388
+ "commitsPane": "SD8qLW_commitsPane",
1389
+ "layoutButton": "SD8qLW_layoutButton",
1390
+ "fbRow": "SD8qLW_fbRow",
1391
+ "sideNav": "SD8qLW_sideNav",
1392
+ "chipDark": "SD8qLW_chipDark",
1393
+ "themeLabel": "SD8qLW_themeLabel",
1394
+ "funnelPresetActive": "SD8qLW_funnelPresetActive",
1395
+ "fbDirName": "SD8qLW_fbDirName",
1396
+ "sideNotice": "SD8qLW_sideNotice",
1397
+ "paneTitle": "SD8qLW_paneTitle",
1398
+ "cardAhead": "SD8qLW_cardAhead",
1399
+ "lineDel": "SD8qLW_lineDel",
1400
+ "sideNavCount": "SD8qLW_sideNavCount",
1401
+ "sideCodeAdd": "SD8qLW_sideCodeAdd",
1402
+ "treeDirName": "SD8qLW_treeDirName",
1403
+ "sideCodeSame": "SD8qLW_sideCodeSame",
1404
+ "checkBox": "SD8qLW_checkBox",
1405
+ "segmented": "SD8qLW_segmented",
1406
+ "signAdd": "SD8qLW_signAdd",
1407
+ "headerDetached": "SD8qLW_headerDetached",
1408
+ "treeIcon": "SD8qLW_treeIcon",
1409
+ "confirmBody": "SD8qLW_confirmBody",
1410
+ "sideSaveReady": "SD8qLW_sideSaveReady",
1388
1411
  "funnelPop": "SD8qLW_funnelPop",
1389
- "elideHead": "SD8qLW_elideHead",
1390
- "menuPop": "SD8qLW_menuPop",
1391
- "funnelTab": "SD8qLW_funnelTab",
1392
- "bodyRow": "SD8qLW_bodyRow",
1393
- "resizer": "SD8qLW_resizer",
1412
+ "stUntracked": "SD8qLW_stUntracked",
1413
+ "sideEditCell": "SD8qLW_sideEditCell",
1414
+ "calWeek": "SD8qLW_calWeek",
1415
+ "commits": "SD8qLW_commits",
1416
+ "renameLine": "SD8qLW_renameLine",
1417
+ "code": "SD8qLW_code",
1418
+ "calToday": "SD8qLW_calToday",
1419
+ "diffPane": "SD8qLW_diffPane",
1420
+ "treeCol": "SD8qLW_treeCol",
1421
+ "elideTail": "SD8qLW_elideTail",
1394
1422
  "treeWrap": "SD8qLW_treeWrap",
1395
- "stRenamed": "SD8qLW_stRenamed",
1396
- "fbBody": "SD8qLW_fbBody",
1397
- "headerPicker": "SD8qLW_headerPicker",
1398
- "commitPopTop": "SD8qLW_commitPopTop",
1399
- "confirmBody": "SD8qLW_confirmBody",
1400
- "funnelBoundRows": "SD8qLW_funnelBoundRows",
1401
- "funnelFootCount": "SD8qLW_funnelFootCount",
1402
- "confirmTitle": "SD8qLW_confirmTitle",
1403
- "lineHunk": "SD8qLW_lineHunk",
1404
- "funnelPresets": "SD8qLW_funnelPresets",
1405
- "commitBox": "SD8qLW_commitBox",
1406
- "segmentChip": "SD8qLW_segmentChip",
1407
- "drawer": "SD8qLW_drawer",
1408
- "sideColGridBlame": "SD8qLW_sideColGridBlame",
1409
- "themeRail": "SD8qLW_themeRail",
1410
- "sideScroll": "SD8qLW_sideScroll",
1411
- "miniBtn": "SD8qLW_miniBtn",
1412
- "scopeHint": "SD8qLW_scopeHint",
1413
- "funnelName": "SD8qLW_funnelName",
1414
- "gsSlide": "SD8qLW_gsSlide",
1415
- "signDel": "SD8qLW_signDel",
1416
- "paneHead": "SD8qLW_paneHead",
1417
- "sideTabActive": "SD8qLW_sideTabActive",
1418
- "fbSearch": "SD8qLW_fbSearch",
1419
- "fbNote": "SD8qLW_fbNote",
1420
- "stModified": "SD8qLW_stModified",
1423
+ "filterChips": "SD8qLW_filterChips",
1424
+ "commitLine": "SD8qLW_commitLine",
1425
+ "funnelBoundKey": "SD8qLW_funnelBoundKey",
1426
+ "elide": "SD8qLW_elide",
1427
+ "funnelCaption": "SD8qLW_funnelCaption",
1428
+ "headerViewRef": "SD8qLW_headerViewRef",
1429
+ "compareBar": "SD8qLW_compareBar",
1430
+ "funnelBoundRow": "SD8qLW_funnelBoundRow",
1431
+ "cardWt": "SD8qLW_cardWt",
1421
1432
  "commitStaged": "SD8qLW_commitStaged",
1422
- "refList": "SD8qLW_refList",
1423
- "paneDividerActive": "SD8qLW_paneDividerActive",
1424
- "sliderRow": "SD8qLW_sliderRow",
1433
+ "funnelBoundVal": "SD8qLW_funnelBoundVal",
1434
+ "confirmScrim": "SD8qLW_confirmScrim",
1435
+ "diffPre": "SD8qLW_diffPre",
1436
+ "blockBtnDanger": "SD8qLW_blockBtnDanger",
1437
+ "miniBtn": "SD8qLW_miniBtn",
1438
+ "tab": "SD8qLW_tab",
1439
+ "headerPathMain": "SD8qLW_headerPathMain",
1440
+ "fbTree": "SD8qLW_fbTree",
1441
+ "commitsFoot": "SD8qLW_commitsFoot",
1442
+ "commitPopBody": "SD8qLW_commitPopBody",
1443
+ "fileCountDel": "SD8qLW_fileCountDel",
1444
+ "fbFileName": "SD8qLW_fbFileName",
1445
+ "funnelTab": "SD8qLW_funnelTab",
1446
+ "refRowName": "SD8qLW_refRowName",
1447
+ "blockBtn": "SD8qLW_blockBtn",
1448
+ "sideTab": "SD8qLW_sideTab",
1449
+ "commitsSentinel": "SD8qLW_commitsSentinel",
1450
+ "fileActive": "SD8qLW_fileActive",
1451
+ "refEmpty": "SD8qLW_refEmpty",
1452
+ "sideNumAdd": "SD8qLW_sideNumAdd",
1453
+ "treeActions": "SD8qLW_treeActions",
1454
+ "funnelFootCountOn": "SD8qLW_funnelFootCountOn",
1455
+ "sidePane": "SD8qLW_sidePane",
1456
+ "swatch": "SD8qLW_swatch",
1457
+ "headerTotals": "SD8qLW_headerTotals",
1458
+ "funnelList": "SD8qLW_funnelList",
1425
1459
  "wtCurrent": "SD8qLW_wtCurrent",
1426
- "funnelBoundRow": "SD8qLW_funnelBoundRow",
1460
+ "filterChipLabel": "SD8qLW_filterChipLabel",
1461
+ "treeDirLi": "SD8qLW_treeDirLi",
1462
+ "cmHost": "SD8qLW_cmHost",
1463
+ "treeIconDown": "SD8qLW_treeIconDown",
1464
+ "fbHeader": "SD8qLW_fbHeader",
1465
+ "diffWrap": "SD8qLW_diffWrap",
1466
+ "cal": "SD8qLW_cal",
1467
+ "lnOld": "SD8qLW_lnOld",
1468
+ "resizer": "SD8qLW_resizer",
1469
+ "layoutButtonOn": "SD8qLW_layoutButtonOn",
1470
+ "confirmTitle": "SD8qLW_confirmTitle",
1471
+ "sideNum": "SD8qLW_sideNum",
1472
+ "refGroup": "SD8qLW_refGroup",
1473
+ "sideColGrid": "SD8qLW_sideColGrid",
1427
1474
  "pathFileGlyph": "SD8qLW_pathFileGlyph",
1428
- "commitSubject": "SD8qLW_commitSubject",
1429
- "sideColRight": "SD8qLW_sideColRight",
1430
- "gutter": "SD8qLW_gutter",
1431
- "sideTabs": "SD8qLW_sideTabs",
1432
- "commitRow": "SD8qLW_commitRow",
1433
- "refRowSpacer": "SD8qLW_refRowSpacer"
1475
+ "commitSubject": "SD8qLW_commitSubject"
1434
1476
  };
1435
1477
  //#endregion
1436
1478
  //#region node_modules/.pnpm/@marijn+find-cluster-break@1.0.3/node_modules/@marijn/find-cluster-break/src/index.js
@@ -34326,6 +34368,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
34326
34368
  * belongs here beside the layout rather than in the host's per-project store:
34327
34369
  * two people on one repository should not share each other's place. */
34328
34370
  const STORE_FILES = "dsh-ui-gitworkbench:files";
34371
+ /** Which way the History tab arranges its panes. Its own key rather than a
34372
+ * field of the appearance object: that one is about colour, and this choice
34373
+ * has to survive a build that adds a palette. */
34374
+ const STORE_HISTORY_LAYOUT = "dsh-ui-gitworkbench:history-layout";
34329
34375
  const DEFAULT_PANES = {
34330
34376
  commits: null,
34331
34377
  tree: null,
@@ -34578,6 +34624,14 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
34578
34624
  const [family, setFamily] = (0, react.useState)(() => readStored(STORE_APPEARANCE, isAppearance, DEFAULT_APPEARANCE).family);
34579
34625
  /** Dragged pane widths, persisted so a layout survives a reload. */
34580
34626
  const [panes, setPanes] = (0, react.useState)(() => readStored(STORE_PANES, isPaneWidths, DEFAULT_PANES));
34627
+ /**
34628
+ * The History tab's arrangement.
34629
+ *
34630
+ * Panel-level, beside the palette rather than inside the tab: the choice has
34631
+ * to hold across tab switches and reopens, and the drawer's own card is where
34632
+ * the row height it implies is published from.
34633
+ */
34634
+ const [historyLayout, setHistoryLayout] = (0, react.useState)(() => readStored(STORE_HISTORY_LAYOUT, isHistoryLayout, DEFAULT_HISTORY_LAYOUT));
34581
34635
  /** Per-project and global styling; both scopes, unresolved. */
34582
34636
  const [style, setStyle] = (0, react.useState)(EMPTY_SETTINGS);
34583
34637
  /** Whether dsh's resolved palette is currently dark. */
@@ -35233,6 +35287,17 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35233
35287
  setMaximized(false);
35234
35288
  if (persist) writeStored(STORE_WIDTH, clamped);
35235
35289
  };
35290
+ /**
35291
+ * Pick the History tab's arrangement.
35292
+ *
35293
+ * Written through immediately: unlike a drag this is one click, so there is
35294
+ * no intermediate frame to withhold a synchronous storage write for.
35295
+ * @param next - the arrangement to switch to.
35296
+ */
35297
+ const applyHistoryLayout = (next) => {
35298
+ setHistoryLayout(next);
35299
+ writeStored(STORE_HISTORY_LAYOUT, next);
35300
+ };
35236
35301
  /** Tab switch. No direction refetches the working tree: `viewKey` already
35237
35302
  * separates the tabs' per-file diff caches, so bumping `gen` here only cost a
35238
35303
  * redundant round trip. */
@@ -35328,6 +35393,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35328
35393
  panes,
35329
35394
  onPane: applyPane,
35330
35395
  onCommitsTall: applyCommitsTall,
35396
+ historyLayout,
35397
+ onHistoryLayout: applyHistoryLayout,
35331
35398
  onClose: () => setOpen(false),
35332
35399
  onRefresh: refresh,
35333
35400
  commitDraft,
@@ -35491,7 +35558,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35491
35558
  ]
35492
35559
  });
35493
35560
  }
35494
- function Drawer({ stats, shown, tab, onSwitchTab, commits, commitHash, onSelectCommit, hasMoreCommits, loadingMore, onLoadMoreCommits, historyRef, onHistoryRef, historyQuery, onHistoryQuery, historyError, fetchAuthors, fetchRepoTree, branches, worktreeBranches, branchesTruncated, baseRef, headRef, onBaseRef, onHeadRef, comparable, t, binding, worktrees, sessionPath, statsPath, onSwitchSource, segments, selected, onSelect, maximized, onToggleMaximized, theme, mode, family, onMode, onFamily, style, background, onStyle, width, onWidth, panes, onPane, onCommitsTall, onClose, onRefresh, commitDraft, onCommitDraft, commitAmend, onCommitAmend, sync, treeLoading, historyLoading, busy, opResult, runOp, fetchDiscardPlan, onOpError, pendingTicks, onTick, fetchFileDiff, fetchFileSides, writeChecked, fetchBlame, fetchFileImage, viewKey, gen, collapsed, onCollapsedChange, filesPlaces, onFilesPlace, filesTrees, onFilesTree }) {
35561
+ function Drawer({ stats, shown, tab, onSwitchTab, commits, commitHash, onSelectCommit, hasMoreCommits, loadingMore, onLoadMoreCommits, historyRef, onHistoryRef, historyQuery, onHistoryQuery, historyError, fetchAuthors, fetchRepoTree, branches, worktreeBranches, branchesTruncated, baseRef, headRef, onBaseRef, onHeadRef, comparable, t, binding, worktrees, sessionPath, statsPath, onSwitchSource, segments, selected, onSelect, maximized, onToggleMaximized, theme, mode, family, onMode, onFamily, style, background, onStyle, width, onWidth, panes, onPane, onCommitsTall, historyLayout, onHistoryLayout, onClose, onRefresh, commitDraft, onCommitDraft, commitAmend, onCommitAmend, sync, treeLoading, historyLoading, busy, opResult, runOp, fetchDiscardPlan, onOpError, pendingTicks, onTick, fetchFileDiff, fetchFileSides, writeChecked, fetchBlame, fetchFileImage, viewKey, gen, collapsed, onCollapsedChange, filesPlaces, onFilesPlace, filesTrees, onFilesTree }) {
35495
35562
  const body = shown ?? EMPTY_STATS;
35496
35563
  /** The file list with ticks still awaiting git laid over them. The tree and
35497
35564
  * the commit box read this, so a click moves its box and the "N ticked"
@@ -35745,12 +35812,21 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35745
35812
  if (box === void 0) return;
35746
35813
  onCommitsTall(clientY - box.top, box.height, done);
35747
35814
  };
35815
+ /**
35816
+ * Whether the History tab is showing its stacked arrangement.
35817
+ *
35818
+ * Three things follow from it and they must agree: the body's direction, how
35819
+ * the commit list is sized, and which way its divider slides. Read from one
35820
+ * name so a fourth reader cannot be added out of step.
35821
+ */
35822
+ const stackedHistory = tab === "history" && historyLayout === "stacked";
35748
35823
  const cardStyle = {
35749
35824
  "--gs-min-commits": `${MIN_COMMITS_WIDTH}px`,
35750
35825
  "--gs-min-tree": `${MIN_TREE_WIDTH}px`,
35751
35826
  "--gs-min-diff": `${MIN_DIFF_WIDTH}px`,
35752
35827
  "--gs-min-commits-tall": `${MIN_COMMITS_HEIGHT}px`,
35753
35828
  "--gs-min-stacked-lower": `${MIN_STACKED_LOWER}px`,
35829
+ "--gs-commit-row": `${COMMIT_ROW_H[historyLayout]}px`,
35754
35830
  ...maximized || width === null ? {} : { width: `${width}px` },
35755
35831
  ...background === null ? {} : {
35756
35832
  "--gs-bg-image": `url("${background.image}")`,
@@ -35944,9 +36020,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35944
36020
  onBaseRef,
35945
36021
  onHeadRef
35946
36022
  }) : null,
35947
- tab === "history" && branches.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
36023
+ tab === "history" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
35948
36024
  className: GitWorkbenchPanel_module_css_default.compareBar,
35949
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RefPicker, {
36025
+ children: [branches.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RefPicker, {
35950
36026
  t,
35951
36027
  label: t("historyRefLabel"),
35952
36028
  value: historyRef,
@@ -35955,7 +36031,22 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35955
36031
  truncated: branchesTruncated,
35956
36032
  onPick: onHistoryRef,
35957
36033
  allLabel: t("allBranches")
35958
- })
36034
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
36035
+ className: GitWorkbenchPanel_module_css_default.layoutSwitch,
36036
+ role: "group",
36037
+ "aria-label": t("historyLayout"),
36038
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LayoutButton, {
36039
+ glyph: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColumnsGlyph, {}),
36040
+ label: t("layoutColumns"),
36041
+ on: historyLayout === "columns",
36042
+ onPick: () => onHistoryLayout("columns")
36043
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LayoutButton, {
36044
+ glyph: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StackedGlyph, {}),
36045
+ label: t("layoutStacked"),
36046
+ on: historyLayout === "stacked",
36047
+ onPick: () => onHistoryLayout("stacked")
36048
+ })]
36049
+ })]
35959
36050
  }) : null,
35960
36051
  tab === "changes" && sync !== null && sync.hasRemote ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SyncBar, {
35961
36052
  t,
@@ -35973,10 +36064,11 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35973
36064
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
35974
36065
  ref: bodyRef,
35975
36066
  className: GitWorkbenchPanel_module_css_default.body,
35976
- "data-stacked": tab === "history" ? "" : void 0,
36067
+ "data-stacked": stackedHistory ? "" : void 0,
35977
36068
  children: [tab === "history" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CommitList, {
35978
36069
  paneRef: commitsRef,
35979
- style: paneTall(panes.commitsTall ?? null),
36070
+ style: stackedHistory ? paneTall(panes.commitsTall ?? null) : paneStyle(panes.commits),
36071
+ layout: historyLayout,
35980
36072
  t,
35981
36073
  loading: historyLoading,
35982
36074
  commits,
@@ -35992,10 +36084,13 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
35992
36084
  refName: historyRef,
35993
36085
  fetchAuthors,
35994
36086
  fetchRepoTree
35995
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PaneDivider, {
36087
+ }), stackedHistory ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PaneDivider, {
35996
36088
  axis: "y",
35997
36089
  label: t("resizeCommits"),
35998
36090
  onDrag: commitsTallDrag
36091
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PaneDivider, {
36092
+ label: t("resizeCommits"),
36093
+ onDrag: paneDrag("commits", commitsRef)
35999
36094
  })] }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
36000
36095
  className: GitWorkbenchPanel_module_css_default.bodyRow,
36001
36096
  children: tab === "files" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileBrowser, {
@@ -37298,17 +37393,6 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37298
37393
  * stays scannable; hovering opens a card with the full message, including a
37299
37394
  * multi-line body, which can be copied without selecting the commit.
37300
37395
  */
37301
- /**
37302
- * Row height the graph and the list agree on. The lines only join up if every
37303
- * row is exactly as tall as the segment drawn for it, so this number and
37304
- * `.commitLine`'s `height` are one fact with two homes —
37305
- * `tests/commit-row-height.test.ts` holds them together.
37306
- *
37307
- * 28 since the History tab stacked: the list spans the drawer's full width, a
37308
- * commit fits on one line, and 48px of row would spend the vertical space the
37309
- * stacked layout has least of on empty padding.
37310
- */
37311
- const GRAPH_ROW_H = 28;
37312
37396
  /** Horizontal distance between lanes. */
37313
37397
  const GRAPH_LANE_W = 14;
37314
37398
  /** Ref chips shown inline before the subject; the rest collapse into a "+N". */
@@ -37320,22 +37404,27 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37320
37404
  /**
37321
37405
  * One row's slice of the commit graph.
37322
37406
  *
37323
- * Drawn as an SVG of exactly {@link GRAPH_ROW_H} pixels, so consecutive rows
37324
- * butt together and a lane reads as one unbroken line down the list. The dot
37325
- * sits at the vertical centre; edges leave the top edge, the dot, or the bottom
37326
- * edge, and a cubic with its control points at the quarter heights gives the
37327
- * S-curve every git client draws for a branch or a merge.
37407
+ * Drawn as an SVG exactly as tall as the row, so consecutive rows butt together
37408
+ * and a lane reads as one unbroken line down the list. The dot sits at the
37409
+ * vertical centre; edges leave the top edge, the dot, or the bottom edge, and a
37410
+ * cubic with its control points at the quarter heights gives the S-curve every
37411
+ * git client draws for a branch or a merge.
37412
+ *
37413
+ * The height is passed in rather than read from a constant here: the two
37414
+ * History arrangements want differently shaped rows, and the segment and the
37415
+ * row it belongs to must come from the same entry of `COMMIT_ROW_H` or the
37416
+ * lanes stop meeting across the seam between rows.
37328
37417
  */
37329
- function GraphCell({ row, width, active }) {
37418
+ function GraphCell({ row, width, active, rowH }) {
37330
37419
  const w = Math.min(width, GRAPH_MAX_LANES) * GRAPH_LANE_W;
37331
- const mid = GRAPH_ROW_H / 2;
37420
+ const mid = rowH / 2;
37332
37421
  const visible = (lane) => lane < GRAPH_MAX_LANES;
37333
37422
  const stroke = (lane) => `var(--gs-graph-${lane % 6})`;
37334
37423
  const paths = [];
37335
37424
  for (const lane of row.through) {
37336
37425
  if (!visible(lane)) continue;
37337
37426
  paths.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
37338
- d: `M ${laneX(lane)} 0 V ${GRAPH_ROW_H}`,
37427
+ d: `M ${laneX(lane)} 0 V ${rowH}`,
37339
37428
  stroke: stroke(lane)
37340
37429
  }, `t${lane}`));
37341
37430
  }
@@ -37352,18 +37441,18 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37352
37441
  for (const lane of row.outOf) {
37353
37442
  if (!visible(lane) || !visible(row.lane)) continue;
37354
37443
  paths.push(lane === row.lane ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
37355
- d: `M ${laneX(lane)} ${mid} V ${GRAPH_ROW_H}`,
37444
+ d: `M ${laneX(lane)} ${mid} V ${rowH}`,
37356
37445
  stroke: stroke(lane)
37357
37446
  }, `o${lane}`) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
37358
- d: `M ${laneX(row.lane)} ${mid} C ${laneX(row.lane)} 21, ${laneX(lane)} 21, ${laneX(lane)} ${GRAPH_ROW_H}`,
37447
+ d: `M ${laneX(row.lane)} ${mid} C ${laneX(row.lane)} ${mid + mid / 2}, ${laneX(lane)} ${mid + mid / 2}, ${laneX(lane)} ${rowH}`,
37359
37448
  stroke: stroke(lane)
37360
37449
  }, `o${lane}`));
37361
37450
  }
37362
37451
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
37363
37452
  className: GitWorkbenchPanel_module_css_default.graphCell,
37364
37453
  width: w,
37365
- height: GRAPH_ROW_H,
37366
- viewBox: `0 0 ${w} ${GRAPH_ROW_H}`,
37454
+ height: rowH,
37455
+ viewBox: `0 0 ${w} ${rowH}`,
37367
37456
  "aria-hidden": "true",
37368
37457
  focusable: "false",
37369
37458
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("g", {
@@ -37381,7 +37470,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37381
37470
  }) : null]
37382
37471
  });
37383
37472
  }
37384
- function CommitRow({ t, commit, active, onSelect, graphRow, graphWidth }) {
37473
+ function CommitRow({ t, commit, active, onSelect, graphRow, graphWidth, layout }) {
37385
37474
  const rowRef = (0, react.useRef)(null);
37386
37475
  const [open, setOpen] = (0, react.useState)(false);
37387
37476
  const [box, setBox] = (0, react.useState)(null);
@@ -37424,13 +37513,38 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37424
37513
  }, [open]);
37425
37514
  const host = rowRef.current?.closest("[data-gs-part=\"overlay\"]") ?? (typeof document === "undefined" ? null : document.body);
37426
37515
  const refs = commit.refs ?? [];
37516
+ const subjectRow = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
37517
+ className: GitWorkbenchPanel_module_css_default.commitSubjectRow,
37518
+ children: [
37519
+ refs.slice(0, COMMIT_REF_CHIPS).map((ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37520
+ className: GitWorkbenchPanel_module_css_default.commitRef,
37521
+ title: ref,
37522
+ children: ref
37523
+ }, ref)),
37524
+ refs.length > COMMIT_REF_CHIPS ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
37525
+ className: GitWorkbenchPanel_module_css_default.commitRefMore,
37526
+ title: refs.slice(COMMIT_REF_CHIPS).join("\n"),
37527
+ children: ["+", refs.length - COMMIT_REF_CHIPS]
37528
+ }) : null,
37529
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37530
+ className: GitWorkbenchPanel_module_css_default.commitSubject,
37531
+ children: commit.subject
37532
+ }),
37533
+ body.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37534
+ className: GitWorkbenchPanel_module_css_default.commitHasBody,
37535
+ "aria-hidden": "true",
37536
+ children: "···"
37537
+ }) : null
37538
+ ]
37539
+ });
37427
37540
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
37428
37541
  className: GitWorkbenchPanel_module_css_default.commitLine,
37429
37542
  children: [graphRow !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GraphCell, {
37430
37543
  row: graphRow,
37431
37544
  width: graphWidth,
37432
- active
37433
- }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
37545
+ active,
37546
+ rowH: COMMIT_ROW_H[layout]
37547
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
37434
37548
  ref: rowRef,
37435
37549
  type: "button",
37436
37550
  role: "option",
@@ -37439,35 +37553,12 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37439
37553
  onClick: () => onSelect(commit.hash),
37440
37554
  onMouseEnter: show,
37441
37555
  onMouseLeave: hide,
37442
- children: [
37556
+ children: layout === "stacked" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
37443
37557
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
37444
37558
  className: GitWorkbenchPanel_module_css_default.commitHash,
37445
37559
  children: commit.hash
37446
37560
  }),
37447
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
37448
- className: GitWorkbenchPanel_module_css_default.commitSubjectRow,
37449
- children: [
37450
- refs.slice(0, COMMIT_REF_CHIPS).map((ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37451
- className: GitWorkbenchPanel_module_css_default.commitRef,
37452
- title: ref,
37453
- children: ref
37454
- }, ref)),
37455
- refs.length > COMMIT_REF_CHIPS ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
37456
- className: GitWorkbenchPanel_module_css_default.commitRefMore,
37457
- title: refs.slice(COMMIT_REF_CHIPS).join("\n"),
37458
- children: ["+", refs.length - COMMIT_REF_CHIPS]
37459
- }) : null,
37460
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37461
- className: GitWorkbenchPanel_module_css_default.commitSubject,
37462
- children: commit.subject
37463
- }),
37464
- body.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37465
- className: GitWorkbenchPanel_module_css_default.commitHasBody,
37466
- "aria-hidden": "true",
37467
- children: "···"
37468
- }) : null
37469
- ]
37470
- }),
37561
+ subjectRow,
37471
37562
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
37472
37563
  className: GitWorkbenchPanel_module_css_default.commitMeta,
37473
37564
  children: [authorName.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
@@ -37478,7 +37569,23 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37478
37569
  children: commit.when
37479
37570
  })]
37480
37571
  })
37481
- ]
37572
+ ] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
37573
+ className: GitWorkbenchPanel_module_css_default.commitTop,
37574
+ children: [
37575
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
37576
+ className: GitWorkbenchPanel_module_css_default.commitHash,
37577
+ children: commit.hash
37578
+ }),
37579
+ authorName.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37580
+ className: GitWorkbenchPanel_module_css_default.commitAuthor,
37581
+ children: authorName
37582
+ }) : null,
37583
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37584
+ className: GitWorkbenchPanel_module_css_default.commitWhen,
37585
+ children: commit.when
37586
+ })
37587
+ ]
37588
+ }), subjectRow] })
37482
37589
  })]
37483
37590
  }), open && box !== null && host !== null ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
37484
37591
  className: GitWorkbenchPanel_module_css_default.commitPop,
@@ -37705,15 +37812,110 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37705
37812
  }) });
37706
37813
  }
37707
37814
  /**
37708
- * The commit log as its own full-height pane.
37815
+ * The two arrangements, drawn in the same 16px/1px idiom as the drawer's other
37816
+ * glyphs: a pane and its neighbour, either side by side or one over the other.
37817
+ * The filled half is the list, so the picture says which pane moves.
37818
+ */
37819
+ function ColumnsGlyph() {
37820
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
37821
+ className: GitWorkbenchPanel_module_css_default.layoutGlyph,
37822
+ width: "16",
37823
+ height: "16",
37824
+ viewBox: "0 0 16 16",
37825
+ fill: "none",
37826
+ stroke: "currentColor",
37827
+ strokeWidth: "1",
37828
+ strokeLinejoin: "round",
37829
+ "aria-hidden": "true",
37830
+ children: [
37831
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
37832
+ x: "1.5",
37833
+ y: "2.5",
37834
+ width: "13",
37835
+ height: "11",
37836
+ rx: "1.5"
37837
+ }),
37838
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
37839
+ x: "1.5",
37840
+ y: "2.5",
37841
+ width: "5",
37842
+ height: "11",
37843
+ rx: "1.5",
37844
+ fill: "currentColor",
37845
+ stroke: "none",
37846
+ opacity: "0.55"
37847
+ }),
37848
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M6.5 2.5 V13.5" })
37849
+ ]
37850
+ });
37851
+ }
37852
+ function StackedGlyph() {
37853
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
37854
+ className: GitWorkbenchPanel_module_css_default.layoutGlyph,
37855
+ width: "16",
37856
+ height: "16",
37857
+ viewBox: "0 0 16 16",
37858
+ fill: "none",
37859
+ stroke: "currentColor",
37860
+ strokeWidth: "1",
37861
+ strokeLinejoin: "round",
37862
+ "aria-hidden": "true",
37863
+ children: [
37864
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
37865
+ x: "1.5",
37866
+ y: "2.5",
37867
+ width: "13",
37868
+ height: "11",
37869
+ rx: "1.5"
37870
+ }),
37871
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
37872
+ x: "1.5",
37873
+ y: "2.5",
37874
+ width: "13",
37875
+ height: "4",
37876
+ rx: "1.5",
37877
+ fill: "currentColor",
37878
+ stroke: "none",
37879
+ opacity: "0.55"
37880
+ }),
37881
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M1.5 6.5 H14.5" })
37882
+ ]
37883
+ });
37884
+ }
37885
+ /**
37886
+ * One end of the arrangement switch.
37887
+ *
37888
+ * `aria-pressed` rather than a radio group: these are two states of one view
37889
+ * control, not a value being submitted, and a screen reader then reads the
37890
+ * arrangement in force without the group needing a name per option.
37891
+ * @param glyph - the arrangement, drawn.
37892
+ * @param label - accessible name, also the tooltip.
37893
+ * @param on - whether this arrangement is the one in force.
37894
+ * @param onPick - switch to it.
37895
+ */
37896
+ function LayoutButton({ glyph, label, on, onPick }) {
37897
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
37898
+ type: "button",
37899
+ className: on ? `${GitWorkbenchPanel_module_css_default.layoutButton} ${GitWorkbenchPanel_module_css_default.layoutButtonOn}` : GitWorkbenchPanel_module_css_default.layoutButton,
37900
+ "aria-pressed": on,
37901
+ "aria-label": label,
37902
+ title: label,
37903
+ onClick: onPick,
37904
+ children: glyph
37905
+ });
37906
+ }
37907
+ /**
37908
+ * The commit log as its own pane, in whichever arrangement the reader picked.
37709
37909
  *
37710
- * It sits BESIDE the file tree rather than stacked above it, which is what
37711
- * GitHub Desktop, the JetBrains git log and GitKraken all do: a commit list and
37712
- * the selected commit's files are peer panes, each with its own scrollbar. The
37713
- * earlier stacked layout had to be collapsible because two scrolling lists were
37714
- * sharing one narrow column a control that hid the thing you were reading and
37715
- * that nobody could be expected to discover. Side by side, there is nothing to
37716
- * collapse and nothing to explain.
37910
+ * Beside the file tree it is a peer pane the way GitHub Desktop, the JetBrains
37911
+ * git log and GitKraken all draw it list and selected commit's files side by
37912
+ * side, each with its own scrollbar. Across the top it is IDEA's git log
37913
+ * instead, which is the arrangement that stops a long subject being cut; see
37914
+ * `history-layout.ts` for what each costs. The switch that picks between them
37915
+ * is in the toolbar row above, not in this pane's head — the head is the first
37916
+ * thing to run out of room when the pane is dragged narrow, which is exactly
37917
+ * when a reader reaches for the switch. Either way there is nothing to
37918
+ * collapse and nothing to discover.
37717
37919
  *
37718
37920
  * Pages load by scrolling. A button at the end of a growing list is the worst
37719
37921
  * of both worlds — it retreats every time it is used, and it asks the reader to
@@ -37722,7 +37924,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37722
37924
  * what GitHub and GitLens do. The observer is rebuilt whenever the list grows,
37723
37925
  * so a page too short to fill the pane immediately triggers the next one.
37724
37926
  */
37725
- function CommitList({ paneRef, style, t, loading, commits, active, onSelect, hasMore, loadingMore, onLoadMore, query, onQueryChange, error, statsPath, refName, fetchAuthors, fetchRepoTree }) {
37927
+ function CommitList({ paneRef, style, layout, t, loading, commits, active, onSelect, hasMore, loadingMore, onLoadMore, query, onQueryChange, error, statsPath, refName, fetchAuthors, fetchRepoTree }) {
37726
37928
  const scrollRef = (0, react.useRef)(null);
37727
37929
  const sentinelRef = (0, react.useRef)(null);
37728
37930
  const filterModel = (0, react.useMemo)(() => parseLogQuery(query), [query]);
@@ -37876,6 +38078,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
37876
38078
  ref: paneRef,
37877
38079
  className: GitWorkbenchPanel_module_css_default.commitsPane,
37878
38080
  style,
38081
+ "data-layout": layout,
37879
38082
  "data-gs-part": "commits",
37880
38083
  children: [
37881
38084
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -38211,7 +38414,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
38211
38414
  active: commit.hash === active,
38212
38415
  onSelect,
38213
38416
  graphRow: graph.rows[index],
38214
- graphWidth: graph.width
38417
+ graphWidth: graph.width,
38418
+ layout
38215
38419
  }, commit.hash)),
38216
38420
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
38217
38421
  ref: sentinelRef,
@@ -39623,6 +39827,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
39623
39827
  styleFailed: "保存失败",
39624
39828
  resizeLabel: "拖动调整抽屉宽度",
39625
39829
  resizeCommits: "拖动调整提交列表宽度",
39830
+ historyLayout: "提交列表布局",
39831
+ layoutColumns: "并排:列表与差异分列",
39832
+ layoutStacked: "上下:列表横跨顶部",
39626
39833
  resizeTree: "拖动调整文件树宽度",
39627
39834
  resizeSides: "拖动调整左右两栏宽度",
39628
39835
  sourceLabel: "统计来源切换",
@@ -39832,6 +40039,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
39832
40039
  styleFailed: "Could not save",
39833
40040
  resizeLabel: "Drag to resize the drawer",
39834
40041
  resizeCommits: "Drag to resize the commit list",
40042
+ historyLayout: "Commit list layout",
40043
+ layoutColumns: "Side by side: list beside the diff",
40044
+ layoutStacked: "Stacked: list across the top",
39835
40045
  resizeTree: "Drag to resize the file tree",
39836
40046
  resizeSides: "Drag to resize the two columns",
39837
40047
  sourceLabel: "Switch stats source",