bothouse-dsh 0.1.55 → 0.1.57

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.
@@ -1,14 +1,19 @@
1
- // dsh-client-source-sha256: 70d3c61abb2bc3b9e0709cd19b74b64138d19289f45370b9bc335a72925a56ec
2
- // dsh-style-sha256: 9d75964f7231ba60e917f20dccdae4bd87b91f25cd8dc6887c93e537430fbd3e
1
+ // dsh-client-source-sha256: d96360e07d625a5c0ea51d1465b0b3814ea77c61bcf8e5abe9142f893ee5badf
2
+ // dsh-style-sha256: eb1ce668b0b1783d744af077d35394c83ea96af75a7fb428c315a486340acd35
3
3
  window.__ModuleLoader__.load({
4
4
  id: "bothouse-dsh-channels",
5
5
  factory: (require) => {
6
6
  var module = { exports: {} };
7
7
  var exports = module.exports;
8
- (function(){var s=document.createElement('style');s.setAttribute('data-dsh-plugin',"bothouse-dsh-channels");s.textContent=".dshc_page {\n width: 100%;\n height: 100%;\n min-height: 0;\n padding-top: var(--dsh-frame-top-clearance, 0px);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n grid-template-columns: 220px minmax(0, 1fr) 240px;\n font-size: 14px;\n line-height: 1.5;\n display: grid;\n}\n\n.dshc_notice {\n max-width: 480px;\n color: var(--dsw-alias-label-secondary);\n text-align: center;\n grid-column: 1 / -1;\n place-self: center;\n padding: 24px;\n}\n\n.dshc_rooms, .dshc_members {\n background: var(--dsw-alias-bg-layer-2);\n min-height: 0;\n padding: 0 8px 16px;\n overflow-y: auto;\n}\n\n.dshc_membersHead {\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n flex: none;\n height: 44px;\n margin: 0 0 8px;\n}\n\n.dshc_groupTitle {\n color: var(--dsw-alias-label-tertiary);\n letter-spacing: .02em;\n margin: 12px 8px 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_room {\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n display: flex;\n}\n\n.dshc_room:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_room:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_workspace {\n padding-left: 22px;\n font-size: .95em;\n}\n\n.dshc_roomLabel {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_activeCount {\n color: var(--dsw-alias-label-tertiary);\n flex-shrink: 0;\n margin-left: auto;\n font-size: 11px;\n}\n\n.dshc_activeBusy {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_roomActive {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_hash {\n color: var(--dsw-alias-label-tertiary);\n font-size: 16px;\n}\n\n.dshc_chat {\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n display: flex;\n}\n\n.dshc_chatHead {\n -webkit-app-region: drag;\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n align-items: center;\n gap: 6px;\n height: 44px;\n padding: 0 16px;\n font-weight: 600;\n display: flex;\n}\n\n.dshc_log {\n flex: 1;\n min-height: 0;\n padding: 8px 0 12px;\n overflow-y: auto;\n}\n\n.dshc_guide {\n border: 1px dashed var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n margin: 16px;\n padding: 14px 16px;\n display: flex;\n}\n\n.dshc_empty {\n color: var(--dsw-alias-label-tertiary);\n padding: 24px 16px;\n}\n\n.dshc_message {\n grid-template-columns: 36px minmax(0, 1fr);\n gap: 12px;\n padding: 6px 16px;\n display: grid;\n}\n\n.dshc_system .dshc_text {\n color: var(--dsw-alias-label-tertiary);\n font-style: italic;\n}\n\n.dshc_avatar {\n corner-shape: round;\n color: #fff;\n border-radius: 50%;\n place-items: center;\n width: 36px;\n height: 36px;\n font-weight: 700;\n display: grid;\n position: relative;\n}\n\n.dshc_avatarImage {\n object-fit: cover;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n}\n\n.dshc_avatarSmall {\n width: 28px;\n height: 28px;\n font-size: 12px;\n}\n\n.dshc_avatarAnchor {\n align-self: start;\n position: relative;\n}\n\n.dshc_avatarButton {\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 50%;\n padding: 0;\n}\n\n.dshc_avatarMenu {\n z-index: 3;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n min-width: 140px;\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n flex-direction: column;\n padding: 6px;\n display: flex;\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n}\n\n.dshc_avatarMenuTitle {\n padding: 4px 8px;\n font-weight: 700;\n}\n\n.dshc_avatarMenuItem {\n border-radius: var(--dsw-radius-sm);\n color: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 6px 8px;\n}\n\n.dshc_avatarMenuItem:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_messageBody {\n min-width: 0;\n}\n\n.dshc_messageHead {\n align-items: baseline;\n gap: 6px;\n display: flex;\n}\n\n.dshc_author {\n font-weight: 600;\n}\n\n.dshc_time {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n.dshc_tag {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-state-business-primary);\n white-space: nowrap;\n padding: 0 4px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.dshc_edited {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n.dshc_ownActions {\n margin-left: auto;\n margin-right: var(--channels-reply-clearance);\n opacity: 0;\n gap: 8px;\n display: inline-flex;\n}\n\n.dshc_message:hover .dshc_ownActions, .dshc_ownActions:focus-within {\n opacity: 1;\n}\n\n@media (hover: none) {\n .dshc_ownActions {\n display: none;\n }\n\n .dshc_message[data-tools-open] .dshc_ownActions {\n opacity: 1;\n display: inline-flex;\n }\n}\n\n.dshc_editBox {\n flex-direction: column;\n gap: 6px;\n margin-top: 4px;\n display: flex;\n}\n\n.dshc_editInput {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n min-height: 60px;\n color: inherit;\n font: inherit;\n resize: vertical;\n padding: 8px;\n}\n\n.dshc_editBar {\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_editBar .dshc_time {\n margin-right: auto;\n}\n\n.dshc_text {\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.dshc_card {\n border-left: 4px solid var(--dsw-alias-state-business-primary);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n margin-top: 4px;\n padding: 6px 10px;\n}\n\n.dshc_card[data-state=\"failed\"] {\n border-left-color: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_card[data-state=\"retrying\"] {\n border-left-color: var(--dsw-alias-state-warning-primary, #faa61a);\n}\n\n.dshc_cardButtons {\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n display: flex;\n}\n\n.dshc_cardTitle {\n font-size: 13px;\n font-weight: 600;\n}\n\n.dshc_cardHead {\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_cardViews {\n gap: 4px;\n display: flex;\n}\n\n.dshc_cardViewButton {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n color: inherit;\n cursor: pointer;\n background: none;\n padding: 0 6px;\n font-size: 12px;\n}\n\n.dshc_cardViewButton[aria-pressed=\"true\"] {\n background: var(--dsw-alias-bg-base);\n font-weight: 600;\n}\n\n.dshc_permActions {\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n display: flex;\n}\n\n.dshc_permScope {\n color: var(--dsw-alias-text-secondary);\n flex-basis: 100%;\n font-size: 12px;\n}\n\n.dshc_permStatus {\n margin-top: 6px;\n font-size: 13px;\n font-weight: 600;\n}\n\n.dshc_message {\n --channels-reply-clearance: 36px;\n position: relative;\n}\n\n.dshc_quote {\n border-left: 2px solid var(--dsw-alias-label-tertiary);\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n text-overflow: ellipsis;\n gap: 6px;\n margin-bottom: 2px;\n padding-left: 8px;\n font-size: 12px;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_quoteDeleted {\n font-style: italic;\n}\n\n.dshc_quoteAuthor {\n flex: none;\n font-weight: 600;\n}\n\n.dshc_replyButton {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-tertiary);\n background: var(--dsw-alias-bg-layer-2);\n cursor: pointer;\n border: 0;\n padding: 0 6px;\n}\n\n.dshc_msgTools {\n z-index: 1;\n border: 1px solid var(--dsw-alias-separator, #7f7f7f40);\n border-radius: var(--dsw-radius-sm, 6px);\n background: var(--dsw-alias-bg-elevated, var(--dsw-alias-bg-primary, #fff));\n opacity: 0;\n pointer-events: none;\n align-items: center;\n gap: 2px;\n padding: 2px;\n display: inline-flex;\n position: absolute;\n top: 2px;\n right: 16px;\n box-shadow: 0 2px 6px #00000014;\n}\n\n.dshc_msgTool {\n border-radius: var(--dsw-radius-sm, 6px);\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 2px 8px;\n font-size: 12px;\n}\n\n.dshc_msgTool:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_msgTool:disabled {\n cursor: default;\n opacity: .6;\n}\n\n.dshc_msgToolNote {\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n padding: 0 6px;\n font-size: 12px;\n}\n\n.dshc_message:hover .dshc_msgTools, .dshc_message:focus-within .dshc_msgTools, .dshc_msgTools:has(.dshc_msgToolNote) {\n opacity: 1;\n pointer-events: auto;\n}\n\n@media (hover: none) {\n .dshc_message {\n -webkit-touch-callout: none;\n }\n\n .dshc_msgTools {\n display: none;\n }\n\n .dshc_message[data-tools-open] {\n background: var(--dsw-alias-interactive-bg-hover);\n }\n\n .dshc_message[data-tools-open] .dshc_msgTools {\n z-index: 3;\n opacity: 1;\n pointer-events: auto;\n display: inline-flex;\n top: -14px;\n right: 12px;\n }\n\n .dshc_message[data-tools-open] .dshc_msgTool {\n width: 40px;\n height: 36px;\n }\n}\n\n.dshc_replyBar {\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n background: var(--dsw-alias-bg-layer-2);\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n padding: 4px 8px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_replyBarText {\n white-space: nowrap;\n text-overflow: ellipsis;\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n\n.dshc_replyCancel {\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n}\n\n.dshc_working {\n min-height: 20px;\n color: var(--dsw-alias-label-tertiary);\n align-items: center;\n gap: 6px;\n padding: 0 16px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_composer {\n padding: 0 16px 16px;\n position: relative;\n}\n\n.dshc_composerBox {\n border: 1px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1, var(--dsw-alias-bg-layer-2));\n box-shadow: var(--dsw-shadow-lv1-blur);\n flex-direction: column;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_composerBox:focus-within {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_composerToolbar {\n flex: none;\n align-items: center;\n gap: 4px;\n padding: 4px 10px 10px;\n display: flex;\n}\n\n.dshc_composerBox > .dshc_replyBar, .dshc_composerBox > .dshc_attachments {\n margin: 10px 14px 0;\n}\n\n.dshc_mentionButton {\n border-radius: var(--dsw-radius-full, 50%);\n width: 32px;\n height: 32px;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n padding: 0;\n font-size: 18px;\n display: inline-flex;\n}\n\n.dshc_mentionButton:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_sendButton {\n border-radius: var(--dsw-radius-full, 50%);\n width: 32px;\n height: 32px;\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-label-primary);\n font: inherit;\n cursor: pointer;\n border: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n margin-left: auto;\n padding: 0;\n display: inline-flex;\n}\n\n.dshc_sendButton:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.dshc_sendButton:focus-visible, .dshc_mentionButton:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_mentionPopup {\n z-index: 2;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n max-height: 320px;\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n flex-direction: column;\n padding: 6px;\n display: flex;\n position: absolute;\n bottom: calc(100% - 8px);\n left: 16px;\n right: 16px;\n}\n\n.dshc_mentionPopup > [role=\"listbox\"] {\n min-height: 0;\n overflow-y: auto;\n}\n\n.dshc_mentionTitle {\n color: var(--dsw-alias-label-tertiary);\n padding: 4px 8px 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_mentionItem {\n border-radius: var(--dsw-radius-sm);\n cursor: pointer;\n align-items: center;\n gap: 10px;\n padding: 6px 8px;\n display: flex;\n}\n\n.dshc_mentionActive {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_mentionName {\n font-weight: 600;\n}\n\n.dshc_mentionMeta {\n color: var(--dsw-alias-label-tertiary);\n margin-left: auto;\n font-size: 12px;\n}\n\n.dshc_mentionHint {\n border-top: 1px solid var(--dsw-alias-border-l2);\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 8px 2px;\n font-size: 11px;\n}\n\n.dshc_sendError {\n color: var(--dsw-alias-state-error-primary);\n margin-bottom: 6px;\n font-size: 12px;\n}\n\n.dshc_input {\n box-sizing: border-box;\n width: 100%;\n min-height: 52px;\n max-height: 40vh;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n resize: none;\n field-sizing: content;\n background: none;\n border: 0;\n border-radius: 0;\n flex: 1;\n min-width: 0;\n padding: 14px 16px 8px;\n line-height: 1.5;\n}\n\n.dshc_input::placeholder {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n@media (width <= 600px) {\n .dshc_composer {\n padding: 0 8px 8px;\n }\n\n .dshc_composerToolbar {\n padding: 4px 8px 8px;\n }\n\n .dshc_input {\n padding: 12px 14px 8px;\n }\n}\n\n.dshc_input:focus-visible {\n outline: none;\n}\n\n.dshc_member {\n border-radius: var(--dsw-radius-sm);\n min-width: 0;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n flex: 1;\n align-items: center;\n gap: 10px;\n padding: 5px 8px;\n display: flex;\n}\n\n.dshc_member:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_member:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_offline {\n opacity: .5;\n}\n\n.dshc_memberAvatar {\n position: relative;\n}\n\n.dshc_presence {\n border: 2px solid var(--dsw-alias-bg-layer-2);\n corner-shape: round;\n background: #23a55a;\n border-radius: 50%;\n width: 10px;\n height: 10px;\n position: absolute;\n bottom: -2px;\n right: -2px;\n}\n\n.dshc_offline .dshc_presence {\n background: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_memberText {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n.dshc_memberName {\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.dshc_memberStatus {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n@media (width <= 900px) {\n .dshc_page {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .dshc_rooms, .dshc_members {\n display: none;\n }\n}\n\n.dshc_groupHead {\n justify-content: space-between;\n align-items: center;\n padding-right: 4px;\n display: flex;\n}\n\n.dshc_iconButton {\n border-radius: var(--dsw-radius-sm);\n width: 22px;\n height: 22px;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n font-size: 16px;\n line-height: 1;\n}\n\n.dshc_iconButton:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_roomInput, .dshc_fieldInput {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n font: inherit;\n padding: 6px 8px;\n}\n\n.dshc_roomInput {\n margin: 2px 0 6px;\n}\n\n.dshc_roomInput:focus-visible, .dshc_fieldInput:focus-visible, .dshc_iconButton:focus-visible, .dshc_linkButton:focus-visible, .dshc_addMemberButton:focus-visible, .dshc_primaryButton:focus-visible, .dshc_secondaryButton:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_addMemberButton {\n box-sizing: border-box;\n border: 1px dashed var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n margin: 4px 0;\n padding: 7px 8px;\n}\n\n.dshc_addMemberButton:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_settingsDivider {\n border: 0;\n border-top: 1px solid var(--dsw-alias-border-l1);\n width: 100%;\n margin: 8px 0 4px;\n}\n\n.dshc_memberListDivider {\n border: 0;\n border-top: 1px solid var(--dsw-alias-border-l1);\n width: calc(100% - 16px);\n margin: 12px 8px 2px;\n}\n\n.dshc_settingsButton {\n text-align: left;\n border-style: solid;\n border-color: #0000;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_settingsButton svg {\n flex: none;\n}\n\n.dshc_memberRow {\n border-radius: var(--dsw-radius-sm);\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.dshc_memberRow:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_memberRow .dshc_member:hover {\n background: none;\n}\n\n.dshc_memberModel {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n overflow: hidden;\n}\n\n.dshc_memberActions {\n color: var(--dsw-alias-label-tertiary);\n opacity: 0;\n flex: none;\n gap: 4px;\n padding-right: 6px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_memberRow:hover .dshc_memberActions, .dshc_memberRow:focus-within .dshc_memberActions {\n opacity: 1;\n}\n\n.dshc_linkButton {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 2px 4px;\n font-size: 12px;\n}\n\n.dshc_linkButton:hover {\n color: var(--dsw-alias-label-primary);\n text-decoration: underline;\n}\n\n.dshc_dialogBackdrop {\n z-index: 10;\n background: #00000073;\n place-items: center;\n padding: 16px;\n display: grid;\n position: fixed;\n inset: 0;\n}\n\n.dshc_dialog {\n box-sizing: border-box;\n border-radius: var(--dsw-radius-lg);\n width: min(460px, 100%);\n max-height: calc(100vh - 32px);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n box-shadow: var(--dsw-elevation-panel, 0 12px 32px #0000004d);\n flex-direction: column;\n gap: 12px;\n padding: 20px;\n display: flex;\n overflow-y: auto;\n}\n\n.dshc_settingsDialog {\n box-sizing: border-box;\n height: min(70vh, 100dvh - 32px);\n max-height: calc(100dvh - 32px);\n overflow: hidden;\n}\n\n.dshc_settingsBody {\n overscroll-behavior: contain;\n flex: auto;\n min-height: 0;\n padding: 2px;\n overflow-y: auto;\n}\n\n.dshc_settingsDialog > :not(.dshc_settingsBody) {\n flex-shrink: 0;\n}\n\n.dshc_settingsFields {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.dshc_settingsFeedback {\n overflow-wrap: anywhere;\n max-height: 20%;\n overflow-y: auto;\n}\n\n.dshc_settingsDialog .dshc_dialogActions {\n justify-content: space-between;\n}\n\n@media (width <= 599px) {\n .dshc_settingsDialog {\n height: calc(100dvh - 32px);\n padding: 16px;\n }\n}\n\n.dshc_avatarCropStage {\n background: #000000a6;\n padding: 20px;\n}\n\n.dshc_avatarCropFrame {\n aspect-ratio: 1;\n touch-action: none;\n cursor: grab;\n outline: 2px solid #fff;\n width: min(256px, 100%);\n margin: auto;\n position: relative;\n overflow: hidden;\n}\n\n.dshc_avatarCropFrame:active {\n cursor: grabbing;\n}\n\n.dshc_avatarCropFrame img {\n pointer-events: none;\n user-select: none;\n max-width: none;\n position: absolute;\n}\n\n.dshc_dialogTitle {\n margin: 0;\n font-size: 16px;\n}\n\n.dshc_field {\n color: var(--dsw-alias-label-secondary);\n flex-direction: column;\n gap: 4px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_field textarea {\n resize: vertical;\n}\n\n.dshc_choiceRow {\n flex-wrap: wrap;\n gap: 12px;\n display: flex;\n}\n\n.dshc_choiceColumn {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.dshc_choiceColumn .dshc_choice {\n grid-template-columns: max-content minmax(0, 1fr);\n align-items: start;\n display: grid;\n}\n\n.dshc_choice {\n color: var(--dsw-alias-label-primary, inherit);\n cursor: pointer;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n display: inline-flex;\n}\n\n.dshc_dialogActions {\n justify-content: flex-end;\n gap: 8px;\n display: flex;\n}\n\n.dshc_primaryButton, .dshc_secondaryButton {\n border-radius: var(--dsw-radius-sm);\n font: inherit;\n cursor: pointer;\n padding: 7px 14px;\n}\n\n.dshc_primaryButton {\n color: #fff;\n background: var(--dsw-alias-state-business-primary);\n border: 0;\n}\n\n.dshc_primaryButton:disabled {\n cursor: not-allowed;\n opacity: .5;\n}\n\n.dshc_secondaryButton {\n border: 1px solid var(--dsw-alias-border-l2);\n color: var(--dsw-alias-label-primary);\n background: none;\n}\n\n.dshc_memberFailed .dshc_memberStatus {\n color: var(--dsw-alias-state-error-primary, #ed4245);\n}\n\n.dshc_memberFailed .dshc_presence {\n background: #ed4245;\n}\n\n.dshc_mobileButton, .dshc_drawerBackdrop {\n display: none;\n}\n\n.dshc_panelToggle {\n border-radius: var(--dsw-radius-sm);\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n justify-content: center;\n align-items: center;\n font-size: 16px;\n line-height: 1;\n display: inline-flex;\n}\n\n.dshc_panelToggle:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_panelToggle:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_panelToggleEnd {\n margin-left: auto;\n}\n\n.dshc_capabilityMenu {\n z-index: 4;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-base);\n max-height: 260px;\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n gap: 2px;\n padding: 5px;\n display: grid;\n position: absolute;\n bottom: calc(100% + 4px);\n left: 0;\n right: 0;\n overflow-y: auto;\n}\n\n.dshc_capabilityItem:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_capabilityHelp {\n color: var(--dsw-alias-label-secondary);\n white-space: normal;\n margin: 6px;\n font-size: 12px;\n}\n\n.dshc_capabilityItem:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_capabilityItem {\n text-align: left;\n cursor: pointer;\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n background: none;\n border: 0;\n padding: 5px 8px;\n font-size: 12px;\n font-weight: 400;\n}\n\n@media (width >= 901px) {\n .dshc_page.dshc_roomsHidden {\n grid-template-columns: minmax(0, 1fr) 240px;\n }\n\n .dshc_page.dshc_membersHidden {\n grid-template-columns: 220px minmax(0, 1fr);\n }\n\n .dshc_page.dshc_roomsHidden.dshc_membersHidden {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .dshc_roomsHidden > .dshc_rooms, .dshc_membersHidden > .dshc_members {\n display: none;\n }\n}\n\n@media (width <= 900px) {\n .dshc_page {\n position: relative;\n overflow: hidden;\n }\n\n .dshc_mobileButton {\n min-width: 40px;\n min-height: 40px;\n color: inherit;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n display: inline-flex;\n }\n\n .dshc_mobileButton:last-child {\n margin-left: auto;\n }\n\n .dshc_panelToggle {\n display: none;\n }\n\n .dshc_drawerBackdrop {\n z-index: 4;\n background: #00000073;\n border: 0;\n display: block;\n position: absolute;\n inset: 0;\n }\n\n .dshc_rooms.dshc_drawerOpen, .dshc_members.dshc_drawerOpen {\n z-index: 5;\n box-sizing: border-box;\n width: min(280px, 85%);\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n box-shadow: 0 0 24px #0000004d;\n }\n\n .dshc_rooms.dshc_drawerOpen {\n left: 0;\n }\n\n .dshc_members.dshc_drawerOpen {\n right: 0;\n }\n\n .dshc_memberActions {\n opacity: 1;\n }\n\n .dshc_messageHead {\n flex-wrap: wrap;\n }\n}\n\n.dshc_avatarPicker {\n flex-wrap: wrap;\n gap: 8px;\n display: flex;\n}\n\n.dshc_avatarOption {\n cursor: pointer;\n background: none;\n border: 2px solid #0000;\n border-radius: 50%;\n padding: 2px;\n display: grid;\n}\n\n.dshc_avatarOption[aria-checked=\"true\"] {\n border-color: var(--dsw-alias-accent, #5865f2);\n}\n\n.dshc_taskBoardTrigger {\n box-sizing: border-box;\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n height: 34px;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n align-items: center;\n gap: 8px;\n margin: 4px 0;\n padding: 7px 8px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_taskBoardTrigger:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_taskBoardTrigger:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_taskBoardSummary {\n color: var(--dsw-alias-label-secondary);\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n overflow: hidden;\n}\n\n.dshc_taskBoardDialog {\n width: min(920px, 100%);\n height: min(70vh, 100dvh - 32px);\n overflow: hidden;\n}\n\n.dshc_taskBoardBody {\n overscroll-behavior: contain;\n flex: auto;\n min-height: 0;\n overflow-y: auto;\n}\n\n.dshc_taskBoardDialog > :not(.dshc_taskBoardBody) {\n flex-shrink: 0;\n}\n\n.dshc_boardTabs {\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n gap: 4px;\n padding-bottom: 8px;\n display: flex;\n overflow-x: auto;\n}\n\n.dshc_boardTabs button {\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n padding: 7px 10px;\n font-size: 13px;\n}\n\n.dshc_boardTabs button:hover, .dshc_boardTabs button[aria-selected=\"true\"] {\n color: var(--dsw-alias-state-business-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_boardTabs button:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n outline-offset: -2px;\n}\n\n.dshc_boardTabCount {\n font-variant-numeric: tabular-nums;\n margin-left: 4px;\n}\n\n.dshc_boardCardGrid {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 12px;\n margin: 6px 0 16px;\n padding: 2px;\n list-style: none;\n display: grid;\n}\n\n.dshc_boardTaskCard {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n border-radius: 12px;\n flex-direction: column;\n gap: 10px;\n min-width: 0;\n padding: 14px;\n transition: transform .14s, box-shadow .14s;\n display: flex;\n}\n\n.dshc_boardTaskCard[data-working=\"true\"] {\n border-color: var(--dsw-alias-state-business-primary);\n}\n\n.dshc_boardTaskCard[data-status=\"done\"] {\n filter: saturate(.25);\n color: var(--dsw-alias-label-secondary);\n}\n\n.dshc_boardTaskCard:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px #00000014;\n}\n\n.dshc_boardTaskHeader {\n align-items: flex-start;\n gap: 8px;\n display: flex;\n}\n\n.dshc_boardTaskTitle {\n overflow-wrap: anywhere;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n flex: 1;\n font-size: 14px;\n font-weight: 600;\n line-height: 1.5;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.dshc_boardTaskHeader .dshc_taskStatus {\n border-radius: 999px;\n padding: 3px 7px;\n font-size: 11px;\n}\n\n.dshc_boardTaskCard .dshc_taskLinks {\n justify-content: flex-end;\n margin-top: auto;\n}\n\n.dshc_boardTabEmpty {\n min-height: 240px;\n color: var(--dsw-alias-label-secondary);\n text-align: center;\n justify-content: center;\n align-items: center;\n padding: 40px 16px;\n display: flex;\n}\n\n@media (width <= 640px) {\n .dshc_boardCardGrid {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_boardTaskCard {\n transition: none;\n }\n\n .dshc_boardTaskCard:hover {\n transform: none;\n }\n}\n\n.dshc_taskBoardScope {\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n}\n\n.dshc_taskSection + .dshc_taskSection {\n margin-top: 8px;\n}\n\n.dshc_taskSectionTitle {\n color: var(--dsw-alias-label-secondary);\n margin: 0 0 4px;\n padding: 0 8px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_taskOwnerGroup + .dshc_taskOwnerGroup {\n margin-top: 4px;\n}\n\n.dshc_taskOwnerName {\n color: var(--dsw-alias-label-tertiary);\n padding: 0 8px;\n font-size: 12px;\n}\n\n.dshc_taskList {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.dshc_taskRow {\n border-radius: var(--dsw-radius-sm);\n padding: 6px 8px;\n}\n\n.dshc_taskRow:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_taskLine {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n.dshc_taskTitle {\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 13px;\n overflow: hidden;\n}\n\n.dshc_taskMeta {\n color: var(--dsw-alias-label-tertiary);\n flex-wrap: wrap;\n gap: 0 8px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_taskLinks {\n gap: 8px;\n display: flex;\n}\n\n.dshc_taskEmpty {\n color: var(--dsw-alias-label-tertiary);\n margin: 0 8px;\n font-size: 12px;\n}\n\n.dshc_taskDone summary {\n cursor: pointer;\n}\n\n.dshc_taskStatus {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-state-business-primary);\n flex: none;\n padding: 0 4px;\n font-size: 10px;\n font-style: normal;\n font-weight: 600;\n}\n\n.dshc_taskStatus[data-status=\"asked\"], .dshc_taskStatus[data-status=\"escalated\"], .dshc_taskStatus[data-status=\"declined\"], .dshc_taskStatus[data-status=\"rework\"] {\n background: var(--dsw-alias-state-warning-primary, var(--dsw-alias-state-error-primary));\n}\n\n.dshc_taskStatus[data-status=\"done\"] {\n background: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_taskCard {\n margin-top: 4px;\n font-style: normal;\n}\n\n.dshc_taskMembers {\n margin: 4px 0 0;\n padding: 0;\n list-style: none;\n}\n\n.dshc_taskMember {\n align-items: center;\n gap: 8px;\n font-size: 13px;\n display: flex;\n}\n\n.dshc_taskMemberName {\n font-weight: 600;\n}\n\n.dshc_taskSub {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_focused {\n background: var(--dsw-alias-interactive-bg-hover);\n outline: 2px solid var(--dsw-alias-state-business-primary);\n}\n\n.dshc_attachments {\n flex-wrap: wrap;\n gap: 6px;\n margin: 4px 0;\n display: flex;\n}\n\n.dshc_attachmentImage {\n border-radius: 4px;\n max-width: min(320px, 100%);\n max-height: 240px;\n display: block;\n}\n\n.dshc_imageAttachment {\n align-content: start;\n max-width: 100%;\n display: grid;\n}\n\n.dshc_imagePreviewTrigger {\n cursor: zoom-in;\n background: none;\n border: 0;\n border-radius: 4px;\n grid-area: 1 / 1;\n padding: 0;\n}\n\n.dshc_imagePreviewTrigger:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary);\n outline-offset: 2px;\n}\n\n.dshc_imagePreviewDialog {\n box-sizing: border-box;\n width: fit-content;\n max-width: 90vw;\n max-height: 90dvh;\n overflow: auto;\n}\n\n.dshc_imagePreviewHeader {\n flex-shrink: 0;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.dshc_imagePreviewHeader span {\n overflow-wrap: anywhere;\n min-width: 0;\n}\n\n.dshc_imagePreviewHeader button {\n flex-shrink: 0;\n}\n\n.dshc_imagePreviewImage {\n object-fit: contain;\n align-self: center;\n max-width: 100%;\n min-height: 0;\n max-height: 65dvh;\n display: block;\n}\n\n.dshc_imagePreviewActions {\n flex-wrap: wrap;\n flex-shrink: 0;\n gap: 8px;\n display: flex;\n}\n\n.dshc_imagePreviewActions a {\n text-decoration: none;\n}\n\n.dshc_imagePreviewActions button:disabled {\n cursor: wait;\n opacity: .5;\n}\n\n.dshc_attachmentActions {\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-base);\n opacity: 0;\n pointer-events: none;\n flex-wrap: wrap;\n grid-area: 1 / 1;\n place-self: start end;\n gap: 4px;\n margin: 4px;\n padding: 4px;\n display: flex;\n}\n\n.dshc_attachmentActions a {\n text-decoration: none;\n}\n\n.dshc_attachmentActions button:disabled {\n cursor: wait;\n opacity: .5;\n}\n\n.dshc_imageAttachment:hover .dshc_attachmentActions, .dshc_imageAttachment:focus-within .dshc_attachmentActions, .dshc_imageAttachment[data-copy-state=\"error\"] .dshc_attachmentActions, .dshc_imageAttachment[data-copy-state=\"copying\"] .dshc_attachmentActions, .dshc_imageAttachment[data-copy-state=\"copied\"] .dshc_attachmentActions {\n opacity: 1;\n pointer-events: auto;\n}\n\n@media (hover: none), (pointer: coarse), (width <= 768px) {\n .dshc_attachmentActions {\n opacity: 1;\n pointer-events: auto;\n }\n}\n\n.dshc_attachmentThumb {\n object-fit: cover;\n vertical-align: middle;\n border-radius: 3px;\n width: 32px;\n height: 32px;\n}\n\n.dshc_attachmentFile {\n background: var(--background-secondary, #7f7f7f26);\n color: inherit;\n border-radius: 4px;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n text-decoration: none;\n display: inline-flex;\n}\n\n.dshc_attachmentSize {\n opacity: .6;\n font-size: .85em;\n}\n\n.dshc_attachmentAudio {\n flex-direction: column;\n gap: 2px;\n width: min(320px, 100%);\n display: flex;\n}\n\n.dshc_attachmentAudio audio {\n width: 100%;\n}\n\n.dshc_attachmentAudio a {\n color: inherit;\n text-decoration: none;\n}\n\n.dshc_attachmentFile {\n overflow-wrap: anywhere;\n max-width: 100%;\n}\n\n.dshc_chatHead button, .dshc_chatHead input, .dshc_chatHead select, .dshc_chatHead a, .dshc_chatHead [role=\"menu\"] {\n -webkit-app-region: no-drag;\n}\n\n.dshc_text pre, .dshc_text table {\n max-width: 100%;\n overflow-x: auto;\n}\n\n@media (width >= 901px) {\n .dshc_page {\n grid-template-columns: 232px minmax(0, 1fr) 272px;\n }\n\n .dshc_page.dshc_roomsHidden {\n grid-template-columns: minmax(0, 1fr) 272px;\n }\n\n .dshc_page.dshc_membersHidden {\n grid-template-columns: 232px minmax(0, 1fr);\n }\n\n .dshc_page.dshc_roomsHidden.dshc_membersHidden {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n.dshc_rooms {\n padding-top: 4px;\n}\n\n.dshc_room {\n border-radius: var(--dsw-radius-md);\n min-height: 34px;\n padding: 6px 10px;\n transition: background-color .15s, color .15s;\n}\n\n.dshc_workspace {\n min-height: 30px;\n padding-left: 28px;\n font-size: 13px;\n position: relative;\n}\n\n.dshc_workspace:before {\n content: \"\";\n border-left: 1px solid var(--dsw-alias-border-l2);\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n border-bottom-left-radius: 4px;\n width: 7px;\n position: absolute;\n top: 0;\n bottom: 50%;\n left: 15px;\n}\n\n.dshc_workspace .dshc_hash {\n display: none;\n}\n\n.dshc_roomActive {\n color: var(--dsw-alias-label-primary);\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 14%, transparent);\n box-shadow: inset 2px 0 0 var(--dsw-alias-state-business-primary);\n font-weight: 600;\n}\n\n.dshc_activeCount {\n font-variant-numeric: tabular-nums;\n border-radius: 999px;\n margin-left: 0;\n padding: 0 6px;\n font-size: 11px;\n line-height: 18px;\n}\n\n.dshc_activeBusy {\n color: var(--dsw-alias-state-business-primary);\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 14%, transparent);\n}\n\n.dshc_roomLabel {\n flex: auto;\n min-width: 0;\n}\n\n.dshc_avatarStack {\n flex: none;\n align-items: center;\n padding-left: 4px;\n display: inline-flex;\n}\n\n.dshc_stackDot {\n border: 2px solid var(--dsw-alias-bg-layer-2);\n background-position: center;\n background-size: cover;\n border-radius: 50%;\n width: 18px;\n height: 18px;\n margin-left: -6px;\n}\n\n.dshc_room .dshc_stackDot {\n width: 16px;\n height: 16px;\n}\n\n.dshc_roomActive .dshc_stackDot {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 14%, var(--dsw-alias-bg-layer-2));\n}\n\n.dshc_chatHead {\n gap: 8px;\n height: 52px;\n}\n\n.dshc_roomName {\n letter-spacing: -.01em;\n white-space: nowrap;\n font-size: 15px;\n}\n\n.dshc_headMeta {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n font-weight: 400;\n overflow: hidden;\n}\n\n.dshc_headActivity {\n color: var(--dsw-alias-label-secondary);\n flex: none;\n align-items: center;\n gap: 6px;\n margin-left: auto;\n font-size: 12px;\n font-weight: 500;\n display: inline-flex;\n}\n\n.dshc_headActivity .dshc_stackDot {\n border-color: var(--dsw-alias-bg-base);\n width: 22px;\n height: 22px;\n}\n\n.dshc_headActivity + .dshc_panelToggleEnd {\n margin-left: 4px;\n}\n\n.dshc_chatHead > .dshc_roomName {\n text-overflow: ellipsis;\n min-width: 0;\n overflow: hidden;\n}\n\n.dshc_chatHead > .dshc_taskBoardTrigger {\n width: auto;\n margin: 0 0 0 auto;\n}\n\n.dshc_chatHead .dshc_taskBoardSummary {\n display: none;\n}\n\n.dshc_headLead {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n border-radius: 999px;\n flex: 0 auto;\n align-items: center;\n gap: 6px;\n min-width: 0;\n padding: 4px 8px;\n font-size: 12px;\n display: inline-flex;\n}\n\n.dshc_headLeadText {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n.dshc_headLeadName {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_headLeadStatus {\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n font-size: 11px;\n font-weight: 400;\n}\n\n.dshc_headLead + .dshc_panelToggleEnd {\n margin-left: 0;\n}\n\n.dshc_membersHead {\n align-items: center;\n height: 52px;\n padding: 0 4px;\n display: flex;\n}\n\n.dshc_membersHeadTitle {\n color: var(--dsw-alias-label-tertiary);\n letter-spacing: .08em;\n font-size: 11px;\n font-weight: 650;\n}\n\n.dshc_log {\n padding: 12px 0 16px;\n}\n\n.dshc_message {\n grid-template-columns: 36px minmax(0, 1fr);\n gap: 12px;\n padding: 8px 20px 2px;\n transition: background-color .15s;\n}\n\n.dshc_message.dshc_grouped {\n padding-top: 1px;\n}\n\n.dshc_message:hover {\n background: color-mix(in srgb, var(--dsw-alias-interactive-bg-hover) 70%, transparent);\n}\n\n.dshc_messageHead {\n gap: 8px;\n margin-bottom: 2px;\n}\n\n.dshc_messageHeadGrouped {\n margin-bottom: 0;\n}\n\n.dshc_messageHeadGrouped:not(:has(*)) {\n display: none;\n}\n\n.dshc_author {\n font-size: 13px;\n}\n\n.dshc_time, .dshc_edited {\n font-variant-numeric: tabular-nums;\n font-size: 11px;\n}\n\n.dshc_gutterTime {\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n text-align: right;\n opacity: 0;\n align-self: start;\n padding-top: 3px;\n font-size: 10px;\n transition: opacity .15s;\n}\n\n.dshc_message:hover .dshc_gutterTime {\n opacity: 1;\n}\n\n.dshc_text {\n line-height: 1.6;\n}\n\n.dshc_own {\n grid-template-columns: minmax(0, 1fr) 36px;\n}\n\n.dshc_own > :first-child {\n grid-area: 1 / 2;\n}\n\n.dshc_own > .dshc_messageBody {\n flex-direction: column;\n grid-area: 1 / 1;\n align-items: flex-end;\n display: flex;\n}\n\n.dshc_own .dshc_messageHead {\n flex-direction: row-reverse;\n}\n\n.dshc_own .dshc_ownActions {\n margin-left: 0;\n margin-right: auto;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text {\n max-width: min(560px, 100%);\n color: var(--dsw-alias-label-primary);\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 16%, var(--dsw-alias-bg-layer-2));\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-state-business-primary) 28%, transparent);\n border-radius: 16px 6px 16px 16px;\n padding: 8px 14px;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_quote {\n align-self: flex-end;\n}\n\n.dshc_own .dshc_msgTools {\n left: 16px;\n right: auto;\n}\n\n.dshc_own.dshc_grouped > .dshc_messageBody > .dshc_text {\n border-radius: 16px 6px 6px 16px;\n}\n\n.dshc_systemRecord {\n flex-direction: column;\n align-items: center;\n padding-bottom: 4px;\n display: flex;\n}\n\n.dshc_systemRecord > .dshc_systemLine {\n align-self: stretch;\n}\n\n.dshc_taskRecord {\n box-sizing: border-box;\n width: min(480px, 100% - 40px);\n margin-top: 0;\n}\n\n.dshc_systemLine {\n color: var(--dsw-alias-label-tertiary);\n align-items: center;\n gap: 12px;\n padding: 10px 32px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_systemLine:before, .dshc_systemLine:after {\n content: \"\";\n background: var(--dsw-alias-border-l2);\n flex: 24px;\n min-width: 24px;\n height: 1px;\n}\n\n.dshc_systemText {\n text-align: center;\n max-width: min(640px, 80%);\n}\n\n.dshc_systemText p {\n margin: 0;\n}\n\n.dshc_errorBar {\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary) 35%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 9%, transparent);\n border-radius: 12px;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px 10px;\n margin: 6px 20px 6px 68px;\n padding: 8px 12px;\n font-size: 13px;\n display: flex;\n}\n\n.dshc_errorBar .dshc_cardButtons {\n margin: 0 0 0 auto;\n}\n\n.dshc_errorBar .dshc_secondaryButton {\n padding: 3px 10px;\n font-size: 12px;\n}\n\n.dshc_errorBar[data-state=\"retried\"] {\n opacity: .65;\n}\n\n.dshc_errorIcon {\n color: #fff;\n background: var(--dsw-alias-state-error-primary);\n border-radius: 50%;\n flex: none;\n place-items: center;\n width: 18px;\n height: 18px;\n font-size: 12px;\n font-weight: 700;\n display: grid;\n}\n\n.dshc_errorText {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n flex: 200px;\n}\n\n.dshc_errorText p {\n margin: 0;\n}\n\n.dshc_runStrip {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1, var(--dsw-alias-bg-layer-2));\n border-radius: 12px;\n flex-direction: column;\n max-width: 100%;\n margin-top: 4px;\n padding: 5px 10px;\n font-size: 12px;\n display: inline-flex;\n}\n\n.dshc_runStrip[data-state=\"running\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_runStrip[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_runHead {\n min-width: 0;\n color: var(--dsw-alias-label-secondary);\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_runTitle {\n color: var(--dsw-alias-label-primary);\n flex: none;\n font-weight: 600;\n}\n\n.dshc_runSummary {\n font-variant-numeric: tabular-nums;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_runHead .dshc_cardViews {\n margin-left: 8px;\n}\n\n.dshc_runHead .dshc_cardViewButton {\n color: var(--dsw-alias-label-tertiary);\n border-radius: 999px;\n font-size: 11px;\n}\n\n.dshc_runHead .dshc_cardViewButton[aria-pressed=\"true\"] {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_runIcon {\n border-radius: 50%;\n flex: none;\n width: 12px;\n height: 12px;\n position: relative;\n}\n\n.dshc_runStrip[data-state=\"running\"] .dshc_runIcon {\n border: 2px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 25%, transparent);\n border-top-color: var(--dsw-alias-state-business-primary);\n animation: .8s linear infinite dshc_channels-spin;\n}\n\n.dshc_runStrip[data-state=\"completed\"] .dshc_runIcon {\n background: #23a55a;\n}\n\n.dshc_runStrip[data-state=\"completed\"] .dshc_runIcon:after {\n content: \"\";\n border: 1.5px solid #fff;\n border-width: 0 1.5px 1.5px 0;\n width: 3px;\n height: 6px;\n position: absolute;\n top: 2px;\n left: 4px;\n transform: rotate(45deg);\n}\n\n.dshc_runStrip[data-state=\"failed\"] .dshc_runIcon {\n background: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_runSteps {\n color: var(--dsw-alias-label-secondary);\n margin-top: 4px;\n font-size: 12px;\n line-height: 1.55;\n}\n\n.dshc_runSteps p {\n margin: 0;\n}\n\n.dshc_runStrip .dshc_cardButtons {\n margin-top: 6px;\n}\n\n@keyframes dshc_channels-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_runStrip[data-state=\"running\"] .dshc_runIcon {\n animation-duration: 2.4s;\n }\n}\n\n.dshc_card {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n border-left-width: 1px;\n border-radius: 14px;\n margin-top: 6px;\n padding: 10px 12px;\n}\n\n.dshc_card[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 40%, var(--dsw-alias-border-l2));\n}\n\n.dshc_taskAnchor {\n max-width: 560px;\n box-shadow: inset 3px 0 0 var(--channels-accent-warm, #d08a2e);\n}\n\n.dshc_permInline {\n color: var(--dsw-alias-label-secondary);\n flex-wrap: wrap;\n align-items: baseline;\n gap: 4px 8px;\n display: flex;\n}\n\n.dshc_permInline .dshc_text {\n flex: 0 auto;\n min-width: 0;\n}\n\n.dshc_permInline .dshc_text p {\n margin: 0;\n}\n\n.dshc_permLock {\n color: var(--dsw-alias-state-warning-primary, #e9a23b);\n flex: none;\n font-size: 9px;\n}\n\n.dshc_permWaiting {\n color: var(--dsw-alias-state-warning-primary, #e9a23b);\n flex: none;\n font-size: 11px;\n font-weight: 600;\n}\n\n.dshc_permTray {\n flex-direction: column;\n gap: 6px;\n max-height: 40%;\n margin: 0 16px 8px;\n display: flex;\n overflow-y: auto;\n}\n\n.dshc_permTrayItem {\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 55%, var(--dsw-alias-border-l2));\n background: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 7%, var(--dsw-alias-bg-layer-2));\n border-radius: 14px;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px 12px;\n padding: 10px 12px;\n display: flex;\n box-shadow: 0 6px 20px -12px #00000059;\n}\n\n.dshc_permTrayText {\n flex: 240px;\n min-width: 0;\n font-size: 13px;\n}\n\n.dshc_permTrayText .dshc_text p {\n margin: 0;\n}\n\n.dshc_permTrayWho {\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_permTrayItem .dshc_permActions {\n flex-wrap: nowrap;\n margin: 0;\n}\n\n.dshc_permTrayItem .dshc_permScope {\n display: none;\n}\n\n.dshc_members {\n flex-direction: column;\n padding: 0 10px 16px;\n}\n\n@media (width >= 901px) {\n .dshc_members {\n display: flex;\n }\n\n .dshc_membersHidden > .dshc_members {\n display: none;\n }\n}\n\n.dshc_members.dshc_drawerOpen {\n display: flex;\n}\n\n.dshc_activityNow {\n flex-direction: column;\n gap: 2px;\n margin-bottom: 6px;\n display: flex;\n}\n\n.dshc_activityItem {\n border: 1px solid var(--dsw-alias-border-l2);\n width: 100%;\n color: inherit;\n background: var(--dsw-alias-bg-base);\n font: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 12px;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n display: flex;\n}\n\n.dshc_activityItem + .dshc_activityItem {\n margin-top: 4px;\n}\n\n.dshc_activityItem:hover {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 40%, var(--dsw-alias-border-l2));\n}\n\n.dshc_activityItem:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_activityText {\n flex-direction: column;\n flex: 1;\n min-width: 0;\n display: flex;\n}\n\n.dshc_activityName {\n font-size: 13px;\n font-weight: 600;\n}\n\n.dshc_activityWhat {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n overflow: hidden;\n}\n\n.dshc_activityPulse {\n background: var(--dsw-alias-state-business-primary);\n border-radius: 50%;\n flex: none;\n width: 8px;\n height: 8px;\n animation: 1.6s ease-in-out infinite dshc_channels-pulse;\n}\n\n@keyframes dshc_channels-pulse {\n 50% {\n box-shadow: 0 0 0 3px #23a55a40;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_activityPulse {\n animation: none;\n }\n}\n\n.dshc_member {\n padding: 6px 8px;\n}\n\n.dshc_memberText {\n flex: 1;\n}\n\n.dshc_memberStatus {\n flex: none;\n margin-left: auto;\n font-size: 11px;\n}\n\n.dshc_memberStatus[data-status=\"busy\"] {\n color: var(--dsw-alias-state-business-primary);\n font-weight: 600;\n}\n\n.dshc_memberStatus[data-status=\"error\"] {\n color: var(--dsw-alias-state-error-primary);\n font-weight: 600;\n}\n\n.dshc_memberActions {\n background: var(--dsw-alias-bg-layer-2);\n padding-left: 8px;\n position: absolute;\n top: 50%;\n right: 8px;\n transform: translateY(-50%);\n}\n\n.dshc_addMemberButton {\n border-radius: 10px;\n}\n\n@media (width <= 900px) {\n .dshc_headMeta, .dshc_headActivityText {\n display: none;\n }\n\n .dshc_chatHead {\n padding: 0 8px;\n }\n\n .dshc_mobileButton {\n white-space: nowrap;\n }\n\n .dshc_headActivity ~ .dshc_mobileButton:last-child {\n margin-left: 4px;\n }\n\n .dshc_message {\n padding-left: 12px;\n padding-right: 12px;\n }\n\n .dshc_errorBar {\n margin-left: 12px;\n margin-right: 12px;\n }\n\n .dshc_permTray {\n margin: 0 8px 8px;\n }\n\n .dshc_permTrayItem .dshc_permActions {\n flex-wrap: wrap;\n }\n\n .dshc_systemLine {\n padding: 8px 12px;\n }\n\n .dshc_systemText {\n max-width: 90%;\n }\n\n .dshc_memberActions {\n background: none;\n padding-left: 0;\n position: static;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsEnter {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsEnterOwn {\n from {\n opacity: 0;\n transform: translateY(12px) scale(.985);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsGlow {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes dshc_channelsPop {\n from {\n opacity: 0;\n transform: translateY(4px) scale(.98);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsDot {\n 0%, 60%, 100% {\n opacity: .35;\n transform: none;\n }\n\n 30% {\n opacity: 1;\n transform: translateY(-2px);\n }\n}\n\n@keyframes dshc_channelsDrain {\n from {\n transform: scaleX(1);\n }\n\n to {\n transform: scaleX(0);\n }\n}\n\n.dshc_enter {\n animation: .18s cubic-bezier(.2, 0, 0, 1) both dshc_channelsEnter;\n}\n\n.dshc_enterOwn {\n animation: .22s cubic-bezier(.22, 1, .36, 1) both dshc_channelsEnterOwn;\n}\n\n.dshc_enterGlow:before {\n content: \"\";\n pointer-events: none;\n background: linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-state-business-primary) 10%, transparent), transparent 70%);\n animation: .7s cubic-bezier(.4, 0, .2, 1) both dshc_channelsGlow;\n animation-delay: inherit;\n position: absolute;\n inset: 0;\n}\n\n.dshc_message {\n transition: background-color .16s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_room {\n transition: background-color .16s cubic-bezier(.2, 0, 0, 1), color .16s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_card {\n transition: border-color .32s cubic-bezier(.2, 0, 0, 1), background-color .32s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_sendButton, .dshc_primaryButton, .dshc_secondaryButton, .dshc_mentionButton, .dshc_cardViewButton {\n transition: background-color .16s cubic-bezier(.2, 0, 0, 1), opacity .16s cubic-bezier(.2, 0, 0, 1), transform .12s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_sendButton:not(:disabled):active, .dshc_primaryButton:not(:disabled):active, .dshc_secondaryButton:not(:disabled):active, .dshc_mentionButton:not(:disabled):active, .dshc_cardViewButton:active {\n transform: translateY(1px);\n}\n\n.dshc_mentionPopup {\n transform-origin: bottom;\n animation: .16s cubic-bezier(.22, 1, .36, 1) both dshc_channelsPop;\n}\n\n.dshc_typingDots {\n vertical-align: middle;\n gap: 3px;\n margin-right: 6px;\n display: inline-flex;\n}\n\n.dshc_typingDots i {\n background: currentColor;\n border-radius: 50%;\n width: 4px;\n height: 4px;\n animation: 1.2s ease-in-out infinite dshc_channelsDot;\n}\n\n.dshc_typingDots i:nth-child(2) {\n animation-delay: .15s;\n}\n\n.dshc_typingDots i:nth-child(3) {\n animation-delay: .3s;\n}\n\n.dshc_logWrap {\n flex-direction: column;\n flex: 1;\n min-height: 0;\n display: flex;\n position: relative;\n}\n\n.dshc_olderLoading {\n color: var(--dsw-alias-label-tertiary);\n text-align: center;\n padding: 8px 16px;\n font-size: 12px;\n}\n\n.dshc_unreadDivider {\n color: var(--dsw-alias-state-error-primary);\n align-items: center;\n gap: 8px;\n margin: 8px 16px;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n}\n\n.dshc_unreadDivider:before, .dshc_unreadDivider:after {\n content: \"\";\n opacity: .35;\n background: currentColor;\n flex: 1;\n height: 1px;\n}\n\n.dshc_withdrawnRow {\n text-align: right;\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 16px;\n font-size: 13px;\n font-style: italic;\n animation: .18s cubic-bezier(.2, 0, 0, 1) both dshc_channelsEnter;\n}\n\n.dshc_jumpLatest {\n z-index: 3;\n border: 1px solid var(--dsw-alias-border-l2);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #00000029);\n font: inherit;\n cursor: pointer;\n border-radius: 999px;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n font-size: 12px;\n animation: .22s cubic-bezier(.22, 1, .36, 1) both dshc_channelsPop;\n display: inline-flex;\n position: absolute;\n bottom: 12px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.dshc_jumpLatest:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_jumpLatest:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_jumpCount {\n color: var(--dsw-alias-state-business-primary);\n font-weight: 600;\n}\n\n.dshc_undoToast {\n z-index: 4;\n border-radius: var(--dsw-radius-md);\n width: max-content;\n max-width: calc(100% - 32px);\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-label-primary);\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n align-items: center;\n gap: 12px;\n margin: 0 auto;\n padding: 8px 8px 8px 14px;\n font-size: 13px;\n animation: .22s cubic-bezier(.22, 1, .36, 1) both dshc_channelsPop;\n display: flex;\n position: absolute;\n bottom: 12px;\n left: 0;\n right: 0;\n overflow: hidden;\n}\n\n.dshc_undoButton {\n border-radius: var(--dsw-radius-sm);\n color: inherit;\n background: color-mix(in srgb, currentColor 16%, transparent);\n font: inherit;\n cursor: pointer;\n border: 0;\n padding: 2px 10px;\n font-weight: 600;\n}\n\n.dshc_undoButton:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_undoBar {\n background: var(--dsw-alias-state-business-primary);\n transform-origin: 0;\n height: 2px;\n animation: linear forwards dshc_channelsDrain;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.dshc_undoToast ~ .dshc_jumpLatest {\n display: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_enter, .dshc_enterOwn, .dshc_enterGlow:before, .dshc_mentionPopup, .dshc_jumpLatest, .dshc_undoToast, .dshc_withdrawnRow {\n animation: none;\n }\n\n .dshc_typingDots i {\n opacity: .6;\n animation: none;\n }\n\n .dshc_undoBar {\n animation: none;\n }\n\n .dshc_message, .dshc_room, .dshc_card, .dshc_sendButton, .dshc_primaryButton, .dshc_secondaryButton, .dshc_mentionButton, .dshc_cardViewButton {\n transition: none;\n }\n}\n\n.dshc_leadCard {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n border-radius: 14px;\n align-items: center;\n gap: 10px;\n margin: 8px 8px 4px;\n padding: 10px 12px;\n display: flex;\n}\n\n.dshc_leadCardText {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n.dshc_leadCardName {\n color: var(--dsw-alias-label-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 14px;\n font-weight: 650;\n overflow: hidden;\n}\n\n.dshc_leadCardStatus {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n overflow: hidden;\n}\n\n.dshc_message:not(.dshc_own) > .dshc_messageBody > .dshc_text {\n background: var(--dsw-alias-bg-layer-2);\n border-radius: 6px 16px 16px;\n width: fit-content;\n max-width: min(640px, 100%);\n padding: 8px 14px;\n}\n\n.dshc_message.dshc_grouped:not(.dshc_own) > .dshc_messageBody > .dshc_text {\n border-radius: 6px 16px 16px 6px;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text {\n color: var(--dsw-alias-bg-base);\n background: var(--dsw-alias-label-primary);\n box-shadow: none;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text * {\n color: inherit;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text a {\n color: inherit;\n text-decoration: underline;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text code {\n color: inherit;\n background: color-mix(in srgb, var(--dsw-alias-bg-base) 18%, transparent);\n}\n\n.dshc_boardDrawerBackdrop {\n background: #00000040;\n place-items: stretch end;\n padding: 0;\n}\n\n.dshc_boardDrawerBackdrop > .dshc_taskBoardDialog {\n box-sizing: border-box;\n border-radius: 0;\n width: min(440px, 100%);\n height: 100dvh;\n max-height: none;\n animation: .2s ease-out dshc_boardDrawerIn;\n}\n\n@keyframes dshc_boardDrawerIn {\n from {\n opacity: 0;\n transform: translateX(24px);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_boardDrawerBackdrop > .dshc_taskBoardDialog {\n animation: none;\n }\n}\n\n.dshc_schemeToggle {\n border-radius: var(--dsw-radius-sm);\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n margin-left: 4px;\n font-size: 16px;\n line-height: 1;\n display: inline-flex;\n}\n\n.dshc_schemeToggle:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_schemeToggle:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_schemeToggle + .dshc_panelToggleEnd {\n margin-left: 4px;\n}\n\n.dshc_progressCard {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n box-shadow: 0 6px 18px #0000000a, 0 -12px 0 0 var(--dsw-alias-bg-base);\n border-radius: 14px;\n flex: none;\n margin: 8px 16px 4px;\n padding: 8px 14px;\n font-size: 12px;\n position: relative;\n}\n\n.dshc_progressHead {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_progressTitle {\n color: var(--dsw-alias-label-primary);\n font-size: 12px;\n}\n\n.dshc_progressSummary {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n flex: 1;\n overflow: hidden;\n}\n\n.dshc_progressToggle {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n min-width: 22px;\n height: 24px;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n cursor: pointer;\n background: none;\n flex: none;\n justify-content: center;\n align-items: center;\n gap: 4px;\n margin-left: auto;\n padding: 0 10px;\n font-size: 12px;\n font-weight: 500;\n line-height: 1;\n display: inline-flex;\n}\n\n.dshc_progressChevron {\n font-size: 12px;\n}\n\n.dshc_progressToggle:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_progressToggle:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_progressCard[data-folded=\"true\"] {\n padding: 6px 12px;\n}\n\n.dshc_progressRows {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: 0 14px;\n margin: 4px 0 0;\n display: grid;\n}\n\n.dshc_progressRow {\n min-width: 0;\n}\n\n.dshc_progressRow dt {\n color: var(--dsw-alias-label-tertiary);\n font-size: 10px;\n}\n\n.dshc_progressRow dd {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n margin: 0;\n overflow: hidden;\n}\n\n.dshc_progressRow[data-empty=\"true\"] dd {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_progressRow[data-row=\"open\"][data-empty=\"false\"] dd, .dshc_progressRow[data-row=\"open\"] .dshc_progressLink {\n color: var(--dsw-alias-state-warning-primary, #b7791f);\n}\n\n.dshc_progressLink {\n max-width: 100%;\n color: inherit;\n font: inherit;\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.dshc_progressLink:hover {\n text-decoration: underline;\n}\n\n@media (width <= 760px) {\n .dshc_progressCard {\n margin: 6px 10px 2px;\n }\n\n .dshc_progressRows {\n grid-template-columns: 52px minmax(0, 1fr);\n }\n\n .dshc_progressRow {\n display: contents;\n }\n}\n\n.dshc_stepChips {\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n display: flex;\n}\n\n.dshc_stepChip {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n max-width: 220px;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n border-radius: 999px;\n align-items: center;\n gap: 5px;\n padding: 2px 9px 2px 7px;\n font-size: 11px;\n display: inline-flex;\n}\n\n.dshc_stepChip b {\n color: var(--dsw-alias-label-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 600;\n overflow: hidden;\n}\n\n.dshc_stepChip:disabled {\n cursor: default;\n}\n\n.dshc_stepChip[aria-expanded=\"true\"] {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_stepChip[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_stepChip[data-state=\"failed\"] b {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_stepChip[data-state=\"running\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 55%, var(--dsw-alias-border-l2));\n}\n\n.dshc_stepMark {\n background: var(--dsw-alias-label-tertiary);\n border-radius: 50%;\n flex: none;\n width: 7px;\n height: 7px;\n}\n\n.dshc_stepChip[data-state=\"ok\"] .dshc_stepMark {\n background: #23a55a;\n}\n\n.dshc_stepChip[data-state=\"failed\"] .dshc_stepMark {\n background: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_stepChip[data-state=\"running\"] .dshc_stepMark {\n background: var(--dsw-alias-state-business-primary);\n animation: 1s ease-in-out infinite dshc_channels-blink;\n}\n\n@keyframes dshc_channels-blink {\n 50% {\n opacity: .3;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_stepChip[data-state=\"running\"] .dshc_stepMark {\n animation: none;\n }\n}\n\n.dshc_stepOut {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-base));\n color: var(--dsw-alias-label-secondary);\n border-radius: 8px;\n flex-basis: 100%;\n gap: 4px;\n padding: 8px 10px;\n font-size: 11px;\n line-height: 1.5;\n display: grid;\n}\n\n.dshc_stepOut[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_stepOut div {\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.dshc_stepOut span {\n color: var(--dsw-alias-label-tertiary);\n flex: none;\n}\n\n.dshc_stepOut code {\n overflow-wrap: anywhere;\n min-width: 0;\n font-family: ui-monospace, Menlo, monospace;\n}\n\n.dshc_stepOut[data-state=\"failed\"] > div[data-state=\"failed\"] > div:last-child > code {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_decideTray {\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 55%, var(--dsw-alias-border-l2));\n background: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 7%, var(--dsw-alias-bg-layer-2));\n border-radius: 14px;\n flex-direction: column;\n max-height: 45%;\n margin: 0 16px 8px;\n display: flex;\n overflow-y: auto;\n}\n\n.dshc_decideTrayHead {\n width: 100%;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n align-items: baseline;\n gap: 8px;\n padding: 7px 12px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_decideTrayHead strong {\n color: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 70%, var(--dsw-alias-label-primary));\n}\n\n.dshc_decideTrayHead small {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_decideTrayHead:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n outline-offset: -2px;\n}\n\n.dshc_decideTrayToggle {\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n margin-left: auto;\n}\n\n.dshc_decideTray .dshc_permTray {\n max-height: none;\n margin: 0;\n padding: 0 8px 8px;\n}\n\n.dshc_askList {\n flex-direction: column;\n display: flex;\n}\n\n.dshc_askItem {\n border-top: 1px solid color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 30%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n flex-wrap: wrap;\n align-items: center;\n gap: 6px 10px;\n padding: 8px 12px;\n display: flex;\n}\n\n.dshc_askKind {\n color: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 75%, var(--dsw-alias-label-primary));\n background: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 15%, transparent);\n border-radius: 5px;\n flex: none;\n padding: 0 6px;\n font-size: 11px;\n}\n\n.dshc_askText {\n flex-direction: column;\n flex: 200px;\n min-width: 0;\n font-size: 13px;\n display: flex;\n}\n\n.dshc_askQuestion {\n overflow-wrap: anywhere;\n}\n\n.dshc_askFrom {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n overflow: hidden;\n}\n\n.dshc_askForm {\n flex: 0 260px;\n align-items: center;\n gap: 6px;\n min-width: 160px;\n display: flex;\n}\n\n.dshc_askInput {\n border: 1px solid var(--dsw-alias-border-l2);\n min-width: 0;\n color: inherit;\n background: var(--dsw-alias-bg-base);\n font: inherit;\n border-radius: 8px;\n flex: 1;\n padding: 4px 8px;\n font-size: 12px;\n}\n\n.dshc_askInput:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_askSend {\n width: 26px;\n height: 26px;\n color: var(--dsw-alias-bg-base);\n background: var(--dsw-alias-label-primary);\n cursor: pointer;\n border: 0;\n border-radius: 50%;\n flex: none;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n.dshc_askSend:disabled {\n opacity: .3;\n cursor: default;\n}\n\n.dshc_askSend:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n outline-offset: 2px;\n}\n\n.dshc_askDone {\n color: var(--dsw-alias-label-secondary);\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: inline-flex;\n}\n\n.dshc_askNotice {\n color: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 75%, var(--dsw-alias-label-primary));\n flex-basis: 100%;\n font-size: 12px;\n}\n\n@media (width <= 900px) {\n .dshc_decideTray {\n margin: 0 8px 8px;\n }\n\n .dshc_askForm {\n flex-basis: 100%;\n }\n}\n\n.dshc_headTeam {\n flex: none;\n align-items: center;\n margin-left: auto;\n display: inline-flex;\n}\n\n.dshc_mate, .dshc_mateMore {\n border: 2px solid var(--dsw-alias-bg-base);\n background: var(--dsw-alias-bg-base);\n cursor: pointer;\n border-radius: 50%;\n justify-content: center;\n align-items: center;\n margin-left: -6px;\n padding: 0;\n display: inline-flex;\n position: relative;\n}\n\n.dshc_mate:first-child {\n margin-left: 0;\n}\n\n.dshc_mate .dshc_avatar {\n margin: 0;\n}\n\n.dshc_mateMore {\n background: var(--dsw-alias-interactive-bg-hover);\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-secondary);\n font-size: 11px;\n font-weight: 600;\n}\n\n.dshc_mateDot {\n box-sizing: border-box;\n border: 2px solid var(--dsw-alias-bg-base);\n background: var(--dsw-alias-label-tertiary);\n border-radius: 50%;\n width: 9px;\n height: 9px;\n position: absolute;\n bottom: -2px;\n right: -2px;\n}\n\n.dshc_mate[data-state=\"busy\"] .dshc_mateDot {\n background: #23a55a;\n animation: 1.6s ease-in-out infinite dshc_channels-pulse;\n}\n\n.dshc_mate[data-state=\"idle\"] .dshc_mateDot {\n background: var(--dsw-alias-bg-base);\n box-shadow: inset 0 0 0 1.5px var(--dsw-alias-label-tertiary);\n}\n\n.dshc_mate[data-state=\"error\"] .dshc_mateDot {\n background: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_mate[data-state=\"offline\"] {\n opacity: .55;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_mate[data-state=\"busy\"] .dshc_mateDot {\n animation: none;\n }\n}\n\n@media (width <= 760px) {\n .dshc_headTeam {\n display: none;\n }\n}\n\n.dshc_chatHead > .dshc_headTeam + .dshc_taskBoardTrigger {\n margin-left: 12px;\n}\n\n.dshc_sideDock {\n display: none;\n}\n\n@media (width >= 1101px) {\n .dshc_page.dshc_panelOpen {\n grid-template-columns: 220px minmax(0, 1fr) min(420px, 36%) 240px;\n }\n\n .dshc_page.dshc_panelOpen.dshc_roomsHidden {\n grid-template-columns: minmax(0, 1fr) min(420px, 36%) 240px;\n }\n\n .dshc_page.dshc_panelOpen.dshc_membersHidden {\n grid-template-columns: 220px minmax(0, 1fr) min(420px, 36%);\n }\n\n .dshc_page.dshc_panelOpen.dshc_roomsHidden.dshc_membersHidden {\n grid-template-columns: minmax(0, 1fr) min(420px, 36%);\n }\n\n .dshc_page.dshc_panelOpen > .dshc_sideDock {\n border-left: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n min-width: 0;\n min-height: 0;\n display: flex;\n }\n}\n\n.dshc_sidePanel {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n max-height: none;\n box-shadow: none;\n border: 0;\n border-radius: 0;\n margin: 0;\n animation: .2s ease-out dshc_boardDrawerIn;\n position: relative;\n}\n\n.dshc_sidePanel:focus {\n outline: none;\n}\n\n.dshc_sidePanelClose {\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n font-size: 18px;\n line-height: 1;\n position: absolute;\n top: 10px;\n right: 10px;\n}\n\n.dshc_sidePanelClose:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_sidePanel {\n animation: none;\n }\n}\n\n.dshc_sidePanel .dshc_boardCardGrid {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.dshc_slashPopup {\n z-index: 6;\n width: min(360px, 100% - 32px);\n animation: none;\n right: auto;\n}\n\n.dshc_slashGroup {\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 8px 2px;\n font-size: 11px;\n}\n\n.dshc_slashItem {\n border-radius: var(--dsw-radius-sm);\n cursor: pointer;\n align-items: baseline;\n gap: 8px;\n padding: 5px 8px;\n display: flex;\n}\n\n.dshc_slashActive {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_slashName {\n flex: none;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-weight: 600;\n}\n\n.dshc_slashMeta {\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n overflow: hidden;\n}\n\n.dshc_sendButton.dshc_stopButton {\n background: var(--dsw-alias-label-primary);\n}\n\n.dshc_stopNote + .dshc_sendButton {\n margin-left: 8px;\n}\n\n.dshc_sendButton.dshc_stopButton[data-phase=\"stopping\"] {\n opacity: .6;\n cursor: progress;\n}\n\n.dshc_stopNote {\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n margin-left: auto;\n font-size: 12px;\n}\n\n.dshc_cmdLine {\n color: var(--dsw-alias-label-tertiary);\n flex-wrap: wrap;\n align-items: baseline;\n gap: 6px;\n padding: 1px 16px 1px 72px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_cmdLine code {\n color: var(--dsw-alias-label-secondary);\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n}\n\n.dshc_cmdResult {\n min-width: 0;\n max-width: 60ch;\n color: inherit;\n font: inherit;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.dshc_cmdResult[aria-expanded=\"true\"] {\n white-space: pre-line;\n max-width: none;\n}\n\n.dshc_cmdLine[data-failed=\"true\"] .dshc_cmdResult {\n color: var(--dsw-alias-danger, #d94848);\n}\n\n@media (width <= 720px) {\n .dshc_cmdLine {\n padding-left: 16px;\n }\n}\n\n.dshc_msgTool {\n justify-content: center;\n align-items: center;\n width: 26px;\n height: 24px;\n padding: 0;\n display: inline-flex;\n position: relative;\n}\n\n.dshc_msgTool[data-tip]:after {\n content: attr(data-tip);\n z-index: 3;\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-label-primary-inverted);\n white-space: nowrap;\n opacity: 0;\n pointer-events: none;\n border-radius: 4px;\n padding: 2px 6px;\n font-size: 11px;\n position: absolute;\n top: calc(100% + 4px);\n left: 50%;\n transform: translateX(-50%);\n}\n\n.dshc_msgTool[data-tip]:hover:after, .dshc_msgTool[data-tip]:focus-visible:after {\n opacity: 1;\n transition: opacity 0s 80ms;\n}\n\n.dshc_permSessionButton {\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n text-underline-offset: 2px;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 4px 6px;\n font-size: 12px;\n text-decoration: underline;\n}\n\n.dshc_permSessionButton:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_permSessionButton:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.dshc_queuedButton {\n border: 1px solid var(--dsw-alias-border-default, #0000001f);\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border-radius: 9px;\n padding: 0 6px;\n font-size: 11px;\n line-height: 16px;\n}\n\n.dshc_queuedButton:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_queuedTag {\n color: #a76a06;\n background: #eaa02824;\n border-radius: 4px;\n padding: 0 5px;\n font-size: 11px;\n line-height: 16px;\n}\n\n[data-queued] .dshc_ownActions {\n opacity: 1;\n}\n\n.dshc_memory {\n margin-top: 4px;\n}\n\n.dshc_memoryBadge {\n background: var(--dsw-alias-fill-secondary, #0000000d);\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n border: 0;\n border-radius: 9px;\n align-items: center;\n gap: 4px;\n padding: 0 6px;\n font-size: 11px;\n line-height: 18px;\n display: inline-flex;\n}\n\n.dshc_memoryBadge:hover, .dshc_memoryBadge[aria-expanded=\"true\"] {\n color: var(--dsw-alias-label-secondary);\n}\n\n.dshc_memoryList {\n border-left: 2px solid var(--dsw-alias-border-default, #0000001f);\n flex-direction: column;\n gap: 4px;\n max-width: 560px;\n margin: 4px 0 0;\n padding: 6px 10px;\n font-size: 12px;\n list-style: none;\n display: flex;\n}\n\n.dshc_memoryItem {\n flex-direction: column;\n display: flex;\n}\n\n.dshc_memoryTitle {\n color: var(--dsw-alias-label-secondary);\n line-height: 1.5;\n}\n\n.dshc_memoryPage {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n font-family: var(--dsw-font-mono, ui-monospace, monospace);\n}\n\n.dshc_delivery {\n flex-direction: column;\n gap: 6px;\n max-width: 720px;\n margin-top: 8px;\n display: flex;\n}\n\n.dshc_deliveryFrame {\n border: 1px solid var(--background-modifier-accent, #7f7f7f4d);\n background: #fff;\n border-radius: 6px;\n height: 360px;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_deliveryActions {\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.dshc_deliveryActions a {\n text-decoration: none;\n}\n\n.dshc_deliveryDone {\n color: var(--text-muted, #888);\n font-size: 12px;\n}\n\n.dshc_deliveryFullDialog {\n box-sizing: border-box;\n flex-direction: column;\n gap: 8px;\n width: 94vw;\n max-width: none;\n height: 92dvh;\n display: flex;\n}\n\n.dshc_deliveryFullFrame {\n background: #fff;\n border-radius: 6px;\n flex: 1;\n min-height: 0;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_dmTitle {\n color: var(--text-muted, #888);\n margin: 14px 8px 4px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_dmAvatar {\n margin-right: 6px;\n display: inline-flex;\n}\n\n.dshc_dmRow {\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.dshc_dmRow .dshc_room {\n padding-right: 26px;\n}\n\n.dshc_dmClose {\n border-radius: var(--dsw-radius-sm, 4px);\n width: 20px;\n height: 20px;\n color: var(--dsw-alias-label-tertiary, #888);\n font: inherit;\n cursor: pointer;\n opacity: 0;\n background: none;\n border: 0;\n padding: 0;\n font-size: 15px;\n line-height: 20px;\n position: absolute;\n right: 4px;\n}\n\n.dshc_dmRow:hover .dshc_dmClose, .dshc_dmClose:focus-visible {\n opacity: 1;\n}\n\n.dshc_dmClose:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n@media (hover: none) {\n .dshc_dmClose {\n opacity: 1;\n }\n}\n\n.dshc_dmHead {\n margin-top: 14px;\n}\n\n.dshc_dmPicker {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-2);\n flex-direction: column;\n margin: 0 4px 4px;\n padding: 4px;\n display: flex;\n}\n\n.dshc_dmPickNone {\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 8px;\n font-size: 12px;\n}\n\n.dshc_dmNewRow {\n color: var(--dsw-alias-label-tertiary);\n font-size: 13px;\n}\n\nbutton.dshc_headMeta {\n border-radius: var(--dsw-radius-sm);\n min-width: 0;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: 0 auto;\n padding: 2px 6px;\n font-size: 12px;\n}\n\nbutton.dshc_headMeta:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_headSpacer {\n flex: auto;\n}\n\n.dshc_roomUnread {\n color: var(--dsw-alias-label-primary);\n font-weight: 650;\n}\n\n.dshc_unreadBadge {\n color: #fff;\n background: var(--dsw-alias-state-danger-primary, #e5484d);\n text-align: center;\n font-variant-numeric: tabular-nums;\n border-radius: 999px;\n flex: none;\n min-width: 18px;\n padding: 0 5px;\n font-size: 11px;\n font-weight: 600;\n line-height: 18px;\n}\n\n.dshc_slashDisabled {\n opacity: .45;\n cursor: not-allowed;\n}\n\n.dshc_leadCardHint {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n overflow: hidden;\n}\n\n.dshc_roomWorking {\n max-width: 96px;\n color: var(--dsw-alias-state-business-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: none;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 500;\n display: inline-flex;\n overflow: hidden;\n}\n\n.dshc_roomWorkingDot {\n background: currentColor;\n border-radius: 50%;\n flex: none;\n width: 6px;\n height: 6px;\n animation: 1.4s ease-in-out infinite dshc_roomWorkingPulse;\n}\n\n@keyframes dshc_roomWorkingPulse {\n 50% {\n opacity: .35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_roomWorkingDot {\n animation: none;\n }\n}\n\n.dshc_drawerTools {\n display: none;\n}\n\n@media (width <= 600px) {\n .dshc_drawerTools {\n flex-wrap: wrap;\n gap: 6px;\n margin: 0 8px 8px;\n display: flex;\n }\n\n .dshc_chatHead > .dshc_taskBoardTrigger, .dshc_chatHead > .dshc_schemeToggle, .dshc_chatHead > .dshc_headMeta, .dshc_chatHead > .dshc_headTeam {\n display: none;\n }\n\n .dshc_chatHead > .dshc_roomName {\n flex: auto;\n }\n}\n\n.dshc_panelOpen .dshc_chatHead > .dshc_headTeam, .dshc_panelOpen .dshc_chatHead > .dshc_headMeta {\n display: none;\n}\n\n.dshc_panelOpen .dshc_chatHead > .dshc_roomName {\n flex: 0 auto;\n}\n[data-dc-scheme=\"light\"] {\n --dsw-static-amber-100: #fef5e7;\n --dsw-static-amber-400: #f7ad31;\n --dsw-static-amber-500: #f59e0b;\n --dsw-static-amber-600: #dd8629;\n --dsw-static-amber-900: #27241f;\n --dsw-static-blue-100: #dbeafe;\n --dsw-static-blue-300: #93c5fd;\n --dsw-static-blue-400: #60a5fa;\n --dsw-static-blue-450: #4d93f8;\n --dsw-static-blue-500: #3b82f6;\n --dsw-static-blue-50: #eff6ff;\n --dsw-static-blue-50p: #eaf3ff;\n --dsw-static-blue-600: #2563eb;\n --dsw-static-blue-75: #e5f0ff;\n --dsw-static-blue-800: #1e40af;\n --dsw-static-blue-900: #0e3074;\n --dsw-static-blue-950: #172554;\n --dsw-static-deepseek-100: #e4edfd;\n --dsw-static-deepseek-200: #d3e2ff;\n --dsw-static-deepseek-300: #b7c8fe;\n --dsw-static-deepseek-400: #7aaaff;\n --dsw-static-deepseek-450: #5686fe;\n --dsw-static-deepseek-500: #4176e6;\n --dsw-static-deepseek-50: #edf3fe;\n --dsw-static-deepseek-600: #4868b2;\n --dsw-static-deepseek-700-delete: #2f4c8f;\n --dsw-static-deepseek-800: #34415b;\n --dsw-static-deepseek-900: #283142;\n --dsw-static-green-100: #e6faed;\n --dsw-static-green-400: #4ed17e;\n --dsw-static-green-500: #22c55e;\n --dsw-static-green-500-a08: #22c55e14;\n --dsw-static-green-500-a12: #22c55e1f;\n --dsw-static-green-900: #233c2c;\n --dsw-static-neutral-00: #fff;\n --dsw-static-neutral-1000: #000;\n --dsw-static-neutral-100: #f5f5f5;\n --dsw-static-neutral-150: #ededed;\n --dsw-static-neutral-200: #e5e5e5;\n --dsw-static-neutral-250: #dcdcdc;\n --dsw-static-neutral-300: #d4d4d4;\n --dsw-static-neutral-400: #a2a4a6;\n --dsw-static-neutral-500: #7f8287;\n --dsw-static-neutral-50: #fafafa;\n --dsw-static-neutral-550: #65676b;\n --dsw-static-neutral-600: #545557;\n --dsw-static-neutral-700: #3c3c3d;\n --dsw-static-neutral-800: #292929;\n --dsw-static-neutral-850: #212123;\n --dsw-static-neutral-900: #0f0f0f;\n --dsw-static-neutral-bluish-00: #fff;\n --dsw-static-neutral-bluish-1000: #0f1115;\n --dsw-static-neutral-bluish-100: #ebeef2;\n --dsw-static-neutral-bluish-150: #e9ecf2;\n --dsw-static-neutral-bluish-200: #e1e5ee;\n --dsw-static-neutral-bluish-300: #cfd3d6;\n --dsw-static-neutral-bluish-400: #adb2b8;\n --dsw-static-neutral-bluish-500: #979da6;\n --dsw-static-neutral-bluish-50: #f9fafb;\n --dsw-static-neutral-bluish-600: #81858c;\n --dsw-static-neutral-bluish-60: #f5f6f7;\n --dsw-static-neutral-bluish-700: #61666b;\n --dsw-static-neutral-bluish-750: #43454a;\n --dsw-static-neutral-bluish-75: #f1f3f5;\n --dsw-static-neutral-bluish-800: #353638;\n --dsw-static-neutral-bluish-850: #2c2c2e;\n --dsw-static-neutral-bluish-875: #232324;\n --dsw-static-neutral-bluish-900: #1b1b1c;\n --dsw-static-neutral-bluish-950: #151517;\n --dsw-static-red-100: #fee2e2;\n --dsw-static-red-400: #f25a5a;\n --dsw-static-red-400-a12: #f25a5a1f;\n --dsw-static-red-500: #ef4444;\n --dsw-static-red-50: #fef2f2;\n --dsw-static-red-600: #ec1313;\n --dsw-static-red-600-a08: #ec131314;\n --dsw-static-red-900: #570c0c;\n}\n\n[data-dc-scheme=\"dark\"] {\n --dsw-static-amber-100: #fef5e7;\n --dsw-static-amber-400: #f7ad31;\n --dsw-static-amber-500: #f59e0b;\n --dsw-static-amber-600: #dd8629;\n --dsw-static-amber-900: #27241f;\n --dsw-static-blue-100: #dbeafe;\n --dsw-static-blue-300: #93c5fd;\n --dsw-static-blue-400: #60a5fa;\n --dsw-static-blue-450: #4d93f8;\n --dsw-static-blue-500: #3b82f6;\n --dsw-static-blue-50: #eff6ff;\n --dsw-static-blue-50p: #eaf3ff;\n --dsw-static-blue-600: #2563eb;\n --dsw-static-blue-75: #e5f0ff;\n --dsw-static-blue-800: #1e40af;\n --dsw-static-blue-900: #0e3074;\n --dsw-static-blue-950: #172554;\n --dsw-static-deepseek-100: #e4edfd;\n --dsw-static-deepseek-200: #d3e2ff;\n --dsw-static-deepseek-300: #b7c8fe;\n --dsw-static-deepseek-400: #7aaaff;\n --dsw-static-deepseek-450: #5686fe;\n --dsw-static-deepseek-500: #4176e6;\n --dsw-static-deepseek-50: #edf3fe;\n --dsw-static-deepseek-600: #4868b2;\n --dsw-static-deepseek-700-delete: #2f4c8f;\n --dsw-static-deepseek-800: #34415b;\n --dsw-static-deepseek-900: #283142;\n --dsw-static-green-100: #e6faed;\n --dsw-static-green-400: #4ed17e;\n --dsw-static-green-500: #22c55e;\n --dsw-static-green-500-a08: #22c55e14;\n --dsw-static-green-500-a12: #22c55e1f;\n --dsw-static-green-900: #233c2c;\n --dsw-static-neutral-00: #fff;\n --dsw-static-neutral-1000: #000;\n --dsw-static-neutral-100: #f5f5f5;\n --dsw-static-neutral-150: #ededed;\n --dsw-static-neutral-200: #e5e5e5;\n --dsw-static-neutral-250: #dcdcdc;\n --dsw-static-neutral-300: #d4d4d4;\n --dsw-static-neutral-400: #a2a4a6;\n --dsw-static-neutral-500: #7f8287;\n --dsw-static-neutral-50: #fafafa;\n --dsw-static-neutral-550: #65676b;\n --dsw-static-neutral-600: #545557;\n --dsw-static-neutral-700: #3c3c3d;\n --dsw-static-neutral-800: #292929;\n --dsw-static-neutral-850: #212123;\n --dsw-static-neutral-900: #0f0f0f;\n --dsw-static-neutral-bluish-00: #fff;\n --dsw-static-neutral-bluish-1000: #0f1115;\n --dsw-static-neutral-bluish-100: #ebeef2;\n --dsw-static-neutral-bluish-150: #e9ecf2;\n --dsw-static-neutral-bluish-200: #e1e5ee;\n --dsw-static-neutral-bluish-300: #cfd3d6;\n --dsw-static-neutral-bluish-400: #adb2b8;\n --dsw-static-neutral-bluish-500: #979da6;\n --dsw-static-neutral-bluish-50: #f9fafb;\n --dsw-static-neutral-bluish-600: #81858c;\n --dsw-static-neutral-bluish-60: #f9fafb;\n --dsw-static-neutral-bluish-700: #61666b;\n --dsw-static-neutral-bluish-750: #43454a;\n --dsw-static-neutral-bluish-75: #f1f3f5;\n --dsw-static-neutral-bluish-800: #353638;\n --dsw-static-neutral-bluish-850: #2c2c2e;\n --dsw-static-neutral-bluish-875: #232324;\n --dsw-static-neutral-bluish-900: #1b1b1c;\n --dsw-static-neutral-bluish-950: #151517;\n --dsw-static-red-100: #fee2e2;\n --dsw-static-red-400: #f25a5a;\n --dsw-static-red-400-a12: #f25a5a1f;\n --dsw-static-red-500: #ef4444;\n --dsw-static-red-50: #fef2f2;\n --dsw-static-red-600: #ec1313;\n --dsw-static-red-600-a08: #ec131314;\n --dsw-static-red-900: #570c0c;\n}\n\n[data-dc-scheme=\"light\"] {\n --dsw-alias-bg-base: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-document-preview: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-bg-document-selection: color-mix(in srgb, var(--dsw-static-blue-500) 40%, transparent);\n --dsw-alias-label-document-preview: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-bg-layer-1: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-layer-2: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-layer-3: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-mask-1: #0000003d;\n --dsw-alias-bg-mask-2: #0000001f;\n --dsw-alias-bg-mask-3: #0000007a;\n --dsw-alias-bg-mask-photo: #000000e0;\n --dsw-alias-bg-mask-drop: #ffffffb3;\n --dsw-alias-bg-module-platform: var(--dsw-static-neutral-bluish-60);\n --dsw-alias-bg-multi-select: var(--dsw-static-neutral-bluish-60);\n --dsw-alias-bg-overlay: var(--dsw-static-neutral-bluish-150);\n --dsw-alias-bg-skeleton: #0000000a;\n --dsw-alias-border-inverted2: #0000;\n --dsw-alias-border-inverted: #0000;\n --dsw-alias-border-l1: #0000000a;\n --dsw-alias-border-l2-darkmode-thin: #0000001a;\n --dsw-alias-border-l2: #0000001a;\n --dsw-alias-border-l3: #0000001f;\n --dsw-alias-border-l4: #00000029;\n --dsw-alias-brand-primary-invert: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-brand-primary-new-colorprimary-new-color: #4176e6;\n --dsw-alias-brand-primary: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-brand-text: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-button-contrast-fill: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-button-elevated-fill: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-button-floating-fill: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-button-floating-hover: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-button-ghost-active-border: var(--dsw-static-neutral-bluish-500);\n --dsw-alias-button-ghost-active-fill: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-button-ghost-active-hover: var(--dsw-static-neutral-bluish-150);\n --dsw-alias-button-info-fill: var(--dsw-static-deepseek-500);\n --dsw-alias-button-info-hover: var(--dsw-static-deepseek-400);\n --dsw-alias-button-primary-dimmed: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary);\n --dsw-alias-button-primary-hover: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-tool-bar-fill-invisible: #1f1f1f5c;\n --dsw-alias-button-tool-bar-fill: #54555780;\n --dsw-alias-button-tool-bar-hover: #54555799;\n --dsw-alias-interactive-bg-active: #2631481a;\n --dsw-alias-interactive-bg-hover-accent: #26314824;\n --dsw-alias-interactive-bg-hover-danger: #ec13130d;\n --dsw-alias-interactive-bg-hover-solid: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-interactive-bg-hover: #2631480f;\n --dsw-alias-label-caption: var(--dsw-static-neutral-bluish-400);\n --dsw-alias-label-deep-diving: color-mix(in srgb, var(--dsw-static-deepseek-500) 70%, var(--dsw-static-blue-950));\n --dsw-alias-label-deep-diving-shimmer: color-mix(in srgb, var(--dsw-static-deepseek-500) 30%, var(--dsw-static-blue-950));\n --dsw-alias-label-dimmed: var(--dsw-static-neutral-bluish-200);\n --dsw-alias-label-primary-bluish: var(--dsw-static-blue-900);\n --dsw-alias-label-primary-dimmed: var(--dsw-static-neutral-bluish-950);\n --dsw-alias-label-primary-foreground: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-label-primary-inverted: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-label-primary: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-label-secondary: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-label-shimmer: color-mix(in srgb, var(--dsw-static-neutral-1000) 30%, transparent);\n --dsw-alias-label-tertiary: var(--dsw-static-neutral-bluish-600);\n --dsw-alias-menu-icon: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-link: var(--dsw-static-deepseek-500);\n --dsw-alias-markdown-citation: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-markdown-code-block-banner: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-markdown-code-block: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-markdown-code-segment-selected: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-markdown-code-segment-unselected: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-markdown-inline-code: var(--dsw-static-neutral-50);\n --dsw-alias-markdown-placeholder: var(--dsw-static-neutral-bluish-60);\n --dsw-alias-markdown-tag: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-scrollbar-bg-l1: var(--dsw-static-neutral-200);\n --dsw-alias-scrollbar-bg-l2: var(--dsw-static-neutral-200);\n --dsw-alias-scrollbar-hover-l1: var(--dsw-static-neutral-300);\n --dsw-alias-scrollbar-hover-l2: var(--dsw-static-neutral-300);\n --dsw-alias-state-business-primary: var(--dsw-static-deepseek-500);\n --dsw-alias-state-business-tertiary: var(--dsw-static-deepseek-100);\n --dsw-alias-code-diff-added: var(--dsw-static-green-500-a08);\n --dsw-alias-code-diff-deleted: var(--dsw-static-red-600-a08);\n --dsw-alias-file-diff-added-bg: #e6f4e7;\n --dsw-alias-file-diff-added-gutter: #edf7ed;\n --dsw-alias-file-diff-added-marker: #01a241;\n --dsw-alias-file-diff-deleted-bg: #fce6e2;\n --dsw-alias-file-diff-deleted-gutter: #fdece9;\n --dsw-alias-file-diff-deleted-marker: #ba2723;\n --dsw-alias-state-error-primary: var(--dsw-static-red-600);\n --dsw-alias-state-error-secondary: var(--dsw-static-red-400);\n --dsw-alias-state-idle-primary: var(--dsw-static-neutral-300);\n --dsw-alias-state-success-primary: var(--dsw-static-green-500);\n --dsw-alias-state-success-secondary: var(--dsw-static-green-400);\n --dsw-alias-state-success-tertiary: var(--dsw-static-green-100);\n --dsw-alias-state-warn-label: var(--dsw-static-amber-600);\n --dsw-alias-state-warn-primary: var(--dsw-static-amber-500);\n --dsw-alias-state-warn-secondary: var(--dsw-static-amber-400);\n --dsw-alias-state-warn-tertiary: var(--dsw-static-amber-100);\n --dsw-alias-switch-thumb: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-toast-bg: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-toast-label: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-tooltip-bg: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-tooltip-key-bg: color-mix(in srgb, var(--dsw-alias-tooltip-bg), white 18%);\n --dsw-alias-turn-trigger-bg: var(--dsw-alias-markdown-code-block);\n --dsw-alias-turn-trigger-bg-hover: var(--dsw-alias-interactive-bg-hover);\n --dsw-specific-bubble-highlight: var(--dsw-static-deepseek-200);\n --dsw-specific-bubble: var(--dsw-static-deepseek-50);\n --dsw-specific-input-major: var(--dsw-static-neutral-bluish-00);\n --dsw-specific-login-input: var(--dsw-static-neutral-bluish-50);\n --dsw-menu-surface-fill: #f8f9fa94;\n --dsw-alias-menu-group-header-fill: #f8f9faf0;\n --dsw-specific-menu: var(--dsw-menu-surface-fill);\n --dsw-specific-selector: var(--dsw-static-neutral-bluish-60);\n --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-50);\n --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-deepseek-100);\n --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-100);\n --dsw-specific-sidebar-nav-item-hover: var(--dsw-static-neutral-bluish-75);\n --dsw-specific-tip: var(--dsw-static-neutral-bluish-60);\n}\n\n[data-dc-scheme=\"dark\"] {\n --dsw-alias-bg-base: var(--dsw-static-neutral-bluish-950);\n --dsw-alias-bg-document-preview: var(--dsw-static-neutral-bluish-950);\n --dsw-alias-bg-document-selection: color-mix(in srgb, var(--dsw-static-blue-500) 40%, transparent);\n --dsw-alias-label-document-preview: var(--dsw-static-neutral-bluish-300);\n --dsw-alias-bg-layer-1: var(--dsw-static-neutral-bluish-875);\n --dsw-alias-bg-layer-2: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-bg-layer-3: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-bg-mask-1: #00000080;\n --dsw-alias-bg-mask-2: #0003;\n --dsw-alias-bg-mask-3: #0000007a;\n --dsw-alias-bg-mask-photo: #000000e0;\n --dsw-alias-bg-mask-drop: #272730b3;\n --dsw-alias-bg-module-platform: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-bg-multi-select: var(--dsw-static-neutral-850);\n --dsw-alias-bg-overlay: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-bg-skeleton: #ffffff14;\n --dsw-alias-border-inverted2: #ffffff14;\n --dsw-alias-border-inverted: #ffffff0f;\n --dsw-alias-border-l1: #ffffff0f;\n --dsw-alias-border-l2-darkmode-thin: #ffffff0f;\n --dsw-alias-border-l2: #ffffff1f;\n --dsw-alias-border-l3: #ffffff29;\n --dsw-alias-border-l4: #fff3;\n --dsw-alias-brand-primary-invert: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-brand-primary-new-colorprimary-new-color: var(--dsw-static-deepseek-450);\n --dsw-alias-brand-primary: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-brand-text: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-button-contrast-fill: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-button-elevated-fill: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-floating-fill: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-button-floating-hover: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-button-ghost-active-border: var(--dsw-static-neutral-bluish-600);\n --dsw-alias-button-ghost-active-fill: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-ghost-active-hover: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-button-info-fill: var(--dsw-static-deepseek-400);\n --dsw-alias-button-info-hover: var(--dsw-static-deepseek-500);\n --dsw-alias-button-primary-dimmed: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary);\n --dsw-alias-button-primary-hover: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-button-tool-bar-fill-invisible: #1f1f1f5c;\n --dsw-alias-button-tool-bar-fill: #54555780;\n --dsw-alias-button-tool-bar-hover: #54555799;\n --dsw-alias-interactive-bg-active: #ffffff24;\n --dsw-alias-interactive-bg-hover-accent: #ffffff3d;\n --dsw-alias-interactive-bg-hover-danger: #f25a5a26;\n --dsw-alias-interactive-bg-hover-solid: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-interactive-bg-hover: #ffffff14;\n --dsw-alias-label-caption: var(--dsw-static-neutral-bluish-600);\n --dsw-alias-label-deep-diving: color-mix(in srgb, var(--dsw-static-deepseek-450) 55%, var(--dsw-static-neutral-bluish-400));\n --dsw-alias-label-deep-diving-shimmer: color-mix(in srgb, var(--dsw-static-blue-300) 65%, var(--dsw-static-deepseek-400));\n --dsw-alias-label-dimmed: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-label-primary-bluish: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-label-primary-dimmed: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-label-primary-foreground: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-label-primary-inverted: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-label-primary: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-label-secondary: var(--dsw-static-neutral-bluish-300);\n --dsw-alias-label-shimmer: color-mix(in srgb, var(--dsw-static-neutral-00) 45%, transparent);\n --dsw-alias-label-tertiary: var(--dsw-static-neutral-bluish-400);\n --dsw-alias-menu-icon: var(--dsw-alias-label-primary-dimmed);\n --dsw-alias-link: var(--dsw-static-deepseek-400);\n --dsw-alias-markdown-citation: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-markdown-code-block-banner: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-markdown-code-block: var(--dsw-static-neutral-bluish-900);\n --dsw-alias-markdown-code-segment-selected: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-markdown-code-segment-unselected: var(--dsw-static-neutral-bluish-900);\n --dsw-alias-markdown-inline-code: var(--dsw-static-neutral-800);\n --dsw-alias-markdown-placeholder: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-markdown-tag: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-scrollbar-bg-l1: var(--dsw-static-neutral-700);\n --dsw-alias-scrollbar-bg-l2: var(--dsw-static-neutral-600);\n --dsw-alias-scrollbar-hover-l1: var(--dsw-static-neutral-600);\n --dsw-alias-scrollbar-hover-l2: var(--dsw-static-neutral-550);\n --dsw-alias-state-business-primary: var(--dsw-static-deepseek-400);\n --dsw-alias-state-business-tertiary: var(--dsw-static-deepseek-800);\n --dsw-alias-code-diff-added: var(--dsw-static-green-500-a12);\n --dsw-alias-code-diff-deleted: var(--dsw-static-red-400-a12);\n --dsw-alias-file-diff-added-bg: #1f3124;\n --dsw-alias-file-diff-added-gutter: #132016;\n --dsw-alias-file-diff-added-marker: #41c977;\n --dsw-alias-file-diff-deleted-bg: #3c1f1b;\n --dsw-alias-file-diff-deleted-gutter: #28130e;\n --dsw-alias-file-diff-deleted-marker: #fa423e;\n --dsw-alias-state-error-primary: var(--dsw-static-red-400);\n --dsw-alias-state-error-secondary: var(--dsw-static-red-400);\n --dsw-alias-state-idle-primary: var(--dsw-static-neutral-600);\n --dsw-alias-state-success-primary: var(--dsw-static-green-500);\n --dsw-alias-state-success-secondary: var(--dsw-static-green-400);\n --dsw-alias-state-success-tertiary: var(--dsw-static-green-900);\n --dsw-alias-state-warn-label: var(--dsw-static-amber-600);\n --dsw-alias-state-warn-primary: var(--dsw-static-amber-500);\n --dsw-alias-state-warn-secondary: var(--dsw-static-amber-400);\n --dsw-alias-state-warn-tertiary: var(--dsw-static-amber-900);\n --dsw-alias-switch-thumb: var(--dsw-static-neutral-bluish-400);\n --dsw-alias-toast-bg: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-toast-label: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-turn-trigger-bg: var(--dsw-alias-interactive-bg-hover);\n --dsw-alias-turn-trigger-bg-hover: var(--dsw-alias-interactive-bg-active);\n --dsw-alias-tooltip-bg: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-tooltip-key-bg: color-mix(in srgb, var(--dsw-alias-tooltip-bg), white 18%);\n --dsw-specific-bubble-highlight: var(--dsw-static-neutral-bluish-750);\n --dsw-specific-bubble: var(--dsw-static-neutral-bluish-850);\n --dsw-specific-input-major: var(--dsw-static-neutral-bluish-850);\n --dsw-specific-login-input: var(--dsw-static-neutral-bluish-900);\n --dsw-menu-surface-fill: #43454a73;\n --dsw-alias-menu-group-header-fill: #303136f0;\n --dsw-specific-menu: var(--dsw-menu-surface-fill);\n --dsw-specific-selector: var(--dsw-static-neutral-bluish-800);\n --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-900);\n --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-neutral-bluish-800);\n --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-750);\n --dsw-specific-sidebar-nav-item-hover: var(--dsw-static-neutral-bluish-850);\n --dsw-specific-tip: var(--dsw-static-neutral-bluish-800);\n}\n\nhtml[data-platform=\"darwin\"] [data-dc-scheme=\"light\"] {\n --dsw-specific-menu: #f8f9faf0;\n}\n\nhtml[data-platform=\"darwin\"] [data-dc-scheme=\"dark\"] {\n --dsw-specific-menu: #303136f0;\n}\n\n[data-dc-scheme=\"light\"] {\n color-scheme: light;\n}\n\n[data-dc-scheme=\"dark\"] {\n color-scheme: dark;\n}\n.dshc_embed {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n min-height: 0;\n padding-top: var(--dsh-frame-top-clearance, 0px);\n background: var(--dsw-alias-bg-base);\n display: flex;\n}\n\n.dshc_frame {\n background: var(--dsw-alias-bg-base);\n border: 0;\n flex: 1;\n width: 100%;\n height: 100%;\n}\n";document.head.appendChild(s)})();
8
+ (function(){var s=document.createElement('style');s.setAttribute('data-dsh-plugin',"bothouse-dsh-channels");s.textContent=".dshc_page {\n width: 100%;\n height: 100%;\n min-height: 0;\n padding-top: var(--dsh-frame-top-clearance, 0px);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n grid-template-columns: 220px minmax(0, 1fr) 240px;\n font-size: 14px;\n line-height: 1.5;\n display: grid;\n}\n\n.dshc_notice {\n max-width: 480px;\n color: var(--dsw-alias-label-secondary);\n text-align: center;\n grid-column: 1 / -1;\n place-self: center;\n padding: 24px;\n}\n\n.dshc_rooms, .dshc_members {\n background: var(--dsw-alias-bg-layer-2);\n min-height: 0;\n padding: 0 8px 16px;\n overflow-y: auto;\n}\n\n.dshc_membersHead {\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n flex: none;\n height: 44px;\n margin: 0 0 8px;\n}\n\n.dshc_groupTitle {\n color: var(--dsw-alias-label-tertiary);\n letter-spacing: .02em;\n margin: 12px 8px 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_room {\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n display: flex;\n}\n\n.dshc_room:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_room:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_workspace {\n padding-left: 22px;\n font-size: .95em;\n}\n\n.dshc_roomLabel {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_activeCount {\n color: var(--dsw-alias-label-tertiary);\n flex-shrink: 0;\n margin-left: auto;\n font-size: 11px;\n}\n\n.dshc_activeBusy {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_roomActive {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_hash {\n color: var(--dsw-alias-label-tertiary);\n font-size: 16px;\n}\n\n.dshc_chat {\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n display: flex;\n}\n\n.dshc_chatHead {\n -webkit-app-region: drag;\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n align-items: center;\n gap: 6px;\n height: 44px;\n padding: 0 16px;\n font-weight: 600;\n display: flex;\n}\n\n.dshc_log {\n flex: 1;\n min-height: 0;\n padding: 8px 0 12px;\n overflow-y: auto;\n}\n\n.dshc_guide {\n border: 1px dashed var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n margin: 16px;\n padding: 14px 16px;\n display: flex;\n}\n\n.dshc_empty {\n color: var(--dsw-alias-label-tertiary);\n padding: 24px 16px;\n}\n\n.dshc_message {\n grid-template-columns: 36px minmax(0, 1fr);\n gap: 12px;\n padding: 6px 16px;\n display: grid;\n}\n\n.dshc_system .dshc_text {\n color: var(--dsw-alias-label-tertiary);\n font-style: italic;\n}\n\n.dshc_avatar {\n corner-shape: round;\n color: #fff;\n border-radius: 50%;\n flex: none;\n place-items: center;\n width: 36px;\n height: 36px;\n font-weight: 700;\n display: grid;\n position: relative;\n}\n\n.dshc_avatarImage {\n object-fit: cover;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n}\n\n.dshc_avatarSmall {\n width: 28px;\n height: 28px;\n font-size: 12px;\n}\n\n.dshc_avatarAnchor {\n align-self: start;\n position: relative;\n}\n\n.dshc_avatarButton {\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 50%;\n padding: 0;\n}\n\n.dshc_avatarMenu {\n z-index: 3;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n min-width: 140px;\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n flex-direction: column;\n padding: 6px;\n display: flex;\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n}\n\n.dshc_avatarMenuTitle {\n padding: 4px 8px;\n font-weight: 700;\n}\n\n.dshc_avatarMenuItem {\n border-radius: var(--dsw-radius-sm);\n color: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 6px 8px;\n}\n\n.dshc_avatarMenuItem:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_messageBody {\n min-width: 0;\n}\n\n.dshc_messageHead {\n align-items: baseline;\n gap: 6px;\n display: flex;\n}\n\n.dshc_author {\n font-weight: 600;\n}\n\n.dshc_time {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n.dshc_tag {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-state-business-primary);\n white-space: nowrap;\n padding: 0 4px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.dshc_edited {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n.dshc_ownActions {\n margin-left: auto;\n margin-right: var(--channels-reply-clearance);\n opacity: 0;\n gap: 8px;\n display: inline-flex;\n}\n\n.dshc_message:hover .dshc_ownActions, .dshc_ownActions:focus-within {\n opacity: 1;\n}\n\n@media (hover: none) {\n .dshc_ownActions {\n display: none;\n }\n\n .dshc_message[data-tools-open] .dshc_ownActions {\n opacity: 1;\n display: inline-flex;\n }\n}\n\n.dshc_editBox {\n flex-direction: column;\n gap: 6px;\n margin-top: 4px;\n display: flex;\n}\n\n.dshc_editInput {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n min-height: 60px;\n color: inherit;\n font: inherit;\n resize: vertical;\n padding: 8px;\n}\n\n.dshc_editBar {\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_editBar .dshc_time {\n margin-right: auto;\n}\n\n.dshc_text {\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.dshc_card {\n border-left: 4px solid var(--dsw-alias-state-business-primary);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n margin-top: 4px;\n padding: 6px 10px;\n}\n\n.dshc_card[data-state=\"failed\"] {\n border-left-color: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_card[data-state=\"retrying\"] {\n border-left-color: var(--dsw-alias-state-warning-primary, #faa61a);\n}\n\n.dshc_cardButtons {\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n display: flex;\n}\n\n.dshc_cardTitle {\n font-size: 13px;\n font-weight: 600;\n}\n\n.dshc_cardHead {\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_cardViews {\n gap: 4px;\n display: flex;\n}\n\n.dshc_cardViewButton {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n color: inherit;\n cursor: pointer;\n background: none;\n padding: 0 6px;\n font-size: 12px;\n}\n\n.dshc_cardViewButton[aria-pressed=\"true\"] {\n background: var(--dsw-alias-bg-base);\n font-weight: 600;\n}\n\n.dshc_permActions {\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n display: flex;\n}\n\n.dshc_permScope {\n color: var(--dsw-alias-text-secondary);\n flex-basis: 100%;\n font-size: 12px;\n}\n\n.dshc_permStatus {\n margin-top: 6px;\n font-size: 13px;\n font-weight: 600;\n}\n\n.dshc_message {\n --channels-reply-clearance: 36px;\n position: relative;\n}\n\n.dshc_quote {\n border-left: 2px solid var(--dsw-alias-label-tertiary);\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n text-overflow: ellipsis;\n gap: 6px;\n margin-bottom: 2px;\n padding-left: 8px;\n font-size: 12px;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_quoteDeleted {\n font-style: italic;\n}\n\n.dshc_quoteAuthor {\n flex: none;\n font-weight: 600;\n}\n\n.dshc_replyButton {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-tertiary);\n background: var(--dsw-alias-bg-layer-2);\n cursor: pointer;\n border: 0;\n padding: 0 6px;\n}\n\n.dshc_msgTools {\n z-index: 1;\n border: 1px solid var(--dsw-alias-separator, #7f7f7f40);\n border-radius: var(--dsw-radius-sm, 6px);\n background: var(--dsw-alias-bg-elevated, var(--dsw-alias-bg-primary, #fff));\n opacity: 0;\n pointer-events: none;\n align-items: center;\n gap: 2px;\n padding: 2px;\n display: inline-flex;\n position: absolute;\n top: 2px;\n right: 16px;\n box-shadow: 0 2px 6px #00000014;\n}\n\n.dshc_msgTool {\n border-radius: var(--dsw-radius-sm, 6px);\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 2px 8px;\n font-size: 12px;\n}\n\n.dshc_msgTool:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_msgTool:disabled {\n cursor: default;\n opacity: .6;\n}\n\n.dshc_msgToolNote {\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n padding: 0 6px;\n font-size: 12px;\n}\n\n.dshc_message:hover .dshc_msgTools, .dshc_message:focus-within .dshc_msgTools, .dshc_msgTools:has(.dshc_msgToolNote) {\n opacity: 1;\n pointer-events: auto;\n}\n\n@media (hover: none) {\n .dshc_message {\n -webkit-touch-callout: none;\n }\n\n .dshc_msgTools {\n display: none;\n }\n\n .dshc_message[data-tools-open] {\n background: var(--dsw-alias-interactive-bg-hover);\n }\n\n .dshc_message[data-tools-open] .dshc_msgTools {\n z-index: 3;\n opacity: 1;\n pointer-events: auto;\n display: inline-flex;\n top: -14px;\n right: 12px;\n }\n\n .dshc_message[data-tools-open] .dshc_msgTool {\n width: 40px;\n height: 36px;\n }\n}\n\n.dshc_replyBar {\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n background: var(--dsw-alias-bg-layer-2);\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n padding: 4px 8px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_replyBarText {\n white-space: nowrap;\n text-overflow: ellipsis;\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n\n.dshc_replyCancel {\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n}\n\n.dshc_working {\n min-height: 20px;\n color: var(--dsw-alias-label-tertiary);\n align-items: center;\n gap: 6px;\n padding: 0 16px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_composer {\n padding: 0 16px 16px;\n position: relative;\n}\n\n.dshc_composerBox {\n border: 1px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1, var(--dsw-alias-bg-layer-2));\n box-shadow: var(--dsw-shadow-lv1-blur);\n flex-direction: column;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_composerBox:focus-within {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_composerToolbar {\n flex: none;\n align-items: center;\n gap: 4px;\n padding: 4px 10px 10px;\n display: flex;\n}\n\n.dshc_composerBox > .dshc_replyBar, .dshc_composerBox > .dshc_attachments {\n margin: 10px 14px 0;\n}\n\n.dshc_mentionButton {\n border-radius: var(--dsw-radius-full, 50%);\n width: 32px;\n height: 32px;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n padding: 0;\n font-size: 18px;\n display: inline-flex;\n}\n\n.dshc_mentionButton:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_sendButton {\n border-radius: var(--dsw-radius-full, 50%);\n width: 32px;\n height: 32px;\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-label-primary);\n font: inherit;\n cursor: pointer;\n border: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n margin-left: auto;\n padding: 0;\n display: inline-flex;\n}\n\n.dshc_sendButton:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.dshc_sendButton:focus-visible, .dshc_mentionButton:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_mentionPopup {\n z-index: 2;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n max-height: 320px;\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n flex-direction: column;\n padding: 6px;\n display: flex;\n position: absolute;\n bottom: calc(100% - 8px);\n left: 16px;\n right: 16px;\n}\n\n.dshc_mentionPopup > [role=\"listbox\"] {\n min-height: 0;\n overflow-y: auto;\n}\n\n.dshc_mentionTitle {\n color: var(--dsw-alias-label-tertiary);\n padding: 4px 8px 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_mentionItem {\n border-radius: var(--dsw-radius-sm);\n cursor: pointer;\n align-items: center;\n gap: 10px;\n padding: 6px 8px;\n display: flex;\n}\n\n.dshc_mentionActive {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_mentionName {\n font-weight: 600;\n}\n\n.dshc_mentionMeta {\n color: var(--dsw-alias-label-tertiary);\n margin-left: auto;\n font-size: 12px;\n}\n\n.dshc_mentionHint {\n border-top: 1px solid var(--dsw-alias-border-l2);\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 8px 2px;\n font-size: 11px;\n}\n\n.dshc_mentionBadge {\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary, #5865f2) 15%, transparent);\n color: var(--dsw-alias-state-business-primary, #5865f2);\n font-weight: 500;\n line-height: inherit;\n vertical-align: baseline;\n -webkit-box-decoration-break: clone;\n box-decoration-break: clone;\n cursor: pointer;\n border-radius: 3px;\n padding: 0 4px;\n transition: background-color .16s cubic-bezier(.2, 0, 0, 1), color .16s cubic-bezier(.2, 0, 0, 1);\n display: inline-block;\n}\n\n.dshc_mentionBadge:hover {\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary, #5865f2) 28%, transparent);\n}\n\n.dshc_sendError {\n color: var(--dsw-alias-state-error-primary);\n margin-bottom: 6px;\n font-size: 12px;\n}\n\n.dshc_input {\n box-sizing: border-box;\n width: 100%;\n min-height: 52px;\n max-height: 40vh;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n resize: none;\n field-sizing: content;\n background: none;\n border: 0;\n border-radius: 0;\n flex: 1;\n min-width: 0;\n padding: 14px 16px 8px;\n line-height: 1.5;\n}\n\n.dshc_input::placeholder {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n@media (width <= 600px) {\n .dshc_composer {\n padding: 0 8px 8px;\n }\n\n .dshc_composerToolbar {\n padding: 4px 8px 8px;\n }\n\n .dshc_input {\n padding: 12px 14px 8px;\n }\n}\n\n.dshc_input:focus-visible {\n outline: none;\n}\n\n.dshc_member {\n border-radius: var(--dsw-radius-sm);\n min-width: 0;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n flex: 1;\n align-items: center;\n gap: 10px;\n padding: 5px 8px;\n display: flex;\n}\n\n.dshc_member:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_member:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_offline {\n opacity: .5;\n}\n\n.dshc_memberAvatar {\n position: relative;\n}\n\n.dshc_presence {\n border: 2px solid var(--dsw-alias-bg-layer-2);\n corner-shape: round;\n background: #23a55a;\n border-radius: 50%;\n width: 10px;\n height: 10px;\n position: absolute;\n bottom: -2px;\n right: -2px;\n}\n\n.dshc_offline .dshc_presence {\n background: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_memberText {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n.dshc_memberName {\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.dshc_memberStatus {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n@media (width <= 900px) {\n .dshc_page {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .dshc_rooms, .dshc_members {\n display: none;\n }\n}\n\n.dshc_groupHead {\n justify-content: space-between;\n align-items: center;\n padding-right: 4px;\n display: flex;\n}\n\n.dshc_iconButton {\n border-radius: var(--dsw-radius-sm);\n width: 22px;\n height: 22px;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n font-size: 16px;\n line-height: 1;\n}\n\n.dshc_iconButton:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_roomInput, .dshc_fieldInput {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n font: inherit;\n padding: 6px 8px;\n}\n\n.dshc_roomInput {\n margin: 2px 0 6px;\n}\n\n.dshc_roomInput:focus-visible, .dshc_fieldInput:focus-visible, .dshc_iconButton:focus-visible, .dshc_linkButton:focus-visible, .dshc_addMemberButton:focus-visible, .dshc_primaryButton:focus-visible, .dshc_secondaryButton:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_addMemberButton {\n box-sizing: border-box;\n border: 1px dashed var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n margin: 4px 0;\n padding: 7px 8px;\n}\n\n.dshc_addMemberButton:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_settingsDivider {\n border: 0;\n border-top: 1px solid var(--dsw-alias-border-l1);\n width: 100%;\n margin: 8px 0 4px;\n}\n\n.dshc_memberListDivider {\n border: 0;\n border-top: 1px solid var(--dsw-alias-border-l1);\n width: calc(100% - 16px);\n margin: 12px 8px 2px;\n}\n\n.dshc_settingsButton {\n text-align: left;\n border-style: solid;\n border-color: #0000;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_settingsButton svg {\n flex: none;\n}\n\n.dshc_memberRow {\n border-radius: var(--dsw-radius-sm);\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.dshc_memberRow:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_memberRow .dshc_member:hover {\n background: none;\n}\n\n.dshc_memberModel {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n overflow: hidden;\n}\n\n.dshc_memberActions {\n color: var(--dsw-alias-label-tertiary);\n opacity: 0;\n flex: none;\n gap: 4px;\n padding-right: 6px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_memberRow:hover .dshc_memberActions, .dshc_memberRow:focus-within .dshc_memberActions {\n opacity: 1;\n}\n\n.dshc_linkButton {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 2px 4px;\n font-size: 12px;\n}\n\n.dshc_linkButton:hover {\n color: var(--dsw-alias-label-primary);\n text-decoration: underline;\n}\n\n.dshc_dialogBackdrop {\n z-index: 10;\n background: #00000073;\n place-items: center;\n padding: 16px;\n display: grid;\n position: fixed;\n inset: 0;\n}\n\n.dshc_dialog {\n box-sizing: border-box;\n border-radius: var(--dsw-radius-lg);\n width: min(460px, 100%);\n max-height: calc(100vh - 32px);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n box-shadow: var(--dsw-elevation-panel, 0 12px 32px #0000004d);\n flex-direction: column;\n gap: 12px;\n padding: 20px;\n display: flex;\n overflow-y: auto;\n}\n\n.dshc_settingsDialog {\n box-sizing: border-box;\n height: min(70vh, 100dvh - 32px);\n max-height: calc(100dvh - 32px);\n overflow: hidden;\n}\n\n.dshc_settingsBody {\n overscroll-behavior: contain;\n flex: auto;\n min-height: 0;\n padding: 2px;\n overflow-y: auto;\n}\n\n.dshc_settingsDialog > :not(.dshc_settingsBody) {\n flex-shrink: 0;\n}\n\n.dshc_settingsFields {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.dshc_settingsFeedback {\n overflow-wrap: anywhere;\n max-height: 20%;\n overflow-y: auto;\n}\n\n.dshc_settingsDialog .dshc_dialogActions {\n justify-content: space-between;\n}\n\n@media (width <= 599px) {\n .dshc_settingsDialog {\n height: calc(100dvh - 32px);\n padding: 16px;\n }\n}\n\n.dshc_avatarCropStage {\n background: #000000a6;\n padding: 20px;\n}\n\n.dshc_avatarCropFrame {\n aspect-ratio: 1;\n touch-action: none;\n cursor: grab;\n outline: 2px solid #fff;\n width: min(256px, 100%);\n margin: auto;\n position: relative;\n overflow: hidden;\n}\n\n.dshc_avatarCropFrame:active {\n cursor: grabbing;\n}\n\n.dshc_avatarCropFrame img {\n pointer-events: none;\n user-select: none;\n max-width: none;\n position: absolute;\n}\n\n.dshc_dialogTitle {\n margin: 0;\n font-size: 16px;\n}\n\n.dshc_field {\n color: var(--dsw-alias-label-secondary);\n flex-direction: column;\n gap: 4px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_field textarea {\n resize: vertical;\n}\n\n.dshc_choiceRow {\n flex-wrap: wrap;\n gap: 12px;\n display: flex;\n}\n\n.dshc_choiceColumn {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.dshc_choiceColumn .dshc_choice {\n grid-template-columns: max-content minmax(0, 1fr);\n align-items: start;\n display: grid;\n}\n\n.dshc_choice {\n color: var(--dsw-alias-label-primary, inherit);\n cursor: pointer;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n display: inline-flex;\n}\n\n.dshc_dialogActions {\n justify-content: flex-end;\n gap: 8px;\n display: flex;\n}\n\n.dshc_primaryButton, .dshc_secondaryButton {\n border-radius: var(--dsw-radius-sm);\n font: inherit;\n cursor: pointer;\n padding: 7px 14px;\n}\n\n.dshc_primaryButton {\n color: #fff;\n background: var(--dsw-alias-state-business-primary);\n border: 0;\n}\n\n.dshc_primaryButton:disabled {\n cursor: not-allowed;\n opacity: .5;\n}\n\n.dshc_secondaryButton {\n border: 1px solid var(--dsw-alias-border-l2);\n color: var(--dsw-alias-label-primary);\n background: none;\n}\n\n.dshc_memberFailed .dshc_memberStatus {\n color: var(--dsw-alias-state-error-primary, #ed4245);\n}\n\n.dshc_memberFailed .dshc_presence {\n background: #ed4245;\n}\n\n.dshc_mobileButton, .dshc_drawerBackdrop {\n display: none;\n}\n\n.dshc_panelToggle {\n border-radius: var(--dsw-radius-sm);\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n justify-content: center;\n align-items: center;\n font-size: 16px;\n line-height: 1;\n display: inline-flex;\n}\n\n.dshc_panelToggle:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_panelToggle:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_panelToggleEnd {\n margin-left: auto;\n}\n\n.dshc_capabilityMenu {\n z-index: 4;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-base);\n max-height: 260px;\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n gap: 2px;\n padding: 5px;\n display: grid;\n position: absolute;\n bottom: calc(100% + 4px);\n left: 0;\n right: 0;\n overflow-y: auto;\n}\n\n.dshc_capabilityItem:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_capabilityHelp {\n color: var(--dsw-alias-label-secondary);\n white-space: normal;\n margin: 6px;\n font-size: 12px;\n}\n\n.dshc_capabilityItem:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_capabilityItem {\n text-align: left;\n cursor: pointer;\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n background: none;\n border: 0;\n padding: 5px 8px;\n font-size: 12px;\n font-weight: 400;\n}\n\n@media (width >= 901px) {\n .dshc_page.dshc_roomsHidden {\n grid-template-columns: minmax(0, 1fr) 240px;\n }\n\n .dshc_page.dshc_membersHidden {\n grid-template-columns: 220px minmax(0, 1fr);\n }\n\n .dshc_page.dshc_roomsHidden.dshc_membersHidden {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .dshc_roomsHidden > .dshc_rooms, .dshc_membersHidden > .dshc_members {\n display: none;\n }\n}\n\n@media (width <= 900px) {\n .dshc_page {\n position: relative;\n overflow: hidden;\n }\n\n .dshc_mobileButton {\n min-width: 40px;\n min-height: 40px;\n color: inherit;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n display: inline-flex;\n }\n\n .dshc_mobileButton:last-child {\n margin-left: auto;\n }\n\n .dshc_panelToggle {\n display: none;\n }\n\n .dshc_drawerBackdrop {\n z-index: 4;\n background: #00000073;\n border: 0;\n display: block;\n position: absolute;\n inset: 0;\n }\n\n .dshc_rooms.dshc_drawerOpen, .dshc_members.dshc_drawerOpen {\n z-index: 5;\n box-sizing: border-box;\n width: min(280px, 85%);\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n box-shadow: 0 0 24px #0000004d;\n }\n\n .dshc_rooms.dshc_drawerOpen {\n left: 0;\n }\n\n .dshc_members.dshc_drawerOpen {\n right: 0;\n }\n\n .dshc_memberActions {\n opacity: 1;\n }\n\n .dshc_messageHead {\n flex-wrap: wrap;\n }\n}\n\n.dshc_avatarPicker {\n flex-wrap: wrap;\n gap: 8px;\n display: flex;\n}\n\n.dshc_avatarOption {\n cursor: pointer;\n background: none;\n border: 2px solid #0000;\n border-radius: 50%;\n padding: 2px;\n display: grid;\n}\n\n.dshc_avatarOption[aria-checked=\"true\"] {\n border-color: var(--dsw-alias-accent, #5865f2);\n}\n\n.dshc_taskBoardTrigger {\n box-sizing: border-box;\n border-radius: var(--dsw-radius-sm);\n width: 100%;\n height: 34px;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n align-items: center;\n gap: 8px;\n margin: 4px 0;\n padding: 7px 8px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_taskBoardTrigger:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_taskBoardTrigger:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_taskBoardSummary {\n color: var(--dsw-alias-label-secondary);\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n overflow: hidden;\n}\n\n.dshc_taskBoardDialog {\n width: min(920px, 100%);\n height: min(70vh, 100dvh - 32px);\n overflow: hidden;\n}\n\n.dshc_taskBoardBody {\n overscroll-behavior: contain;\n flex: auto;\n min-height: 0;\n overflow-y: auto;\n}\n\n.dshc_taskBoardDialog > :not(.dshc_taskBoardBody) {\n flex-shrink: 0;\n}\n\n.dshc_boardTabs {\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n gap: 4px;\n padding-bottom: 8px;\n display: flex;\n overflow-x: auto;\n}\n\n.dshc_boardTabs button {\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n padding: 7px 10px;\n font-size: 13px;\n}\n\n.dshc_boardTabs button:hover, .dshc_boardTabs button[aria-selected=\"true\"] {\n color: var(--dsw-alias-state-business-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_boardTabs button:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n outline-offset: -2px;\n}\n\n.dshc_boardTabCount {\n font-variant-numeric: tabular-nums;\n margin-left: 4px;\n}\n\n.dshc_boardCardGrid {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 12px;\n margin: 6px 0 16px;\n padding: 2px;\n list-style: none;\n display: grid;\n}\n\n.dshc_boardTaskCard {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n border-radius: 12px;\n flex-direction: column;\n gap: 10px;\n min-width: 0;\n padding: 14px;\n transition: transform .14s, box-shadow .14s;\n display: flex;\n}\n\n.dshc_boardTaskCard[data-working=\"true\"] {\n border-color: var(--dsw-alias-state-business-primary);\n}\n\n.dshc_boardTaskCard[data-status=\"done\"] {\n filter: saturate(.25);\n color: var(--dsw-alias-label-secondary);\n}\n\n.dshc_boardTaskCard:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px #00000014;\n}\n\n.dshc_boardTaskHeader {\n align-items: flex-start;\n gap: 8px;\n display: flex;\n}\n\n.dshc_boardTaskTitle {\n overflow-wrap: anywhere;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n flex: 1;\n font-size: 14px;\n font-weight: 600;\n line-height: 1.5;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.dshc_boardTaskHeader .dshc_taskStatus {\n border-radius: 999px;\n padding: 3px 7px;\n font-size: 11px;\n}\n\n.dshc_boardTaskCard .dshc_taskLinks {\n justify-content: flex-end;\n margin-top: auto;\n}\n\n.dshc_boardTabEmpty {\n min-height: 240px;\n color: var(--dsw-alias-label-secondary);\n text-align: center;\n justify-content: center;\n align-items: center;\n padding: 40px 16px;\n display: flex;\n}\n\n@media (width <= 640px) {\n .dshc_boardCardGrid {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_boardTaskCard {\n transition: none;\n }\n\n .dshc_boardTaskCard:hover {\n transform: none;\n }\n}\n\n.dshc_taskBoardScope {\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n}\n\n.dshc_taskSection + .dshc_taskSection {\n margin-top: 8px;\n}\n\n.dshc_taskSectionTitle {\n color: var(--dsw-alias-label-secondary);\n margin: 0 0 4px;\n padding: 0 8px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_taskOwnerGroup + .dshc_taskOwnerGroup {\n margin-top: 4px;\n}\n\n.dshc_taskOwnerName {\n color: var(--dsw-alias-label-tertiary);\n padding: 0 8px;\n font-size: 12px;\n}\n\n.dshc_taskList {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.dshc_taskRow {\n border-radius: var(--dsw-radius-sm);\n padding: 6px 8px;\n}\n\n.dshc_taskRow:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_taskLine {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n.dshc_taskTitle {\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 13px;\n overflow: hidden;\n}\n\n.dshc_taskMeta {\n color: var(--dsw-alias-label-tertiary);\n flex-wrap: wrap;\n gap: 0 8px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_taskLinks {\n gap: 8px;\n display: flex;\n}\n\n.dshc_taskEmpty {\n color: var(--dsw-alias-label-tertiary);\n margin: 0 8px;\n font-size: 12px;\n}\n\n.dshc_taskDone summary {\n cursor: pointer;\n}\n\n.dshc_taskStatus {\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-state-business-primary);\n flex: none;\n padding: 0 4px;\n font-size: 10px;\n font-style: normal;\n font-weight: 600;\n}\n\n.dshc_taskStatus[data-status=\"asked\"], .dshc_taskStatus[data-status=\"escalated\"], .dshc_taskStatus[data-status=\"declined\"], .dshc_taskStatus[data-status=\"rework\"] {\n background: var(--dsw-alias-state-warning-primary, var(--dsw-alias-state-error-primary));\n}\n\n.dshc_taskStatus[data-status=\"done\"] {\n background: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_taskCard {\n margin-top: 4px;\n font-style: normal;\n}\n\n.dshc_taskMembers {\n margin: 4px 0 0;\n padding: 0;\n list-style: none;\n}\n\n.dshc_taskMember {\n align-items: center;\n gap: 8px;\n font-size: 13px;\n display: flex;\n}\n\n.dshc_taskMemberName {\n font-weight: 600;\n}\n\n.dshc_taskSub {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_focused {\n background: var(--dsw-alias-interactive-bg-hover);\n outline: 2px solid var(--dsw-alias-state-business-primary);\n}\n\n.dshc_attachments {\n flex-wrap: wrap;\n gap: 6px;\n margin: 4px 0;\n display: flex;\n}\n\n.dshc_attachmentImage {\n border-radius: 4px;\n max-width: min(320px, 100%);\n max-height: 240px;\n display: block;\n}\n\n.dshc_imageAttachment {\n align-content: start;\n max-width: 100%;\n display: grid;\n}\n\n.dshc_imagePreviewTrigger {\n cursor: zoom-in;\n background: none;\n border: 0;\n border-radius: 4px;\n grid-area: 1 / 1;\n padding: 0;\n}\n\n.dshc_imagePreviewTrigger:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary);\n outline-offset: 2px;\n}\n\n.dshc_imagePreviewDialog {\n box-sizing: border-box;\n width: fit-content;\n max-width: 90vw;\n max-height: 90dvh;\n overflow: auto;\n}\n\n.dshc_imagePreviewHeader {\n flex-shrink: 0;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.dshc_imagePreviewHeader span {\n overflow-wrap: anywhere;\n min-width: 0;\n}\n\n.dshc_imagePreviewHeader button {\n flex-shrink: 0;\n}\n\n.dshc_imagePreviewImage {\n object-fit: contain;\n align-self: center;\n max-width: 100%;\n min-height: 0;\n max-height: 65dvh;\n display: block;\n}\n\n.dshc_imagePreviewActions {\n flex-wrap: wrap;\n flex-shrink: 0;\n gap: 8px;\n display: flex;\n}\n\n.dshc_imagePreviewActions a {\n text-decoration: none;\n}\n\n.dshc_imagePreviewActions button:disabled {\n cursor: wait;\n opacity: .5;\n}\n\n.dshc_attachmentActions {\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-base);\n opacity: 0;\n pointer-events: none;\n flex-wrap: wrap;\n grid-area: 1 / 1;\n place-self: start end;\n gap: 4px;\n margin: 4px;\n padding: 4px;\n display: flex;\n}\n\n.dshc_attachmentActions a {\n text-decoration: none;\n}\n\n.dshc_attachmentActions button:disabled {\n cursor: wait;\n opacity: .5;\n}\n\n.dshc_imageAttachment:hover .dshc_attachmentActions, .dshc_imageAttachment:focus-within .dshc_attachmentActions, .dshc_imageAttachment[data-copy-state=\"error\"] .dshc_attachmentActions, .dshc_imageAttachment[data-copy-state=\"copying\"] .dshc_attachmentActions, .dshc_imageAttachment[data-copy-state=\"copied\"] .dshc_attachmentActions {\n opacity: 1;\n pointer-events: auto;\n}\n\n@media (hover: none), (pointer: coarse), (width <= 768px) {\n .dshc_attachmentActions {\n opacity: 1;\n pointer-events: auto;\n }\n}\n\n.dshc_attachmentThumb {\n object-fit: cover;\n vertical-align: middle;\n border-radius: 3px;\n width: 32px;\n height: 32px;\n}\n\n.dshc_attachmentFile {\n background: var(--background-secondary, #7f7f7f26);\n color: inherit;\n border-radius: 4px;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n text-decoration: none;\n display: inline-flex;\n}\n\n.dshc_attachmentSize {\n opacity: .6;\n font-size: .85em;\n}\n\n.dshc_attachmentAudio {\n flex-direction: column;\n gap: 2px;\n width: min(320px, 100%);\n display: flex;\n}\n\n.dshc_attachmentAudio audio {\n width: 100%;\n}\n\n.dshc_attachmentAudio a {\n color: inherit;\n text-decoration: none;\n}\n\n.dshc_attachmentFile {\n overflow-wrap: anywhere;\n max-width: 100%;\n}\n\n.dshc_chatHead button, .dshc_chatHead input, .dshc_chatHead select, .dshc_chatHead a, .dshc_chatHead [role=\"menu\"] {\n -webkit-app-region: no-drag;\n}\n\n.dshc_text pre, .dshc_text table {\n max-width: 100%;\n overflow-x: auto;\n}\n\n@media (width >= 901px) {\n .dshc_page {\n grid-template-columns: 232px minmax(0, 1fr) 272px;\n }\n\n .dshc_page.dshc_roomsHidden {\n grid-template-columns: minmax(0, 1fr) 272px;\n }\n\n .dshc_page.dshc_membersHidden {\n grid-template-columns: 232px minmax(0, 1fr);\n }\n\n .dshc_page.dshc_roomsHidden.dshc_membersHidden {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n.dshc_rooms {\n padding-top: 4px;\n}\n\n.dshc_room {\n border-radius: var(--dsw-radius-md);\n min-height: 34px;\n padding: 6px 10px;\n transition: background-color .15s, color .15s;\n}\n\n.dshc_workspace {\n min-height: 30px;\n padding-left: 28px;\n font-size: 13px;\n position: relative;\n}\n\n.dshc_workspace:before {\n content: \"\";\n border-left: 1px solid var(--dsw-alias-border-l2);\n border-bottom: 1px solid var(--dsw-alias-border-l2);\n border-bottom-left-radius: 4px;\n width: 7px;\n position: absolute;\n top: 0;\n bottom: 50%;\n left: 15px;\n}\n\n.dshc_workspace .dshc_hash {\n display: none;\n}\n\n.dshc_roomActive {\n color: var(--dsw-alias-label-primary);\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 14%, transparent);\n box-shadow: inset 2px 0 0 var(--dsw-alias-state-business-primary);\n font-weight: 600;\n}\n\n.dshc_activeCount {\n font-variant-numeric: tabular-nums;\n border-radius: 999px;\n margin-left: 0;\n padding: 0 6px;\n font-size: 11px;\n line-height: 18px;\n}\n\n.dshc_activeBusy {\n color: var(--dsw-alias-state-business-primary);\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 14%, transparent);\n}\n\n.dshc_roomLabel {\n flex: auto;\n min-width: 0;\n}\n\n.dshc_avatarStack {\n flex: none;\n align-items: center;\n padding-left: 4px;\n display: inline-flex;\n}\n\n.dshc_stackDot {\n border: 2px solid var(--dsw-alias-bg-layer-2);\n background-position: center;\n background-size: cover;\n border-radius: 50%;\n width: 18px;\n height: 18px;\n margin-left: -6px;\n}\n\n.dshc_room .dshc_stackDot {\n width: 16px;\n height: 16px;\n}\n\n.dshc_roomActive .dshc_stackDot {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 14%, var(--dsw-alias-bg-layer-2));\n}\n\n.dshc_chatHead {\n gap: 8px;\n height: 52px;\n}\n\n.dshc_roomName {\n letter-spacing: -.01em;\n white-space: nowrap;\n font-size: 15px;\n}\n\n.dshc_headMeta {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n font-weight: 400;\n overflow: hidden;\n}\n\n.dshc_headActivity {\n color: var(--dsw-alias-label-secondary);\n flex: none;\n align-items: center;\n gap: 6px;\n margin-left: auto;\n font-size: 12px;\n font-weight: 500;\n display: inline-flex;\n}\n\n.dshc_headActivity .dshc_stackDot {\n border-color: var(--dsw-alias-bg-base);\n width: 22px;\n height: 22px;\n}\n\n.dshc_headActivity + .dshc_panelToggleEnd {\n margin-left: 4px;\n}\n\n.dshc_chatHead > .dshc_roomName {\n text-overflow: ellipsis;\n min-width: 0;\n overflow: hidden;\n}\n\n.dshc_chatHead > .dshc_taskBoardTrigger {\n width: auto;\n margin: 0 0 0 auto;\n}\n\n.dshc_chatHead .dshc_taskBoardSummary {\n display: none;\n}\n\n.dshc_headLead {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n border-radius: 999px;\n flex: 0 auto;\n align-items: center;\n gap: 6px;\n min-width: 0;\n padding: 4px 8px;\n font-size: 12px;\n display: inline-flex;\n}\n\n.dshc_headLeadText {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n.dshc_headLeadName {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_headLeadStatus {\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n font-size: 11px;\n font-weight: 400;\n}\n\n.dshc_headLead + .dshc_panelToggleEnd {\n margin-left: 0;\n}\n\n.dshc_membersHead {\n align-items: center;\n height: 52px;\n padding: 0 4px;\n display: flex;\n}\n\n.dshc_membersHeadTitle {\n color: var(--dsw-alias-label-tertiary);\n letter-spacing: .08em;\n font-size: 11px;\n font-weight: 650;\n}\n\n.dshc_log {\n padding: 12px 0 16px;\n}\n\n.dshc_message {\n grid-template-columns: 36px minmax(0, 1fr);\n gap: 12px;\n padding: 8px 20px 2px;\n transition: background-color .15s;\n}\n\n.dshc_message.dshc_grouped {\n padding-top: 1px;\n}\n\n.dshc_message:hover {\n background: color-mix(in srgb, var(--dsw-alias-interactive-bg-hover) 70%, transparent);\n}\n\n.dshc_messageHead {\n gap: 8px;\n margin-bottom: 2px;\n}\n\n.dshc_messageHeadGrouped {\n margin-bottom: 0;\n}\n\n.dshc_messageHeadGrouped:not(:has(*)) {\n display: none;\n}\n\n.dshc_author {\n font-size: 13px;\n}\n\n.dshc_time, .dshc_edited {\n font-variant-numeric: tabular-nums;\n font-size: 11px;\n}\n\n.dshc_gutterTime {\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n text-align: right;\n opacity: 0;\n align-self: start;\n padding-top: 3px;\n font-size: 10px;\n transition: opacity .15s;\n}\n\n.dshc_message:hover .dshc_gutterTime {\n opacity: 1;\n}\n\n.dshc_text {\n line-height: 1.6;\n}\n\n.dshc_own {\n grid-template-columns: minmax(0, 1fr) 36px;\n}\n\n.dshc_own > :first-child {\n grid-area: 1 / 2;\n}\n\n.dshc_own > .dshc_messageBody {\n flex-direction: column;\n grid-area: 1 / 1;\n align-items: flex-end;\n display: flex;\n}\n\n.dshc_own .dshc_messageHead {\n flex-direction: row-reverse;\n}\n\n.dshc_own .dshc_ownActions {\n margin-left: 0;\n margin-right: auto;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text {\n max-width: min(560px, 100%);\n color: var(--dsw-alias-label-primary);\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 16%, var(--dsw-alias-bg-layer-2));\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-state-business-primary) 28%, transparent);\n border-radius: 16px 6px 16px 16px;\n padding: 8px 14px;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_quote {\n align-self: flex-end;\n}\n\n.dshc_own .dshc_msgTools {\n left: 16px;\n right: auto;\n}\n\n.dshc_own.dshc_grouped > .dshc_messageBody > .dshc_text {\n border-radius: 16px 6px 6px 16px;\n}\n\n.dshc_systemRecord {\n flex-direction: column;\n align-items: center;\n padding-bottom: 4px;\n display: flex;\n}\n\n.dshc_systemRecord > .dshc_systemLine {\n align-self: stretch;\n}\n\n.dshc_taskRecord {\n box-sizing: border-box;\n width: min(480px, 100% - 40px);\n margin-top: 0;\n}\n\n.dshc_systemLine {\n color: var(--dsw-alias-label-tertiary);\n align-items: center;\n gap: 12px;\n padding: 10px 32px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_systemLine:before, .dshc_systemLine:after {\n content: \"\";\n background: var(--dsw-alias-border-l2);\n flex: 24px;\n min-width: 24px;\n height: 1px;\n}\n\n.dshc_systemText {\n text-align: center;\n max-width: min(640px, 80%);\n}\n\n.dshc_systemText p {\n margin: 0;\n}\n\n.dshc_errorBar {\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary) 35%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 9%, transparent);\n border-radius: 12px;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px 10px;\n margin: 6px 20px 6px 68px;\n padding: 8px 12px;\n font-size: 13px;\n display: flex;\n}\n\n.dshc_errorBar .dshc_cardButtons {\n margin: 0 0 0 auto;\n}\n\n.dshc_errorBar .dshc_secondaryButton {\n padding: 3px 10px;\n font-size: 12px;\n}\n\n.dshc_errorBar[data-state=\"retried\"] {\n opacity: .65;\n}\n\n.dshc_errorIcon {\n color: #fff;\n background: var(--dsw-alias-state-error-primary);\n border-radius: 50%;\n flex: none;\n place-items: center;\n width: 18px;\n height: 18px;\n font-size: 12px;\n font-weight: 700;\n display: grid;\n}\n\n.dshc_errorText {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n flex: 200px;\n}\n\n.dshc_errorText p {\n margin: 0;\n}\n\n.dshc_runStrip {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1, var(--dsw-alias-bg-layer-2));\n border-radius: 12px;\n flex-direction: column;\n max-width: 100%;\n margin-top: 4px;\n padding: 5px 10px;\n font-size: 12px;\n display: inline-flex;\n}\n\n.dshc_runStrip[data-state=\"running\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_runStrip[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_runHead {\n min-width: 0;\n color: var(--dsw-alias-label-secondary);\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_runTitle {\n color: var(--dsw-alias-label-primary);\n flex: none;\n font-weight: 600;\n}\n\n.dshc_runSummary {\n font-variant-numeric: tabular-nums;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_runHead .dshc_cardViews {\n margin-left: 8px;\n}\n\n.dshc_runHead .dshc_cardViewButton {\n color: var(--dsw-alias-label-tertiary);\n border-radius: 999px;\n font-size: 11px;\n}\n\n.dshc_runHead .dshc_cardViewButton[aria-pressed=\"true\"] {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_runIcon {\n border-radius: 50%;\n flex: none;\n width: 12px;\n height: 12px;\n position: relative;\n}\n\n.dshc_runStrip[data-state=\"running\"] .dshc_runIcon {\n border: 2px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 25%, transparent);\n border-top-color: var(--dsw-alias-state-business-primary);\n animation: .8s linear infinite dshc_channels-spin;\n}\n\n.dshc_runStrip[data-state=\"completed\"] .dshc_runIcon {\n background: #23a55a;\n}\n\n.dshc_runStrip[data-state=\"completed\"] .dshc_runIcon:after {\n content: \"\";\n border: 1.5px solid #fff;\n border-width: 0 1.5px 1.5px 0;\n width: 3px;\n height: 6px;\n position: absolute;\n top: 2px;\n left: 4px;\n transform: rotate(45deg);\n}\n\n.dshc_runStrip[data-state=\"failed\"] .dshc_runIcon {\n background: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_runSteps {\n color: var(--dsw-alias-label-secondary);\n margin-top: 4px;\n font-size: 12px;\n line-height: 1.55;\n}\n\n.dshc_runSteps p {\n margin: 0;\n}\n\n.dshc_runStrip .dshc_cardButtons {\n margin-top: 6px;\n}\n\n@keyframes dshc_channels-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_runStrip[data-state=\"running\"] .dshc_runIcon {\n animation-duration: 2.4s;\n }\n}\n\n.dshc_card {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n border-left-width: 1px;\n border-radius: 14px;\n margin-top: 6px;\n padding: 10px 12px;\n}\n\n.dshc_card[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 40%, var(--dsw-alias-border-l2));\n}\n\n.dshc_taskAnchor {\n max-width: 560px;\n box-shadow: inset 3px 0 0 var(--channels-accent-warm, #d08a2e);\n}\n\n.dshc_permInline {\n color: var(--dsw-alias-label-secondary);\n flex-wrap: wrap;\n align-items: baseline;\n gap: 4px 8px;\n display: flex;\n}\n\n.dshc_permInline .dshc_text {\n flex: 0 auto;\n min-width: 0;\n}\n\n.dshc_permInline .dshc_text p {\n margin: 0;\n}\n\n.dshc_permLock {\n color: var(--dsw-alias-state-warning-primary, #e9a23b);\n flex: none;\n font-size: 9px;\n}\n\n.dshc_permWaiting {\n color: var(--dsw-alias-state-warning-primary, #e9a23b);\n flex: none;\n font-size: 11px;\n font-weight: 600;\n}\n\n.dshc_permTray {\n flex-direction: column;\n gap: 6px;\n max-height: 40%;\n margin: 0 16px 8px;\n display: flex;\n overflow-y: auto;\n}\n\n.dshc_permTrayItem {\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 55%, var(--dsw-alias-border-l2));\n background: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 7%, var(--dsw-alias-bg-layer-2));\n border-radius: 14px;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px 12px;\n padding: 10px 12px;\n display: flex;\n box-shadow: 0 6px 20px -12px #00000059;\n}\n\n.dshc_permTrayText {\n flex: 240px;\n min-width: 0;\n font-size: 13px;\n}\n\n.dshc_permTrayText .dshc_text p {\n margin: 0;\n}\n\n.dshc_permTrayWho {\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_permTrayItem .dshc_permActions {\n flex-wrap: nowrap;\n margin: 0;\n}\n\n.dshc_permTrayItem .dshc_permScope {\n display: none;\n}\n\n.dshc_members {\n flex-direction: column;\n padding: 0 10px 16px;\n}\n\n@media (width >= 901px) {\n .dshc_members {\n display: flex;\n }\n\n .dshc_membersHidden > .dshc_members {\n display: none;\n }\n}\n\n.dshc_members.dshc_drawerOpen {\n display: flex;\n}\n\n.dshc_activityNow {\n flex-direction: column;\n gap: 2px;\n margin-bottom: 6px;\n display: flex;\n}\n\n.dshc_activityItem {\n border: 1px solid var(--dsw-alias-border-l2);\n width: 100%;\n color: inherit;\n background: var(--dsw-alias-bg-base);\n font: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 12px;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n display: flex;\n}\n\n.dshc_activityItem + .dshc_activityItem {\n margin-top: 4px;\n}\n\n.dshc_activityItem:hover {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 40%, var(--dsw-alias-border-l2));\n}\n\n.dshc_activityItem:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_activityText {\n flex-direction: column;\n flex: 1;\n min-width: 0;\n display: flex;\n}\n\n.dshc_activityName {\n font-size: 13px;\n font-weight: 600;\n}\n\n.dshc_activityWhat {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n overflow: hidden;\n}\n\n.dshc_activityPulse {\n background: var(--dsw-alias-state-business-primary);\n border-radius: 50%;\n flex: none;\n width: 8px;\n height: 8px;\n animation: 1.6s ease-in-out infinite dshc_channels-pulse;\n}\n\n@keyframes dshc_channels-pulse {\n 50% {\n box-shadow: 0 0 0 3px #23a55a40;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_activityPulse {\n animation: none;\n }\n}\n\n.dshc_member {\n padding: 6px 8px;\n}\n\n.dshc_memberText {\n flex: 1;\n}\n\n.dshc_memberStatus {\n flex: none;\n margin-left: auto;\n font-size: 11px;\n}\n\n.dshc_memberStatus[data-status=\"busy\"] {\n color: var(--dsw-alias-state-business-primary);\n font-weight: 600;\n}\n\n.dshc_memberStatus[data-status=\"error\"] {\n color: var(--dsw-alias-state-error-primary);\n font-weight: 600;\n}\n\n.dshc_memberActions {\n background: var(--dsw-alias-bg-layer-2);\n padding-left: 8px;\n position: absolute;\n top: 50%;\n right: 8px;\n transform: translateY(-50%);\n}\n\n.dshc_addMemberButton {\n border-radius: 10px;\n}\n\n@media (width <= 900px) {\n .dshc_headMeta, .dshc_headActivityText {\n display: none;\n }\n\n .dshc_chatHead {\n padding: 0 8px;\n }\n\n .dshc_mobileButton {\n white-space: nowrap;\n }\n\n .dshc_headActivity ~ .dshc_mobileButton:last-child {\n margin-left: 4px;\n }\n\n .dshc_message {\n padding-left: 12px;\n padding-right: 12px;\n }\n\n .dshc_errorBar {\n margin-left: 12px;\n margin-right: 12px;\n }\n\n .dshc_permTray {\n margin: 0 8px 8px;\n }\n\n .dshc_permTrayItem .dshc_permActions {\n flex-wrap: wrap;\n }\n\n .dshc_systemLine {\n padding: 8px 12px;\n }\n\n .dshc_systemText {\n max-width: 90%;\n }\n\n .dshc_memberActions {\n background: none;\n padding-left: 0;\n position: static;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsEnter {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsEnterOwn {\n from {\n opacity: 0;\n transform: translateY(12px) scale(.985);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsGlow {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes dshc_channelsPop {\n from {\n opacity: 0;\n transform: translateY(4px) scale(.98);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes dshc_channelsDot {\n 0%, 60%, 100% {\n opacity: .35;\n transform: none;\n }\n\n 30% {\n opacity: 1;\n transform: translateY(-2px);\n }\n}\n\n@keyframes dshc_channelsDrain {\n from {\n transform: scaleX(1);\n }\n\n to {\n transform: scaleX(0);\n }\n}\n\n.dshc_enter {\n animation: .18s cubic-bezier(.2, 0, 0, 1) both dshc_channelsEnter;\n}\n\n.dshc_enterOwn {\n animation: .22s cubic-bezier(.22, 1, .36, 1) both dshc_channelsEnterOwn;\n}\n\n.dshc_enterGlow:before {\n content: \"\";\n pointer-events: none;\n background: linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-state-business-primary) 10%, transparent), transparent 70%);\n animation: .7s cubic-bezier(.4, 0, .2, 1) both dshc_channelsGlow;\n animation-delay: inherit;\n position: absolute;\n inset: 0;\n}\n\n.dshc_message {\n transition: background-color .16s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_room {\n transition: background-color .16s cubic-bezier(.2, 0, 0, 1), color .16s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_card {\n transition: border-color .32s cubic-bezier(.2, 0, 0, 1), background-color .32s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_sendButton, .dshc_primaryButton, .dshc_secondaryButton, .dshc_mentionButton, .dshc_cardViewButton {\n transition: background-color .16s cubic-bezier(.2, 0, 0, 1), opacity .16s cubic-bezier(.2, 0, 0, 1), transform .12s cubic-bezier(.2, 0, 0, 1);\n}\n\n.dshc_sendButton:not(:disabled):active, .dshc_primaryButton:not(:disabled):active, .dshc_secondaryButton:not(:disabled):active, .dshc_mentionButton:not(:disabled):active, .dshc_cardViewButton:active {\n transform: translateY(1px);\n}\n\n.dshc_mentionPopup {\n transform-origin: bottom;\n animation: .16s cubic-bezier(.22, 1, .36, 1) both dshc_channelsPop;\n}\n\n.dshc_typingDots {\n vertical-align: middle;\n gap: 3px;\n margin-right: 6px;\n display: inline-flex;\n}\n\n.dshc_typingDots i {\n background: currentColor;\n border-radius: 50%;\n width: 4px;\n height: 4px;\n animation: 1.2s ease-in-out infinite dshc_channelsDot;\n}\n\n.dshc_typingDots i:nth-child(2) {\n animation-delay: .15s;\n}\n\n.dshc_typingDots i:nth-child(3) {\n animation-delay: .3s;\n}\n\n.dshc_logWrap {\n flex-direction: column;\n flex: 1;\n min-height: 0;\n display: flex;\n position: relative;\n}\n\n.dshc_olderLoading {\n color: var(--dsw-alias-label-tertiary);\n text-align: center;\n padding: 8px 16px;\n font-size: 12px;\n}\n\n.dshc_unreadDivider {\n color: var(--dsw-alias-state-error-primary);\n align-items: center;\n gap: 8px;\n margin: 8px 16px;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n}\n\n.dshc_unreadDivider:before, .dshc_unreadDivider:after {\n content: \"\";\n opacity: .35;\n background: currentColor;\n flex: 1;\n height: 1px;\n}\n\n.dshc_withdrawnRow {\n text-align: right;\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 16px;\n font-size: 13px;\n font-style: italic;\n animation: .18s cubic-bezier(.2, 0, 0, 1) both dshc_channelsEnter;\n}\n\n.dshc_jumpLatest {\n z-index: 3;\n border: 1px solid var(--dsw-alias-border-l2);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #00000029);\n font: inherit;\n cursor: pointer;\n border-radius: 999px;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n font-size: 12px;\n animation: .22s cubic-bezier(.22, 1, .36, 1) both dshc_channelsPop;\n display: inline-flex;\n position: absolute;\n bottom: 12px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.dshc_jumpLatest:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_jumpLatest:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_jumpCount {\n color: var(--dsw-alias-state-business-primary);\n font-weight: 600;\n}\n\n.dshc_undoToast {\n z-index: 4;\n border-radius: var(--dsw-radius-md);\n width: max-content;\n max-width: calc(100% - 32px);\n color: var(--dsw-alias-label-primary-inverted);\n background: var(--dsw-alias-label-primary);\n box-shadow: var(--dsw-elevation-panel, 0 8px 24px #0000003d);\n align-items: center;\n gap: 12px;\n margin: 0 auto;\n padding: 8px 8px 8px 14px;\n font-size: 13px;\n animation: .22s cubic-bezier(.22, 1, .36, 1) both dshc_channelsPop;\n display: flex;\n position: absolute;\n bottom: 12px;\n left: 0;\n right: 0;\n overflow: hidden;\n}\n\n.dshc_undoButton {\n border-radius: var(--dsw-radius-sm);\n color: inherit;\n background: color-mix(in srgb, currentColor 16%, transparent);\n font: inherit;\n cursor: pointer;\n border: 0;\n padding: 2px 10px;\n font-weight: 600;\n}\n\n.dshc_undoButton:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_undoBar {\n background: var(--dsw-alias-state-business-primary);\n transform-origin: 0;\n height: 2px;\n animation: linear forwards dshc_channelsDrain;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.dshc_undoToast ~ .dshc_jumpLatest {\n display: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_enter, .dshc_enterOwn, .dshc_enterGlow:before, .dshc_mentionPopup, .dshc_jumpLatest, .dshc_undoToast, .dshc_withdrawnRow {\n animation: none;\n }\n\n .dshc_typingDots i {\n opacity: .6;\n animation: none;\n }\n\n .dshc_undoBar {\n animation: none;\n }\n\n .dshc_message, .dshc_room, .dshc_card, .dshc_sendButton, .dshc_primaryButton, .dshc_secondaryButton, .dshc_mentionButton, .dshc_mentionBadge, .dshc_cardViewButton {\n transition: none;\n }\n}\n\n.dshc_leadCard {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n border-radius: 14px;\n align-items: center;\n gap: 10px;\n margin: 8px 8px 4px;\n display: flex;\n}\n\n.dshc_leadCardButton {\n border-radius: inherit;\n min-width: 0;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n flex: auto;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n display: flex;\n}\n\n.dshc_leadCardButton:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_leadCardButton:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-alias-border-focus, currentColor);\n outline-offset: -2px;\n}\n\n.dshc_leadCardButton:disabled {\n cursor: default;\n background: none;\n}\n\n.dshc_leadCardText {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n.dshc_leadCardName {\n color: var(--dsw-alias-label-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 14px;\n font-weight: 650;\n overflow: hidden;\n}\n\n.dshc_leadCardStatus {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n overflow: hidden;\n}\n\n.dshc_message:not(.dshc_own) > .dshc_messageBody > .dshc_text {\n background: var(--dsw-alias-bg-layer-2);\n border-radius: 6px 16px 16px;\n width: fit-content;\n max-width: min(640px, 100%);\n padding: 8px 14px;\n}\n\n.dshc_message.dshc_grouped:not(.dshc_own) > .dshc_messageBody > .dshc_text {\n border-radius: 6px 16px 16px 6px;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text {\n color: var(--dsw-alias-bg-base);\n background: var(--dsw-alias-label-primary);\n box-shadow: none;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text * {\n color: inherit;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text a {\n color: inherit;\n text-decoration: underline;\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text code {\n color: inherit;\n background: color-mix(in srgb, var(--dsw-alias-bg-base) 18%, transparent);\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text .dshc_mentionBadge {\n color: var(--dsw-alias-bg-base);\n background: color-mix(in srgb, var(--dsw-alias-bg-base) 24%, transparent);\n}\n\n.dshc_own > .dshc_messageBody > .dshc_text .dshc_mentionBadge:hover {\n background: color-mix(in srgb, var(--dsw-alias-bg-base) 36%, transparent);\n}\n\n.dshc_boardDrawerBackdrop {\n background: #00000040;\n place-items: stretch end;\n padding: 0;\n}\n\n.dshc_boardDrawerBackdrop > .dshc_taskBoardDialog {\n box-sizing: border-box;\n border-radius: 0;\n width: min(440px, 100%);\n height: 100dvh;\n max-height: none;\n animation: .2s ease-out dshc_boardDrawerIn;\n}\n\n@keyframes dshc_boardDrawerIn {\n from {\n opacity: 0;\n transform: translateX(24px);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_boardDrawerBackdrop > .dshc_taskBoardDialog {\n animation: none;\n }\n}\n\n.dshc_schemeToggle {\n border-radius: var(--dsw-radius-sm);\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n margin-left: 4px;\n font-size: 16px;\n line-height: 1;\n display: inline-flex;\n}\n\n.dshc_schemeToggle:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_schemeToggle:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_schemeToggle + .dshc_panelToggleEnd {\n margin-left: 4px;\n}\n\n.dshc_progressCard {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n box-shadow: 0 6px 18px #0000000a, 0 -12px 0 0 var(--dsw-alias-bg-base);\n border-radius: 14px;\n flex: none;\n margin: 8px 16px 4px;\n padding: 8px 14px;\n font-size: 12px;\n position: relative;\n}\n\n.dshc_progressHead {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.dshc_progressTitle {\n color: var(--dsw-alias-label-primary);\n font-size: 12px;\n}\n\n.dshc_progressSummary {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n flex: 1;\n overflow: hidden;\n}\n\n.dshc_progressToggle {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n min-width: 22px;\n height: 24px;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n cursor: pointer;\n background: none;\n flex: none;\n justify-content: center;\n align-items: center;\n gap: 4px;\n margin-left: auto;\n padding: 0 10px;\n font-size: 12px;\n font-weight: 500;\n line-height: 1;\n display: inline-flex;\n}\n\n.dshc_progressChevron {\n font-size: 12px;\n}\n\n.dshc_progressToggle:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_progressToggle:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_progressCard[data-folded=\"true\"] {\n padding: 6px 12px;\n}\n\n.dshc_progressRows {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: 0 14px;\n margin: 4px 0 0;\n display: grid;\n}\n\n.dshc_progressRow {\n min-width: 0;\n}\n\n.dshc_progressRow dt {\n color: var(--dsw-alias-label-tertiary);\n font-size: 10px;\n}\n\n.dshc_progressRow dd {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n margin: 0;\n overflow: hidden;\n}\n\n.dshc_progressRow[data-empty=\"true\"] dd {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dshc_progressRow[data-row=\"open\"][data-empty=\"false\"] dd, .dshc_progressRow[data-row=\"open\"] .dshc_progressLink {\n color: var(--dsw-alias-state-warning-primary, #b7791f);\n}\n\n.dshc_progressLink {\n max-width: 100%;\n color: inherit;\n font: inherit;\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.dshc_progressLink:hover {\n text-decoration: underline;\n}\n\n@media (width <= 760px) {\n .dshc_progressCard {\n margin: 6px 10px 2px;\n }\n\n .dshc_progressRows {\n grid-template-columns: 52px minmax(0, 1fr);\n }\n\n .dshc_progressRow {\n display: contents;\n }\n}\n\n.dshc_stepChips {\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n display: flex;\n}\n\n.dshc_stepChip {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n max-width: 220px;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n border-radius: 999px;\n align-items: center;\n gap: 5px;\n padding: 2px 9px 2px 7px;\n font-size: 11px;\n display: inline-flex;\n}\n\n.dshc_stepChip b {\n color: var(--dsw-alias-label-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 600;\n overflow: hidden;\n}\n\n.dshc_stepChip:disabled {\n cursor: default;\n}\n\n.dshc_stepChip[aria-expanded=\"true\"] {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_stepChip[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_stepChip[data-state=\"failed\"] b {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_stepChip[data-state=\"running\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-business-primary) 55%, var(--dsw-alias-border-l2));\n}\n\n.dshc_stepMark {\n background: var(--dsw-alias-label-tertiary);\n border-radius: 50%;\n flex: none;\n width: 7px;\n height: 7px;\n}\n\n.dshc_stepChip[data-state=\"ok\"] .dshc_stepMark {\n background: #23a55a;\n}\n\n.dshc_stepChip[data-state=\"failed\"] .dshc_stepMark {\n background: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_stepChip[data-state=\"running\"] .dshc_stepMark {\n background: var(--dsw-alias-state-business-primary);\n animation: 1s ease-in-out infinite dshc_channels-blink;\n}\n\n@keyframes dshc_channels-blink {\n 50% {\n opacity: .3;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_stepChip[data-state=\"running\"] .dshc_stepMark {\n animation: none;\n }\n}\n\n.dshc_stepOut {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-base));\n color: var(--dsw-alias-label-secondary);\n border-radius: 8px;\n flex-basis: 100%;\n gap: 4px;\n padding: 8px 10px;\n font-size: 11px;\n line-height: 1.5;\n display: grid;\n}\n\n.dshc_stepOut[data-state=\"failed\"] {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, var(--dsw-alias-border-l2));\n}\n\n.dshc_stepOut div {\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.dshc_stepOut span {\n color: var(--dsw-alias-label-tertiary);\n flex: none;\n}\n\n.dshc_stepOut code {\n overflow-wrap: anywhere;\n min-width: 0;\n font-family: ui-monospace, Menlo, monospace;\n}\n\n.dshc_stepOut[data-state=\"failed\"] > div[data-state=\"failed\"] > div:last-child > code {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_decideTray {\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 55%, var(--dsw-alias-border-l2));\n background: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 7%, var(--dsw-alias-bg-layer-2));\n border-radius: 14px;\n flex-direction: column;\n max-height: 45%;\n margin: 0 16px 8px;\n display: flex;\n overflow-y: auto;\n}\n\n.dshc_decideTrayHead {\n width: 100%;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n flex: none;\n align-items: baseline;\n gap: 8px;\n padding: 7px 12px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_decideTrayHead strong {\n color: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 70%, var(--dsw-alias-label-primary));\n}\n\n.dshc_decideTrayHead small {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.dshc_decideTrayHead:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n outline-offset: -2px;\n}\n\n.dshc_decideTrayToggle {\n color: var(--dsw-alias-label-secondary);\n white-space: nowrap;\n margin-left: auto;\n}\n\n.dshc_decideTray .dshc_permTray {\n max-height: none;\n margin: 0;\n padding: 0 8px 8px;\n}\n\n.dshc_askList {\n flex-direction: column;\n display: flex;\n}\n\n.dshc_askItem {\n border-top: 1px solid color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 30%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n flex-wrap: wrap;\n align-items: center;\n gap: 6px 10px;\n padding: 8px 12px;\n display: flex;\n}\n\n.dshc_askKind {\n color: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 75%, var(--dsw-alias-label-primary));\n background: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 15%, transparent);\n border-radius: 5px;\n flex: none;\n padding: 0 6px;\n font-size: 11px;\n}\n\n.dshc_askText {\n flex-direction: column;\n flex: 200px;\n min-width: 0;\n font-size: 13px;\n display: flex;\n}\n\n.dshc_askQuestion {\n overflow-wrap: anywhere;\n}\n\n.dshc_askFrom {\n color: var(--dsw-alias-label-secondary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n overflow: hidden;\n}\n\n.dshc_askForm {\n flex: 0 260px;\n align-items: center;\n gap: 6px;\n min-width: 160px;\n display: flex;\n}\n\n.dshc_askInput {\n border: 1px solid var(--dsw-alias-border-l2);\n min-width: 0;\n color: inherit;\n background: var(--dsw-alias-bg-base);\n font: inherit;\n border-radius: 8px;\n flex: 1;\n padding: 4px 8px;\n font-size: 12px;\n}\n\n.dshc_askInput:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n}\n\n.dshc_askSend {\n width: 26px;\n height: 26px;\n color: var(--dsw-alias-bg-base);\n background: var(--dsw-alias-label-primary);\n cursor: pointer;\n border: 0;\n border-radius: 50%;\n flex: none;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n.dshc_askSend:disabled {\n opacity: .3;\n cursor: default;\n}\n\n.dshc_askSend:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color);\n outline-offset: 2px;\n}\n\n.dshc_askDone {\n color: var(--dsw-alias-label-secondary);\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: inline-flex;\n}\n\n.dshc_askNotice {\n color: color-mix(in srgb, var(--dsw-alias-state-warning-primary, #e9a23b) 75%, var(--dsw-alias-label-primary));\n flex-basis: 100%;\n font-size: 12px;\n}\n\n@media (width <= 900px) {\n .dshc_decideTray {\n margin: 0 8px 8px;\n }\n\n .dshc_askForm {\n flex-basis: 100%;\n }\n}\n\n.dshc_headTeam {\n flex: none;\n align-items: center;\n margin-left: auto;\n display: inline-flex;\n}\n\n.dshc_mate, .dshc_mateMore {\n border: 2px solid var(--dsw-alias-bg-base);\n background: var(--dsw-alias-bg-base);\n cursor: pointer;\n border-radius: 50%;\n justify-content: center;\n align-items: center;\n margin-left: -6px;\n padding: 0;\n display: inline-flex;\n position: relative;\n}\n\n.dshc_mate:first-child {\n margin-left: 0;\n}\n\n.dshc_mate .dshc_avatar {\n margin: 0;\n}\n\n.dshc_mateMore {\n background: var(--dsw-alias-interactive-bg-hover);\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-secondary);\n font-size: 11px;\n font-weight: 600;\n}\n\n.dshc_mateDot {\n box-sizing: border-box;\n border: 2px solid var(--dsw-alias-bg-base);\n background: var(--dsw-alias-label-tertiary);\n border-radius: 50%;\n width: 9px;\n height: 9px;\n position: absolute;\n bottom: -2px;\n right: -2px;\n}\n\n.dshc_mate[data-state=\"busy\"] .dshc_mateDot {\n background: #23a55a;\n animation: 1.6s ease-in-out infinite dshc_channels-pulse;\n}\n\n.dshc_mate[data-state=\"idle\"] .dshc_mateDot {\n background: var(--dsw-alias-bg-base);\n box-shadow: inset 0 0 0 1.5px var(--dsw-alias-label-tertiary);\n}\n\n.dshc_mate[data-state=\"error\"] .dshc_mateDot {\n background: var(--dsw-alias-state-error-primary);\n}\n\n.dshc_mate[data-state=\"offline\"] {\n opacity: .55;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_mate[data-state=\"busy\"] .dshc_mateDot {\n animation: none;\n }\n}\n\n@media (width <= 760px) {\n .dshc_headTeam {\n display: none;\n }\n}\n\n.dshc_chatHead > .dshc_headTeam + .dshc_taskBoardTrigger {\n margin-left: 12px;\n}\n\n.dshc_sideDock {\n display: none;\n}\n\n@media (width >= 1101px) {\n .dshc_page.dshc_panelOpen {\n grid-template-columns: 220px minmax(0, 1fr) min(420px, 36%) 240px;\n }\n\n .dshc_page.dshc_panelOpen.dshc_roomsHidden {\n grid-template-columns: minmax(0, 1fr) min(420px, 36%) 240px;\n }\n\n .dshc_page.dshc_panelOpen.dshc_membersHidden {\n grid-template-columns: 220px minmax(0, 1fr) min(420px, 36%);\n }\n\n .dshc_page.dshc_panelOpen.dshc_roomsHidden.dshc_membersHidden {\n grid-template-columns: minmax(0, 1fr) min(420px, 36%);\n }\n\n .dshc_page.dshc_panelOpen > .dshc_sideDock {\n border-left: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-base);\n min-width: 0;\n min-height: 0;\n display: flex;\n }\n}\n\n.dshc_sidePanel {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n max-height: none;\n box-shadow: none;\n border: 0;\n border-radius: 0;\n margin: 0;\n animation: .2s ease-out dshc_boardDrawerIn;\n position: relative;\n}\n\n.dshc_sidePanel:focus {\n outline: none;\n}\n\n.dshc_sidePanelClose {\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n font-size: 18px;\n line-height: 1;\n position: absolute;\n top: 10px;\n right: 10px;\n}\n\n.dshc_sidePanelClose:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_sidePanel {\n animation: none;\n }\n}\n\n.dshc_sidePanel .dshc_boardCardGrid {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.dshc_slashPopup {\n z-index: 6;\n width: min(360px, 100% - 32px);\n animation: none;\n right: auto;\n}\n\n.dshc_slashGroup {\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 8px 2px;\n font-size: 11px;\n}\n\n.dshc_slashItem {\n border-radius: var(--dsw-radius-sm);\n cursor: pointer;\n align-items: baseline;\n gap: 8px;\n padding: 5px 8px;\n display: flex;\n}\n\n.dshc_slashActive {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_slashName {\n flex: none;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-weight: 600;\n}\n\n.dshc_slashMeta {\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n overflow: hidden;\n}\n\n.dshc_sendButton.dshc_stopButton {\n background: var(--dsw-alias-label-primary);\n}\n\n.dshc_stopNote + .dshc_sendButton {\n margin-left: 8px;\n}\n\n.dshc_sendButton.dshc_stopButton[data-phase=\"stopping\"] {\n opacity: .6;\n cursor: progress;\n}\n\n.dshc_stopNote {\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n margin-left: auto;\n font-size: 12px;\n}\n\n.dshc_cmdLine {\n color: var(--dsw-alias-label-tertiary);\n flex-wrap: wrap;\n align-items: baseline;\n gap: 6px;\n padding: 1px 16px 1px 72px;\n font-size: 12px;\n display: flex;\n}\n\n.dshc_cmdLine code {\n color: var(--dsw-alias-label-secondary);\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n}\n\n.dshc_cmdResult {\n min-width: 0;\n max-width: 60ch;\n color: inherit;\n font: inherit;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.dshc_cmdResult[aria-expanded=\"true\"] {\n white-space: pre-line;\n max-width: none;\n}\n\n.dshc_cmdLine[data-failed=\"true\"] .dshc_cmdResult {\n color: var(--dsw-alias-danger, #d94848);\n}\n\n@media (width <= 720px) {\n .dshc_cmdLine {\n padding-left: 16px;\n }\n}\n\n.dshc_msgTool {\n justify-content: center;\n align-items: center;\n width: 26px;\n height: 24px;\n padding: 0;\n display: inline-flex;\n position: relative;\n}\n\n.dshc_msgTool[data-tip]:after {\n content: attr(data-tip);\n z-index: 3;\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-label-primary-inverted);\n white-space: nowrap;\n opacity: 0;\n pointer-events: none;\n border-radius: 4px;\n padding: 2px 6px;\n font-size: 11px;\n position: absolute;\n top: calc(100% + 4px);\n left: 50%;\n transform: translateX(-50%);\n}\n\n.dshc_msgTool[data-tip]:hover:after, .dshc_msgTool[data-tip]:focus-visible:after {\n opacity: 1;\n transition: opacity 0s 80ms;\n}\n\n.dshc_permSessionButton {\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n text-underline-offset: 2px;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 4px 6px;\n font-size: 12px;\n text-decoration: underline;\n}\n\n.dshc_permSessionButton:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_permSessionButton:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.dshc_queuedButton {\n border: 1px solid var(--dsw-alias-border-default, #0000001f);\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n cursor: pointer;\n background: none;\n border-radius: 9px;\n padding: 0 6px;\n font-size: 11px;\n line-height: 16px;\n}\n\n.dshc_queuedButton:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.dshc_queuedTag {\n color: #a76a06;\n background: #eaa02824;\n border-radius: 4px;\n padding: 0 5px;\n font-size: 11px;\n line-height: 16px;\n}\n\n[data-queued] .dshc_ownActions {\n opacity: 1;\n}\n\n.dshc_memory {\n margin-top: 4px;\n}\n\n.dshc_memoryBadge {\n background: var(--dsw-alias-fill-secondary, #0000000d);\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n cursor: pointer;\n border: 0;\n border-radius: 9px;\n align-items: center;\n gap: 4px;\n padding: 0 6px;\n font-size: 11px;\n line-height: 18px;\n display: inline-flex;\n}\n\n.dshc_memoryBadge:hover, .dshc_memoryBadge[aria-expanded=\"true\"] {\n color: var(--dsw-alias-label-secondary);\n}\n\n.dshc_memoryList {\n border-left: 2px solid var(--dsw-alias-border-default, #0000001f);\n flex-direction: column;\n gap: 4px;\n max-width: 560px;\n margin: 4px 0 0;\n padding: 6px 10px;\n font-size: 12px;\n list-style: none;\n display: flex;\n}\n\n.dshc_memoryItem {\n flex-direction: column;\n display: flex;\n}\n\n.dshc_memoryTitle {\n color: var(--dsw-alias-label-secondary);\n line-height: 1.5;\n}\n\n.dshc_memoryPage {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n font-family: var(--dsw-font-mono, ui-monospace, monospace);\n}\n\n.dshc_delivery {\n flex-direction: column;\n gap: 6px;\n max-width: 720px;\n margin-top: 8px;\n display: flex;\n}\n\n.dshc_deliveryFrame {\n border: 1px solid var(--background-modifier-accent, #7f7f7f4d);\n background: #fff;\n border-radius: 6px;\n height: 360px;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_deliveryActions {\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.dshc_deliveryActions a {\n text-decoration: none;\n}\n\n.dshc_deliveryDone {\n color: var(--text-muted, #888);\n font-size: 12px;\n}\n\n.dshc_deliveryFullDialog {\n box-sizing: border-box;\n flex-direction: column;\n gap: 8px;\n width: 94vw;\n max-width: none;\n height: 92dvh;\n display: flex;\n}\n\n.dshc_deliveryFullFrame {\n background: #fff;\n border-radius: 6px;\n flex: 1;\n min-height: 0;\n display: flex;\n overflow: hidden;\n}\n\n.dshc_dmTitle {\n color: var(--text-muted, #888);\n margin: 14px 8px 4px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.dshc_dmAvatar {\n margin-right: 6px;\n display: inline-flex;\n}\n\n.dshc_dmRow {\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.dshc_dmRow .dshc_room {\n padding-right: 26px;\n}\n\n.dshc_dmClose {\n border-radius: var(--dsw-radius-sm, 4px);\n width: 20px;\n height: 20px;\n color: var(--dsw-alias-label-tertiary, #888);\n font: inherit;\n cursor: pointer;\n opacity: 0;\n background: none;\n border: 0;\n padding: 0;\n font-size: 15px;\n line-height: 20px;\n position: absolute;\n right: 4px;\n}\n\n.dshc_dmRow:hover .dshc_dmClose, .dshc_dmClose:focus-visible {\n opacity: 1;\n}\n\n.dshc_dmClose:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n@media (hover: none) {\n .dshc_dmClose {\n opacity: 1;\n }\n}\n\n.dshc_dmHead {\n margin-top: 14px;\n}\n\n.dshc_dmPicker {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-2);\n flex-direction: column;\n margin: 0 4px 4px;\n padding: 4px;\n display: flex;\n}\n\n.dshc_dmPickNone {\n color: var(--dsw-alias-label-tertiary);\n padding: 6px 8px;\n font-size: 12px;\n}\n\n.dshc_dmNewRow {\n color: var(--dsw-alias-label-tertiary);\n font-size: 13px;\n}\n\nbutton.dshc_headMeta {\n border-radius: var(--dsw-radius-sm);\n min-width: 0;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n flex: 0 auto;\n padding: 2px 6px;\n font-size: 12px;\n}\n\nbutton.dshc_headMeta:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dshc_headSpacer {\n flex: auto;\n}\n\n.dshc_roomUnread {\n color: var(--dsw-alias-label-primary);\n font-weight: 650;\n}\n\n.dshc_unreadBadge {\n color: #fff;\n background: var(--dsw-alias-state-danger-primary, #e5484d);\n text-align: center;\n font-variant-numeric: tabular-nums;\n border-radius: 999px;\n flex: none;\n min-width: 18px;\n padding: 0 5px;\n font-size: 11px;\n font-weight: 600;\n line-height: 18px;\n}\n\n.dshc_slashDisabled {\n opacity: .45;\n cursor: not-allowed;\n}\n\n.dshc_leadCardHint {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n overflow: hidden;\n}\n\n.dshc_roomWorking {\n max-width: 96px;\n color: var(--dsw-alias-state-business-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: none;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 500;\n display: inline-flex;\n overflow: hidden;\n}\n\n.dshc_roomWorkingDot {\n background: currentColor;\n border-radius: 50%;\n flex: none;\n width: 6px;\n height: 6px;\n animation: 1.4s ease-in-out infinite dshc_roomWorkingPulse;\n}\n\n@keyframes dshc_roomWorkingPulse {\n 50% {\n opacity: .35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dshc_roomWorkingDot {\n animation: none;\n }\n}\n\n.dshc_drawerTools {\n display: none;\n}\n\n@media (width <= 600px) {\n .dshc_drawerTools {\n flex-wrap: wrap;\n gap: 6px;\n margin: 0 8px 8px;\n display: flex;\n }\n\n .dshc_chatHead > .dshc_taskBoardTrigger, .dshc_chatHead > .dshc_schemeToggle, .dshc_chatHead > .dshc_headMeta, .dshc_chatHead > .dshc_headTeam {\n display: none;\n }\n\n .dshc_chatHead > .dshc_roomName {\n flex: auto;\n }\n}\n\n.dshc_panelOpen .dshc_chatHead > .dshc_headTeam, .dshc_panelOpen .dshc_chatHead > .dshc_headMeta {\n display: none;\n}\n\n.dshc_panelOpen .dshc_chatHead > .dshc_roomName {\n flex: 0 auto;\n}\n[data-dc-scheme=\"light\"] {\n --dsw-static-amber-100: #fef5e7;\n --dsw-static-amber-400: #f7ad31;\n --dsw-static-amber-500: #f59e0b;\n --dsw-static-amber-600: #dd8629;\n --dsw-static-amber-900: #27241f;\n --dsw-static-blue-100: #dbeafe;\n --dsw-static-blue-300: #93c5fd;\n --dsw-static-blue-400: #60a5fa;\n --dsw-static-blue-450: #4d93f8;\n --dsw-static-blue-500: #3b82f6;\n --dsw-static-blue-50: #eff6ff;\n --dsw-static-blue-50p: #eaf3ff;\n --dsw-static-blue-600: #2563eb;\n --dsw-static-blue-75: #e5f0ff;\n --dsw-static-blue-800: #1e40af;\n --dsw-static-blue-900: #0e3074;\n --dsw-static-blue-950: #172554;\n --dsw-static-deepseek-100: #e4edfd;\n --dsw-static-deepseek-200: #d3e2ff;\n --dsw-static-deepseek-300: #b7c8fe;\n --dsw-static-deepseek-400: #7aaaff;\n --dsw-static-deepseek-450: #5686fe;\n --dsw-static-deepseek-500: #4176e6;\n --dsw-static-deepseek-50: #edf3fe;\n --dsw-static-deepseek-600: #4868b2;\n --dsw-static-deepseek-700-delete: #2f4c8f;\n --dsw-static-deepseek-800: #34415b;\n --dsw-static-deepseek-900: #283142;\n --dsw-static-green-100: #e6faed;\n --dsw-static-green-400: #4ed17e;\n --dsw-static-green-500: #22c55e;\n --dsw-static-green-500-a08: #22c55e14;\n --dsw-static-green-500-a12: #22c55e1f;\n --dsw-static-green-900: #233c2c;\n --dsw-static-neutral-00: #fff;\n --dsw-static-neutral-1000: #000;\n --dsw-static-neutral-100: #f5f5f5;\n --dsw-static-neutral-150: #ededed;\n --dsw-static-neutral-200: #e5e5e5;\n --dsw-static-neutral-250: #dcdcdc;\n --dsw-static-neutral-300: #d4d4d4;\n --dsw-static-neutral-400: #a2a4a6;\n --dsw-static-neutral-500: #7f8287;\n --dsw-static-neutral-50: #fafafa;\n --dsw-static-neutral-550: #65676b;\n --dsw-static-neutral-600: #545557;\n --dsw-static-neutral-700: #3c3c3d;\n --dsw-static-neutral-800: #292929;\n --dsw-static-neutral-850: #212123;\n --dsw-static-neutral-900: #0f0f0f;\n --dsw-static-neutral-bluish-00: #fff;\n --dsw-static-neutral-bluish-1000: #0f1115;\n --dsw-static-neutral-bluish-100: #ebeef2;\n --dsw-static-neutral-bluish-150: #e9ecf2;\n --dsw-static-neutral-bluish-200: #e1e5ee;\n --dsw-static-neutral-bluish-300: #cfd3d6;\n --dsw-static-neutral-bluish-400: #adb2b8;\n --dsw-static-neutral-bluish-500: #979da6;\n --dsw-static-neutral-bluish-50: #f9fafb;\n --dsw-static-neutral-bluish-600: #81858c;\n --dsw-static-neutral-bluish-60: #f5f6f7;\n --dsw-static-neutral-bluish-700: #61666b;\n --dsw-static-neutral-bluish-750: #43454a;\n --dsw-static-neutral-bluish-75: #f1f3f5;\n --dsw-static-neutral-bluish-800: #353638;\n --dsw-static-neutral-bluish-850: #2c2c2e;\n --dsw-static-neutral-bluish-875: #232324;\n --dsw-static-neutral-bluish-900: #1b1b1c;\n --dsw-static-neutral-bluish-950: #151517;\n --dsw-static-red-100: #fee2e2;\n --dsw-static-red-400: #f25a5a;\n --dsw-static-red-400-a12: #f25a5a1f;\n --dsw-static-red-500: #ef4444;\n --dsw-static-red-50: #fef2f2;\n --dsw-static-red-600: #ec1313;\n --dsw-static-red-600-a08: #ec131314;\n --dsw-static-red-900: #570c0c;\n}\n\n[data-dc-scheme=\"dark\"] {\n --dsw-static-amber-100: #fef5e7;\n --dsw-static-amber-400: #f7ad31;\n --dsw-static-amber-500: #f59e0b;\n --dsw-static-amber-600: #dd8629;\n --dsw-static-amber-900: #27241f;\n --dsw-static-blue-100: #dbeafe;\n --dsw-static-blue-300: #93c5fd;\n --dsw-static-blue-400: #60a5fa;\n --dsw-static-blue-450: #4d93f8;\n --dsw-static-blue-500: #3b82f6;\n --dsw-static-blue-50: #eff6ff;\n --dsw-static-blue-50p: #eaf3ff;\n --dsw-static-blue-600: #2563eb;\n --dsw-static-blue-75: #e5f0ff;\n --dsw-static-blue-800: #1e40af;\n --dsw-static-blue-900: #0e3074;\n --dsw-static-blue-950: #172554;\n --dsw-static-deepseek-100: #e4edfd;\n --dsw-static-deepseek-200: #d3e2ff;\n --dsw-static-deepseek-300: #b7c8fe;\n --dsw-static-deepseek-400: #7aaaff;\n --dsw-static-deepseek-450: #5686fe;\n --dsw-static-deepseek-500: #4176e6;\n --dsw-static-deepseek-50: #edf3fe;\n --dsw-static-deepseek-600: #4868b2;\n --dsw-static-deepseek-700-delete: #2f4c8f;\n --dsw-static-deepseek-800: #34415b;\n --dsw-static-deepseek-900: #283142;\n --dsw-static-green-100: #e6faed;\n --dsw-static-green-400: #4ed17e;\n --dsw-static-green-500: #22c55e;\n --dsw-static-green-500-a08: #22c55e14;\n --dsw-static-green-500-a12: #22c55e1f;\n --dsw-static-green-900: #233c2c;\n --dsw-static-neutral-00: #fff;\n --dsw-static-neutral-1000: #000;\n --dsw-static-neutral-100: #f5f5f5;\n --dsw-static-neutral-150: #ededed;\n --dsw-static-neutral-200: #e5e5e5;\n --dsw-static-neutral-250: #dcdcdc;\n --dsw-static-neutral-300: #d4d4d4;\n --dsw-static-neutral-400: #a2a4a6;\n --dsw-static-neutral-500: #7f8287;\n --dsw-static-neutral-50: #fafafa;\n --dsw-static-neutral-550: #65676b;\n --dsw-static-neutral-600: #545557;\n --dsw-static-neutral-700: #3c3c3d;\n --dsw-static-neutral-800: #292929;\n --dsw-static-neutral-850: #212123;\n --dsw-static-neutral-900: #0f0f0f;\n --dsw-static-neutral-bluish-00: #fff;\n --dsw-static-neutral-bluish-1000: #0f1115;\n --dsw-static-neutral-bluish-100: #ebeef2;\n --dsw-static-neutral-bluish-150: #e9ecf2;\n --dsw-static-neutral-bluish-200: #e1e5ee;\n --dsw-static-neutral-bluish-300: #cfd3d6;\n --dsw-static-neutral-bluish-400: #adb2b8;\n --dsw-static-neutral-bluish-500: #979da6;\n --dsw-static-neutral-bluish-50: #f9fafb;\n --dsw-static-neutral-bluish-600: #81858c;\n --dsw-static-neutral-bluish-60: #f9fafb;\n --dsw-static-neutral-bluish-700: #61666b;\n --dsw-static-neutral-bluish-750: #43454a;\n --dsw-static-neutral-bluish-75: #f1f3f5;\n --dsw-static-neutral-bluish-800: #353638;\n --dsw-static-neutral-bluish-850: #2c2c2e;\n --dsw-static-neutral-bluish-875: #232324;\n --dsw-static-neutral-bluish-900: #1b1b1c;\n --dsw-static-neutral-bluish-950: #151517;\n --dsw-static-red-100: #fee2e2;\n --dsw-static-red-400: #f25a5a;\n --dsw-static-red-400-a12: #f25a5a1f;\n --dsw-static-red-500: #ef4444;\n --dsw-static-red-50: #fef2f2;\n --dsw-static-red-600: #ec1313;\n --dsw-static-red-600-a08: #ec131314;\n --dsw-static-red-900: #570c0c;\n}\n\n[data-dc-scheme=\"light\"] {\n --dsw-alias-bg-base: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-document-preview: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-bg-document-selection: color-mix(in srgb, var(--dsw-static-blue-500) 40%, transparent);\n --dsw-alias-label-document-preview: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-bg-layer-1: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-layer-2: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-layer-3: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-bg-mask-1: #0000003d;\n --dsw-alias-bg-mask-2: #0000001f;\n --dsw-alias-bg-mask-3: #0000007a;\n --dsw-alias-bg-mask-photo: #000000e0;\n --dsw-alias-bg-mask-drop: #ffffffb3;\n --dsw-alias-bg-module-platform: var(--dsw-static-neutral-bluish-60);\n --dsw-alias-bg-multi-select: var(--dsw-static-neutral-bluish-60);\n --dsw-alias-bg-overlay: var(--dsw-static-neutral-bluish-150);\n --dsw-alias-bg-skeleton: #0000000a;\n --dsw-alias-border-inverted2: #0000;\n --dsw-alias-border-inverted: #0000;\n --dsw-alias-border-l1: #0000000a;\n --dsw-alias-border-l2-darkmode-thin: #0000001a;\n --dsw-alias-border-l2: #0000001a;\n --dsw-alias-border-l3: #0000001f;\n --dsw-alias-border-l4: #00000029;\n --dsw-alias-brand-primary-invert: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-brand-primary-new-colorprimary-new-color: #4176e6;\n --dsw-alias-brand-primary: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-brand-text: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-button-contrast-fill: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-button-elevated-fill: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-button-floating-fill: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-button-floating-hover: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-button-ghost-active-border: var(--dsw-static-neutral-bluish-500);\n --dsw-alias-button-ghost-active-fill: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-button-ghost-active-hover: var(--dsw-static-neutral-bluish-150);\n --dsw-alias-button-info-fill: var(--dsw-static-deepseek-500);\n --dsw-alias-button-info-hover: var(--dsw-static-deepseek-400);\n --dsw-alias-button-primary-dimmed: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary);\n --dsw-alias-button-primary-hover: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-tool-bar-fill-invisible: #1f1f1f5c;\n --dsw-alias-button-tool-bar-fill: #54555780;\n --dsw-alias-button-tool-bar-hover: #54555799;\n --dsw-alias-interactive-bg-active: #2631481a;\n --dsw-alias-interactive-bg-hover-accent: #26314824;\n --dsw-alias-interactive-bg-hover-danger: #ec13130d;\n --dsw-alias-interactive-bg-hover-solid: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-interactive-bg-hover: #2631480f;\n --dsw-alias-label-caption: var(--dsw-static-neutral-bluish-400);\n --dsw-alias-label-deep-diving: color-mix(in srgb, var(--dsw-static-deepseek-500) 70%, var(--dsw-static-blue-950));\n --dsw-alias-label-deep-diving-shimmer: color-mix(in srgb, var(--dsw-static-deepseek-500) 30%, var(--dsw-static-blue-950));\n --dsw-alias-label-dimmed: var(--dsw-static-neutral-bluish-200);\n --dsw-alias-label-primary-bluish: var(--dsw-static-blue-900);\n --dsw-alias-label-primary-dimmed: var(--dsw-static-neutral-bluish-950);\n --dsw-alias-label-primary-foreground: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-label-primary-inverted: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-label-primary: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-label-secondary: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-label-shimmer: color-mix(in srgb, var(--dsw-static-neutral-1000) 30%, transparent);\n --dsw-alias-label-tertiary: var(--dsw-static-neutral-bluish-600);\n --dsw-alias-menu-icon: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-link: var(--dsw-static-deepseek-500);\n --dsw-alias-markdown-citation: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-markdown-code-block-banner: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-markdown-code-block: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-markdown-code-segment-selected: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-markdown-code-segment-unselected: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-markdown-inline-code: var(--dsw-static-neutral-50);\n --dsw-alias-markdown-placeholder: var(--dsw-static-neutral-bluish-60);\n --dsw-alias-markdown-tag: var(--dsw-static-neutral-bluish-75);\n --dsw-alias-scrollbar-bg-l1: var(--dsw-static-neutral-200);\n --dsw-alias-scrollbar-bg-l2: var(--dsw-static-neutral-200);\n --dsw-alias-scrollbar-hover-l1: var(--dsw-static-neutral-300);\n --dsw-alias-scrollbar-hover-l2: var(--dsw-static-neutral-300);\n --dsw-alias-state-business-primary: var(--dsw-static-deepseek-500);\n --dsw-alias-state-business-tertiary: var(--dsw-static-deepseek-100);\n --dsw-alias-code-diff-added: var(--dsw-static-green-500-a08);\n --dsw-alias-code-diff-deleted: var(--dsw-static-red-600-a08);\n --dsw-alias-file-diff-added-bg: #e6f4e7;\n --dsw-alias-file-diff-added-gutter: #edf7ed;\n --dsw-alias-file-diff-added-marker: #01a241;\n --dsw-alias-file-diff-deleted-bg: #fce6e2;\n --dsw-alias-file-diff-deleted-gutter: #fdece9;\n --dsw-alias-file-diff-deleted-marker: #ba2723;\n --dsw-alias-state-error-primary: var(--dsw-static-red-600);\n --dsw-alias-state-error-secondary: var(--dsw-static-red-400);\n --dsw-alias-state-idle-primary: var(--dsw-static-neutral-300);\n --dsw-alias-state-success-primary: var(--dsw-static-green-500);\n --dsw-alias-state-success-secondary: var(--dsw-static-green-400);\n --dsw-alias-state-success-tertiary: var(--dsw-static-green-100);\n --dsw-alias-state-warn-label: var(--dsw-static-amber-600);\n --dsw-alias-state-warn-primary: var(--dsw-static-amber-500);\n --dsw-alias-state-warn-secondary: var(--dsw-static-amber-400);\n --dsw-alias-state-warn-tertiary: var(--dsw-static-amber-100);\n --dsw-alias-switch-thumb: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-toast-bg: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-toast-label: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-tooltip-bg: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-tooltip-key-bg: color-mix(in srgb, var(--dsw-alias-tooltip-bg), white 18%);\n --dsw-alias-turn-trigger-bg: var(--dsw-alias-markdown-code-block);\n --dsw-alias-turn-trigger-bg-hover: var(--dsw-alias-interactive-bg-hover);\n --dsw-specific-bubble-highlight: var(--dsw-static-deepseek-200);\n --dsw-specific-bubble: var(--dsw-static-deepseek-50);\n --dsw-specific-input-major: var(--dsw-static-neutral-bluish-00);\n --dsw-specific-login-input: var(--dsw-static-neutral-bluish-50);\n --dsw-menu-surface-fill: #f8f9fa94;\n --dsw-alias-menu-group-header-fill: #f8f9faf0;\n --dsw-specific-menu: var(--dsw-menu-surface-fill);\n --dsw-specific-selector: var(--dsw-static-neutral-bluish-60);\n --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-50);\n --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-deepseek-100);\n --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-100);\n --dsw-specific-sidebar-nav-item-hover: var(--dsw-static-neutral-bluish-75);\n --dsw-specific-tip: var(--dsw-static-neutral-bluish-60);\n}\n\n[data-dc-scheme=\"dark\"] {\n --dsw-alias-bg-base: var(--dsw-static-neutral-bluish-950);\n --dsw-alias-bg-document-preview: var(--dsw-static-neutral-bluish-950);\n --dsw-alias-bg-document-selection: color-mix(in srgb, var(--dsw-static-blue-500) 40%, transparent);\n --dsw-alias-label-document-preview: var(--dsw-static-neutral-bluish-300);\n --dsw-alias-bg-layer-1: var(--dsw-static-neutral-bluish-875);\n --dsw-alias-bg-layer-2: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-bg-layer-3: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-bg-mask-1: #00000080;\n --dsw-alias-bg-mask-2: #0003;\n --dsw-alias-bg-mask-3: #0000007a;\n --dsw-alias-bg-mask-photo: #000000e0;\n --dsw-alias-bg-mask-drop: #272730b3;\n --dsw-alias-bg-module-platform: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-bg-multi-select: var(--dsw-static-neutral-850);\n --dsw-alias-bg-overlay: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-bg-skeleton: #ffffff14;\n --dsw-alias-border-inverted2: #ffffff14;\n --dsw-alias-border-inverted: #ffffff0f;\n --dsw-alias-border-l1: #ffffff0f;\n --dsw-alias-border-l2-darkmode-thin: #ffffff0f;\n --dsw-alias-border-l2: #ffffff1f;\n --dsw-alias-border-l3: #ffffff29;\n --dsw-alias-border-l4: #fff3;\n --dsw-alias-brand-primary-invert: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-brand-primary-new-colorprimary-new-color: var(--dsw-static-deepseek-450);\n --dsw-alias-brand-primary: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-brand-text: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-button-contrast-fill: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-button-elevated-fill: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-floating-fill: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-button-floating-hover: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-button-ghost-active-border: var(--dsw-static-neutral-bluish-600);\n --dsw-alias-button-ghost-active-fill: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-ghost-active-hover: var(--dsw-static-neutral-bluish-700);\n --dsw-alias-button-info-fill: var(--dsw-static-deepseek-400);\n --dsw-alias-button-info-hover: var(--dsw-static-deepseek-500);\n --dsw-alias-button-primary-dimmed: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary);\n --dsw-alias-button-primary-hover: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-button-tool-bar-fill-invisible: #1f1f1f5c;\n --dsw-alias-button-tool-bar-fill: #54555780;\n --dsw-alias-button-tool-bar-hover: #54555799;\n --dsw-alias-interactive-bg-active: #ffffff24;\n --dsw-alias-interactive-bg-hover-accent: #ffffff3d;\n --dsw-alias-interactive-bg-hover-danger: #f25a5a26;\n --dsw-alias-interactive-bg-hover-solid: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-interactive-bg-hover: #ffffff14;\n --dsw-alias-label-caption: var(--dsw-static-neutral-bluish-600);\n --dsw-alias-label-deep-diving: color-mix(in srgb, var(--dsw-static-deepseek-450) 55%, var(--dsw-static-neutral-bluish-400));\n --dsw-alias-label-deep-diving-shimmer: color-mix(in srgb, var(--dsw-static-blue-300) 65%, var(--dsw-static-deepseek-400));\n --dsw-alias-label-dimmed: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-label-primary-bluish: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-label-primary-dimmed: var(--dsw-static-neutral-bluish-100);\n --dsw-alias-label-primary-foreground: var(--dsw-static-neutral-bluish-1000);\n --dsw-alias-label-primary-inverted: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-label-primary: var(--dsw-static-neutral-bluish-50);\n --dsw-alias-label-secondary: var(--dsw-static-neutral-bluish-300);\n --dsw-alias-label-shimmer: color-mix(in srgb, var(--dsw-static-neutral-00) 45%, transparent);\n --dsw-alias-label-tertiary: var(--dsw-static-neutral-bluish-400);\n --dsw-alias-menu-icon: var(--dsw-alias-label-primary-dimmed);\n --dsw-alias-link: var(--dsw-static-deepseek-400);\n --dsw-alias-markdown-citation: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-markdown-code-block-banner: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-markdown-code-block: var(--dsw-static-neutral-bluish-900);\n --dsw-alias-markdown-code-segment-selected: var(--dsw-static-neutral-bluish-800);\n --dsw-alias-markdown-code-segment-unselected: var(--dsw-static-neutral-bluish-900);\n --dsw-alias-markdown-inline-code: var(--dsw-static-neutral-800);\n --dsw-alias-markdown-placeholder: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-markdown-tag: var(--dsw-static-neutral-bluish-850);\n --dsw-alias-scrollbar-bg-l1: var(--dsw-static-neutral-700);\n --dsw-alias-scrollbar-bg-l2: var(--dsw-static-neutral-600);\n --dsw-alias-scrollbar-hover-l1: var(--dsw-static-neutral-600);\n --dsw-alias-scrollbar-hover-l2: var(--dsw-static-neutral-550);\n --dsw-alias-state-business-primary: var(--dsw-static-deepseek-400);\n --dsw-alias-state-business-tertiary: var(--dsw-static-deepseek-800);\n --dsw-alias-code-diff-added: var(--dsw-static-green-500-a12);\n --dsw-alias-code-diff-deleted: var(--dsw-static-red-400-a12);\n --dsw-alias-file-diff-added-bg: #1f3124;\n --dsw-alias-file-diff-added-gutter: #132016;\n --dsw-alias-file-diff-added-marker: #41c977;\n --dsw-alias-file-diff-deleted-bg: #3c1f1b;\n --dsw-alias-file-diff-deleted-gutter: #28130e;\n --dsw-alias-file-diff-deleted-marker: #fa423e;\n --dsw-alias-state-error-primary: var(--dsw-static-red-400);\n --dsw-alias-state-error-secondary: var(--dsw-static-red-400);\n --dsw-alias-state-idle-primary: var(--dsw-static-neutral-600);\n --dsw-alias-state-success-primary: var(--dsw-static-green-500);\n --dsw-alias-state-success-secondary: var(--dsw-static-green-400);\n --dsw-alias-state-success-tertiary: var(--dsw-static-green-900);\n --dsw-alias-state-warn-label: var(--dsw-static-amber-600);\n --dsw-alias-state-warn-primary: var(--dsw-static-amber-500);\n --dsw-alias-state-warn-secondary: var(--dsw-static-amber-400);\n --dsw-alias-state-warn-tertiary: var(--dsw-static-amber-900);\n --dsw-alias-switch-thumb: var(--dsw-static-neutral-bluish-400);\n --dsw-alias-toast-bg: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-toast-label: var(--dsw-static-neutral-bluish-00);\n --dsw-alias-turn-trigger-bg: var(--dsw-alias-interactive-bg-hover);\n --dsw-alias-turn-trigger-bg-hover: var(--dsw-alias-interactive-bg-active);\n --dsw-alias-tooltip-bg: var(--dsw-static-neutral-bluish-750);\n --dsw-alias-tooltip-key-bg: color-mix(in srgb, var(--dsw-alias-tooltip-bg), white 18%);\n --dsw-specific-bubble-highlight: var(--dsw-static-neutral-bluish-750);\n --dsw-specific-bubble: var(--dsw-static-neutral-bluish-850);\n --dsw-specific-input-major: var(--dsw-static-neutral-bluish-850);\n --dsw-specific-login-input: var(--dsw-static-neutral-bluish-900);\n --dsw-menu-surface-fill: #43454a73;\n --dsw-alias-menu-group-header-fill: #303136f0;\n --dsw-specific-menu: var(--dsw-menu-surface-fill);\n --dsw-specific-selector: var(--dsw-static-neutral-bluish-800);\n --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-900);\n --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-neutral-bluish-800);\n --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-750);\n --dsw-specific-sidebar-nav-item-hover: var(--dsw-static-neutral-bluish-850);\n --dsw-specific-tip: var(--dsw-static-neutral-bluish-800);\n}\n\nhtml[data-platform=\"darwin\"] [data-dc-scheme=\"light\"] {\n --dsw-specific-menu: #f8f9faf0;\n}\n\nhtml[data-platform=\"darwin\"] [data-dc-scheme=\"dark\"] {\n --dsw-specific-menu: #303136f0;\n}\n\n[data-dc-scheme=\"light\"] {\n color-scheme: light;\n}\n\n[data-dc-scheme=\"dark\"] {\n color-scheme: dark;\n}\n.dshc_embed {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n min-height: 0;\n padding-top: var(--dsh-frame-top-clearance, 0px);\n background: var(--dsw-alias-bg-base);\n display: flex;\n}\n\n.dshc_frame {\n background: var(--dsw-alias-bg-base);\n border: 0;\n flex: 1;\n width: 100%;\n height: 100%;\n}\n";document.head.appendChild(s)})();
9
9
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
10
10
  // \0rolldown/runtime.js
11
+ var __create = Object.create;
11
12
  var __defProp = Object.defineProperty;
13
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
14
+ var __getOwnPropNames = Object.getOwnPropertyNames;
15
+ var __getProtoOf = Object.getPrototypeOf;
16
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
17
  var __exportAll = (all, no_symbols) => {
13
18
  let target = {};
14
19
  for (var name in all) __defProp(target, name, {
@@ -18,9 +23,24 @@ var __exportAll = (all, no_symbols) => {
18
23
  if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
19
24
  return target;
20
25
  };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
28
+ key = keys[i];
29
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
30
+ get: ((k) => from[k]).bind(null, key),
31
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
32
+ });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
37
+ value: mod,
38
+ enumerable: true
39
+ }) : target, mod));
21
40
  let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
22
41
  let react_jsx_runtime = require("react/jsx-runtime");
23
42
  let react = require("react");
43
+ react = __toESM(react, 1);
24
44
  let react_dom = require("react-dom");
25
45
  // src/client/uuid.ts
26
46
  /**
@@ -16772,6 +16792,7 @@ var ChannelsPage_module_default = {
16772
16792
  "jumpCount": "dshc_jumpCount",
16773
16793
  "jumpLatest": "dshc_jumpLatest",
16774
16794
  "leadCard": "dshc_leadCard",
16795
+ "leadCardButton": "dshc_leadCardButton",
16775
16796
  "leadCardHint": "dshc_leadCardHint",
16776
16797
  "leadCardName": "dshc_leadCardName",
16777
16798
  "leadCardStatus": "dshc_leadCardStatus",
@@ -16803,6 +16824,7 @@ var ChannelsPage_module_default = {
16803
16824
  "memoryPage": "dshc_memoryPage",
16804
16825
  "memoryTitle": "dshc_memoryTitle",
16805
16826
  "mentionActive": "dshc_mentionActive",
16827
+ "mentionBadge": "dshc_mentionBadge",
16806
16828
  "mentionButton": "dshc_mentionButton",
16807
16829
  "mentionHint": "dshc_mentionHint",
16808
16830
  "mentionItem": "dshc_mentionItem",
@@ -18782,6 +18804,186 @@ function insertMention(text, caret, member) {
18782
18804
  caret: caret + insert.length
18783
18805
  };
18784
18806
  }
18807
+ // src/client/mention-highlight.tsx
18808
+ /**
18809
+ * Mention badge highlighting for channel message text and quotes.
18810
+ * Highlights valid channel members/roles as pill badges (Discord-style),
18811
+ * cleanly separated from regular text, without false positives in code or emails.
18812
+ */
18813
+ function escapeRegex(s) {
18814
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
18815
+ }
18816
+ /**
18817
+ * Builds a regex matcher and lookup map for channel member mention aliases.
18818
+ * Longest aliases are prioritized so e.g. "@阿柚子" matches before "@阿柚".
18819
+ */
18820
+ function buildMentionMatcher(members) {
18821
+ if (!members || members.length === 0) return void 0;
18822
+ const aliasMap = /* @__PURE__ */ new Map();
18823
+ for (const m of members) {
18824
+ const name = m.name?.trim();
18825
+ const id = m.id?.trim();
18826
+ if (name) aliasMap.set("@" + name, m);
18827
+ if (id) {
18828
+ aliasMap.set("@" + id, m);
18829
+ aliasMap.set("<@" + id + ">", m);
18830
+ aliasMap.set("<@!" + id + ">", m);
18831
+ }
18832
+ if (m.mentionId) {
18833
+ aliasMap.set("<@" + m.mentionId + ">", m);
18834
+ aliasMap.set("<@!" + m.mentionId + ">", m);
18835
+ }
18836
+ }
18837
+ const sortedAliases = Array.from(aliasMap.keys()).sort((a, b) => b.length - a.length);
18838
+ if (sortedAliases.length === 0) return void 0;
18839
+ const parts = sortedAliases.map((alias) => {
18840
+ const escaped = escapeRegex(alias);
18841
+ return /[a-zA-Z0-9_]$/.test(alias) ? `${escaped}(?![a-zA-Z0-9_])` : escaped;
18842
+ });
18843
+ return {
18844
+ regex: new RegExp(`(?<=^|[^a-zA-Z0-9_])(${parts.join("|")})`, "g"),
18845
+ aliasMap
18846
+ };
18847
+ }
18848
+ /**
18849
+ * Splits plain text into non-mention and mention segments.
18850
+ */
18851
+ function splitMentions(text, members) {
18852
+ if (!text) return [];
18853
+ const matcher = buildMentionMatcher(members);
18854
+ if (!matcher) return [{ text }];
18855
+ const { regex, aliasMap } = matcher;
18856
+ const segments = [];
18857
+ let lastIndex = 0;
18858
+ for (const match of text.matchAll(regex)) {
18859
+ const matchText = match[0];
18860
+ const startIndex = match.index ?? 0;
18861
+ if (startIndex > lastIndex) segments.push({ text: text.slice(lastIndex, startIndex) });
18862
+ const member = aliasMap.get(matchText);
18863
+ segments.push({
18864
+ text: matchText,
18865
+ member
18866
+ });
18867
+ lastIndex = startIndex + matchText.length;
18868
+ }
18869
+ if (lastIndex < text.length) segments.push({ text: text.slice(lastIndex) });
18870
+ return segments;
18871
+ }
18872
+ /**
18873
+ * Formats mention text for display in the pill badge:
18874
+ * converts raw Discord tags like <@12345> into readable @Name.
18875
+ */
18876
+ function formatMentionBadgeText(rawText, member) {
18877
+ if (rawText.startsWith("<@")) return `@${member.name}`;
18878
+ return rawText;
18879
+ }
18880
+ /**
18881
+ * Highlights mentions in the text nodes of a container element without
18882
+ * touching code blocks (<pre>, <code>), input controls, or scripts.
18883
+ */
18884
+ function highlightMentionsInElement(container, members, badgeClassName = ChannelsPage_module_default.mentionBadge) {
18885
+ if (!container || !members || members.length === 0) return;
18886
+ const matcher = buildMentionMatcher(members);
18887
+ if (!matcher) return;
18888
+ const doc = container.ownerDocument || document;
18889
+ const existing = container.querySelectorAll(`.${badgeClassName}, [data-mention]`);
18890
+ for (const el of existing) el.replaceWith(doc.createTextNode(el.textContent || ""));
18891
+ container.normalize();
18892
+ const walker = doc.createTreeWalker(container, NodeFilter.SHOW_TEXT, { acceptNode(node) {
18893
+ const parent = node.parentElement;
18894
+ if (!parent) return NodeFilter.FILTER_REJECT;
18895
+ if (parent.closest("pre, code, textarea, input, script, style")) return NodeFilter.FILTER_REJECT;
18896
+ return NodeFilter.FILTER_ACCEPT;
18897
+ } });
18898
+ const textNodes = [];
18899
+ let curr;
18900
+ while (curr = walker.nextNode()) textNodes.push(curr);
18901
+ for (const node of textNodes) {
18902
+ const text = node.nodeValue || "";
18903
+ if (!text) continue;
18904
+ matcher.regex.lastIndex = 0;
18905
+ if (!matcher.regex.test(text)) continue;
18906
+ const segments = splitMentions(text, members);
18907
+ if (segments.length === 1 && !segments[0]?.member) continue;
18908
+ const fragment = doc.createDocumentFragment();
18909
+ for (const seg of segments) if (!seg.member) fragment.appendChild(doc.createTextNode(seg.text));
18910
+ else {
18911
+ const badge = doc.createElement("span");
18912
+ badge.className = badgeClassName;
18913
+ badge.dataset.mention = seg.member.id;
18914
+ badge.title = `@${seg.member.name}`;
18915
+ badge.textContent = formatMentionBadgeText(seg.text, seg.member);
18916
+ fragment.appendChild(badge);
18917
+ }
18918
+ node.replaceWith(fragment);
18919
+ }
18920
+ }
18921
+ /**
18922
+ * Renders quote text with mention pill badges as React elements.
18923
+ */
18924
+ function renderQuoteMentions(text, members, onMention, badgeClassName = ChannelsPage_module_default.mentionBadge) {
18925
+ return splitMentions(text, members).map((seg, idx) => {
18926
+ if (!seg.member) return seg.text;
18927
+ const member = seg.member;
18928
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
18929
+ className: badgeClassName,
18930
+ "data-mention": member.id,
18931
+ title: `@${member.name}`,
18932
+ onClick: onMention ? (e) => {
18933
+ e.stopPropagation();
18934
+ onMention(member);
18935
+ } : void 0,
18936
+ children: formatMentionBadgeText(seg.text, member)
18937
+ }, idx);
18938
+ });
18939
+ }
18940
+ const useIsomorphicLayoutEffect = typeof window !== "undefined" ? react.useLayoutEffect : react.useEffect;
18941
+ /**
18942
+ * Wraps MarkdownText and applies Discord-style pill badge highlighting
18943
+ * to recognized channel member mentions.
18944
+ */
18945
+ function HighlightedMarkdown({ text, labels, members, className, inline, dataCardText, onMention }) {
18946
+ const containerRef = (0, react.useRef)(null);
18947
+ useIsomorphicLayoutEffect(() => {
18948
+ const el = containerRef.current;
18949
+ if (!el || !members || members.length === 0) return;
18950
+ highlightMentionsInElement(el, members, ChannelsPage_module_default.mentionBadge);
18951
+ }, [text, members]);
18952
+ const handleClick = (e) => {
18953
+ if (!onMention || !members) return;
18954
+ const target = e.target.closest("[data-mention]");
18955
+ if (!target) return;
18956
+ const mentionId = target.dataset.mention;
18957
+ const member = members.find((m) => m.id === mentionId);
18958
+ if (member) {
18959
+ e.stopPropagation();
18960
+ onMention(member);
18961
+ }
18962
+ };
18963
+ if (inline) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
18964
+ ref: (el) => {
18965
+ containerRef.current = el;
18966
+ },
18967
+ className,
18968
+ onClick: handleClick,
18969
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
18970
+ text,
18971
+ labels
18972
+ }, text)
18973
+ });
18974
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
18975
+ ref: (el) => {
18976
+ containerRef.current = el;
18977
+ },
18978
+ className,
18979
+ "data-card-text": dataCardText ? true : void 0,
18980
+ onClick: handleClick,
18981
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
18982
+ text,
18983
+ labels
18984
+ }, text)
18985
+ });
18986
+ }
18785
18987
  // src/client/avatars.ts
18786
18988
  /**
18787
18989
  * Built-in member avatars served by the collab plugin at `collab/avatars/<slug>.png`:
@@ -19565,8 +19767,8 @@ const tabLabels = {
19565
19767
  workspace: "settingsWorkspace"
19566
19768
  };
19567
19769
  /** Drafts and save outcomes live for the whole dialog, independently of the selected tab. */
19568
- function ChannelSettingsDialog({ room, members, effectiveLead, renameRoom, setDispatchMode, setMaxRelay, setLead, setWorkspacePath, renewRoom, t, onClose }) {
19569
- const [tab, setTab] = (0, react.useState)("basic");
19770
+ function ChannelSettingsDialog({ room, members, effectiveLead, renameRoom, setDispatchMode, setMaxRelay, setLead, setWorkspacePath, renewRoom, initialTab = "basic", t, onClose }) {
19771
+ const [tab, setTab] = (0, react.useState)(initialTab);
19570
19772
  const [name, setName] = (0, react.useState)(room.name);
19571
19773
  const [mode, setMode] = (0, react.useState)(room.dispatch_mode ?? "mixed");
19572
19774
  const [relay, setRelay] = (0, react.useState)(String(room.max_relay ?? RELAY_CAP_MIN));
@@ -20405,7 +20607,7 @@ function compactComposer() {
20405
20607
  return typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(hover: none), (max-width: 600px)").matches;
20406
20608
  }
20407
20609
  /** The quoted original above a reply; a deleted original shows only a placeholder. */
20408
- function Quote({ quote, t }) {
20610
+ function Quote({ quote, t, members, onMention }) {
20409
20611
  if (quote.deleted === true) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
20410
20612
  className: `${ChannelsPage_module_default.quote} ${ChannelsPage_module_default.quoteDeleted}`,
20411
20613
  children: t("replyDeleted")
@@ -20415,7 +20617,7 @@ function Quote({ quote, t }) {
20415
20617
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20416
20618
  className: ChannelsPage_module_default.quoteAuthor,
20417
20619
  children: quote.name
20418
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: quote.text })]
20620
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: members ? renderQuoteMentions(quote.text, members, onMention) : quote.text })]
20419
20621
  });
20420
20622
  }
20421
20623
  const CARD_VIEW_DEFAULT = "brief";
@@ -20537,7 +20739,7 @@ function MemoryBadge({ items, t }) {
20537
20739
  });
20538
20740
  }
20539
20741
  const LONG_PRESS_MS = 450;
20540
- function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onCloseMenu, onMention, onDm, onReview, onDecide, onReply, onTask, onRetry, retrying, tasks, focused, cardView, onCardView, own, grouped, enter, queuedFor, taskCardShown = true, toolsOpen = false, onLongPress }) {
20742
+ function MessageRow({ message, member, members, t, onConfigure, menuOpen, onAvatar, onCloseMenu, onMention, onDm, onReview, onDecide, onReply, onTask, onRetry, retrying, tasks, focused, cardView, onCardView, own, grouped, enter, queuedFor, taskCardShown = true, toolsOpen = false, onLongPress }) {
20541
20743
  const labels = (0, react.useMemo)(() => ({
20542
20744
  code: {
20543
20745
  copyLabel: t("copyCode"),
@@ -20641,9 +20843,12 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
20641
20843
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20642
20844
  className: ChannelsPage_module_default.systemText,
20643
20845
  title: fullTime,
20644
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
20846
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HighlightedMarkdown, {
20645
20847
  text: markdown,
20646
- labels
20848
+ labels,
20849
+ members,
20850
+ onMention,
20851
+ inline: true
20647
20852
  })
20648
20853
  })
20649
20854
  }), card?.kind === "task" && typeof card.task_id === "number" && taskCardShown && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -20671,12 +20876,12 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
20671
20876
  "aria-hidden": true,
20672
20877
  children: "!"
20673
20878
  }),
20674
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
20879
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HighlightedMarkdown, {
20880
+ text: markdown,
20881
+ labels,
20882
+ members,
20675
20883
  className: ChannelsPage_module_default.errorText,
20676
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
20677
- text: markdown,
20678
- labels
20679
- })
20884
+ onMention
20680
20885
  }),
20681
20886
  retryButtons
20682
20887
  ]
@@ -20786,7 +20991,9 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
20786
20991
  children: [
20787
20992
  message.reply_to !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Quote, {
20788
20993
  quote: message.reply_to,
20789
- t
20994
+ t,
20995
+ members,
20996
+ onMention
20790
20997
  }),
20791
20998
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
20792
20999
  className: grouped ? `${ChannelsPage_module_default.messageHead} ${ChannelsPage_module_default.messageHeadGrouped}` : ChannelsPage_module_default.messageHead,
@@ -20876,12 +21083,12 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
20876
21083
  ]
20877
21084
  })]
20878
21085
  }) : card === void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
20879
- message.text !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21086
+ message.text !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HighlightedMarkdown, {
21087
+ text: markdown,
21088
+ labels,
21089
+ members,
20880
21090
  className: ChannelsPage_module_default.text,
20881
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
20882
- text: markdown,
20883
- labels
20884
- })
21091
+ onMention
20885
21092
  }),
20886
21093
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AttachmentList, {
20887
21094
  attachments: message.attachments,
@@ -20935,13 +21142,13 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
20935
21142
  chips,
20936
21143
  runState: card.state,
20937
21144
  t
20938
- }) : !progressFolded && progressLines.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21145
+ }) : !progressFolded && progressLines.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HighlightedMarkdown, {
21146
+ text: stepsMarkdown,
21147
+ labels,
21148
+ members,
20939
21149
  className: `${ChannelsPage_module_default.text} ${ChannelsPage_module_default.runSteps}`,
20940
- "data-card-text": true,
20941
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
20942
- text: stepsMarkdown,
20943
- labels
20944
- })
21150
+ dataCardText: true,
21151
+ onMention
20945
21152
  }),
20946
21153
  retryButtons
20947
21154
  ]
@@ -20953,12 +21160,12 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
20953
21160
  "aria-hidden": true,
20954
21161
  children: "●"
20955
21162
  }),
20956
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21163
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HighlightedMarkdown, {
21164
+ text: markdown,
21165
+ labels,
21166
+ members,
20957
21167
  className: ChannelsPage_module_default.text,
20958
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
20959
- text: markdown,
20960
- labels
20961
- })
21168
+ onMention
20962
21169
  }),
20963
21170
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20964
21171
  className: ChannelsPage_module_default.permWaiting,
@@ -20977,12 +21184,12 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
20977
21184
  children: card.title
20978
21185
  })
20979
21186
  }),
20980
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21187
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HighlightedMarkdown, {
21188
+ text: markdown,
21189
+ labels,
21190
+ members,
20981
21191
  className: ChannelsPage_module_default.text,
20982
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
20983
- text: markdown,
20984
- labels
20985
- })
21192
+ onMention
20986
21193
  }),
20987
21194
  retryButtons,
20988
21195
  card.kind === "permission" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PermissionCard, {
@@ -21100,7 +21307,7 @@ function MessageRow({ message, member, t, onConfigure, menuOpen, onAvatar, onClo
21100
21307
  });
21101
21308
  }
21102
21309
  /** One pending permission request in the tray above the composer (#113). */
21103
- function PermTrayItem({ message, author, t, onDecide }) {
21310
+ function PermTrayItem({ message, author, members, onMention, t, onDecide }) {
21104
21311
  const labels = (0, react.useMemo)(() => ({
21105
21312
  code: {
21106
21313
  copyLabel: t("copyCode"),
@@ -21126,12 +21333,12 @@ function PermTrayItem({ message, author, t, onDecide }) {
21126
21333
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
21127
21334
  className: ChannelsPage_module_default.permTrayWho,
21128
21335
  children: t("permAsks", { name: message.name })
21129
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21336
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HighlightedMarkdown, {
21337
+ text: markdown,
21338
+ labels,
21339
+ members,
21130
21340
  className: ChannelsPage_module_default.text,
21131
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
21132
- text: markdown,
21133
- labels
21134
- })
21341
+ onMention
21135
21342
  })]
21136
21343
  }),
21137
21344
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PermissionCard, {
@@ -21371,8 +21578,10 @@ function ChannelsPage({ useChannels, selectRoom, send, reviewTask, dispatchTask,
21371
21578
  const [memberError, setMemberError] = (0, react.useState)(void 0);
21372
21579
  const [retryingId, setRetryingId] = (0, react.useState)(void 0);
21373
21580
  const [settingsOpen, setSettingsOpen] = (0, react.useState)(false);
21581
+ const [settingsTab, setSettingsTab] = (0, react.useState)("basic");
21374
21582
  const settingsButtonRef = (0, react.useRef)(null);
21375
21583
  const settingsReturnRef = (0, react.useRef)(null);
21584
+ const leadCardRef = (0, react.useRef)(null);
21376
21585
  (0, react.useEffect)(() => {
21377
21586
  if (!settingsOpen) return;
21378
21587
  const opener = settingsReturnRef.current;
@@ -22130,37 +22339,49 @@ function ChannelsPage({ useChannels, selectRoom, send, reviewTask, dispatchTask,
22130
22339
  "aria-modal": drawer === "rooms" ? true : void 0,
22131
22340
  tabIndex: drawer === "rooms" ? -1 : void 0,
22132
22341
  children: [
22133
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
22342
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
22134
22343
  className: ChannelsPage_module_default.leadCard,
22135
22344
  role: "group",
22136
22345
  "aria-label": t("leadCard"),
22137
- title: lead === void 0 ? leadStatus : `${lead.name} · ${leadStatus}`,
22138
- children: [lead !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar, {
22139
- id: lead.id,
22140
- name: lead.name,
22141
- avatar: lead.avatar,
22142
- avatarVersion: lead.avatarVersion
22143
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
22144
- className: ChannelsPage_module_default.leadCardText,
22145
- children: [
22146
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
22147
- className: ChannelsPage_module_default.leadCardName,
22148
- children: lead?.name ?? t("headLead")
22149
- }),
22150
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
22151
- className: ChannelsPage_module_default.leadCardStatus,
22152
- children: [
22153
- t("leadPinned"),
22154
- " · ",
22155
- leadStatus
22156
- ]
22157
- }),
22158
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
22159
- className: ChannelsPage_module_default.leadCardHint,
22160
- children: t("leadCardHint")
22161
- })
22162
- ]
22163
- })]
22346
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
22347
+ ref: leadCardRef,
22348
+ type: "button",
22349
+ className: ChannelsPage_module_default.leadCardButton,
22350
+ disabled: room === void 0,
22351
+ title: `${lead === void 0 ? leadStatus : `${lead.name} · ${leadStatus}`}\n${t("leadCardChange")}`,
22352
+ onClick: () => {
22353
+ settingsReturnRef.current = leadCardRef.current;
22354
+ setDrawer(void 0);
22355
+ setSettingsTab("dispatch");
22356
+ setSettingsOpen(true);
22357
+ },
22358
+ children: [lead !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar, {
22359
+ id: lead.id,
22360
+ name: lead.name,
22361
+ avatar: lead.avatar,
22362
+ avatarVersion: lead.avatarVersion
22363
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
22364
+ className: ChannelsPage_module_default.leadCardText,
22365
+ children: [
22366
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
22367
+ className: ChannelsPage_module_default.leadCardName,
22368
+ children: lead?.name ?? t("headLead")
22369
+ }),
22370
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
22371
+ className: ChannelsPage_module_default.leadCardStatus,
22372
+ children: [
22373
+ t("leadPinned"),
22374
+ " · ",
22375
+ leadStatus
22376
+ ]
22377
+ }),
22378
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
22379
+ className: ChannelsPage_module_default.leadCardHint,
22380
+ children: leadId == null ? t("leadCardSet") : t("leadCardHint")
22381
+ })
22382
+ ]
22383
+ })]
22384
+ })
22164
22385
  }),
22165
22386
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
22166
22387
  className: ChannelsPage_module_default.groupHead,
@@ -22531,6 +22752,7 @@ function ChannelsPage({ useChannels, selectRoom, send, reviewTask, dispatchTask,
22531
22752
  message: m,
22532
22753
  grouped: continues(visibleMessages[index - 1], m) && !answerIds.has(visibleMessages[index - 1]?.id ?? -1) && !(visibleMessages[index - 1]?.author_kind === "user" && commandLine(visibleMessages[index - 1]?.text ?? "") !== void 0),
22533
22754
  member: byId.get(m.author),
22755
+ members: visibleMembers,
22534
22756
  t,
22535
22757
  onConfigure: () => {
22536
22758
  if (!openModelSettings()) setModelsOpen(true);
@@ -22630,6 +22852,8 @@ function ChannelsPage({ useChannels, selectRoom, send, reviewTask, dispatchTask,
22630
22852
  children: pendingPerms.map((m) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PermTrayItem, {
22631
22853
  message: m,
22632
22854
  author: byId.get(m.author),
22855
+ members: visibleMembers,
22856
+ onMention: mentionFromAvatar,
22633
22857
  t,
22634
22858
  onDecide: decidePermission
22635
22859
  }, m.id))
@@ -22908,6 +23132,7 @@ function ChannelsPage({ useChannels, selectRoom, send, reviewTask, dispatchTask,
22908
23132
  onClick: () => {
22909
23133
  settingsReturnRef.current = drawer === "members" ? membersToggleRef.current : settingsButtonRef.current;
22910
23134
  setDrawer(void 0);
23135
+ setSettingsTab("basic");
22911
23136
  setSettingsOpen(true);
22912
23137
  },
22913
23138
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
@@ -23003,6 +23228,7 @@ function ChannelsPage({ useChannels, selectRoom, send, reviewTask, dispatchTask,
23003
23228
  settingsOpen && room !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelSettingsDialog, {
23004
23229
  room,
23005
23230
  members: visibleMembers,
23231
+ initialTab: settingsTab,
23006
23232
  effectiveLead: room.effective_lead_id === void 0 ? state.effectiveLeadId ?? state.leadId ?? "" : room.effective_lead_id ?? "",
23007
23233
  renameRoom,
23008
23234
  setDispatchMode,
@@ -23072,7 +23298,7 @@ const zh = {
23072
23298
  mateReplying: "在回复",
23073
23299
  headLeadIdle: "空闲",
23074
23300
  headLeadBusyUnreported: "在忙",
23075
- headLeadUnset: "未设总管",
23301
+ headLeadUnset: "未设主角色",
23076
23302
  progressTitle: "本频道进展",
23077
23303
  progressDone: "做完",
23078
23304
  progressDoing: "在做",
@@ -23104,6 +23330,8 @@ const zh = {
23104
23330
  leadPinned: "主角色",
23105
23331
  leadCard: "主角色",
23106
23332
  leadCardHint: "接你的话,派活给队友,收结果",
23333
+ leadCardSet: "点这里选一个",
23334
+ leadCardChange: "点开频道设置,换主角色",
23107
23335
  activityPanel: "活动",
23108
23336
  activityNow: "正在进行",
23109
23337
  activityThinking: "思考中",
@@ -23452,6 +23680,8 @@ const en = {
23452
23680
  leadPinned: "Primary role",
23453
23681
  leadCard: "Primary role",
23454
23682
  leadCardHint: "Takes your messages, hands work to teammates, collects results",
23683
+ leadCardSet: "Click to pick one",
23684
+ leadCardChange: "Open channel settings to change the primary role",
23455
23685
  activityPanel: "Activity",
23456
23686
  activityNow: "Now",
23457
23687
  activityThinking: "Thinking",
@@ -23586,7 +23816,7 @@ const en = {
23586
23816
  capabilityReminderHelp: "Dispatched tasks receive one reminder when due. The owner returns a result or explains the blocker.",
23587
23817
  capabilityWorkspaceHelp: "Assign work to a role in the chat channel. Roles create workspaces when needed; questions and progress return to the chat channel.",
23588
23818
  capabilityLeadHelp: "Choose a role under Primary role in the members panel. Messages without an explicit addressee then go to the new primary role.",
23589
- capabilityDmHelp: "Use 私聊 in the left column or 发私信 in a bot's avatar menu to talk with that role one to one, away from the channel. Roles can also message the configured owner.",
23819
+ capabilityDmHelp: "Use New message under Direct messages in the left column, or Message privately in a bot's avatar menu, to talk with that role one to one, away from the channel. Roles can also message the configured owner.",
23590
23820
  configureModel: "Add a model key",
23591
23821
  configureModelHint: "Models are configured in Settings → Models: use the settings entry at the bottom of the sidebar, or press ⌘, in the desktop app (Ctrl+, on Windows/Linux).",
23592
23822
  retry: "Retry",