dsh-diff-approval 0.28.0 → 0.29.1

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.
Files changed (153) hide show
  1. package/README.md +12 -0
  2. package/README.zh.md +12 -0
  3. package/assets/fonts/FONTLOG.md +55 -0
  4. package/assets/fonts/OFL.txt +95 -0
  5. package/assets/fonts/README.md +123 -0
  6. package/assets/fonts/manifest.json +1784 -0
  7. package/assets/fonts/regular-cjk-punctuation.woff2 +0 -0
  8. package/assets/fonts/regular-hanzi-000.woff2 +0 -0
  9. package/assets/fonts/regular-hanzi-001.woff2 +0 -0
  10. package/assets/fonts/regular-hanzi-002.woff2 +0 -0
  11. package/assets/fonts/regular-hanzi-003.woff2 +0 -0
  12. package/assets/fonts/regular-hanzi-004.woff2 +0 -0
  13. package/assets/fonts/regular-hanzi-005.woff2 +0 -0
  14. package/assets/fonts/regular-hanzi-006.woff2 +0 -0
  15. package/assets/fonts/regular-hanzi-007.woff2 +0 -0
  16. package/assets/fonts/regular-hanzi-008.woff2 +0 -0
  17. package/assets/fonts/regular-hanzi-009.woff2 +0 -0
  18. package/assets/fonts/regular-hanzi-010.woff2 +0 -0
  19. package/assets/fonts/regular-hanzi-011.woff2 +0 -0
  20. package/assets/fonts/regular-hanzi-012.woff2 +0 -0
  21. package/assets/fonts/regular-hanzi-013.woff2 +0 -0
  22. package/assets/fonts/regular-hanzi-014.woff2 +0 -0
  23. package/assets/fonts/regular-hanzi-015.woff2 +0 -0
  24. package/assets/fonts/regular-hanzi-016.woff2 +0 -0
  25. package/assets/fonts/regular-hanzi-017.woff2 +0 -0
  26. package/assets/fonts/regular-hanzi-018.woff2 +0 -0
  27. package/assets/fonts/regular-hanzi-019.woff2 +0 -0
  28. package/assets/fonts/regular-hanzi-020.woff2 +0 -0
  29. package/assets/fonts/regular-hanzi-021.woff2 +0 -0
  30. package/assets/fonts/regular-hanzi-022.woff2 +0 -0
  31. package/assets/fonts/regular-hanzi-023.woff2 +0 -0
  32. package/assets/fonts/regular-hanzi-024.woff2 +0 -0
  33. package/assets/fonts/regular-hanzi-025.woff2 +0 -0
  34. package/assets/fonts/regular-hanzi-026.woff2 +0 -0
  35. package/assets/fonts/regular-hanzi-027.woff2 +0 -0
  36. package/assets/fonts/regular-hanzi-028.woff2 +0 -0
  37. package/assets/fonts/regular-hanzi-029.woff2 +0 -0
  38. package/assets/fonts/regular-hanzi-030.woff2 +0 -0
  39. package/assets/fonts/regular-hanzi-031.woff2 +0 -0
  40. package/assets/fonts/regular-hanzi-032.woff2 +0 -0
  41. package/assets/fonts/regular-hanzi-033.woff2 +0 -0
  42. package/assets/fonts/regular-hanzi-034.woff2 +0 -0
  43. package/assets/fonts/regular-hanzi-035.woff2 +0 -0
  44. package/assets/fonts/regular-hanzi-036.woff2 +0 -0
  45. package/assets/fonts/regular-hanzi-037.woff2 +0 -0
  46. package/assets/fonts/regular-hanzi-038.woff2 +0 -0
  47. package/assets/fonts/regular-hanzi-039.woff2 +0 -0
  48. package/assets/fonts/regular-hanzi-040.woff2 +0 -0
  49. package/assets/fonts/regular-hanzi-041.woff2 +0 -0
  50. package/assets/fonts/regular-hanzi-042.woff2 +0 -0
  51. package/assets/fonts/regular-hanzi-043.woff2 +0 -0
  52. package/assets/fonts/regular-hanzi-044.woff2 +0 -0
  53. package/assets/fonts/regular-hanzi-045.woff2 +0 -0
  54. package/assets/fonts/regular-hanzi-046.woff2 +0 -0
  55. package/assets/fonts/regular-hanzi-047.woff2 +0 -0
  56. package/assets/fonts/regular-hanzi-048.woff2 +0 -0
  57. package/assets/fonts/regular-hanzi-049.woff2 +0 -0
  58. package/assets/fonts/regular-hanzi-050.woff2 +0 -0
  59. package/assets/fonts/regular-hanzi-051.woff2 +0 -0
  60. package/assets/fonts/regular-hanzi-052.woff2 +0 -0
  61. package/assets/fonts/regular-hanzi-053.woff2 +0 -0
  62. package/assets/fonts/regular-hanzi-054.woff2 +0 -0
  63. package/assets/fonts/regular-hanzi-055.woff2 +0 -0
  64. package/assets/fonts/regular-hanzi-056.woff2 +0 -0
  65. package/assets/fonts/regular-hanzi-057.woff2 +0 -0
  66. package/assets/fonts/regular-hanzi-058.woff2 +0 -0
  67. package/assets/fonts/regular-hanzi-059.woff2 +0 -0
  68. package/assets/fonts/regular-hanzi-060.woff2 +0 -0
  69. package/assets/fonts/regular-hanzi-061.woff2 +0 -0
  70. package/assets/fonts/regular-hanzi-062.woff2 +0 -0
  71. package/assets/fonts/regular-hanzi-063.woff2 +0 -0
  72. package/assets/fonts/regular-hanzi-064.woff2 +0 -0
  73. package/assets/fonts/regular-latin.woff2 +0 -0
  74. package/assets/fonts/regular-punctuation.woff2 +0 -0
  75. package/assets/fonts/regular-symbols.woff2 +0 -0
  76. package/assets/fonts/semibold-cjk-punctuation.woff2 +0 -0
  77. package/assets/fonts/semibold-hanzi-000.woff2 +0 -0
  78. package/assets/fonts/semibold-hanzi-001.woff2 +0 -0
  79. package/assets/fonts/semibold-hanzi-002.woff2 +0 -0
  80. package/assets/fonts/semibold-hanzi-003.woff2 +0 -0
  81. package/assets/fonts/semibold-hanzi-004.woff2 +0 -0
  82. package/assets/fonts/semibold-hanzi-005.woff2 +0 -0
  83. package/assets/fonts/semibold-hanzi-006.woff2 +0 -0
  84. package/assets/fonts/semibold-hanzi-007.woff2 +0 -0
  85. package/assets/fonts/semibold-hanzi-008.woff2 +0 -0
  86. package/assets/fonts/semibold-hanzi-009.woff2 +0 -0
  87. package/assets/fonts/semibold-hanzi-010.woff2 +0 -0
  88. package/assets/fonts/semibold-hanzi-011.woff2 +0 -0
  89. package/assets/fonts/semibold-hanzi-012.woff2 +0 -0
  90. package/assets/fonts/semibold-hanzi-013.woff2 +0 -0
  91. package/assets/fonts/semibold-hanzi-014.woff2 +0 -0
  92. package/assets/fonts/semibold-hanzi-015.woff2 +0 -0
  93. package/assets/fonts/semibold-hanzi-016.woff2 +0 -0
  94. package/assets/fonts/semibold-hanzi-017.woff2 +0 -0
  95. package/assets/fonts/semibold-hanzi-018.woff2 +0 -0
  96. package/assets/fonts/semibold-hanzi-019.woff2 +0 -0
  97. package/assets/fonts/semibold-hanzi-020.woff2 +0 -0
  98. package/assets/fonts/semibold-hanzi-021.woff2 +0 -0
  99. package/assets/fonts/semibold-hanzi-022.woff2 +0 -0
  100. package/assets/fonts/semibold-hanzi-023.woff2 +0 -0
  101. package/assets/fonts/semibold-hanzi-024.woff2 +0 -0
  102. package/assets/fonts/semibold-hanzi-025.woff2 +0 -0
  103. package/assets/fonts/semibold-hanzi-026.woff2 +0 -0
  104. package/assets/fonts/semibold-hanzi-027.woff2 +0 -0
  105. package/assets/fonts/semibold-hanzi-028.woff2 +0 -0
  106. package/assets/fonts/semibold-hanzi-029.woff2 +0 -0
  107. package/assets/fonts/semibold-hanzi-030.woff2 +0 -0
  108. package/assets/fonts/semibold-hanzi-031.woff2 +0 -0
  109. package/assets/fonts/semibold-hanzi-032.woff2 +0 -0
  110. package/assets/fonts/semibold-hanzi-033.woff2 +0 -0
  111. package/assets/fonts/semibold-hanzi-034.woff2 +0 -0
  112. package/assets/fonts/semibold-hanzi-035.woff2 +0 -0
  113. package/assets/fonts/semibold-hanzi-036.woff2 +0 -0
  114. package/assets/fonts/semibold-hanzi-037.woff2 +0 -0
  115. package/assets/fonts/semibold-hanzi-038.woff2 +0 -0
  116. package/assets/fonts/semibold-hanzi-039.woff2 +0 -0
  117. package/assets/fonts/semibold-hanzi-040.woff2 +0 -0
  118. package/assets/fonts/semibold-hanzi-041.woff2 +0 -0
  119. package/assets/fonts/semibold-hanzi-042.woff2 +0 -0
  120. package/assets/fonts/semibold-hanzi-043.woff2 +0 -0
  121. package/assets/fonts/semibold-hanzi-044.woff2 +0 -0
  122. package/assets/fonts/semibold-hanzi-045.woff2 +0 -0
  123. package/assets/fonts/semibold-hanzi-046.woff2 +0 -0
  124. package/assets/fonts/semibold-hanzi-047.woff2 +0 -0
  125. package/assets/fonts/semibold-hanzi-048.woff2 +0 -0
  126. package/assets/fonts/semibold-hanzi-049.woff2 +0 -0
  127. package/assets/fonts/semibold-hanzi-050.woff2 +0 -0
  128. package/assets/fonts/semibold-hanzi-051.woff2 +0 -0
  129. package/assets/fonts/semibold-hanzi-052.woff2 +0 -0
  130. package/assets/fonts/semibold-hanzi-053.woff2 +0 -0
  131. package/assets/fonts/semibold-hanzi-054.woff2 +0 -0
  132. package/assets/fonts/semibold-hanzi-055.woff2 +0 -0
  133. package/assets/fonts/semibold-hanzi-056.woff2 +0 -0
  134. package/assets/fonts/semibold-hanzi-057.woff2 +0 -0
  135. package/assets/fonts/semibold-hanzi-058.woff2 +0 -0
  136. package/assets/fonts/semibold-hanzi-059.woff2 +0 -0
  137. package/assets/fonts/semibold-hanzi-060.woff2 +0 -0
  138. package/assets/fonts/semibold-hanzi-061.woff2 +0 -0
  139. package/assets/fonts/semibold-hanzi-062.woff2 +0 -0
  140. package/assets/fonts/semibold-hanzi-063.woff2 +0 -0
  141. package/assets/fonts/semibold-hanzi-064.woff2 +0 -0
  142. package/assets/fonts/semibold-latin.woff2 +0 -0
  143. package/assets/fonts/semibold-punctuation.woff2 +0 -0
  144. package/assets/fonts/semibold-symbols.woff2 +0 -0
  145. package/lib/client.js +577 -266
  146. package/lib/index.js +180 -2
  147. package/lib/types/client/code-font.d.ts +70 -0
  148. package/lib/types/client/locales.d.ts +12 -0
  149. package/lib/types/client/settings.d.ts +15 -0
  150. package/lib/types/comment-skill.d.ts +1 -1
  151. package/lib/types/font-slices.d.ts +58 -0
  152. package/lib/types/index.d.ts +46 -0
  153. package/package.json +8 -1
package/lib/client.js CHANGED
@@ -21,7 +21,7 @@ window.__ModuleLoader__.load({
21
21
  let react_dom = require("react-dom");
22
22
  let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
23
23
  //#region \0dsh-css:/home/runner/work/dsh-diff-approval/dsh-diff-approval/src/client/PendingPanel.module.css.mjs
24
- const css = ".F1KBNa_panelFailure{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:16px;display:flex}.F1KBNa_panelFailureText{min-width:0}.F1KBNa_panelFailureRetry{border:1px solid var(--dsw-alias-border-l2);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;margin-left:auto;padding:2px 8px}.F1KBNa_panelFailureRetry:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_layer{box-sizing:border-box;flex:none;align-items:center;width:calc(100% + 4px);height:42px;margin:4px -2px;display:flex;position:relative}.F1KBNa_headerEntry{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:28px;flex:none;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}.F1KBNa_headerEntry:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_headerEntry[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.F1KBNa_headerEntry:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_headerEntryCount{box-sizing:border-box;background:var(--dsw-alias-button-primary-fill);min-width:14px;height:14px;color:var(--dsw-alias-label-primary-foreground);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:7px;padding:0 3px;font-size:10px;line-height:14px;position:absolute;top:-1px;right:-1px}.F1KBNa_headerEntry svg{display:block}.F1KBNa_footerButtons{align-items:center;width:100%;display:flex}.F1KBNa_badge{box-sizing:border-box;width:100%;height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:0 10px 0 8px;font-family:inherit;font-size:14px;line-height:22px;display:flex;overflow:hidden}.F1KBNa_badge:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_badge[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_badge:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_badgeLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.F1KBNa_badgeCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;line-height:16px}.F1KBNa_layer.F1KBNa_rail{width:36px;height:36px;margin:8px 0 10px}.F1KBNa_rail .F1KBNa_badge{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:0}.F1KBNa_rail .F1KBNa_badgeLabel{display:none}.F1KBNa_rail .F1KBNa_badgeCount{box-sizing:border-box;background:var(--dsw-alias-state-business-primary);min-width:18px;height:18px;color:var(--dsw-alias-label-primary-foreground);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;line-height:18px;display:flex;position:absolute;top:-3px;right:-7px}.F1KBNa_coverBackdrop{z-index:29;background:var(--dsw-specific-sidebar-fill);position:fixed;inset:0}.F1KBNa_panel{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:auto;max-width:none;box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;display:flex;position:fixed;inset:8px 8px 128px;overflow:hidden}.F1KBNa_panel .F1KBNa_code,.F1KBNa_panel .F1KBNa_mdPreviewBody,.F1KBNa_panel .F1KBNa_discussionUser,.F1KBNa_panel .F1KBNa_discussionAnswer,.F1KBNa_panel .F1KBNa_quoteText,.F1KBNa_panel .F1KBNa_diffPath,.F1KBNa_panel .F1KBNa_rowPath,.F1KBNa_panel input,.F1KBNa_panel textarea,.F1KBNa_panel [contenteditable]{-webkit-user-select:text;user-select:text}.F1KBNa_panelDocked{width:100%;max-width:none;height:100%;box-shadow:none;border:none;border-radius:0;position:static;inset:auto}.F1KBNa_dockHost{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.F1KBNa_header{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;display:flex}.F1KBNa_headerActions{align-items:center;gap:2px;display:flex}.F1KBNa_settingsPage{padding:8px 12px}.F1KBNa_settingsGroup{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupHeader{width:100%;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsGroupText{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.F1KBNa_settingsGroupTitle{font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsGroupDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsGroupChevron{margin-left:auto;transition:transform .15s}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupChevron{transform:rotate(180deg)}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupHeader{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupBody{flex-direction:column;display:flex}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow{padding-left:16px}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow:last-child,.F1KBNa_settingsPage>.F1KBNa_settingsRow:last-child{border-bottom:none}.F1KBNa_settingsRow{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsRowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}.F1KBNa_settingsRowTitle{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsRowDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsSelector{background:var(--dsw-alias-bg-module-platform);min-width:72px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.F1KBNa_settingsSelector:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_settingsSelector[data-recording]{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary);color:var(--dsw-alias-label-secondary)}.F1KBNa_settingsReset{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;margin-left:6px;padding:0;display:inline-flex}.F1KBNa_settingsReset:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_settingsReset:disabled{opacity:.4;cursor:default}.F1KBNa_colorPicker{position:relative}.F1KBNa_colorPickerTrigger{background:var(--dsw-alias-bg-module-platform);width:120px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_colorPickerTrigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_colorSwatch{border:1px solid var(--dsw-alias-border-l2);border-radius:50%;flex:none;width:24px;height:24px}.F1KBNa_colorValue{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1;min-width:0;overflow:hidden}.F1KBNa_colorPickerChevron{flex:none}.F1KBNa_colorBackdrop{z-index:40;position:fixed;inset:0}.F1KBNa_colorPickerPopover{z-index:41;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_colorPickerPanel{flex-direction:column;gap:8px;display:flex}.F1KBNa_colorPickerInputRow{align-items:center;gap:8px;display:flex}.F1KBNa_colorPickerPreview{border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex:none;width:22px;height:22px}.F1KBNa_colorPickerInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-module-platform);min-width:0;height:30px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;flex:1;padding:0 8px;font-size:12px;line-height:28px}.F1KBNa_colorPickerInput:focus{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.F1KBNa_colorSv{border:1px solid var(--dsw-alias-border-l1);cursor:crosshair;touch-action:none;border-radius:8px;height:140px;position:relative}.F1KBNa_colorSvCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_colorHue{border:1px solid var(--dsw-alias-border-l1);cursor:pointer;touch-action:none;border-radius:7px;height:14px;position:relative}.F1KBNa_colorHueCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_diffPreview{z-index:2;border:1px solid var(--dsw-alias-border-l1);font:var(--dsw-font-markdown-code-block);background:var(--dsw-alias-markdown-code-block);border-radius:8px;margin:16px 0 8px;padding:8px;position:sticky;top:0;overflow:hidden}.F1KBNa_diffPreviewTitle{color:var(--dsw-alias-label-tertiary);margin-bottom:6px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_diffPreviewScroll{height:132px;overflow-y:auto}.F1KBNa_mdPreviewWrap{isolation:isolate;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_mdPreviewBody{overscroll-behavior:none;min-width:0;min-height:0;color:var(--dsw-alias-label-primary);flex:1;padding:12px 16px;position:relative;overflow:auto}.F1KBNa_mdPreviewContent{width:100%;min-width:0;margin:0 auto}.F1KBNa_mdPreviewSingle{display:block}.F1KBNa_mdPreviewDouble{display:flex}.F1KBNa_mdPreviewBody .mdBlock{border-radius:4px;margin-bottom:12px;padding:2px 6px}.F1KBNa_mdPreviewBody .mdAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_mdPreviewBody .mdDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_mdPreviewBody .mdWordDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdWordAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdDouble{flex-direction:column;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleRow{align-items:flex-start;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleCol{flex:1;min-width:0}.F1KBNa_mdPreviewBody .mdDoubleRule{background:var(--dsw-alias-border-l2);flex:none;align-self:stretch;width:1px;margin:0 12px}.F1KBNa_mdPreviewFallback{font-family:var(--dsw-font-markdown-code-block);color:var(--dsw-alias-label-tertiary);padding:12px 16px;font-size:12px;line-height:18px}.F1KBNa_mdPreviewBody{word-break:break-word;font-size:13px;line-height:20px}.F1KBNa_mdPreviewBody>:first-child{margin-top:0}.F1KBNa_mdPreviewBody>:last-child{margin-bottom:0}.F1KBNa_mdPreviewBody h1,.F1KBNa_mdPreviewBody h2,.F1KBNa_mdPreviewBody h3,.F1KBNa_mdPreviewBody h4,.F1KBNa_mdPreviewBody h5,.F1KBNa_mdPreviewBody h6{margin:16px 0 8px;font-weight:600;line-height:1.3}.F1KBNa_mdPreviewBody h1{font-size:22px}.F1KBNa_mdPreviewBody h2{font-size:19px}.F1KBNa_mdPreviewBody h3{font-size:16px}.F1KBNa_mdPreviewBody h4{font-size:15px}.F1KBNa_mdPreviewBody h5{font-size:14px}.F1KBNa_mdPreviewBody h6{font-size:13px}.F1KBNa_mdPreviewBody p{margin:8px 0}.F1KBNa_mdPreviewBody ul,.F1KBNa_mdPreviewBody ol{margin:8px 0;padding-left:22px}.F1KBNa_mdPreviewBody li{margin:2px 0}.F1KBNa_mdPreviewBody a{color:var(--dsw-alias-state-business-primary);text-decoration:none}.F1KBNa_mdPreviewBody a:hover{text-decoration:underline}.F1KBNa_mdPreviewBody code{font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:4px;padding:1px 5px;font-size:12.5px}.F1KBNa_mdPreviewBody pre{overscroll-behavior-x:none;border:1px solid var(--dsw-alias-border-l1);font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:8px;margin:8px 0;padding:10px 12px;font-size:12.5px;line-height:18px;overflow:auto}.F1KBNa_mdPreviewBody pre code{background:0 0;padding:0}.F1KBNa_mdPreviewBody blockquote{border-left:3px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);margin:8px 0;padding:0 12px}.F1KBNa_mdPreviewBody hr{background:var(--dsw-alias-border-l1);border:none;height:1px;margin:16px 0}.F1KBNa_mdPreviewBody table{border-collapse:collapse;margin:8px 0}.F1KBNa_mdPreviewBody th,.F1KBNa_mdPreviewBody td{border:1px solid var(--dsw-alias-border-l1);padding:4px 10px}.F1KBNa_mdPreviewBody img{max-width:100%}.F1KBNa_mdPreviewBody .mdImageFallback{border:1px dashed var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-markdown-code-block) 45%, transparent);width:100%;min-height:120px;color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-markdown-code-block);text-align:center;white-space:pre-wrap;word-break:break-all;border-radius:4px;justify-content:center;align-items:center;margin:0 auto;padding:8px 12px;font-size:12px;line-height:16px;display:flex}.F1KBNa_toggle{border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:18px;flex:none;width:60px;height:36px;padding:0;position:relative}.F1KBNa_toggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_toggle:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.F1KBNa_toggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleOn:hover{background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleThumb{background:var(--dsw-alias-label-primary);border-radius:50%;width:28px;height:28px;transition:left .12s;position:absolute;top:3px;left:3px}.F1KBNa_toggleOn .F1KBNa_toggleThumb{background:#fff;left:27px}.F1KBNa_stepper{align-items:center;gap:6px;display:inline-flex}.F1KBNa_stepperButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);width:32px;height:32px;color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:8px;padding:0;position:relative}.F1KBNa_stepperButton:before,.F1KBNa_stepperButton:after{content:\"\";background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_stepperButton:before{width:10px;height:1px}.F1KBNa_stepperButton:after{width:1px;height:10px;display:none}.F1KBNa_stepperButtonUp:after{display:block}.F1KBNa_stepperButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_stepperButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_stepperValue{text-align:center;min-width:2ch;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:14px;line-height:22px}.F1KBNa_states{flex-direction:column;flex:1;min-height:0;padding:4px 12px 12px;display:flex;overflow-y:auto}.F1KBNa_split{flex:1;align-items:stretch;min-height:0;display:flex;position:relative}.F1KBNa_fileListKnob{z-index:39;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:28px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;box-shadow:var(--dsw-elevation-prominent);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.F1KBNa_fileListKnob[data-open]{box-shadow:none;opacity:0}.F1KBNa_fileListKnob:not([data-open]){animation:.32s ease-in-out .5s both F1KBNa_fileListKnobIn}@keyframes F1KBNa_fileListKnobIn{0%{opacity:0}to{opacity:1}}.F1KBNa_fileListKnob:hover,.F1KBNa_fileListKnob:focus-visible{background-color:var(--dsw-alias-bg-base);background-image:linear-gradient(var(--dsw-alias-interactive-bg-hover), var(--dsw-alias-interactive-bg-hover))}.F1KBNa_fileListFloat{z-index:40;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);box-shadow:none;transform-origin:0 0;border-radius:12px;flex-direction:column;padding:6px 0 10px 8px;display:flex;position:absolute;overflow:hidden}.F1KBNa_fileListFloatClosing{pointer-events:none;animation:.14s ease-in forwards F1KBNa_fileListShrink}@keyframes F1KBNa_fileListShrink{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.F1KBNa_fileList{box-sizing:border-box;border-right:1px solid var(--dsw-alias-border-l2);flex-direction:column;flex:none;width:260px;min-height:0;padding:4px 8px 12px;display:flex}.F1KBNa_listScroll{flex:1;min-height:0;overflow-y:scroll}.F1KBNa_bulkActions{flex:none;gap:6px;padding:8px 8px 0 0;display:flex}.F1KBNa_bulkActions .F1KBNa_action{text-align:center;flex:auto}.F1KBNa_addPath{justify-content:center;align-items:center;gap:4px;display:inline-flex}.F1KBNa_resizeHandle{cursor:col-resize;touch-action:none;background:0 0;flex:none;width:5px;margin:0 -2px}.F1KBNa_resizeHandle:hover{background:var(--dsw-alias-border-l2)}.F1KBNa_floatResizeHandle{z-index:41;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border-radius:4px;position:absolute}.F1KBNa_floatResizeHandle:hover{background-color:var(--dsw-alias-bg-base);background-image:linear-gradient(var(--dsw-alias-border-l2), var(--dsw-alias-border-l2))}.F1KBNa_detail{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.F1KBNa_detailEmpty{color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;margin:0;padding:24px;font-size:12px;line-height:18px;display:flex}.F1KBNa_confirmBackdrop{z-index:55;background:color-mix(in srgb, var(--dsw-alias-bg-base) 55%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.F1KBNa_confirmCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:340px;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.F1KBNa_confirmText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;margin:0;line-height:1.5}.F1KBNa_confirmActions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.F1KBNa_pickerCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:420px;max-width:100%;height:70%;max-height:100%;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex;position:relative;overflow:hidden}.F1KBNa_pickerTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}.F1KBNa_pickerClose{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.F1KBNa_pickerClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_pickerForm{flex:none;gap:8px;display:flex}.F1KBNa_pickerInput{border:1px solid var(--dsw-alias-border-l1);min-width:0;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;flex:auto;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_pickerInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.F1KBNa_tree{border:1px solid var(--dsw-alias-border-l1);border-radius:8px;flex:auto;min-height:0;padding:4px 2px 4px 4px;overflow:auto scroll}.F1KBNa_treeRow{border-radius:6px;align-items:center;gap:2px;padding-right:4px;display:flex}.F1KBNa_treeRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_treeRow[data-selected]{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 18%, transparent)}.F1KBNa_treeCaret{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_treeCaret:hover{color:var(--dsw-alias-label-primary)}.F1KBNa_treeName{min-width:0;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:auto;align-items:center;gap:6px;padding:2px 4px;font-family:inherit;font-size:12px;line-height:18px;display:flex}.F1KBNa_treeName:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_treeNote{color:var(--dsw-alias-label-tertiary);margin:2px 0;font-size:12px;line-height:18px}.F1KBNa_pickerIcon{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_pickerName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_pickerNote{color:var(--dsw-alias-label-tertiary);flex:none;margin:0;font-size:12px;line-height:18px}.F1KBNa_pickerCheck{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;margin-right:auto;font-size:12px;line-height:18px;display:flex}.F1KBNa_title{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}.F1KBNa_note,.F1KBNa_readError,.F1KBNa_hint{color:var(--dsw-alias-label-tertiary);margin:4px 0;font-size:12px;line-height:18px}.F1KBNa_noteCentered{text-align:center;margin:auto}.F1KBNa_emptyState{flex-direction:column;align-items:center;gap:10px;margin:auto;display:flex}.F1KBNa_importButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:5px 14px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_importButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_importButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_importNote{color:var(--dsw-alias-label-tertiary);text-align:center;margin:0;font-size:12px;line-height:18px}.F1KBNa_readError{color:var(--dsw-alias-state-error-primary)}.F1KBNa_group{color:var(--dsw-alias-label-tertiary);margin:8px 0 4px;font-size:12px;font-weight:500;line-height:16px}.F1KBNa_groupHead{align-items:center;gap:4px;margin:8px 0 4px;padding-right:8px;display:flex}.F1KBNa_action.F1KBNa_addButton{box-sizing:border-box;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;min-height:0;padding:0;display:inline-flex}.F1KBNa_groupHead>.F1KBNa_group{margin:0}.F1KBNa_listHead{flex:none;align-items:center;gap:4px;margin:8px 1px 2px;padding-right:8px;display:flex}.F1KBNa_action.F1KBNa_addButton.F1KBNa_listFold{width:26px;height:26px}.F1KBNa_listTitle{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:500;line-height:16px}.F1KBNa_listTabs{background:var(--dsw-alias-interactive-bg-hover);border-radius:8px;flex:auto;gap:2px;min-width:0;padding:2px;display:flex}.F1KBNa_listTab{color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:3px 8px;font-size:12px;line-height:16px;display:inline-flex}.F1KBNa_tabCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums}.F1KBNa_listTab[aria-selected=true]{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.F1KBNa_commentGroup{margin:0 0 6px}.F1KBNa_commentGroup:last-child{margin-bottom:0}.F1KBNa_commentGroupName{color:var(--dsw-alias-label-tertiary);margin:0;padding:4px 8px 2px;font-size:11px;font-weight:500;line-height:16px}.F1KBNa_commentRow{box-sizing:border-box;width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:6px 8px;display:block}.F1KBNa_commentRow:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_commentHead{align-items:baseline;gap:6px;min-width:0;display:flex}.F1KBNa_commentLabel{white-space:nowrap;text-align:right;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-markdown-code-block);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:700;line-height:16px}.F1KBNa_commentLost{color:var(--dsw-alias-label-tertiary);flex:none;font-size:11px;line-height:16px}.F1KBNa_commentTitle{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:12px;line-height:18px;overflow:hidden}.F1KBNa_commentTitleEmpty{color:var(--dsw-alias-label-tertiary)}.F1KBNa_listEmpty{color:var(--dsw-alias-label-tertiary);margin:8px 12px;font-size:12px;line-height:18px}.F1KBNa_emptyActions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.F1KBNa_rows{margin:0;padding:0;list-style:none}.F1KBNa_row{border:1px solid #0000;border-radius:10px;margin:2px 0}.F1KBNa_rowMenuAnchor{display:none}.F1KBNa_rowHead{width:100%;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_rowHead:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_rowHead[data-selected]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_rowPath{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:4px;font-size:12px;line-height:18px;overflow:hidden}.F1KBNa_kindTag{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_kindHint{color:var(--dsw-alias-label-tertiary);flex:none;font-size:12px;line-height:16px}.F1KBNa_divergedHint,.F1KBNa_missingHint{border-bottom:1px solid var(--dsw-alias-border-l2);margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missing{border:1px solid var(--dsw-alias-state-warn-primary);color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary));white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_rowFailed{border:1px solid var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_actionError{border-bottom:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missingHint{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary))}.F1KBNa_rowMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;gap:6px;margin-left:auto;font-size:12px;line-height:16px;display:inline-flex}.F1KBNa_addCount{color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 60%, var(--dsw-alias-label-primary))}.F1KBNa_delCount{color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 60%, var(--dsw-alias-label-primary))}.F1KBNa_diff{background:var(--dsw-alias-markdown-code-block);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffHeader{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_panelDocked .F1KBNa_diffHeader{background:var(--dsw-alias-bg-base)}.F1KBNa_diffPath{appearance:none;min-width:0;font:inherit;text-overflow:ellipsis;color:var(--dsw-alias-label-primary);background:0 0;border:0;flex:1;margin-left:4px;padding:0;font-size:12px;line-height:18px;position:relative;top:1px}.F1KBNa_diffPath:focus{outline:none}.F1KBNa_diffActions{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_diffStats{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px}.F1KBNa_flexSpacer{flex:1}.F1KBNa_gotoHost{display:inline-flex}.F1KBNa_gotoLayer{z-index:30;place-items:center;display:grid;position:absolute;inset:0}.F1KBNa_gotoLayerRight{left:50%;right:var(--dsh-scrollbar-width,8px);bottom:calc(var(--dsh-scrollbar-width,8px) + 1px)}.F1KBNa_gotoBackdrop{z-index:29;position:fixed;inset:0}.F1KBNa_gotoBox{z-index:1;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex;position:relative}.F1KBNa_gotoInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);width:9em;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;flex:none;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_gotoInput:focus{border-color:var(--dsw-alias-state-business-primary)}.F1KBNa_gotoAction{white-space:nowrap;flex:none}.F1KBNa_divider{background:var(--dsw-alias-border-l1);align-self:stretch;width:1px;margin:2px 0}.F1KBNa_action{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_action:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_actionChord{color:var(--dsw-alias-label-tertiary);margin-left:6px;font-size:11px}.F1KBNa_actionPrimary{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_actionPrimary:hover:not(:disabled){background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_actionPrimary:disabled{background:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:.55}.F1KBNa_actionQuietDisabled:disabled{cursor:pointer;color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l1);background:0 0}.F1KBNa_actionPrimary.F1KBNa_actionQuietDisabled:disabled{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:1}.F1KBNa_iconAction{justify-content:center;align-items:center;min-height:25px;padding:4px 6px;display:inline-flex}.F1KBNa_close{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_close:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expand{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_expand:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expandExpanded svg{transform:rotate(180deg)}.F1KBNa_diffBodyWrap{isolation:isolate;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffBody{overscroll-behavior:none;min-width:0;font:var(--dsw-font-markdown-code-block);-webkit-text-size-adjust:100%;text-size-adjust:100%;cursor:text;outline:none;flex:1;padding:0;position:relative;overflow:auto}.F1KBNa_diffBody::-webkit-scrollbar,.F1KBNa_diffBody::-webkit-scrollbar-track,.F1KBNa_diffBody::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_blockActions{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);z-index:2;border-radius:10px;align-items:center;gap:9px;padding:5px;display:flex;position:absolute;right:8px}.F1KBNa_blockActionsDivider{background:var(--dsw-alias-border-l2);flex:none;align-self:stretch;width:1px;margin:2px 0}.F1KBNa_blockPosition{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:1px;margin-left:7px;font-size:12px;line-height:16px}.F1KBNa_searchBar{z-index:3;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:8px;right:8px}.F1KBNa_searchInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);width:150px;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_searchInput:focus{border-color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchCount{text-align:center;min-width:34px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:16px}.F1KBNa_searchToggle{border:1px solid var(--dsw-alias-border-l1);min-height:25px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:4px 6px;display:inline-flex}.F1KBNa_searchToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_searchToggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchMatch{color:inherit;background-color:#facc1542;border-radius:2px}.F1KBNa_searchMatchCurrent{color:inherit;background-color:#facc1599;border-radius:2px}.F1KBNa_blockFlash{z-index:3;box-sizing:border-box;border:2px solid var(--dsw-alias-state-business-primary);pointer-events:none;border-radius:4px;animation:1s ease-out forwards F1KBNa_diffFlashFade;position:absolute;left:0;right:0}.F1KBNa_blockFlashShake{animation:.7s ease-out forwards F1KBNa_diffFlashShake}.F1KBNa_discussionRow{background:var(--dsw-alias-bg-base);display:table-row}.F1KBNa_discussionCell{display:table-cell}.F1KBNa_discussionPin{z-index:2;width:0;height:0;position:sticky;left:0}.F1KBNa_discussion{z-index:2;box-sizing:border-box;border-left:3px solid var(--dsw-alias-state-business-primary);box-shadow:inset 0 1px 0 0 color-mix(in srgb, var(--dsw-alias-label-secondary) 55%, transparent), inset 0 -1px 0 0 color-mix(in srgb, var(--dsw-alias-label-secondary) 55%, transparent), inset -1px 0 0 0 color-mix(in srgb, var(--dsw-alias-label-secondary) 55%, transparent);cursor:default;background:0 0;flex-direction:column;display:flex;position:absolute;top:0;left:0;overflow:hidden}.F1KBNa_discussionHead{font:var(--dsw-font-markdown-code-block)}.F1KBNa_discussionBody,.F1KBNa_threadFontProbe{font:var(--dsw-font-markdown-base);font-size:calc(var(--dsh-content-font-size,14px) - 2px)}.F1KBNa_threadFontProbe{visibility:hidden;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.F1KBNa_discussionBody{flex-direction:column;flex:auto;min-height:0;padding:0 12px;display:flex;overflow:hidden}.F1KBNa_discussion[data-lost]{border-left-color:var(--dsw-alias-label-secondary);background:repeating-linear-gradient(135deg, var(--dsw-alias-interactive-bg-hover) 0 4px, transparent 4px 8px);background-origin:border-box}.F1KBNa_discussion[data-lost] .F1KBNa_discussionSend,.F1KBNa_discussion[data-lost] .F1KBNa_discussionSend:hover:not(:disabled),.F1KBNa_discussion[data-lost] .F1KBNa_discussionSend:disabled{background:var(--dsw-alias-label-secondary);border-color:var(--dsw-alias-label-secondary);color:var(--dsw-alias-label-primary-foreground)}.F1KBNa_discussion[data-lost] .F1KBNa_discussionUser{background:color-mix(in srgb, var(--dsw-alias-label-secondary) 30%, transparent)}.F1KBNa_discussionAnswer{color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;margin:0;padding:0;font-family:inherit;line-height:22px}.F1KBNa_discussionUser{box-sizing:border-box;background:var(--dsw-specific-bubble,var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover)));width:fit-content;max-width:82%;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;border-radius:8px 0 8px 8px;margin:6.6px 0 6.6px auto;padding:4.4px 11px;font-family:inherit;line-height:22px}.F1KBNa_discussionCode{box-sizing:border-box;font:var(--dsw-font-markdown-code);font-family:var(--ds-font-family-code);background:color-mix(in srgb, var(--dsw-alias-markdown-inline-code,var(--dsw-alias-interactive-bg-hover-solid)) 90%, var(--dsw-alias-label-secondary));border:.5px solid var(--dsw-alias-border-l1);border-radius:6px;align-items:center;padding:0 5px;font-size:.875em;line-height:16px;display:inline-flex}.F1KBNa_discussionBody strong{font-weight:700}.F1KBNa_discussionNote{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:0;font-family:inherit;line-height:22px}.F1KBNa_discussionNote[data-diff-discussion-hidden]{color:var(--dsw-alias-label-tertiary)}.F1KBNa_discussionDots{margin-left:1px}.F1KBNa_discussionDots>span{animation:1.2s ease-in-out infinite F1KBNa_discussionDot}.F1KBNa_discussionDots>span:nth-child(2){animation-delay:.15s}.F1KBNa_discussionDots>span:nth-child(3){animation-delay:.3s}@keyframes F1KBNa_discussionDot{0%,60%,to{opacity:.25}30%{opacity:1}}.F1KBNa_quoteLines{table-layout:fixed;border-spacing:0;width:calc(100% + 27px);min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-code-block);line-height:var(--dsh-diff-line-height,22px);background:color-mix(in srgb, var(--dsw-alias-interactive-bg-hover) 55%, transparent);margin:0 -12px 0 -15px;display:table}.F1KBNa_quoteAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 12%, transparent)}.F1KBNa_quoteDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 13%, transparent)}.F1KBNa_quoteLine{font-size:calc(1em * var(--dsh-diff-font-scale,1));height:var(--dsh-diff-line-height,22px);display:table-row}.F1KBNa_quoteCode{display:table-cell}.F1KBNa_quoteText{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;display:block}.F1KBNa_quoteNoWrap .F1KBNa_quoteText{white-space:pre;overflow-wrap:normal;overflow:hidden}.F1KBNa_quoteNoWrap .F1KBNa_quoteText:after{content:\"\";width:calc(var(--dsh-diff-quote-width,0px) + 100%);display:inline-block}.F1KBNa_quoteSplit{align-self:stretch;align-items:flex-start;margin:0 -12px;display:flex}.F1KBNa_quoteSplitSide{flex:1 1 0;min-width:0}.F1KBNa_quoteSplitSide+.F1KBNa_quoteSplitSide{border-left:1px solid var(--dsw-alias-border-l2)}.F1KBNa_quoteSplitTable{table-layout:fixed;border-spacing:0;width:100%;display:table}.F1KBNa_quoteNoWrap .F1KBNa_quoteSplit [data-diff-quote-side=left] .F1KBNa_quoteText:after{content:\"\";width:calc(var(--dsh-quote-width-left,0px) + 100%);display:inline-block}.F1KBNa_quoteNoWrap .F1KBNa_quoteSplit [data-diff-quote-side=right] .F1KBNa_quoteText:after{content:\"\";width:calc(var(--dsh-quote-width-right,0px) + 100%);display:inline-block}.F1KBNa_discussionHead{box-sizing:border-box;flex:none;align-items:center;gap:8px;height:22px;padding:0 12px;font-size:12px;line-height:16px;display:flex}.F1KBNa_discussionCompose{box-sizing:border-box;flex:none;align-items:flex-end;gap:8px;height:44px;margin:0 -6px;padding:0 0 6.6px;display:flex}.F1KBNa_discussionSlack{flex:1 1 0;min-height:0;max-height:22px}.F1KBNa_discussionInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);min-width:0;height:26px;color:var(--dsw-alias-label-primary);cursor:text;border-radius:6px;flex:auto;padding:3px 8px;font-family:inherit;line-height:18px}.F1KBNa_discussionToggle{width:18px;height:18px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_discussionToggle:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_discussionRangeWrap{font:var(--dsw-font-markdown-code-block);flex:none}.F1KBNa_discussionRange{color:var(--dsw-alias-label-tertiary);font-family:inherit}.F1KBNa_discussionInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.F1KBNa_discussionInput::placeholder{font-family:inherit;font-size:inherit;color:var(--dsw-alias-label-tertiary)}.F1KBNa_discussionSend{box-sizing:border-box;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;height:26px;padding-left:9px;padding-right:9px;display:inline-flex}.F1KBNa_rowDiscussed{--diff-row-wash:color-mix(in srgb, var(--dsw-alias-label-secondary) 14%, transparent);background-image:linear-gradient(var(--diff-row-wash), var(--diff-row-wash))}@keyframes F1KBNa_diffFlashFade{0%{opacity:1}to{opacity:0}}@keyframes F1KBNa_diffFlashShake{0%{opacity:1;transform:translateY(0)}10%{transform:translateY(1px)}20%{transform:translateY(-1px)}30%{transform:translateY(1px)}40%{transform:translateY(-1px)}50%{transform:translateY(1px)}60%{transform:translateY(-1px)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.F1KBNa_overviewRuler{pointer-events:none;opacity:.5;width:4px;position:absolute;top:0;bottom:0;right:0}.F1KBNa_overviewRulerSplit{width:var(--dsh-scrollbar-width,8px);bottom:calc(var(--dsh-scrollbar-width,8px) + 1px)}.F1KBNa_overviewMarker{border-radius:2px;width:100%;min-height:2px;position:absolute;right:0}.F1KBNa_markerDel{background-color:var(--dsw-alias-state-error-primary)}.F1KBNa_markerAdd{background-color:var(--dsw-alias-state-success-primary)}.F1KBNa_markerSplitDel{width:50%;left:0;right:auto}.F1KBNa_markerSplitAdd{width:50%;left:auto;right:0}.F1KBNa_lines{border-spacing:0;width:max-content;min-width:100%;font-size:calc(1em * var(--dsh-diff-font-scale,1));display:table}.F1KBNa_line{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);-webkit-user-select:none;user-select:none;display:table-row}.F1KBNa_vSpacer{display:table-row}.F1KBNa_gutter{box-sizing:border-box;text-align:right;width:44px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;cursor:default;padding-right:10px;display:table-cell}.F1KBNa_line>.F1KBNa_gutter{z-index:1;background-color:var(--dsw-alias-markdown-code-block);background-image:linear-gradient(var(--diff-row-tint,transparent), var(--diff-row-tint,transparent)), linear-gradient(var(--diff-row-wash,transparent), var(--diff-row-wash,transparent));position:sticky;left:0}.F1KBNa_line>.F1KBNa_gutter+.F1KBNa_gutter{left:44px}.F1KBNa_code{white-space:pre;-webkit-user-select:text;user-select:text;display:table-cell}.F1KBNa_context{color:var(--dsw-alias-label-primary)}.F1KBNa_del{--diff-row-tint:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 20%, transparent);background-color:var(--diff-row-tint)}.F1KBNa_add{--diff-row-tint:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 18%, transparent);background-color:var(--diff-row-tint)}.F1KBNa_statusBar{box-sizing:border-box;border-top:1px solid var(--dsw-alias-border-l2);height:34px;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-markdown-code-block);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.F1KBNa_statusAction{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_statusAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langSelect{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;flex:none;align-items:center;gap:4px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_langSelect:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langLabel{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.F1KBNa_presentationSelect{cursor:pointer;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_presentationSelect:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_chip{justify-content:flex-end;align-items:center;gap:5px;min-width:0;padding-right:14px;display:inline-flex}.F1KBNa_chipLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_coverHost{align-items:center;display:inline-flex;position:relative}.F1KBNa_coverCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:12px;align-items:center;gap:4px;padding:6px;display:flex}.F1KBNa_coverPopover{z-index:50;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_coverNotice{z-index:80;pointer-events:none;animation:1.25s ease-out forwards F1KBNa_coverNoticeFade;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_coverNoticeCard{gap:4px;padding:6px 8px}@keyframes F1KBNa_coverNoticeFade{0%,78%{opacity:1}to{opacity:0}}.F1KBNa_coverNoticeGlyph{width:44px;height:44px;color:var(--dsw-alias-label-tertiary);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_coverNoticeGlyph[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_coverNoticeGlyph[data-changed]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_coverNoticeText{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.F1KBNa_coverButton{width:32px;height:32px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_coverButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_coverButton[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_presentationHost{align-items:center;display:inline-flex}.F1KBNa_chipPresentation{min-width:36px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:20px;flex:none;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_chipPresentation:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_mirrored{transform:scaleX(-1)}.F1KBNa_notice{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:360px;box-shadow:var(--dsw-shadow-lv3);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:24px;right:24px}.F1KBNa_noticeText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);flex:1;margin:0;line-height:1.45}.F1KBNa_noticeButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font:var(--dsw-font-caption);cursor:pointer;border-radius:6px;flex:none;padding:4px 10px}.F1KBNa_noticeButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_wrap .F1KBNa_line{height:auto;min-height:var(--dsh-diff-line-height,22px)}.F1KBNa_subline{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);white-space:pre;display:block;overflow:hidden}.F1KBNa_wrapActive{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_wrapActive:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_splitRoot{isolation:isolate;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffBodySplit{flex:1;min-height:0;overflow-x:hidden}.F1KBNa_splitCols{width:100%;min-width:0;min-height:100%;display:flex}.F1KBNa_splitCol{box-sizing:border-box;flex:1 1 0;min-width:0;overflow:hidden}.F1KBNa_splitDivider{background:var(--dsw-alias-border-l2);flex:0 0 1px}.F1KBNa_splitDiscussions{z-index:3;pointer-events:none;width:100%;height:0;position:absolute;top:0;left:0}.F1KBNa_splitDiscussion{box-sizing:border-box;pointer-events:auto;background:var(--dsw-alias-bg-base);position:absolute;left:0}.F1KBNa_splitSealed,.F1KBNa_splitSealed *{-webkit-user-select:none!important;user-select:none!important}.F1KBNa_splitSealedLeft [data-diff-split-side=left],.F1KBNa_splitSealedLeft [data-diff-split-side=left] *,.F1KBNa_splitSealedRight [data-diff-split-side=right],.F1KBNa_splitSealedRight [data-diff-split-side=right] *{-webkit-user-select:text!important;user-select:text!important}.F1KBNa_splitCol .F1KBNa_gutter,.F1KBNa_splitCol .F1KBNa_code{vertical-align:top}.F1KBNa_splitHScrollRow{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;width:100%;min-width:0;display:flex}.F1KBNa_splitHScroll{overscroll-behavior-x:none;min-width:0;height:var(--dsh-scrollbar-width,8px);flex:1 1 0;overflow:auto hidden}.F1KBNa_splitHScroll::-webkit-scrollbar{height:var(--dsh-scrollbar-width,8px)}.F1KBNa_splitHScroll::-webkit-scrollbar-track{cursor:default}.F1KBNa_splitHScroll::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_splitHScrollFill{height:1px}.F1KBNa_splitLdel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 20%, transparent)}.F1KBNa_splitLadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 18%, transparent)}.F1KBNa_splitRdel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 20%, transparent)}.F1KBNa_splitRadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 18%, transparent)}.F1KBNa_intraDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 34%, transparent);text-decoration:line-through}.F1KBNa_intraAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 32%, transparent)}";
24
+ const css = ".F1KBNa_panelFailure{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:16px;display:flex}.F1KBNa_panelFailureText{min-width:0}.F1KBNa_panelFailureRetry{border:1px solid var(--dsw-alias-border-l2);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;margin-left:auto;padding:2px 8px}.F1KBNa_panelFailureRetry:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_layer{box-sizing:border-box;flex:none;align-items:center;width:calc(100% + 4px);height:42px;margin:4px -2px;display:flex;position:relative}.F1KBNa_headerEntry{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:28px;flex:none;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}.F1KBNa_headerEntry:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_headerEntry[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.F1KBNa_headerEntry:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_headerEntryCount{box-sizing:border-box;background:var(--dsw-alias-button-primary-fill);min-width:14px;height:14px;color:var(--dsw-alias-label-primary-foreground);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:7px;padding:0 3px;font-size:10px;line-height:14px;position:absolute;top:-1px;right:-1px}.F1KBNa_headerEntry svg{display:block}.F1KBNa_footerButtons{align-items:center;width:100%;display:flex}.F1KBNa_badge{box-sizing:border-box;width:100%;height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:0 10px 0 8px;font-family:inherit;font-size:14px;line-height:22px;display:flex;overflow:hidden}.F1KBNa_badge:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_badge[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_badge:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_badgeLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.F1KBNa_badgeCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;line-height:16px}.F1KBNa_layer.F1KBNa_rail{width:36px;height:36px;margin:8px 0 10px}.F1KBNa_rail .F1KBNa_badge{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:0}.F1KBNa_rail .F1KBNa_badgeLabel{display:none}.F1KBNa_rail .F1KBNa_badgeCount{box-sizing:border-box;background:var(--dsw-alias-state-business-primary);min-width:18px;height:18px;color:var(--dsw-alias-label-primary-foreground);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;line-height:18px;display:flex;position:absolute;top:-3px;right:-7px}.F1KBNa_coverBackdrop{z-index:29;background:var(--dsw-specific-sidebar-fill);position:fixed;inset:0}.F1KBNa_panel{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:auto;max-width:none;box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;display:flex;position:fixed;inset:8px 8px 128px;overflow:hidden}.F1KBNa_panel .F1KBNa_code,.F1KBNa_panel .F1KBNa_mdPreviewBody,.F1KBNa_panel .F1KBNa_discussionUser,.F1KBNa_panel .F1KBNa_discussionAnswer,.F1KBNa_panel .F1KBNa_quoteText,.F1KBNa_panel .F1KBNa_diffPath,.F1KBNa_panel .F1KBNa_rowPath,.F1KBNa_panel input,.F1KBNa_panel textarea,.F1KBNa_panel [contenteditable]{-webkit-user-select:text;user-select:text}.F1KBNa_panelDocked{width:100%;max-width:none;height:100%;box-shadow:none;border:none;border-radius:0;position:static;inset:auto}.F1KBNa_dockHost{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.F1KBNa_header{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;display:flex}.F1KBNa_headerActions{align-items:center;gap:2px;display:flex}.F1KBNa_settingsPage{padding:8px 12px}.F1KBNa_settingsGroup{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupHeader{width:100%;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsGroupText{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.F1KBNa_settingsGroupTitle{font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsGroupDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsGroupChevron{margin-left:auto;transition:transform .15s}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupChevron{transform:rotate(180deg)}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupHeader{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupBody{flex-direction:column;display:flex}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow{padding-left:16px}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow:last-child,.F1KBNa_settingsPage>.F1KBNa_settingsRow:last-child{border-bottom:none}.F1KBNa_settingsRow{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsRowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}.F1KBNa_settingsRowTitle{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsRowDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsRowLink{color:inherit;cursor:pointer;text-decoration:none}.F1KBNa_settingsRowLink:hover{color:var(--dsw-alias-label-secondary);text-underline-offset:2px;text-decoration:underline}.F1KBNa_settingsSelector{background:var(--dsw-alias-bg-module-platform);min-width:72px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.F1KBNa_settingsSelector:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_settingsSelector[data-recording]{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary);color:var(--dsw-alias-label-secondary)}.F1KBNa_settingsReset{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;margin-left:6px;padding:0;display:inline-flex}.F1KBNa_settingsReset:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_settingsReset:disabled{opacity:.4;cursor:default}.F1KBNa_colorPicker{position:relative}.F1KBNa_colorPickerTrigger{background:var(--dsw-alias-bg-module-platform);width:120px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_colorPickerTrigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_colorSwatch{border:1px solid var(--dsw-alias-border-l2);border-radius:50%;flex:none;width:24px;height:24px}.F1KBNa_colorValue{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1;min-width:0;overflow:hidden}.F1KBNa_colorPickerChevron{flex:none}.F1KBNa_colorBackdrop{z-index:40;position:fixed;inset:0}.F1KBNa_colorPickerPopover{z-index:41;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_colorPickerPanel{flex-direction:column;gap:8px;display:flex}.F1KBNa_colorPickerInputRow{align-items:center;gap:8px;display:flex}.F1KBNa_colorPickerPreview{border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex:none;width:22px;height:22px}.F1KBNa_colorPickerInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-module-platform);min-width:0;height:30px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;flex:1;padding:0 8px;font-size:12px;line-height:28px}.F1KBNa_colorPickerInput:focus{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.F1KBNa_colorSv{border:1px solid var(--dsw-alias-border-l1);cursor:crosshair;touch-action:none;border-radius:8px;height:140px;position:relative}.F1KBNa_colorSvCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_colorHue{border:1px solid var(--dsw-alias-border-l1);cursor:pointer;touch-action:none;border-radius:7px;height:14px;position:relative}.F1KBNa_colorHueCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_diffPreview{z-index:2;border:1px solid var(--dsw-alias-border-l1);font:var(--dsw-font-markdown-code-block);background:var(--dsw-alias-markdown-code-block);border-radius:8px;margin:16px 0 8px;padding:8px;position:sticky;top:0;overflow:hidden}.F1KBNa_diffPreviewTitle{color:var(--dsw-alias-label-tertiary);margin-bottom:6px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_diffPreviewScroll{height:132px;overflow-y:auto}.F1KBNa_mdPreviewWrap{isolation:isolate;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_mdPreviewBody{overscroll-behavior:none;min-width:0;min-height:0;color:var(--dsw-alias-label-primary);flex:1;padding:12px 16px;position:relative;overflow:auto}.F1KBNa_mdPreviewContent{width:100%;min-width:0;margin:0 auto}.F1KBNa_mdPreviewSingle{display:block}.F1KBNa_mdPreviewDouble{display:flex}.F1KBNa_mdPreviewBody .mdBlock{border-radius:4px;margin-bottom:12px;padding:2px 6px}.F1KBNa_mdPreviewBody .mdAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_mdPreviewBody .mdDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_mdPreviewBody .mdWordDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdWordAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdDouble{flex-direction:column;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleRow{align-items:flex-start;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleCol{flex:1;min-width:0}.F1KBNa_mdPreviewBody .mdDoubleRule{background:var(--dsw-alias-border-l2);flex:none;align-self:stretch;width:1px;margin:0 12px}.F1KBNa_mdPreviewFallback{font-family:var(--dsw-font-markdown-code-block);color:var(--dsw-alias-label-tertiary);padding:12px 16px;font-size:12px;line-height:18px}.F1KBNa_mdPreviewBody{word-break:break-word;font-size:13px;line-height:20px}.F1KBNa_mdPreviewBody>:first-child{margin-top:0}.F1KBNa_mdPreviewBody>:last-child{margin-bottom:0}.F1KBNa_mdPreviewBody h1,.F1KBNa_mdPreviewBody h2,.F1KBNa_mdPreviewBody h3,.F1KBNa_mdPreviewBody h4,.F1KBNa_mdPreviewBody h5,.F1KBNa_mdPreviewBody h6{margin:16px 0 8px;font-weight:600;line-height:1.3}.F1KBNa_mdPreviewBody h1{font-size:22px}.F1KBNa_mdPreviewBody h2{font-size:19px}.F1KBNa_mdPreviewBody h3{font-size:16px}.F1KBNa_mdPreviewBody h4{font-size:15px}.F1KBNa_mdPreviewBody h5{font-size:14px}.F1KBNa_mdPreviewBody h6{font-size:13px}.F1KBNa_mdPreviewBody p{margin:8px 0}.F1KBNa_mdPreviewBody ul,.F1KBNa_mdPreviewBody ol{margin:8px 0;padding-left:22px}.F1KBNa_mdPreviewBody li{margin:2px 0}.F1KBNa_mdPreviewBody a{color:var(--dsw-alias-state-business-primary);text-decoration:none}.F1KBNa_mdPreviewBody a:hover{text-decoration:underline}.F1KBNa_mdPreviewBody code{font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:4px;padding:1px 5px;font-size:12.5px}.F1KBNa_mdPreviewBody pre{overscroll-behavior-x:none;border:1px solid var(--dsw-alias-border-l1);font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:8px;margin:8px 0;padding:10px 12px;font-size:12.5px;line-height:18px;overflow:auto}.F1KBNa_mdPreviewBody pre code{background:0 0;padding:0}.F1KBNa_mdPreviewBody blockquote{border-left:3px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);margin:8px 0;padding:0 12px}.F1KBNa_mdPreviewBody hr{background:var(--dsw-alias-border-l1);border:none;height:1px;margin:16px 0}.F1KBNa_mdPreviewBody table{border-collapse:collapse;margin:8px 0}.F1KBNa_mdPreviewBody th,.F1KBNa_mdPreviewBody td{border:1px solid var(--dsw-alias-border-l1);padding:4px 10px}.F1KBNa_mdPreviewBody img{max-width:100%}.F1KBNa_mdPreviewBody .mdImageFallback{border:1px dashed var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-markdown-code-block) 45%, transparent);width:100%;min-height:120px;color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-markdown-code-block);text-align:center;white-space:pre-wrap;word-break:break-all;border-radius:4px;justify-content:center;align-items:center;margin:0 auto;padding:8px 12px;font-size:12px;line-height:16px;display:flex}.F1KBNa_toggle{border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:18px;flex:none;width:60px;height:36px;padding:0;position:relative}.F1KBNa_toggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_toggle:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.F1KBNa_toggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleOn:hover{background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleThumb{background:var(--dsw-alias-label-primary);border-radius:50%;width:28px;height:28px;transition:left .12s;position:absolute;top:3px;left:3px}.F1KBNa_toggleOn .F1KBNa_toggleThumb{background:#fff;left:27px}.F1KBNa_stepper{align-items:center;gap:6px;display:inline-flex}.F1KBNa_stepperButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);width:32px;height:32px;color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:8px;padding:0;position:relative}.F1KBNa_stepperButton:before,.F1KBNa_stepperButton:after{content:\"\";background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_stepperButton:before{width:10px;height:1px}.F1KBNa_stepperButton:after{width:1px;height:10px;display:none}.F1KBNa_stepperButtonUp:after{display:block}.F1KBNa_stepperButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_stepperButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_stepperValue{text-align:center;min-width:2ch;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:14px;line-height:22px}.F1KBNa_states{flex-direction:column;flex:1;min-height:0;padding:4px 12px 12px;display:flex;overflow-y:auto}.F1KBNa_split{flex:1;align-items:stretch;min-height:0;display:flex;position:relative}.F1KBNa_fileListKnob{z-index:39;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:28px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;box-shadow:var(--dsw-elevation-prominent);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.F1KBNa_fileListKnob[data-open]{box-shadow:none;opacity:0}.F1KBNa_fileListKnob:not([data-open]){animation:.32s ease-in-out .5s both F1KBNa_fileListKnobIn}@keyframes F1KBNa_fileListKnobIn{0%{opacity:0}to{opacity:1}}.F1KBNa_fileListKnob:hover,.F1KBNa_fileListKnob:focus-visible{background-color:var(--dsw-alias-bg-base);background-image:linear-gradient(var(--dsw-alias-interactive-bg-hover), var(--dsw-alias-interactive-bg-hover))}.F1KBNa_fileListFloat{z-index:40;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);box-shadow:none;transform-origin:0 0;border-radius:12px;flex-direction:column;padding:6px 0 10px 8px;display:flex;position:absolute;overflow:hidden}.F1KBNa_fileListFloatClosing{pointer-events:none;animation:.14s ease-in forwards F1KBNa_fileListShrink}@keyframes F1KBNa_fileListShrink{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.F1KBNa_fileList{box-sizing:border-box;border-right:1px solid var(--dsw-alias-border-l2);flex-direction:column;flex:none;width:260px;min-height:0;padding:4px 8px 12px;display:flex}.F1KBNa_listScroll{flex:1;min-height:0;overflow-y:scroll}.F1KBNa_bulkActions{flex:none;gap:6px;padding:8px 8px 0 0;display:flex}.F1KBNa_bulkActions .F1KBNa_action{text-align:center;flex:auto}.F1KBNa_addPath{justify-content:center;align-items:center;gap:4px;display:inline-flex}.F1KBNa_resizeHandle{cursor:col-resize;touch-action:none;background:0 0;flex:none;width:5px;margin:0 -2px}.F1KBNa_resizeHandle:hover{background:var(--dsw-alias-border-l2)}.F1KBNa_floatResizeHandle{z-index:41;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border-radius:4px;position:absolute}.F1KBNa_floatResizeHandle:hover{background-color:var(--dsw-alias-bg-base);background-image:linear-gradient(var(--dsw-alias-border-l2), var(--dsw-alias-border-l2))}.F1KBNa_detail{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.F1KBNa_detailEmpty{color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;margin:0;padding:24px;font-size:12px;line-height:18px;display:flex}.F1KBNa_confirmBackdrop{z-index:55;background:color-mix(in srgb, var(--dsw-alias-bg-base) 55%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.F1KBNa_confirmCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:340px;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.F1KBNa_confirmText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;margin:0;line-height:1.5}.F1KBNa_confirmActions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.F1KBNa_pickerCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:420px;max-width:100%;height:70%;max-height:100%;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex;position:relative;overflow:hidden}.F1KBNa_pickerTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}.F1KBNa_pickerClose{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.F1KBNa_pickerClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_pickerForm{flex:none;gap:8px;display:flex}.F1KBNa_pickerInput{border:1px solid var(--dsw-alias-border-l1);min-width:0;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;flex:auto;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_pickerInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.F1KBNa_tree{border:1px solid var(--dsw-alias-border-l1);border-radius:8px;flex:auto;min-height:0;padding:4px 2px 4px 4px;overflow:auto scroll}.F1KBNa_treeRow{border-radius:6px;align-items:center;gap:2px;padding-right:4px;display:flex}.F1KBNa_treeRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_treeRow[data-selected]{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 18%, transparent)}.F1KBNa_treeCaret{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_treeCaret:hover{color:var(--dsw-alias-label-primary)}.F1KBNa_treeName{min-width:0;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:auto;align-items:center;gap:6px;padding:2px 4px;font-family:inherit;font-size:12px;line-height:18px;display:flex}.F1KBNa_treeName:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_treeNote{color:var(--dsw-alias-label-tertiary);margin:2px 0;font-size:12px;line-height:18px}.F1KBNa_pickerIcon{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_pickerName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_pickerNote{color:var(--dsw-alias-label-tertiary);flex:none;margin:0;font-size:12px;line-height:18px}.F1KBNa_pickerCheck{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;margin-right:auto;font-size:12px;line-height:18px;display:flex}.F1KBNa_title{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}.F1KBNa_note,.F1KBNa_readError,.F1KBNa_hint{color:var(--dsw-alias-label-tertiary);margin:4px 0;font-size:12px;line-height:18px}.F1KBNa_noteCentered{text-align:center;margin:auto}.F1KBNa_emptyState{flex-direction:column;align-items:center;gap:10px;margin:auto;display:flex}.F1KBNa_importButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:5px 14px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_importButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_importButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_importNote{color:var(--dsw-alias-label-tertiary);text-align:center;margin:0;font-size:12px;line-height:18px}.F1KBNa_readError{color:var(--dsw-alias-state-error-primary)}.F1KBNa_group{color:var(--dsw-alias-label-tertiary);margin:8px 0 4px;font-size:12px;font-weight:500;line-height:16px}.F1KBNa_groupHead{align-items:center;gap:4px;margin:8px 0 4px;padding-right:8px;display:flex}.F1KBNa_action.F1KBNa_addButton{box-sizing:border-box;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;min-height:0;padding:0;display:inline-flex}.F1KBNa_groupHead>.F1KBNa_group{margin:0}.F1KBNa_listHead{flex:none;align-items:center;gap:4px;margin:8px 1px 2px;padding-right:8px;display:flex}.F1KBNa_action.F1KBNa_addButton.F1KBNa_listFold{width:26px;height:26px}.F1KBNa_listTitle{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:500;line-height:16px}.F1KBNa_listTabs{background:var(--dsw-alias-interactive-bg-hover);border-radius:8px;flex:auto;gap:2px;min-width:0;padding:2px;display:flex}.F1KBNa_listTab{color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:3px 8px;font-size:12px;line-height:16px;display:inline-flex}.F1KBNa_tabCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums}.F1KBNa_listTab[aria-selected=true]{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.F1KBNa_commentGroup{margin:0 0 6px}.F1KBNa_commentGroup:last-child{margin-bottom:0}.F1KBNa_commentGroupName{color:var(--dsw-alias-label-tertiary);margin:0;padding:4px 8px 2px;font-size:11px;font-weight:500;line-height:16px}.F1KBNa_commentRow{box-sizing:border-box;width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:6px 8px;display:block}.F1KBNa_commentRow:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_commentHead{align-items:baseline;gap:6px;min-width:0;display:flex}.F1KBNa_commentLabel{white-space:nowrap;text-align:right;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-markdown-code-block);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:700;line-height:16px}.F1KBNa_commentLost{color:var(--dsw-alias-label-tertiary);flex:none;font-size:11px;line-height:16px}.F1KBNa_commentTitle{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:12px;line-height:18px;overflow:hidden}.F1KBNa_commentTitleEmpty{color:var(--dsw-alias-label-tertiary)}.F1KBNa_listEmpty{color:var(--dsw-alias-label-tertiary);margin:8px 12px;font-size:12px;line-height:18px}.F1KBNa_emptyActions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.F1KBNa_rows{margin:0;padding:0;list-style:none}.F1KBNa_row{border:1px solid #0000;border-radius:10px;margin:2px 0}.F1KBNa_rowMenuAnchor{display:none}.F1KBNa_rowHead{width:100%;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_rowHead:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_rowHead[data-selected]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_rowPath{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:4px;font-size:12px;line-height:18px;overflow:hidden}.F1KBNa_kindTag{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_kindHint{color:var(--dsw-alias-label-tertiary);flex:none;font-size:12px;line-height:16px}.F1KBNa_divergedHint,.F1KBNa_missingHint{border-bottom:1px solid var(--dsw-alias-border-l2);margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missing{border:1px solid var(--dsw-alias-state-warn-primary);color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary));white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_rowFailed{border:1px solid var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_actionError{border-bottom:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missingHint{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary))}.F1KBNa_rowMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;gap:6px;margin-left:auto;font-size:12px;line-height:16px;display:inline-flex}.F1KBNa_addCount{color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 60%, var(--dsw-alias-label-primary))}.F1KBNa_delCount{color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 60%, var(--dsw-alias-label-primary))}.F1KBNa_diff{background:var(--dsw-alias-markdown-code-block);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffHeader{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_panelDocked .F1KBNa_diffHeader{background:var(--dsw-alias-bg-base)}.F1KBNa_diffPath{appearance:none;min-width:0;font:inherit;text-overflow:ellipsis;color:var(--dsw-alias-label-primary);background:0 0;border:0;flex:1;margin-left:4px;padding:0;font-size:12px;line-height:18px;position:relative;top:1px}.F1KBNa_diffPath:focus{outline:none}.F1KBNa_diffActions{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_diffStats{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px}.F1KBNa_flexSpacer{flex:1}.F1KBNa_gotoHost{display:inline-flex}.F1KBNa_gotoLayer{z-index:30;place-items:center;display:grid;position:absolute;inset:0}.F1KBNa_gotoLayerRight{left:50%;right:var(--dsh-scrollbar-width,8px);bottom:calc(var(--dsh-scrollbar-width,8px) + 1px)}.F1KBNa_gotoBackdrop{z-index:29;position:fixed;inset:0}.F1KBNa_gotoBox{z-index:1;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex;position:relative}.F1KBNa_gotoInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);width:9em;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;flex:none;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_gotoInput:focus{border-color:var(--dsw-alias-state-business-primary)}.F1KBNa_gotoAction{white-space:nowrap;flex:none}.F1KBNa_divider{background:var(--dsw-alias-border-l1);align-self:stretch;width:1px;margin:2px 0}.F1KBNa_action{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_action:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_actionChord{color:var(--dsw-alias-label-tertiary);margin-left:6px;font-size:11px}.F1KBNa_actionPrimary{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_actionPrimary:hover:not(:disabled){background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_actionPrimary:disabled{background:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:.55}.F1KBNa_actionQuietDisabled:disabled{cursor:pointer;color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l1);background:0 0}.F1KBNa_actionPrimary.F1KBNa_actionQuietDisabled:disabled{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:1}.F1KBNa_iconAction{justify-content:center;align-items:center;min-height:25px;padding:4px 6px;display:inline-flex}.F1KBNa_close{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_close:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expand{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_expand:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expandExpanded svg{transform:rotate(180deg)}.F1KBNa_diffBodyWrap{isolation:isolate;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffBody{overscroll-behavior:none;min-width:0;font:var(--dsw-font-markdown-code-block);-webkit-text-size-adjust:100%;text-size-adjust:100%;cursor:text;outline:none;flex:1;padding:0;position:relative;overflow:auto}.F1KBNa_diffBody::-webkit-scrollbar,.F1KBNa_diffBody::-webkit-scrollbar-track,.F1KBNa_diffBody::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_blockActions{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);z-index:2;border-radius:10px;align-items:center;gap:9px;padding:5px;display:flex;position:absolute;right:8px}.F1KBNa_blockActionsDivider{background:var(--dsw-alias-border-l2);flex:none;align-self:stretch;width:1px;margin:2px 0}.F1KBNa_blockPosition{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:1px;margin-left:7px;font-size:12px;line-height:16px}.F1KBNa_searchBar{z-index:3;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:8px;right:8px}.F1KBNa_searchInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);width:150px;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_searchInput:focus{border-color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchCount{text-align:center;min-width:34px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:16px}.F1KBNa_searchToggle{border:1px solid var(--dsw-alias-border-l1);min-height:25px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:4px 6px;display:inline-flex}.F1KBNa_searchToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_searchToggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchMatch{color:inherit;background-color:#facc1542;border-radius:2px}.F1KBNa_searchMatchCurrent{color:inherit;background-color:#facc1599;border-radius:2px}.F1KBNa_blockFlash{z-index:3;box-sizing:border-box;border:2px solid var(--dsw-alias-state-business-primary);pointer-events:none;border-radius:4px;animation:1s ease-out forwards F1KBNa_diffFlashFade;position:absolute;left:0;right:0}.F1KBNa_blockFlashShake{animation:.7s ease-out forwards F1KBNa_diffFlashShake}.F1KBNa_discussionRow{background:var(--dsw-alias-bg-base);display:table-row}.F1KBNa_discussionCell{display:table-cell}.F1KBNa_discussionPin{z-index:2;width:0;height:0;position:sticky;left:0}.F1KBNa_discussion{z-index:2;box-sizing:border-box;border-left:3px solid var(--dsw-alias-state-business-primary);box-shadow:inset 0 1px 0 0 color-mix(in srgb, var(--dsw-alias-label-secondary) 55%, transparent), inset 0 -1px 0 0 color-mix(in srgb, var(--dsw-alias-label-secondary) 55%, transparent), inset -1px 0 0 0 color-mix(in srgb, var(--dsw-alias-label-secondary) 55%, transparent);cursor:default;background:0 0;flex-direction:column;display:flex;position:absolute;top:0;left:0;overflow:hidden}.F1KBNa_discussionHead{font:var(--dsw-font-markdown-code-block)}.F1KBNa_discussionBody,.F1KBNa_threadFontProbe{font:var(--dsw-font-markdown-base);font-size:calc(var(--dsh-content-font-size,14px) - 2px)}.F1KBNa_threadFontProbe{visibility:hidden;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.F1KBNa_discussionBody{flex-direction:column;flex:auto;min-height:0;padding:0 12px;display:flex;overflow:hidden}.F1KBNa_discussion[data-lost]{border-left-color:var(--dsw-alias-label-secondary);background:repeating-linear-gradient(135deg, var(--dsw-alias-interactive-bg-hover) 0 4px, transparent 4px 8px);background-origin:border-box}.F1KBNa_discussion[data-lost] .F1KBNa_discussionSend,.F1KBNa_discussion[data-lost] .F1KBNa_discussionSend:hover:not(:disabled),.F1KBNa_discussion[data-lost] .F1KBNa_discussionSend:disabled{background:var(--dsw-alias-label-secondary);border-color:var(--dsw-alias-label-secondary);color:var(--dsw-alias-label-primary-foreground)}.F1KBNa_discussion[data-lost] .F1KBNa_discussionUser{background:color-mix(in srgb, var(--dsw-alias-label-secondary) 30%, transparent)}.F1KBNa_discussionAnswer{color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;margin:0;padding:0;font-family:inherit;line-height:22px}.F1KBNa_discussionUser{box-sizing:border-box;background:var(--dsw-specific-bubble,var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover)));width:fit-content;max-width:82%;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;border-radius:8px 0 8px 8px;margin:6.6px 0 6.6px auto;padding:4.4px 11px;font-family:inherit;line-height:22px}.F1KBNa_discussionCode{box-sizing:border-box;font:var(--dsw-font-markdown-code);font-family:var(--ds-font-family-code);background:color-mix(in srgb, var(--dsw-alias-markdown-inline-code,var(--dsw-alias-interactive-bg-hover-solid)) 90%, var(--dsw-alias-label-secondary));border:.5px solid var(--dsw-alias-border-l1);border-radius:6px;align-items:center;padding:0 5px;font-size:.875em;line-height:16px;display:inline-flex}.F1KBNa_discussionBody strong{font-weight:700}.F1KBNa_discussionNote{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:0;font-family:inherit;line-height:22px}.F1KBNa_discussionNote[data-diff-discussion-hidden]{color:var(--dsw-alias-label-tertiary)}.F1KBNa_discussionDots{margin-left:1px}.F1KBNa_discussionDots>span{animation:1.2s ease-in-out infinite F1KBNa_discussionDot}.F1KBNa_discussionDots>span:nth-child(2){animation-delay:.15s}.F1KBNa_discussionDots>span:nth-child(3){animation-delay:.3s}@keyframes F1KBNa_discussionDot{0%,60%,to{opacity:.25}30%{opacity:1}}.F1KBNa_quoteLines{table-layout:fixed;border-spacing:0;width:calc(100% + 27px);min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-code-block);line-height:var(--dsh-diff-line-height,22px);background:color-mix(in srgb, var(--dsw-alias-interactive-bg-hover) 55%, transparent);margin:0 -12px 0 -15px;display:table}.F1KBNa_quoteAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 12%, transparent)}.F1KBNa_quoteDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 13%, transparent)}.F1KBNa_quoteLine{font-size:calc(1em * var(--dsh-diff-font-scale,1));height:var(--dsh-diff-line-height,22px);display:table-row}.F1KBNa_quoteCode{display:table-cell}.F1KBNa_quoteText{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;display:block}.F1KBNa_quoteNoWrap .F1KBNa_quoteText{white-space:pre;overflow-wrap:normal;overflow:hidden}.F1KBNa_quoteNoWrap .F1KBNa_quoteText:after{content:\"\";width:calc(var(--dsh-diff-quote-width,0px) + 100%);display:inline-block}.F1KBNa_quoteSplit{align-self:stretch;align-items:flex-start;margin:0 -12px;display:flex}.F1KBNa_quoteSplitSide{flex:1 1 0;min-width:0}.F1KBNa_quoteSplitSide+.F1KBNa_quoteSplitSide{border-left:1px solid var(--dsw-alias-border-l2)}.F1KBNa_quoteSplitTable{table-layout:fixed;border-spacing:0;width:100%;display:table}.F1KBNa_quoteNoWrap .F1KBNa_quoteSplit [data-diff-quote-side=left] .F1KBNa_quoteText:after{content:\"\";width:calc(var(--dsh-quote-width-left,0px) + 100%);display:inline-block}.F1KBNa_quoteNoWrap .F1KBNa_quoteSplit [data-diff-quote-side=right] .F1KBNa_quoteText:after{content:\"\";width:calc(var(--dsh-quote-width-right,0px) + 100%);display:inline-block}.F1KBNa_discussionHead{box-sizing:border-box;flex:none;align-items:center;gap:8px;height:22px;padding:0 12px;font-size:12px;line-height:16px;display:flex}.F1KBNa_discussionCompose{box-sizing:border-box;flex:none;align-items:flex-end;gap:8px;height:44px;margin:0 -6px;padding:0 0 6.6px;display:flex}.F1KBNa_discussionSlack{flex:1 1 0;min-height:0;max-height:22px}.F1KBNa_discussionInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);min-width:0;height:26px;color:var(--dsw-alias-label-primary);cursor:text;border-radius:6px;flex:auto;padding:3px 8px;font-family:inherit;line-height:18px}.F1KBNa_discussionToggle{width:18px;height:18px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_discussionToggle:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_discussionRangeWrap{font:var(--dsw-font-markdown-code-block);flex:none}.F1KBNa_discussionRange{color:var(--dsw-alias-label-tertiary);font-family:inherit}.F1KBNa_discussionInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.F1KBNa_discussionInput::placeholder{font-family:inherit;font-size:inherit;color:var(--dsw-alias-label-tertiary)}.F1KBNa_discussionSend{box-sizing:border-box;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;height:26px;padding-left:9px;padding-right:9px;display:inline-flex}.F1KBNa_rowDiscussed{--diff-row-wash:color-mix(in srgb, var(--dsw-alias-label-secondary) 14%, transparent);background-image:linear-gradient(var(--diff-row-wash), var(--diff-row-wash))}@keyframes F1KBNa_diffFlashFade{0%{opacity:1}to{opacity:0}}@keyframes F1KBNa_diffFlashShake{0%{opacity:1;transform:translateY(0)}10%{transform:translateY(1px)}20%{transform:translateY(-1px)}30%{transform:translateY(1px)}40%{transform:translateY(-1px)}50%{transform:translateY(1px)}60%{transform:translateY(-1px)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.F1KBNa_overviewRuler{pointer-events:none;opacity:.5;width:4px;position:absolute;top:0;bottom:0;right:0}.F1KBNa_overviewRulerSplit{width:var(--dsh-scrollbar-width,8px);bottom:calc(var(--dsh-scrollbar-width,8px) + 1px)}.F1KBNa_overviewMarker{border-radius:2px;width:100%;min-height:2px;position:absolute;right:0}.F1KBNa_markerDel{background-color:var(--dsw-alias-state-error-primary)}.F1KBNa_markerAdd{background-color:var(--dsw-alias-state-success-primary)}.F1KBNa_markerSplitDel{width:50%;left:0;right:auto}.F1KBNa_markerSplitAdd{width:50%;left:auto;right:0}.F1KBNa_lines{border-spacing:0;width:max-content;min-width:100%;font-size:calc(1em * var(--dsh-diff-font-scale,1));display:table}.F1KBNa_line{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);-webkit-user-select:none;user-select:none;display:table-row}.F1KBNa_vSpacer{display:table-row}.F1KBNa_gutter{box-sizing:border-box;text-align:right;width:44px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;cursor:default;padding-right:10px;display:table-cell}.F1KBNa_line>.F1KBNa_gutter{z-index:1;background-color:var(--dsw-alias-markdown-code-block);background-image:linear-gradient(var(--diff-row-tint,transparent), var(--diff-row-tint,transparent)), linear-gradient(var(--diff-row-wash,transparent), var(--diff-row-wash,transparent));position:sticky;left:0}.F1KBNa_line>.F1KBNa_gutter+.F1KBNa_gutter{left:44px}.F1KBNa_code{white-space:pre;-webkit-user-select:text;user-select:text;display:table-cell}.F1KBNa_context{color:var(--dsw-alias-label-primary)}.F1KBNa_del{--diff-row-tint:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 20%, transparent);background-color:var(--diff-row-tint)}.F1KBNa_add{--diff-row-tint:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 18%, transparent);background-color:var(--diff-row-tint)}.F1KBNa_statusBar{box-sizing:border-box;border-top:1px solid var(--dsw-alias-border-l2);height:34px;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-markdown-code-block);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.F1KBNa_statusAction{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_statusAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langSelect{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;flex:none;align-items:center;gap:4px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_langSelect:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langLabel{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.F1KBNa_presentationSelect{cursor:pointer;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_presentationSelect:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_chip{justify-content:flex-end;align-items:center;gap:5px;min-width:0;padding-right:14px;display:inline-flex}.F1KBNa_chipLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_coverHost{align-items:center;display:inline-flex;position:relative}.F1KBNa_coverCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:12px;align-items:center;gap:4px;padding:6px;display:flex}.F1KBNa_coverPopover{z-index:50;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_coverNotice{z-index:80;pointer-events:none;animation:1.25s ease-out forwards F1KBNa_coverNoticeFade;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_coverNoticeCard{gap:4px;padding:6px 8px}@keyframes F1KBNa_coverNoticeFade{0%,78%{opacity:1}to{opacity:0}}.F1KBNa_coverNoticeGlyph{width:44px;height:44px;color:var(--dsw-alias-label-tertiary);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_coverNoticeGlyph[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_coverNoticeGlyph[data-changed]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_coverNoticeText{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.F1KBNa_coverButton{width:32px;height:32px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_coverButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_coverButton[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_presentationHost{align-items:center;display:inline-flex}.F1KBNa_chipPresentation{min-width:36px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:20px;flex:none;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_chipPresentation:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_mirrored{transform:scaleX(-1)}.F1KBNa_notice{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:360px;box-shadow:var(--dsw-shadow-lv3);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:24px;right:24px}.F1KBNa_noticeText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);flex:1;margin:0;line-height:1.45}.F1KBNa_noticeButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font:var(--dsw-font-caption);cursor:pointer;border-radius:6px;flex:none;padding:4px 10px}.F1KBNa_noticeButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_wrap .F1KBNa_line{height:auto;min-height:var(--dsh-diff-line-height,22px)}.F1KBNa_subline{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);white-space:pre;display:block;overflow:hidden}.F1KBNa_wrapActive{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_wrapActive:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_splitRoot{isolation:isolate;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffBodySplit{flex:1;min-height:0;overflow-x:hidden}.F1KBNa_splitCols{width:100%;min-width:0;min-height:100%;display:flex}.F1KBNa_splitCol{box-sizing:border-box;flex:1 1 0;min-width:0;overflow:hidden}.F1KBNa_splitDivider{background:var(--dsw-alias-border-l2);flex:0 0 1px}.F1KBNa_splitDiscussions{z-index:3;pointer-events:none;width:100%;height:0;position:absolute;top:0;left:0}.F1KBNa_splitDiscussion{box-sizing:border-box;pointer-events:auto;background:var(--dsw-alias-bg-base);position:absolute;left:0}.F1KBNa_splitSealed,.F1KBNa_splitSealed *{-webkit-user-select:none!important;user-select:none!important}.F1KBNa_splitSealedLeft [data-diff-split-side=left],.F1KBNa_splitSealedLeft [data-diff-split-side=left] *,.F1KBNa_splitSealedRight [data-diff-split-side=right],.F1KBNa_splitSealedRight [data-diff-split-side=right] *{-webkit-user-select:text!important;user-select:text!important}.F1KBNa_splitCol .F1KBNa_gutter,.F1KBNa_splitCol .F1KBNa_code{vertical-align:top}.F1KBNa_splitHScrollRow{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;width:100%;min-width:0;display:flex}.F1KBNa_splitHScroll{overscroll-behavior-x:none;min-width:0;height:var(--dsh-scrollbar-width,8px);flex:1 1 0;overflow:auto hidden}.F1KBNa_splitHScroll::-webkit-scrollbar{height:var(--dsh-scrollbar-width,8px)}.F1KBNa_splitHScroll::-webkit-scrollbar-track{cursor:default}.F1KBNa_splitHScroll::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_splitHScrollFill{height:1px}.F1KBNa_splitLdel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 20%, transparent)}.F1KBNa_splitLadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 18%, transparent)}.F1KBNa_splitRdel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 20%, transparent)}.F1KBNa_splitRadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 18%, transparent)}.F1KBNa_intraDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 34%, transparent);text-decoration:line-through}.F1KBNa_intraAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 32%, transparent)}";
25
25
  const tagId = "dsh-diff-approval/PendingPanel.module.css";
26
26
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
27
27
  const tag = document.createElement("style");
@@ -31,271 +31,272 @@ window.__ModuleLoader__.load({
31
31
  document.head.appendChild(tag);
32
32
  }
33
33
  var PendingPanel_module_css_default = {
34
+ "gotoHost": "F1KBNa_gotoHost",
35
+ "chip": "F1KBNa_chip",
34
36
  "splitRdel": "F1KBNa_splitRdel",
35
- "pickerTitle": "F1KBNa_pickerTitle",
37
+ "discussionCode": "F1KBNa_discussionCode",
38
+ "diffActions": "F1KBNa_diffActions",
39
+ "missing": "F1KBNa_missing",
40
+ "quoteLines": "F1KBNa_quoteLines",
41
+ "divergedHint": "F1KBNa_divergedHint",
42
+ "gotoBox": "F1KBNa_gotoBox",
36
43
  "searchBar": "F1KBNa_searchBar",
37
- "readError": "F1KBNa_readError",
38
- "quoteNoWrap": "F1KBNa_quoteNoWrap",
39
- "colorSv": "F1KBNa_colorSv",
40
- "listTabs": "F1KBNa_listTabs",
41
- "blockFlash": "F1KBNa_blockFlash",
42
- "discussionToggle": "F1KBNa_discussionToggle",
43
- "gotoHost": "F1KBNa_gotoHost",
44
- "footerButtons": "F1KBNa_footerButtons",
45
- "splitHScroll": "F1KBNa_splitHScroll",
46
- "colorPickerChevron": "F1KBNa_colorPickerChevron",
47
- "row": "F1KBNa_row",
48
- "blockPosition": "F1KBNa_blockPosition",
49
- "actionChord": "F1KBNa_actionChord",
50
- "badge": "F1KBNa_badge",
51
- "hint": "F1KBNa_hint",
52
- "coverNoticeText": "F1KBNa_coverNoticeText",
53
- "split": "F1KBNa_split",
54
- "treeNote": "F1KBNa_treeNote",
44
+ "headerActions": "F1KBNa_headerActions",
45
+ "listTitle": "F1KBNa_listTitle",
46
+ "actionError": "F1KBNa_actionError",
55
47
  "missingHint": "F1KBNa_missingHint",
56
- "fileListFloatClosing": "F1KBNa_fileListFloatClosing",
57
- "listTab": "F1KBNa_listTab",
58
- "stepperButton": "F1KBNa_stepperButton",
59
- "resizeHandle": "F1KBNa_resizeHandle",
48
+ "splitCols": "F1KBNa_splitCols",
49
+ "noteCentered": "F1KBNa_noteCentered",
50
+ "listFold": "F1KBNa_listFold",
51
+ "fileListShrink": "F1KBNa_fileListShrink",
52
+ "gotoBackdrop": "F1KBNa_gotoBackdrop",
53
+ "toggle": "F1KBNa_toggle",
54
+ "diff": "F1KBNa_diff",
55
+ "tree": "F1KBNa_tree",
56
+ "searchToggle": "F1KBNa_searchToggle",
57
+ "layer": "F1KBNa_layer",
60
58
  "quoteSplitTable": "F1KBNa_quoteSplitTable",
61
- "pickerCheck": "F1KBNa_pickerCheck",
62
- "rowDiscussed": "F1KBNa_rowDiscussed",
63
- "panelFailure": "F1KBNa_panelFailure",
64
- "confirmBackdrop": "F1KBNa_confirmBackdrop",
65
- "commentLabel": "F1KBNa_commentLabel",
66
- "overviewRuler": "F1KBNa_overviewRuler",
67
- "colorHueCursor": "F1KBNa_colorHueCursor",
68
- "del": "F1KBNa_del",
59
+ "colorPickerPanel": "F1KBNa_colorPickerPanel",
60
+ "splitSealedLeft": "F1KBNa_splitSealedLeft",
61
+ "addButton": "F1KBNa_addButton",
62
+ "threadFontProbe": "F1KBNa_threadFontProbe",
63
+ "commentGroup": "F1KBNa_commentGroup",
64
+ "colorPickerChevron": "F1KBNa_colorPickerChevron",
65
+ "gutter": "F1KBNa_gutter",
66
+ "pickerName": "F1KBNa_pickerName",
69
67
  "discussionInput": "F1KBNa_discussionInput",
70
- "splitCols": "F1KBNa_splitCols",
71
- "stepper": "F1KBNa_stepper",
72
- "mdPreviewSingle": "F1KBNa_mdPreviewSingle",
73
- "pickerIcon": "F1KBNa_pickerIcon",
68
+ "splitCol": "F1KBNa_splitCol",
69
+ "settingsRowText": "F1KBNa_settingsRowText",
70
+ "overviewRuler": "F1KBNa_overviewRuler",
71
+ "discussionAnswer": "F1KBNa_discussionAnswer",
72
+ "panelDocked": "F1KBNa_panelDocked",
73
+ "panelFailureRetry": "F1KBNa_panelFailureRetry",
74
+ "searchInput": "F1KBNa_searchInput",
75
+ "colorPickerInput": "F1KBNa_colorPickerInput",
76
+ "pickerCheck": "F1KBNa_pickerCheck",
77
+ "splitHScrollFill": "F1KBNa_splitHScrollFill",
78
+ "title": "F1KBNa_title",
79
+ "addPath": "F1KBNa_addPath",
80
+ "discussionRow": "F1KBNa_discussionRow",
81
+ "quoteLine": "F1KBNa_quoteLine",
82
+ "intraAdd": "F1KBNa_intraAdd",
83
+ "settingsSelector": "F1KBNa_settingsSelector",
84
+ "fileList": "F1KBNa_fileList",
85
+ "gotoLayerRight": "F1KBNa_gotoLayerRight",
86
+ "stepperValue": "F1KBNa_stepperValue",
87
+ "badge": "F1KBNa_badge",
88
+ "diffBody": "F1KBNa_diffBody",
89
+ "groupHead": "F1KBNa_groupHead",
90
+ "bulkActions": "F1KBNa_bulkActions",
74
91
  "quoteText": "F1KBNa_quoteText",
75
- "headerActions": "F1KBNa_headerActions",
76
- "pickerCard": "F1KBNa_pickerCard",
77
- "markerSplitAdd": "F1KBNa_markerSplitAdd",
92
+ "colorPickerTrigger": "F1KBNa_colorPickerTrigger",
93
+ "settingsRow": "F1KBNa_settingsRow",
94
+ "floatResizeHandle": "F1KBNa_floatResizeHandle",
95
+ "discussionBody": "F1KBNa_discussionBody",
96
+ "notice": "F1KBNa_notice",
97
+ "fileListKnobIn": "F1KBNa_fileListKnobIn",
98
+ "settingsGroupText": "F1KBNa_settingsGroupText",
99
+ "splitRadd": "F1KBNa_splitRadd",
100
+ "settingsGroupHeader": "F1KBNa_settingsGroupHeader",
101
+ "toggleThumb": "F1KBNa_toggleThumb",
102
+ "markerDel": "F1KBNa_markerDel",
103
+ "states": "F1KBNa_states",
104
+ "colorSwatch": "F1KBNa_colorSwatch",
105
+ "diffFlashShake": "F1KBNa_diffFlashShake",
106
+ "row": "F1KBNa_row",
107
+ "noticeButton": "F1KBNa_noticeButton",
78
108
  "settingsGroupBody": "F1KBNa_settingsGroupBody",
79
- "kindHint": "F1KBNa_kindHint",
80
- "commentHead": "F1KBNa_commentHead",
109
+ "searchMatchCurrent": "F1KBNa_searchMatchCurrent",
110
+ "subline": "F1KBNa_subline",
111
+ "treeRow": "F1KBNa_treeRow",
112
+ "pickerForm": "F1KBNa_pickerForm",
113
+ "discussionUser": "F1KBNa_discussionUser",
114
+ "rowPath": "F1KBNa_rowPath",
115
+ "discussionSlack": "F1KBNa_discussionSlack",
116
+ "discussionDot": "F1KBNa_discussionDot",
117
+ "colorPickerInputRow": "F1KBNa_colorPickerInputRow",
118
+ "markerAdd": "F1KBNa_markerAdd",
119
+ "searchCount": "F1KBNa_searchCount",
81
120
  "commentGroupName": "F1KBNa_commentGroupName",
82
- "gotoAction": "F1KBNa_gotoAction",
83
- "commentTitle": "F1KBNa_commentTitle",
84
- "panel": "F1KBNa_panel",
85
- "divider": "F1KBNa_divider",
86
- "discussionRangeWrap": "F1KBNa_discussionRangeWrap",
87
- "gotoBackdrop": "F1KBNa_gotoBackdrop",
121
+ "rows": "F1KBNa_rows",
122
+ "split": "F1KBNa_split",
123
+ "settingsGroup": "F1KBNa_settingsGroup",
124
+ "emptyActions": "F1KBNa_emptyActions",
88
125
  "discussionDots": "F1KBNa_discussionDots",
89
- "coverCard": "F1KBNa_coverCard",
90
- "badgeLabel": "F1KBNa_badgeLabel",
91
- "coverNoticeCard": "F1KBNa_coverNoticeCard",
92
- "colorPicker": "F1KBNa_colorPicker",
93
- "detail": "F1KBNa_detail",
94
- "intraAdd": "F1KBNa_intraAdd",
95
- "diffHeader": "F1KBNa_diffHeader",
96
- "quoteCode": "F1KBNa_quoteCode",
126
+ "searchMatch": "F1KBNa_searchMatch",
127
+ "stepperButtonUp": "F1KBNa_stepperButtonUp",
128
+ "langLabel": "F1KBNa_langLabel",
129
+ "emptyState": "F1KBNa_emptyState",
130
+ "fileListFloatClosing": "F1KBNa_fileListFloatClosing",
131
+ "divider": "F1KBNa_divider",
132
+ "settingsGroupTitle": "F1KBNa_settingsGroupTitle",
133
+ "blockActions": "F1KBNa_blockActions",
134
+ "presentationHost": "F1KBNa_presentationHost",
135
+ "coverButton": "F1KBNa_coverButton",
136
+ "settingsGroupChevron": "F1KBNa_settingsGroupChevron",
137
+ "splitSealedRight": "F1KBNa_splitSealedRight",
97
138
  "action": "F1KBNa_action",
98
- "context": "F1KBNa_context",
139
+ "mdPreviewDouble": "F1KBNa_mdPreviewDouble",
140
+ "treeNote": "F1KBNa_treeNote",
141
+ "code": "F1KBNa_code",
142
+ "wrapActive": "F1KBNa_wrapActive",
143
+ "badgeLabel": "F1KBNa_badgeLabel",
144
+ "fileListFloat": "F1KBNa_fileListFloat",
145
+ "colorHueCursor": "F1KBNa_colorHueCursor",
146
+ "settingsGroupDesc": "F1KBNa_settingsGroupDesc",
147
+ "discussion": "F1KBNa_discussion",
148
+ "toggleOn": "F1KBNa_toggleOn",
149
+ "commentTitle": "F1KBNa_commentTitle",
150
+ "pickerTitle": "F1KBNa_pickerTitle",
151
+ "colorSv": "F1KBNa_colorSv",
152
+ "coverNoticeText": "F1KBNa_coverNoticeText",
153
+ "chipLabel": "F1KBNa_chipLabel",
154
+ "splitRoot": "F1KBNa_splitRoot",
155
+ "pickerCard": "F1KBNa_pickerCard",
156
+ "line": "F1KBNa_line",
157
+ "splitDiscussions": "F1KBNa_splitDiscussions",
158
+ "listTabs": "F1KBNa_listTabs",
159
+ "expandExpanded": "F1KBNa_expandExpanded",
160
+ "del": "F1KBNa_del",
161
+ "noticeText": "F1KBNa_noticeText",
162
+ "panel": "F1KBNa_panel",
163
+ "rowMenuAnchor": "F1KBNa_rowMenuAnchor",
164
+ "add": "F1KBNa_add",
165
+ "splitHScroll": "F1KBNa_splitHScroll",
99
166
  "commentLost": "F1KBNa_commentLost",
100
- "iconAction": "F1KBNa_iconAction",
101
- "splitLdel": "F1KBNa_splitLdel",
102
- "fileList": "F1KBNa_fileList",
167
+ "searchToggleOn": "F1KBNa_searchToggleOn",
103
168
  "mirrored": "F1KBNa_mirrored",
104
- "searchCount": "F1KBNa_searchCount",
105
- "confirmCard": "F1KBNa_confirmCard",
106
- "addButton": "F1KBNa_addButton",
107
- "langLabel": "F1KBNa_langLabel",
108
- "kindTag": "F1KBNa_kindTag",
109
- "noticeButton": "F1KBNa_noticeButton",
110
- "bulkActions": "F1KBNa_bulkActions",
111
- "noteCentered": "F1KBNa_noteCentered",
112
- "discussionDot": "F1KBNa_discussionDot",
113
- "add": "F1KBNa_add",
114
- "mdPreviewBody": "F1KBNa_mdPreviewBody",
115
- "colorPickerPanel": "F1KBNa_colorPickerPanel",
116
- "listEmpty": "F1KBNa_listEmpty",
117
- "addCount": "F1KBNa_addCount",
118
- "diffFlashShake": "F1KBNa_diffFlashShake",
119
- "noticeText": "F1KBNa_noticeText",
120
- "headerEntryCount": "F1KBNa_headerEntryCount",
121
- "headerEntry": "F1KBNa_headerEntry",
122
- "searchToggle": "F1KBNa_searchToggle",
169
+ "splitDivider": "F1KBNa_splitDivider",
170
+ "pickerIcon": "F1KBNa_pickerIcon",
171
+ "rowFailed": "F1KBNa_rowFailed",
123
172
  "colorHue": "F1KBNa_colorHue",
124
- "divergedHint": "F1KBNa_divergedHint",
125
- "panelFailureText": "F1KBNa_panelFailureText",
126
- "commentRow": "F1KBNa_commentRow",
127
- "colorSvCursor": "F1KBNa_colorSvCursor",
128
- "markerSplitDel": "F1KBNa_markerSplitDel",
129
- "treeName": "F1KBNa_treeName",
130
- "diffBodySplit": "F1KBNa_diffBodySplit",
131
- "expand": "F1KBNa_expand",
132
- "splitDiscussion": "F1KBNa_splitDiscussion",
133
- "langSelect": "F1KBNa_langSelect",
134
- "overviewRulerSplit": "F1KBNa_overviewRulerSplit",
135
- "pickerNote": "F1KBNa_pickerNote",
173
+ "gotoLayer": "F1KBNa_gotoLayer",
174
+ "blockFlashShake": "F1KBNa_blockFlashShake",
175
+ "colorValue": "F1KBNa_colorValue",
176
+ "wrap": "F1KBNa_wrap",
177
+ "headerEntry": "F1KBNa_headerEntry",
178
+ "discussionRangeWrap": "F1KBNa_discussionRangeWrap",
179
+ "gotoInput": "F1KBNa_gotoInput",
180
+ "stepper": "F1KBNa_stepper",
181
+ "blockActionsDivider": "F1KBNa_blockActionsDivider",
182
+ "addCount": "F1KBNa_addCount",
183
+ "stepperButton": "F1KBNa_stepperButton",
184
+ "diffHeader": "F1KBNa_diffHeader",
185
+ "statusBar": "F1KBNa_statusBar",
186
+ "settingsRowLink": "F1KBNa_settingsRowLink",
187
+ "kindTag": "F1KBNa_kindTag",
188
+ "rail": "F1KBNa_rail",
189
+ "gotoAction": "F1KBNa_gotoAction",
190
+ "intraDel": "F1KBNa_intraDel",
191
+ "vSpacer": "F1KBNa_vSpacer",
136
192
  "listHead": "F1KBNa_listHead",
137
- "discussionSlack": "F1KBNa_discussionSlack",
138
193
  "pickerClose": "F1KBNa_pickerClose",
139
- "searchMatch": "F1KBNa_searchMatch",
140
- "rowMeta": "F1KBNa_rowMeta",
141
- "mdPreviewContent": "F1KBNa_mdPreviewContent",
142
- "discussionCompose": "F1KBNa_discussionCompose",
143
- "rowFailed": "F1KBNa_rowFailed",
144
- "discussionHead": "F1KBNa_discussionHead",
145
- "diffBodyWrap": "F1KBNa_diffBodyWrap",
146
- "confirmText": "F1KBNa_confirmText",
147
- "delCount": "F1KBNa_delCount",
148
- "searchInput": "F1KBNa_searchInput",
149
- "importNote": "F1KBNa_importNote",
150
- "splitHScrollRow": "F1KBNa_splitHScrollRow",
151
- "settingsGroupText": "F1KBNa_settingsGroupText",
152
- "pickerForm": "F1KBNa_pickerForm",
194
+ "discussionToggle": "F1KBNa_discussionToggle",
195
+ "settingsRowTitle": "F1KBNa_settingsRowTitle",
196
+ "rowDiscussed": "F1KBNa_rowDiscussed",
197
+ "header": "F1KBNa_header",
198
+ "actionQuietDisabled": "F1KBNa_actionQuietDisabled",
199
+ "discussionPin": "F1KBNa_discussionPin",
200
+ "pickerInput": "F1KBNa_pickerInput",
153
201
  "diffPreviewScroll": "F1KBNa_diffPreviewScroll",
154
- "discussionCode": "F1KBNa_discussionCode",
155
- "coverPopover": "F1KBNa_coverPopover",
156
- "group": "F1KBNa_group",
157
- "splitLadd": "F1KBNa_splitLadd",
158
- "threadFontProbe": "F1KBNa_threadFontProbe",
159
- "discussion": "F1KBNa_discussion",
160
- "gotoInput": "F1KBNa_gotoInput",
202
+ "importButton": "F1KBNa_importButton",
203
+ "diffPreview": "F1KBNa_diffPreview",
204
+ "discussionSend": "F1KBNa_discussionSend",
205
+ "coverBackdrop": "F1KBNa_coverBackdrop",
206
+ "panelFailureText": "F1KBNa_panelFailureText",
207
+ "discussionNote": "F1KBNa_discussionNote",
208
+ "splitHScrollRow": "F1KBNa_splitHScrollRow",
209
+ "footerButtons": "F1KBNa_footerButtons",
161
210
  "splitSealed": "F1KBNa_splitSealed",
162
- "settingsSelector": "F1KBNa_settingsSelector",
163
- "discussionUser": "F1KBNa_discussionUser",
164
- "treeRow": "F1KBNa_treeRow",
165
- "addPath": "F1KBNa_addPath",
166
- "close": "F1KBNa_close",
167
211
  "overviewMarker": "F1KBNa_overviewMarker",
168
212
  "colorBackdrop": "F1KBNa_colorBackdrop",
169
- "states": "F1KBNa_states",
170
- "gotoLayer": "F1KBNa_gotoLayer",
171
- "quoteDel": "F1KBNa_quoteDel",
172
- "coverBackdrop": "F1KBNa_coverBackdrop",
173
- "colorValue": "F1KBNa_colorValue",
174
- "tree": "F1KBNa_tree",
175
- "colorPickerInput": "F1KBNa_colorPickerInput",
176
- "stepperValue": "F1KBNa_stepperValue",
177
- "coverHost": "F1KBNa_coverHost",
178
- "splitRoot": "F1KBNa_splitRoot",
179
- "discussionBody": "F1KBNa_discussionBody",
180
- "settingsRow": "F1KBNa_settingsRow",
181
- "splitHScrollFill": "F1KBNa_splitHScrollFill",
182
- "importButton": "F1KBNa_importButton",
183
- "discussionAnswer": "F1KBNa_discussionAnswer",
213
+ "expand": "F1KBNa_expand",
214
+ "quoteAdd": "F1KBNa_quoteAdd",
215
+ "resizeHandle": "F1KBNa_resizeHandle",
216
+ "note": "F1KBNa_note",
217
+ "settingsReset": "F1KBNa_settingsReset",
218
+ "blockPosition": "F1KBNa_blockPosition",
219
+ "listEmpty": "F1KBNa_listEmpty",
220
+ "settingsPage": "F1KBNa_settingsPage",
221
+ "coverNotice": "F1KBNa_coverNotice",
222
+ "mdPreviewBody": "F1KBNa_mdPreviewBody",
223
+ "close": "F1KBNa_close",
224
+ "quoteDel": "F1KBNa_quoteDel",
225
+ "quoteSplitSide": "F1KBNa_quoteSplitSide",
226
+ "diffPath": "F1KBNa_diffPath",
184
227
  "detailEmpty": "F1KBNa_detailEmpty",
185
- "diff": "F1KBNa_diff",
186
- "vSpacer": "F1KBNa_vSpacer",
187
- "presentationSelect": "F1KBNa_presentationSelect",
188
- "gotoLayerRight": "F1KBNa_gotoLayerRight",
189
- "settingsGroupDesc": "F1KBNa_settingsGroupDesc",
190
- "stepperButtonUp": "F1KBNa_stepperButtonUp",
191
- "actionError": "F1KBNa_actionError",
228
+ "mdPreviewContent": "F1KBNa_mdPreviewContent",
192
229
  "colorPickerPopover": "F1KBNa_colorPickerPopover",
193
- "chipLabel": "F1KBNa_chipLabel",
194
- "coverButton": "F1KBNa_coverButton",
195
- "wrapActive": "F1KBNa_wrapActive",
196
- "markerAdd": "F1KBNa_markerAdd",
197
- "splitDivider": "F1KBNa_splitDivider",
198
- "splitSealedLeft": "F1KBNa_splitSealedLeft",
199
- "markerDel": "F1KBNa_markerDel",
200
- "diffStats": "F1KBNa_diffStats",
201
- "coverNoticeFade": "F1KBNa_coverNoticeFade",
202
- "diffActions": "F1KBNa_diffActions",
203
- "presentationHost": "F1KBNa_presentationHost",
204
- "listScroll": "F1KBNa_listScroll",
205
- "settingsRowDesc": "F1KBNa_settingsRowDesc",
206
- "fileListFloat": "F1KBNa_fileListFloat",
207
- "missing": "F1KBNa_missing",
230
+ "delCount": "F1KBNa_delCount",
231
+ "listTab": "F1KBNa_listTab",
232
+ "flexSpacer": "F1KBNa_flexSpacer",
233
+ "quoteNoWrap": "F1KBNa_quoteNoWrap",
234
+ "treeName": "F1KBNa_treeName",
208
235
  "discussionRange": "F1KBNa_discussionRange",
209
- "quoteAdd": "F1KBNa_quoteAdd",
210
- "code": "F1KBNa_code",
211
- "toggleThumb": "F1KBNa_toggleThumb",
212
- "quoteLines": "F1KBNa_quoteLines",
213
- "groupHead": "F1KBNa_groupHead",
214
- "wrap": "F1KBNa_wrap",
215
- "floatResizeHandle": "F1KBNa_floatResizeHandle",
216
- "diffPreviewTitle": "F1KBNa_diffPreviewTitle",
217
- "title": "F1KBNa_title",
236
+ "splitLdel": "F1KBNa_splitLdel",
237
+ "confirmCard": "F1KBNa_confirmCard",
238
+ "rowHead": "F1KBNa_rowHead",
239
+ "coverCard": "F1KBNa_coverCard",
240
+ "coverNoticeFade": "F1KBNa_coverNoticeFade",
218
241
  "treeCaret": "F1KBNa_treeCaret",
219
- "gotoBox": "F1KBNa_gotoBox",
220
- "blockActions": "F1KBNa_blockActions",
221
- "discussionRow": "F1KBNa_discussionRow",
222
- "gutter": "F1KBNa_gutter",
223
- "splitCol": "F1KBNa_splitCol",
224
- "pickerInput": "F1KBNa_pickerInput",
225
- "confirmActions": "F1KBNa_confirmActions",
226
- "discussionPin": "F1KBNa_discussionPin",
227
- "diffFlashFade": "F1KBNa_diffFlashFade",
228
- "fileListShrink": "F1KBNa_fileListShrink",
229
- "intraDel": "F1KBNa_intraDel",
230
- "settingsPage": "F1KBNa_settingsPage",
231
- "line": "F1KBNa_line",
232
- "settingsGroupChevron": "F1KBNa_settingsGroupChevron",
233
- "settingsGroup": "F1KBNa_settingsGroup",
234
- "diffPreview": "F1KBNa_diffPreview",
235
- "panelDocked": "F1KBNa_panelDocked",
236
- "layer": "F1KBNa_layer",
237
- "header": "F1KBNa_header",
238
- "colorSwatch": "F1KBNa_colorSwatch",
239
- "flexSpacer": "F1KBNa_flexSpacer",
240
- "discussionNote": "F1KBNa_discussionNote",
242
+ "panelFailure": "F1KBNa_panelFailure",
243
+ "mdPreviewSingle": "F1KBNa_mdPreviewSingle",
244
+ "tabCount": "F1KBNa_tabCount",
245
+ "langSelect": "F1KBNa_langSelect",
241
246
  "quoteSplit": "F1KBNa_quoteSplit",
242
- "rowMenuAnchor": "F1KBNa_rowMenuAnchor",
243
- "rail": "F1KBNa_rail",
244
- "chip": "F1KBNa_chip",
245
- "commentTitleEmpty": "F1KBNa_commentTitleEmpty",
246
- "splitRadd": "F1KBNa_splitRadd",
247
- "listFold": "F1KBNa_listFold",
248
- "diffPath": "F1KBNa_diffPath",
249
- "notice": "F1KBNa_notice",
250
- "settingsGroupTitle": "F1KBNa_settingsGroupTitle",
251
- "subline": "F1KBNa_subline",
252
- "splitDiscussions": "F1KBNa_splitDiscussions",
253
- "discussionCell": "F1KBNa_discussionCell",
254
- "discussionSend": "F1KBNa_discussionSend",
255
- "settingsRowText": "F1KBNa_settingsRowText",
247
+ "discussionCompose": "F1KBNa_discussionCompose",
248
+ "colorPicker": "F1KBNa_colorPicker",
249
+ "confirmText": "F1KBNa_confirmText",
250
+ "rowMeta": "F1KBNa_rowMeta",
251
+ "settingsRowDesc": "F1KBNa_settingsRowDesc",
252
+ "presentationSelect": "F1KBNa_presentationSelect",
253
+ "readError": "F1KBNa_readError",
254
+ "commentHead": "F1KBNa_commentHead",
255
+ "commentLabel": "F1KBNa_commentLabel",
256
+ "diffBodyWrap": "F1KBNa_diffBodyWrap",
257
+ "overviewRulerSplit": "F1KBNa_overviewRulerSplit",
258
+ "coverNoticeGlyph": "F1KBNa_coverNoticeGlyph",
256
259
  "colorPickerPreview": "F1KBNa_colorPickerPreview",
257
- "toggle": "F1KBNa_toggle",
260
+ "discussionHead": "F1KBNa_discussionHead",
261
+ "headerEntryCount": "F1KBNa_headerEntryCount",
262
+ "quoteCode": "F1KBNa_quoteCode",
263
+ "lines": "F1KBNa_lines",
264
+ "group": "F1KBNa_group",
265
+ "mdPreviewWrap": "F1KBNa_mdPreviewWrap",
258
266
  "badgeCount": "F1KBNa_badgeCount",
259
- "pickerName": "F1KBNa_pickerName",
260
- "expandExpanded": "F1KBNa_expandExpanded",
261
- "quoteLine": "F1KBNa_quoteLine",
262
- "coverNotice": "F1KBNa_coverNotice",
263
- "rowPath": "F1KBNa_rowPath",
264
- "fileListKnobIn": "F1KBNa_fileListKnobIn",
265
- "listTitle": "F1KBNa_listTitle",
266
- "mdPreviewFallback": "F1KBNa_mdPreviewFallback",
267
- "searchMatchCurrent": "F1KBNa_searchMatchCurrent",
268
- "emptyState": "F1KBNa_emptyState",
269
- "quoteSplitSide": "F1KBNa_quoteSplitSide",
267
+ "colorSvCursor": "F1KBNa_colorSvCursor",
268
+ "pickerNote": "F1KBNa_pickerNote",
269
+ "actionChord": "F1KBNa_actionChord",
270
+ "coverHost": "F1KBNa_coverHost",
270
271
  "dockHost": "F1KBNa_dockHost",
271
- "tabCount": "F1KBNa_tabCount",
272
- "actionQuietDisabled": "F1KBNa_actionQuietDisabled",
273
- "emptyActions": "F1KBNa_emptyActions",
274
- "toggleOn": "F1KBNa_toggleOn",
275
- "rowHead": "F1KBNa_rowHead",
276
- "mdPreviewDouble": "F1KBNa_mdPreviewDouble",
277
- "splitSealedRight": "F1KBNa_splitSealedRight",
278
- "blockActionsDivider": "F1KBNa_blockActionsDivider",
279
- "settingsGroupHeader": "F1KBNa_settingsGroupHeader",
280
- "blockFlashShake": "F1KBNa_blockFlashShake",
281
- "note": "F1KBNa_note",
282
- "fileListKnob": "F1KBNa_fileListKnob",
272
+ "splitLadd": "F1KBNa_splitLadd",
273
+ "commentTitleEmpty": "F1KBNa_commentTitleEmpty",
274
+ "confirmBackdrop": "F1KBNa_confirmBackdrop",
275
+ "hint": "F1KBNa_hint",
276
+ "diffStats": "F1KBNa_diffStats",
277
+ "blockFlash": "F1KBNa_blockFlash",
278
+ "diffFlashFade": "F1KBNa_diffFlashFade",
283
279
  "chipPresentation": "F1KBNa_chipPresentation",
284
- "diffBody": "F1KBNa_diffBody",
285
- "settingsRowTitle": "F1KBNa_settingsRowTitle",
286
- "searchToggleOn": "F1KBNa_searchToggleOn",
287
- "rows": "F1KBNa_rows",
288
- "statusBar": "F1KBNa_statusBar",
289
- "colorPickerInputRow": "F1KBNa_colorPickerInputRow",
290
- "panelFailureRetry": "F1KBNa_panelFailureRetry",
291
- "settingsReset": "F1KBNa_settingsReset",
280
+ "markerSplitAdd": "F1KBNa_markerSplitAdd",
292
281
  "statusAction": "F1KBNa_statusAction",
293
- "colorPickerTrigger": "F1KBNa_colorPickerTrigger",
294
- "actionPrimary": "F1KBNa_actionPrimary",
295
- "commentGroup": "F1KBNa_commentGroup",
296
- "lines": "F1KBNa_lines",
297
- "mdPreviewWrap": "F1KBNa_mdPreviewWrap",
298
- "coverNoticeGlyph": "F1KBNa_coverNoticeGlyph"
282
+ "context": "F1KBNa_context",
283
+ "listScroll": "F1KBNa_listScroll",
284
+ "iconAction": "F1KBNa_iconAction",
285
+ "importNote": "F1KBNa_importNote",
286
+ "discussionCell": "F1KBNa_discussionCell",
287
+ "coverPopover": "F1KBNa_coverPopover",
288
+ "splitDiscussion": "F1KBNa_splitDiscussion",
289
+ "confirmActions": "F1KBNa_confirmActions",
290
+ "markerSplitDel": "F1KBNa_markerSplitDel",
291
+ "detail": "F1KBNa_detail",
292
+ "fileListKnob": "F1KBNa_fileListKnob",
293
+ "kindHint": "F1KBNa_kindHint",
294
+ "commentRow": "F1KBNa_commentRow",
295
+ "mdPreviewFallback": "F1KBNa_mdPreviewFallback",
296
+ "coverNoticeCard": "F1KBNa_coverNoticeCard",
297
+ "diffPreviewTitle": "F1KBNa_diffPreviewTitle",
298
+ "diffBodySplit": "F1KBNa_diffBodySplit",
299
+ "actionPrimary": "F1KBNa_actionPrimary"
299
300
  };
300
301
  //#endregion
301
302
  //#region lib/types/client/PathPicker.js
@@ -827,6 +828,7 @@ window.__ModuleLoader__.load({
827
828
  const FILE_LIST_FLOAT_KEY = "diff-approval:file-list-float";
828
829
  const COMMENT_MODE_PREVIEW_KEY = "diff-approval:comment-mode-preview";
829
830
  const WRAP_PREFIX = "diff-approval:wrap:";
831
+ const CODE_FONT_KEY = "diff-approval:code-font";
830
832
  /** The floating panel's default coverage: the header and both sidebars, not the
831
833
  * composer. */
832
834
  const FLOAT_COVER_DEFAULT = {
@@ -1146,6 +1148,26 @@ window.__ModuleLoader__.load({
1146
1148
  if (typeof window !== "undefined") window.dispatchEvent(new CustomEvent(COMMENT_MODE_CHANGED_EVENT));
1147
1149
  }
1148
1150
  /**
1151
+ * Whether the diff's code uses the font this plugin bundles.
1152
+ *
1153
+ * Defaults to **off**: the bundled face is JetBrains Maple Mono subset and
1154
+ * sliced into 138 woff2 files, and a page pulls the slices its characters land
1155
+ * in — tens of kilobytes for a comment, up to ~120 KB for a rare character. That
1156
+ * is real traffic, so it is the reader's decision, not a default they discover.
1157
+ * Only an explicit `'1'` enables it.
1158
+ * @returns whether the bundled code font is enabled.
1159
+ */
1160
+ function codeFontEnabled() {
1161
+ return localStorage.getItem(CODE_FONT_KEY) === "1";
1162
+ }
1163
+ /** Window event: the bundled code font was turned on or off (see {@link setCodeFontEnabled}). */
1164
+ const CODE_FONT_CHANGED_EVENT = "diff-approval:code-font";
1165
+ /** Persist the bundled-code-font preference. */
1166
+ function setCodeFontEnabled(value) {
1167
+ localStorage.setItem(CODE_FONT_KEY, value ? "1" : "0");
1168
+ if (typeof window !== "undefined") window.dispatchEvent(new CustomEvent(CODE_FONT_CHANGED_EVENT));
1169
+ }
1170
+ /**
1149
1171
  * The Markdown-preview content max width, in pixels (single column). Defaults to
1150
1172
  * 800; the double-column view totals 2x this. An out-of-range or non-integer
1151
1173
  * value falls back to the default.
@@ -4903,7 +4925,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
4903
4925
  let seal = Object.seal;
4904
4926
  let create$1 = Object.create;
4905
4927
  let _ref = typeof Reflect !== "undefined" && Reflect;
4906
- let apply$1 = _ref.apply;
4928
+ let apply$2 = _ref.apply;
4907
4929
  let construct = _ref.construct;
4908
4930
  if (!freeze) freeze = function freeze(x) {
4909
4931
  return x;
@@ -4911,7 +4933,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
4911
4933
  if (!seal) seal = function seal(x) {
4912
4934
  return x;
4913
4935
  };
4914
- if (!apply$1) apply$1 = function apply(func, thisArg) {
4936
+ if (!apply$2) apply$2 = function apply(func, thisArg) {
4915
4937
  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key];
4916
4938
  return func.apply(thisArg, args);
4917
4939
  };
@@ -4949,7 +4971,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
4949
4971
  return function(thisArg) {
4950
4972
  if (thisArg instanceof RegExp) thisArg.lastIndex = 0;
4951
4973
  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];
4952
- return apply$1(func, thisArg, args);
4974
+ return apply$2(func, thisArg, args);
4953
4975
  };
4954
4976
  }
4955
4977
  /**
@@ -25028,8 +25050,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
25028
25050
  setPathDraft(null);
25029
25051
  return;
25030
25052
  }
25031
- onAddTypedPath(typed).finally(() => {
25053
+ onAddTypedPath(typed).then((result) => {
25032
25054
  setPathDraft(null);
25055
+ if (result?.openPath === void 0) return;
25056
+ window.dispatchEvent(new CustomEvent(OPEN_PANEL_FILE_EVENT, { detail: { fileId: result.openPath } }));
25033
25057
  });
25034
25058
  } else if (event.key === "Escape") {
25035
25059
  event.preventDefault();
@@ -26532,21 +26556,42 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
26532
26556
  };
26533
26557
  /**
26534
26558
  * Open a path typed into the detail header's field: add it to the list when it is not there
26535
- * yet, then select the file the host says it landed as. Only one exact file counts — a path
26536
- * that is missing, is a directory, or has nothing readable in it leaves the list untouched,
26537
- * and the field falls back to the path it was showing.
26559
+ * yet, then select the file the host says it landed as.
26560
+ *
26561
+ * The host is the one that judges the path, and its refusal is the only thing the reader can
26562
+ * act on — "nothing happened" is what sent them looking for a bug. So every refusal says why:
26563
+ * the same wording the browse dialog uses for the same outcomes, plus the two this field can
26564
+ * hit and that dialog cannot (a directory named as one file, and an add that raises).
26538
26565
  *
26539
26566
  * @param path - the path as typed.
26540
- * @returns whether a file was opened.
26567
+ * @returns what to select: the entry opened (the one already listed, for a duplicate), or
26568
+ * undefined when the host refused the path.
26541
26569
  */
26542
26570
  const addTypedPath = async (path) => {
26543
- if (current === void 0) return false;
26544
- const value = await onAddPath(current, path, true, true).catch(() => void 0);
26545
- if (value === void 0) return false;
26546
- if (value.outcome !== "added" && value.outcome !== "duplicate") return false;
26547
- if (value.id !== void 0) setPendingSelect(value.id);
26548
- onRefresh(current);
26549
- return true;
26571
+ if (current === void 0) {
26572
+ showCopyToast(t("panel.fileNotPending"));
26573
+ return;
26574
+ }
26575
+ const value = await onAddPath(current, path, true, true).catch((error) => {
26576
+ showCopyToast(t("panel.addFailed", { message: error instanceof Error ? error.message : String(error) }));
26577
+ });
26578
+ if (value === void 0) return void 0;
26579
+ if (value.outcome === "added" || value.outcome === "duplicate") {
26580
+ if (value.id !== void 0) {
26581
+ setPendingSelect(value.id);
26582
+ onRefresh(current);
26583
+ return { openPath: value.id };
26584
+ }
26585
+ onRefresh(current);
26586
+ return {};
26587
+ }
26588
+ if (value.outcome === "missing") showCopyToast(t("panel.addMissing"));
26589
+ else if (value.outcome === "outside") showCopyToast(t("panel.addOutside"));
26590
+ else if (value.outcome === "not-a-file") showCopyToast(t("panel.addNotAFile"));
26591
+ else if (value.outcome === "unchanged") showCopyToast(t("panel.addUnchanged"));
26592
+ else if (value.outcome === "empty") showCopyToast(t("panel.addEmpty"));
26593
+ else if (value.outcome === "no-vcs") showCopyToast(t("panel.importNoVcs"));
26594
+ else showCopyToast(t("panel.addFailed", { message: value.message ?? "" }));
26550
26595
  };
26551
26596
  const renderEntry = (entry) => (0, react_jsx_runtime.jsx)(PendingFileRow, {
26552
26597
  file: entry,
@@ -26575,22 +26620,37 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
26575
26620
  id: "remove",
26576
26621
  label: t("row.dismiss")
26577
26622
  }];
26578
- return [{
26579
- id: "keep",
26580
- label: t("action.keep")
26581
- }, {
26582
- id: "revert",
26583
- label: rowMenu.file.kind === "create" ? t("action.delete") : t("action.revert")
26584
- }];
26623
+ const revertLabel = rowMenu.file.kind === "create" ? t("action.delete") : t("action.revert");
26624
+ return [
26625
+ {
26626
+ id: "keep-listed",
26627
+ label: t("row.keepListed")
26628
+ },
26629
+ {
26630
+ id: "keep-remove",
26631
+ label: t("row.keepRemove")
26632
+ },
26633
+ {
26634
+ id: "revert",
26635
+ label: revertLabel
26636
+ },
26637
+ {
26638
+ id: "revert-remove",
26639
+ label: t("row.revertRemove")
26640
+ }
26641
+ ];
26585
26642
  }, [rowMenu, t]);
26586
26643
  /** Run a row-menu choice through the same handlers the open file uses. 移出 is a keep: the
26587
- * host folds the content and drops the entry, so the file itself is left alone. */
26644
+ * host folds the content and drops the entry, so the file itself is left alone. The `并移出`
26645
+ * rows say so explicitly rather than taking the toolbar's confirm-first default. */
26588
26646
  const runRowMenu = (id) => {
26589
26647
  const target = rowMenu;
26590
26648
  setRowMenu(null);
26591
26649
  if (target === null) return;
26592
- if (id === "keep" || id === "remove") onKeep(target.file.sessionId, target.file.id);
26650
+ if (id === "keep-listed") onKeep(target.file.sessionId, target.file.id, true);
26651
+ else if (id === "keep-remove" || id === "remove") onKeep(target.file.sessionId, target.file.id);
26593
26652
  else if (id === "revert") onRevert(target.file.sessionId, target.file.id);
26653
+ else if (id === "revert-remove") onRevert(target.file.sessionId, target.file.id, true);
26594
26654
  };
26595
26655
  const selectedFile = files.find((file) => file.id === selected);
26596
26656
  /**
@@ -27759,7 +27819,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
27759
27819
  });
27760
27820
  }
27761
27821
  /** One Agent-preset-style preference row: title + description, toggle right. */
27762
- function PreferenceRow({ title, description, value, onSelect, dataAttribute, t }) {
27822
+ function PreferenceRow({ title, description, link, value, onSelect, dataAttribute, t }) {
27823
+ const [before, after] = description.split("{link}");
27763
27824
  return (0, react_jsx_runtime.jsxs)("div", {
27764
27825
  className: PendingPanel_module_css_default.settingsRow,
27765
27826
  children: [(0, react_jsx_runtime.jsxs)("div", {
@@ -27767,9 +27828,19 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
27767
27828
  children: [(0, react_jsx_runtime.jsx)("div", {
27768
27829
  className: PendingPanel_module_css_default.settingsRowTitle,
27769
27830
  children: title
27770
- }), (0, react_jsx_runtime.jsx)("div", {
27831
+ }), (0, react_jsx_runtime.jsxs)("div", {
27771
27832
  className: PendingPanel_module_css_default.settingsRowDesc,
27772
- children: description
27833
+ children: [
27834
+ before,
27835
+ link !== void 0 && (0, react_jsx_runtime.jsx)("a", {
27836
+ className: PendingPanel_module_css_default.settingsRowLink,
27837
+ href: link.href,
27838
+ target: "_blank",
27839
+ rel: "noreferrer noopener",
27840
+ children: link.label
27841
+ }),
27842
+ after ?? " "
27843
+ ]
27773
27844
  })]
27774
27845
  }), (0, react_jsx_runtime.jsx)(OnOffToggle, {
27775
27846
  value,
@@ -28160,6 +28231,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
28160
28231
  const [lead, setLeadState] = (0, react.useState)(navLeadRows);
28161
28232
  const [fontScale, setFontScaleState] = (0, react.useState)(diffFontScale);
28162
28233
  const [lineHeight, setLineHeightState] = (0, react.useState)(diffLineHeight);
28234
+ const [codeFont, setCodeFontState] = (0, react.useState)(codeFontEnabled);
28163
28235
  const [addColor, setAddColorState] = (0, react.useState)(() => diffAddColor() ?? currentDiffAddColor());
28164
28236
  const [delColor, setDelColorState] = (0, react.useState)(() => diffDelColor() ?? currentDiffDelColor());
28165
28237
  const addDefault = currentDiffAddColor();
@@ -28251,6 +28323,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
28251
28323
  setLineHeightState(value);
28252
28324
  setDiffLineHeight(value);
28253
28325
  };
28326
+ const setCodeFont = (value) => {
28327
+ setCodeFontState(value);
28328
+ setCodeFontEnabled(value);
28329
+ };
28254
28330
  const setAddColor = (value) => {
28255
28331
  setAddColorState(value);
28256
28332
  setDiffAddColor(value);
@@ -28316,6 +28392,18 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
28316
28392
  dataAttribute: "data-diff-line-height",
28317
28393
  t
28318
28394
  }),
28395
+ (0, react_jsx_runtime.jsx)(PreferenceRow, {
28396
+ title: t("panel.codeFont"),
28397
+ description: t("panel.codeFontDesc"),
28398
+ link: {
28399
+ href: "https://github.com/SpaceTimee/Fusion-JetBrainsMapleMono",
28400
+ label: "JetBrains Maple Mono"
28401
+ },
28402
+ value: codeFont,
28403
+ onSelect: setCodeFont,
28404
+ dataAttribute: "data-diff-code-font",
28405
+ t
28406
+ }),
28319
28407
  (0, react_jsx_runtime.jsx)(ColorRow, {
28320
28408
  title: t("panel.diffAddColor"),
28321
28409
  description: t("panel.diffAddColorDesc", { default: addDefault.toUpperCase() }),
@@ -29567,6 +29655,216 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29567
29655
  });
29568
29656
  }
29569
29657
  //#endregion
29658
+ //#region lib/types/font-slices.js
29659
+ /**
29660
+ * The bundled code font: what the panel asks for, and where the files live.
29661
+ *
29662
+ * One CJK glyph is exactly twice one Latin glyph in this face, which is what
29663
+ * puts code and Chinese comments on the same character grid. No system stack can
29664
+ * do that: the shell's code font resolves hanzi to a proportional face
29665
+ * (`"PingFang SC"`, `"Microsoft YaHei"`), so comments drift out of column on
29666
+ * Windows and Android.
29667
+ *
29668
+ * Both halves need the same names — the host serves the files under
29669
+ * {@link FONT_ROUTE}, the client asks for {@link FONT_FAMILY} — so they live
29670
+ * here rather than being written twice.
29671
+ *
29672
+ * @module dsh-diff-approval/font-slices
29673
+ */
29674
+ /**
29675
+ * The family the client declares and asks for.
29676
+ *
29677
+ * It names the actual face — this is JetBrains Maple Mono, subset and sliced by
29678
+ * this plugin — and carries the project suffix so it cannot collide with a copy
29679
+ * of the upstream font installed on the reader's machine. That collision would
29680
+ * be silent and one-sided: a locally installed font wins over a webfont of the
29681
+ * same name, so the slices would never be fetched and the bytes on screen would
29682
+ * be someone else's build. The trailing marker also keeps the upstream names out
29683
+ * of a user-visible primary name, which is what the OFL asks of a modified
29684
+ * version (Maple Mono declares `Maple Mono` as a Reserved Font Name).
29685
+ */
29686
+ const FONT_FAMILY = "JetBrains Maple Mono for DSH";
29687
+ /**
29688
+ * The URL prefix the host mounts. The client resolves it against the document's
29689
+ * own origin, so a tunnel or a non-default port needs no configuration.
29690
+ */
29691
+ const FONT_ROUTE = "/dsh-diff-approval/fonts";
29692
+ /** Regular carries the code; the Semibold only backs emphasised text. */
29693
+ const FONT_FACES = [{
29694
+ name: "regular",
29695
+ weight: 400
29696
+ }, {
29697
+ name: "semibold",
29698
+ weight: 600
29699
+ }];
29700
+ /**
29701
+ * The code font stack. The bundled family comes first so its 2:1 grid wins,
29702
+ * and the previous stack stays behind it for anything the slices do not cover —
29703
+ * Korean, CJK Ext-A/B, and the handful of codepoints this face leaves unmapped.
29704
+ */
29705
+ const FONT_STACK = [
29706
+ `"${FONT_FAMILY}"`,
29707
+ "\"SF Mono\"",
29708
+ "\"JetBrains Mono\"",
29709
+ "\"Fira Code\"",
29710
+ "Consolas",
29711
+ "\"Liberation Mono\"",
29712
+ "Menlo",
29713
+ "Courier",
29714
+ "\"PingFang SC\"",
29715
+ "\"Microsoft YaHei\""
29716
+ ].join(", ");
29717
+ //#endregion
29718
+ //#region lib/types/client/code-font.js
29719
+ /**
29720
+ * Load the bundled code font and put the diff's code on its grid.
29721
+ *
29722
+ * The face is dual-width: one CJK glyph is exactly twice one Latin glyph, so
29723
+ * code and Chinese comments share a character grid. The shell's own code font
29724
+ * cannot do that — it resolves hanzi to a proportional face (`"PingFang SC"`,
29725
+ * `"Microsoft YaHei"`), so a comment that starts in column 40 of the code ends
29726
+ * somewhere else entirely on Windows and Android, where the browser has no
29727
+ * monospaced CJK face at all.
29728
+ *
29729
+ * The rule is one selector wide: **the code column only**, `.lines`. Comment
29730
+ * bubbles, the file list and the panel's chrome keep the shell's font stack; the
29731
+ * code is where the grid is the point.
29732
+ *
29733
+ * **Off until asked for.** The slices are tens of kilobytes for ordinary text
29734
+ * and up to ~120 KB for a rare character, which is traffic the reader pays for,
29735
+ * so the Settings switch is the gate and its description says so. Off is not
29736
+ * just "no rule": nothing is fetched at all, so the default panel is byte-for-
29737
+ * byte and pixel-for-pixel what it was before this existed. A browser fetches a
29738
+ * `@font-face` only when a rule uses it, which is what keeps an enabled pure-
29739
+ * ASCII file down to the one Latin slice.
29740
+ *
29741
+ * The face's own `calt` stays on, so `->` and `=>` draw as the arrows JetBrains
29742
+ * Mono already draws everywhere else in this UI. The upstream project also
29743
+ * builds a no-ligature variant (`…-NL-…`) if that ever stops being wanted; it
29744
+ * would mean re-slicing, not a CSS override, because `calt` is what carries the
29745
+ * arrows.
29746
+ *
29747
+ * @module dsh-diff-approval/client/code-font
29748
+ */
29749
+ /** The style element this module owns, marked so it is never injected twice. */
29750
+ const STYLE_MARKER = "data-diff-approval-code-font";
29751
+ /** The manifest path, resolved against the document's own origin. */
29752
+ const MANIFEST_URL = `${FONT_ROUTE}/manifest.json`;
29753
+ /**
29754
+ * The class the panel puts on the code table, read from the stylesheet module
29755
+ * that defines it.
29756
+ *
29757
+ * A literal `.lines` selector is a no-op: the build prefixes every class in that
29758
+ * module (`Ay7oXG_lines`), so a rule naming the source name matches no element
29759
+ * and the font silently never applies. The module's own export is the one value
29760
+ * that cannot drift from what the panel renders.
29761
+ */
29762
+ const CODE_TABLE_CLASS = PendingPanel_module_css_default.lines ?? "";
29763
+ /**
29764
+ * The `@font-face` rules for every slice of every weight, followed by the one
29765
+ * rule that uses them: the code column.
29766
+ *
29767
+ * `font-display: swap` rather than `block`: the code is readable in the system
29768
+ * font immediately, and swapping when the slices land only changes the column
29769
+ * width, never the row height that the virtual window and the jump math are
29770
+ * built on.
29771
+ *
29772
+ * @param slices - the manifest's slice list.
29773
+ * @param codeClass - the class the code table carries, defaulting to the one the
29774
+ * panel's stylesheet exports. It is a parameter so a test can pin the emitted
29775
+ * selector without importing the panel.
29776
+ */
29777
+ function codeFontCss(slices, codeClass = CODE_TABLE_CLASS) {
29778
+ const rules = [];
29779
+ for (const face of FONT_FACES) for (const slice of slices) {
29780
+ if (slice.weight !== face.weight) continue;
29781
+ if (slice.file.indexOf(`${face.name}-`) !== 0) continue;
29782
+ rules.push(`@font-face{font-family:"${FONT_FAMILY}";src:url("${FONT_ROUTE}/${slice.file}") format("woff2");font-weight:${face.weight};font-style:normal;font-display:swap;unicode-range:${slice.unicodeRange}}`);
29783
+ }
29784
+ if (codeClass !== "") rules.push(`.${codeClass}{font-family:${FONT_STACK}}`);
29785
+ return rules.join("\n");
29786
+ }
29787
+ /** The manifest, read once per page: the slices it lists never change under us. */
29788
+ let manifestPromise;
29789
+ /** Whether the one "the switch is on but the host serves no slices" line was written. */
29790
+ let reportedMissing = false;
29791
+ /** Fetch (or reuse) the slice list. Undefined when the host serves no slices. */
29792
+ function fetchSlices() {
29793
+ manifestPromise ??= (async () => {
29794
+ try {
29795
+ const response = await fetch(MANIFEST_URL, { credentials: "same-origin" });
29796
+ if (!response.ok) throw new Error(`HTTP ${response.status}`);
29797
+ const slices = (await response.json()).slices ?? [];
29798
+ if (slices.length === 0) throw new Error("the manifest lists no slices");
29799
+ return slices;
29800
+ } catch (error) {
29801
+ manifestPromise = void 0;
29802
+ if (!reportedMissing) {
29803
+ reportedMissing = true;
29804
+ console.warn(`diff-approval: the bundled code font is unavailable (${MANIFEST_URL})`, error);
29805
+ }
29806
+ return;
29807
+ }
29808
+ })();
29809
+ return manifestPromise;
29810
+ }
29811
+ /** The style element this module owns, once it has been injected. */
29812
+ function styleElement() {
29813
+ return document.head.querySelector(`style[${STYLE_MARKER}]`);
29814
+ }
29815
+ /**
29816
+ * Install the rules, or take them out again, to match the preference.
29817
+ *
29818
+ * Off is the default and costs nothing at all: no manifest request, no
29819
+ * `@font-face`, no rule — the panel renders exactly as it did before the font
29820
+ * existed. On is where the slices are fetched, and only as the code actually
29821
+ * needs them.
29822
+ *
29823
+ * @param live - whether the caller is still attached, consulted again after the
29824
+ * manifest await: a detached client must not install a font nobody owns.
29825
+ */
29826
+ async function apply$1(live) {
29827
+ if (!codeFontEnabled()) {
29828
+ styleElement()?.remove();
29829
+ return;
29830
+ }
29831
+ if (styleElement() !== null) return;
29832
+ const slices = await fetchSlices();
29833
+ if (slices === void 0 || !live() || !codeFontEnabled() || styleElement() !== null) return;
29834
+ const style = document.createElement("style");
29835
+ style.setAttribute(STYLE_MARKER, "");
29836
+ style.textContent = codeFontCss(slices);
29837
+ document.head.appendChild(style);
29838
+ }
29839
+ /**
29840
+ * Follow the preference for as long as the client lives: apply it now, and again
29841
+ * whenever the Settings switch flips. A host without the slices (a source
29842
+ * checkout that never ran the font build, or an install that arrived without
29843
+ * `assets/`) keeps the system stack, and says so once on the console: the
29844
+ * switch is on, so silence would read as "the font does nothing".
29845
+ *
29846
+ * @returns a disposer that stops following and removes the injected rules.
29847
+ */
29848
+ function attachCodeFont() {
29849
+ if (typeof document === "undefined" || typeof fetch !== "function") return () => {};
29850
+ let attached = true;
29851
+ let generation = 0;
29852
+ const run = (mine) => {
29853
+ apply$1(() => attached && generation === mine);
29854
+ };
29855
+ run(generation);
29856
+ const onChange = () => {
29857
+ if (attached) run(generation);
29858
+ };
29859
+ window.addEventListener(CODE_FONT_CHANGED_EVENT, onChange);
29860
+ return () => {
29861
+ attached = false;
29862
+ generation += 1;
29863
+ window.removeEventListener(CODE_FONT_CHANGED_EVENT, onChange);
29864
+ styleElement()?.remove();
29865
+ };
29866
+ }
29867
+ //#endregion
29570
29868
  //#region lib/types/client/locales.js
29571
29869
  /** Pending-edit review UI dictionaries. */
29572
29870
  const NS = "diff-approval";
@@ -29616,6 +29914,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29616
29914
  "panel.diffLineHeightDesc": "差异代码每行的高度(像素,默认 22),滚动与跳转定位会随之调整。",
29617
29915
  "panel.mdPreview": "Markdown 预览",
29618
29916
  "panel.mdPreviewDesc": "开启后,选中 Markdown 文件时默认以渲染后的预览视图展示(与「源码」切换),关闭则默认显示源码差异。",
29917
+ "panel.codeFont": "等宽 CJK 字体",
29918
+ "panel.codeFontDesc": "代码区改用插件内置的「{link}」,汉字与拉丁同栅格,中文注释才能和代码对齐。开启后按 unicode-range 惰性加载 woff2 切片:普通中文约几十 KB,含生僻字时单片上限约 120 KB,纯英文仅 33 KB。默认关闭。",
29619
29919
  "panel.mdMaxWidth": "Markdown 预览宽度",
29620
29920
  "panel.mdMaxWidthDesc": "Markdown 预览内容的单栏最大宽度(像素,默认 800);双栏为两倍宽度并居中,超过时限制超宽内容。",
29621
29921
  "panel.diffAddColor": "新增颜色",
@@ -29666,6 +29966,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29666
29966
  "row.create": "新增",
29667
29967
  "row.failed": "失败",
29668
29968
  "row.dismiss": "移出",
29969
+ "row.keepListed": "保留",
29970
+ "row.keepRemove": "保留并移出",
29971
+ "row.revertRemove": "回退并移出",
29669
29972
  "row.added": "+{added}",
29670
29973
  "row.removed": "-{removed}",
29671
29974
  "action.keep": "保留",
@@ -29675,7 +29978,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29675
29978
  "action.discussionCollapse": "收起",
29676
29979
  "discussion.placeholder": "写下你的评论…",
29677
29980
  "discussion.marker": "[评论]",
29678
- "discussion.promptRule": "(回答只针对这几行,不超过 3 行;行与行之间不要留空行;用纯文本,不要 Markdown 装饰;要求详细时不受长度限制。细则见 dsh-diff-approval-comment skill。)",
29981
+ "discussion.promptRule": "(回答只针对这几行;行与行之间不要留空行;只支持 Markdown 的行内代码和加粗,表格、列表、标题这类块级语法画不出来。细则见 dsh-diff-approval-comment skill。)",
29679
29982
  "discussion.promptRuleSkill": "(这是一条代码批注:先加载 {skill} skill,按它的规则回答。)",
29680
29983
  "discussion.thinking": "思考中",
29681
29984
  "discussion.queued": "排队等待中",
@@ -29786,6 +30089,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29786
30089
  "panel.addNoEntries": "此目录为空",
29787
30090
  "panel.addMissing": "路径不存在",
29788
30091
  "panel.addOutside": "路径不在当前工作区内",
30092
+ "panel.addNotAFile": "这是一个目录,请输入文件路径",
29789
30093
  "panel.addFailed": "添加失败:{message}",
29790
30094
  "action.cancel": "取消",
29791
30095
  "action.collapseRow": "收起",
@@ -29837,6 +30141,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29837
30141
  "panel.diffLineHeightDesc": "The diff code line height, in pixels (default 22); scrolling and jump positioning follow it.",
29838
30142
  "panel.mdPreview": "Markdown preview",
29839
30143
  "panel.mdPreviewDesc": "When on, selecting a Markdown file shows the rendered preview view by default (toggle with \"Source\"); when off, it shows the source diff.",
30144
+ "panel.codeFont": "Monospaced CJK font",
30145
+ "panel.codeFontDesc": "Renders the code column with the bundled \"{link}\", so hanzi share the code's grid and Chinese comments line up with it. When on, the woff2 slices load lazily by unicode-range: tens of KB for ordinary Chinese, at most ~120 KB per slice for a rare character, 33 KB for pure ASCII. Off by default.",
29840
30146
  "panel.mdMaxWidth": "Markdown preview width",
29841
30147
  "panel.mdMaxWidthDesc": "The single-column max width of the Markdown preview content, in pixels (default 800); the double-column view uses twice this and centres it.",
29842
30148
  "panel.diffAddColor": "Added color",
@@ -29887,6 +30193,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29887
30193
  "row.create": "New",
29888
30194
  "row.failed": "Failed",
29889
30195
  "row.dismiss": "Remove",
30196
+ "row.keepListed": "Keep",
30197
+ "row.keepRemove": "Keep and remove",
30198
+ "row.revertRemove": "Revert and remove",
29890
30199
  "row.added": "+{added}",
29891
30200
  "row.removed": "-{removed}",
29892
30201
  "action.keep": "Keep",
@@ -29896,7 +30205,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
29896
30205
  "action.discussionCollapse": "Collapse",
29897
30206
  "discussion.placeholder": "Write your comment…",
29898
30207
  "discussion.marker": "[Review]",
29899
- "discussion.promptRule": "(Answer only about these lines, in at most 3 lines, with no blank line between them, as plain text without Markdown decoration; ignore the length limit if my annotation asks for detail. Full rules: the dsh-diff-approval-comment skill.)",
30208
+ "discussion.promptRule": "(Answer only about these lines, with no blank line between them; only Markdown inline code and bold are supported — tables, lists and headings cannot be drawn here. Full rules: the dsh-diff-approval-comment skill.)",
29900
30209
  "discussion.promptRuleSkill": "(This is a comment on a few diff lines: load the {skill} skill first and answer by its rules.)",
29901
30210
  "discussion.thinking": "Thinking",
29902
30211
  "discussion.queued": "Queued",
@@ -30007,6 +30316,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
30007
30316
  "panel.addNoEntries": "This directory is empty",
30008
30317
  "panel.addMissing": "No such path",
30009
30318
  "panel.addOutside": "That path is outside the workspace",
30319
+ "panel.addNotAFile": "That is a directory; give a file path",
30010
30320
  "panel.addFailed": "Add failed: {message}",
30011
30321
  "action.cancel": "Cancel",
30012
30322
  "action.collapseRow": "Collapse",
@@ -30118,6 +30428,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
30118
30428
  */
30119
30429
  function apply(ctx) {
30120
30430
  injectFooterStackStyle();
30431
+ ctx.effect(() => attachCodeFont(), "diff-approval: code font");
30121
30432
  ctx.effect(() => ctx.locale.register(NS, {
30122
30433
  zh,
30123
30434
  en