@senguoyun/dsh-arkme 0.1.56 → 0.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/harness-activity.md +18 -0
- package/docs/harness-quick-create.md +13 -0
- package/docs/harness-session-dropdown.md +65 -0
- package/docs/harness-sidebar-settings.md +9 -0
- package/docs/harness-trajectory-navigation.md +28 -0
- package/lib/client.js +972 -239
- package/lib/client.js.map +1 -1
- package/lib/harness-sidebar-client.js +840 -0
- package/lib/harness-trajectory-client.js +254 -0
- package/lib/index.js +70 -3
- package/lib/persistent-extension.js +1 -1
- package/lib/{persistent-runtime-Bsk6in2a.js → persistent-runtime-BnDj8qcY.js} +194 -15
- package/lib/types/client/ArkmePersistentShell.d.ts.map +1 -1
- package/lib/types/client/ArkmeQuickAdd.d.ts +5 -2
- package/lib/types/client/ArkmeQuickAdd.d.ts.map +1 -1
- package/lib/types/client/ArkmeSidebar.d.ts +6 -1
- package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
- package/lib/types/client/ArkmeSourceBreadcrumb.d.ts +9 -2
- package/lib/types/client/ArkmeSourceBreadcrumb.d.ts.map +1 -1
- package/lib/types/client/ArkmeVirtualWorkspace.d.ts +3 -1
- package/lib/types/client/ArkmeVirtualWorkspace.d.ts.map +1 -1
- package/lib/types/client/DeepSeekHarnessSurface.d.ts +2 -1
- package/lib/types/client/DeepSeekHarnessSurface.d.ts.map +1 -1
- package/lib/types/client/frame-menu-dismissal.d.ts +3 -0
- package/lib/types/client/frame-menu-dismissal.d.ts.map +1 -0
- package/lib/types/client/harness-activity-reporter.d.ts +4 -0
- package/lib/types/client/harness-activity-reporter.d.ts.map +1 -0
- package/lib/types/client/harness-activity.d.ts +49 -0
- package/lib/types/client/harness-activity.d.ts.map +1 -0
- package/lib/types/client/harness-new-session.d.ts +3 -0
- package/lib/types/client/harness-new-session.d.ts.map +1 -0
- package/lib/types/client/harness-session-dropdown.d.ts +9 -0
- package/lib/types/client/harness-session-dropdown.d.ts.map +1 -0
- package/lib/types/client/harness-session-hover.d.ts +3 -0
- package/lib/types/client/harness-session-hover.d.ts.map +1 -0
- package/lib/types/client/harness-session-list-default.d.ts +12 -0
- package/lib/types/client/harness-session-list-default.d.ts.map +1 -0
- package/lib/types/client/harness-session-menu-bridge.d.ts +16 -0
- package/lib/types/client/harness-session-menu-bridge.d.ts.map +1 -0
- package/lib/types/client/harness-session-summary.d.ts +28 -0
- package/lib/types/client/harness-session-summary.d.ts.map +1 -0
- package/lib/types/client/harness-sidebar-client.d.ts +5 -0
- package/lib/types/client/harness-sidebar-client.d.ts.map +1 -0
- package/lib/types/client/harness-trajectory-client.d.ts +5 -0
- package/lib/types/client/harness-trajectory-client.d.ts.map +1 -0
- package/lib/types/client/harness-trajectory-menu.d.ts +7 -0
- package/lib/types/client/harness-trajectory-menu.d.ts.map +1 -0
- package/lib/types/client/self-topic-sort-preference.d.ts +5 -0
- package/lib/types/client/self-topic-sort-preference.d.ts.map +1 -0
- package/lib/types/client/use-harness-activity.d.ts +3 -0
- package/lib/types/client/use-harness-activity.d.ts.map +1 -0
- package/lib/types/harness-embed-contract.d.ts +2 -0
- package/lib/types/harness-embed-contract.d.ts.map +1 -1
- package/lib/types/harness-embed-route.d.ts +3 -1
- package/lib/types/harness-embed-route.d.ts.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/services/chat-service.d.ts +2 -0
- package/lib/types/services/chat-service.d.ts.map +1 -1
- package/lib/types/services/source-service.d.ts +7 -0
- package/lib/types/services/source-service.d.ts.map +1 -1
- package/lib/types/types.d.ts +2 -2
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +5 -5
package/lib/client.js
CHANGED
|
@@ -5934,7 +5934,7 @@ window.__ModuleLoader__.load({
|
|
|
5934
5934
|
qrcode.stringToBytes;
|
|
5935
5935
|
//#endregion
|
|
5936
5936
|
//#region package.json
|
|
5937
|
-
var version$3 = "0.1.
|
|
5937
|
+
var version$3 = "0.1.58";
|
|
5938
5938
|
//#endregion
|
|
5939
5939
|
//#region src/client/arkme-billing.css?inline
|
|
5940
5940
|
var arkme_billing_default = ".arkme-billing-backdrop {\n z-index: 120;\n backdrop-filter: blur(3px);\n background: #181b223d;\n place-items: center;\n padding: 28px;\n display: grid;\n position: fixed;\n inset: 0;\n}\n\n.arkme-billing-recharge-dialog, .arkme-billing-payment-dialog {\n color: #20232c;\n background: #fff;\n border: 1px solid #dedfe3;\n border-radius: 20px;\n width: min(620px, 100%);\n max-height: min(720px, 100vh - 56px);\n overflow-y: auto;\n box-shadow: 0 24px 72px #191c232e;\n}\n\n.arkme-billing-payment-dialog {\n width: min(420px, 100%);\n}\n\n.arkme-billing-dialog-header {\n border-bottom: 1px solid #ececef;\n justify-content: space-between;\n align-items: flex-start;\n gap: 18px;\n min-height: 78px;\n padding: 20px 22px 16px;\n display: flex;\n}\n\n.arkme-billing-dialog-header h2 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n line-height: 25px;\n}\n\n.arkme-billing-dialog-header p {\n overflow-wrap: anywhere;\n color: #8a8e96;\n margin: 4px 0 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-billing-dialog-header > button {\n color: #777c85;\n width: 32px;\n height: 32px;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 9px;\n flex: none;\n place-items: center;\n font-size: 22px;\n display: grid;\n}\n\n.arkme-billing-dialog-header > button:hover {\n color: #20232c;\n background: #f3f3f5;\n}\n\n.arkme-billing-dialog-body {\n padding: 18px 22px 22px;\n}\n\n.arkme-billing-dialog-balance {\n border-bottom: 1px solid #ececef;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: center;\n column-gap: 12px;\n min-height: 48px;\n padding: 0 2px 16px;\n display: grid;\n}\n\n.arkme-billing-dialog-balance > span {\n color: #8a8e96;\n grid-column: 1;\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-billing-dialog-balance > strong {\n grid-column: 1;\n font-size: 22px;\n font-weight: 600;\n line-height: 28px;\n}\n\n.arkme-billing-dialog-balance > button, .arkme-billing-error > button {\n color: #626772;\n height: 30px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 9px;\n grid-area: 1 / 2 / span 2;\n padding: 0 12px;\n font-size: 11px;\n}\n\n.arkme-billing-products-section, .arkme-billing-payment-section {\n padding-top: 17px;\n}\n\n.arkme-billing-products-section h3, .arkme-billing-payment-section h3 {\n color: #747984;\n margin: 0 0 11px;\n font-size: 12px;\n font-weight: 500;\n line-height: 18px;\n}\n\n.arkme-billing-product-grid {\n width: 100%;\n}\n\n.arkme-billing-product-grid > button {\n color: #20232c;\n min-width: 0;\n min-height: 62px;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 11px;\n align-content: center;\n gap: 4px;\n padding: 9px 11px;\n display: grid;\n}\n\n.arkme-billing-product-grid > button:hover {\n background: #f8f8f9;\n border-color: #cfd2d8;\n}\n\n.arkme-billing-product-grid > button.is-selected {\n border-color: #75839e;\n box-shadow: 0 0 0 1px #75839e;\n}\n\n.arkme-billing-product-grid > button > span {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n font-weight: 500;\n line-height: 17px;\n overflow: hidden;\n}\n\n.arkme-billing-product-grid > button > strong {\n font-size: 14px;\n font-weight: 600;\n line-height: 19px;\n}\n\n.arkme-billing-payment-actions {\n flex-wrap: wrap;\n gap: 10px;\n display: flex;\n}\n\n.arkme-billing-payment-actions > button {\n color: #333842;\n min-width: 154px;\n height: 38px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 10px;\n justify-content: center;\n align-items: center;\n gap: 8px;\n padding: 0 14px;\n font-size: 12px;\n display: inline-flex;\n}\n\n.arkme-billing-payment-actions > button:hover {\n background: #f7f7f8;\n border-color: #cfd3da;\n}\n\n.arkme-billing-payment-actions > button:disabled, .arkme-billing-product-grid > button:disabled {\n opacity: .48;\n cursor: default;\n}\n\n.arkme-billing-platform-icon {\n flex: none;\n width: 18px;\n height: 18px;\n}\n\n.arkme-billing-platform-icon.is-alipay {\n color: #1677ff;\n}\n\n.arkme-billing-platform-icon.is-wechat {\n color: #07c160;\n}\n\n.arkme-billing-state {\n color: #858992;\n margin: 12px 0 2px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-billing-error {\n color: #b54841;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n margin-top: 10px;\n font-size: 12px;\n line-height: 18px;\n display: flex;\n}\n\n.arkme-billing-error.is-purchase {\n justify-content: flex-start;\n}\n\n.arkme-billing-payment-content {\n text-align: center;\n justify-items: center;\n gap: 10px;\n padding: 28px 24px 18px;\n display: grid;\n}\n\n.arkme-billing-payment-content > .arkme-billing-platform-icon {\n width: 38px;\n height: 38px;\n margin-bottom: 4px;\n}\n\n.arkme-billing-payment-content > img {\n border-radius: 10px;\n width: 210px;\n height: 210px;\n}\n\n.arkme-billing-payment-content > strong {\n font-size: 14px;\n font-weight: 600;\n line-height: 21px;\n}\n\n.arkme-billing-payment-content > p {\n color: #858992;\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-billing-payment-content.is-paid > strong {\n color: #16794f;\n font-size: 18px;\n line-height: 25px;\n}\n\n.arkme-billing-payment-content.is-paid > .arkme-billing-error {\n justify-content: center;\n}\n\n.arkme-billing-payment-content.is-crediting > strong {\n color: #335f9e;\n}\n\n.arkme-billing-dialog-actions {\n flex-wrap: wrap;\n justify-content: center;\n gap: 9px;\n padding: 0 22px 20px;\n display: flex;\n}\n\n.arkme-billing-dialog-actions > button, .arkme-billing-primary-action {\n color: #3c424d;\n height: 34px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 9px;\n padding: 0 14px;\n font-size: 12px;\n}\n\n.arkme-billing-dialog-actions > .arkme-billing-primary-action, .arkme-billing-payment-content > .arkme-billing-primary-action {\n color: #fff;\n background: #20232d;\n border-color: #20232d;\n}\n";
|
|
@@ -43690,7 +43690,7 @@ body[data-ds-dark-theme] .arkme-bot-identity {
|
|
|
43690
43690
|
};
|
|
43691
43691
|
//#endregion
|
|
43692
43692
|
//#region node_modules/@rc-component/util/es/hooks/useMemo.js
|
|
43693
|
-
function useMemo$
|
|
43693
|
+
function useMemo$33(getValue, condition, shouldUpdate) {
|
|
43694
43694
|
const cacheRef = react.useRef({});
|
|
43695
43695
|
if (!("value" in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {
|
|
43696
43696
|
cacheRef.current.value = getValue();
|
|
@@ -43803,7 +43803,7 @@ body[data-ds-dark-theme] .arkme-bot-identity {
|
|
|
43803
43803
|
};
|
|
43804
43804
|
};
|
|
43805
43805
|
const useComposeRef = (...refs) => {
|
|
43806
|
-
return useMemo$
|
|
43806
|
+
return useMemo$33(() => composeRef(...refs), refs, (prev, next) => prev.length !== next.length || prev.every((ref, i) => ref !== next[i]));
|
|
43807
43807
|
};
|
|
43808
43808
|
const supportRef = (nodeOrComponent) => {
|
|
43809
43809
|
if (!nodeOrComponent) return false;
|
|
@@ -127754,6 +127754,75 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
127754
127754
|
});
|
|
127755
127755
|
}
|
|
127756
127756
|
//#endregion
|
|
127757
|
+
//#region src/client/frame-menu-dismissal.ts
|
|
127758
|
+
/** Clicks and keys do not bubble across iframe documents. Watch reachable child documents only while the menu is open. */
|
|
127759
|
+
function watchFrameMenuDismissal(root, outside, keydown) {
|
|
127760
|
+
if (typeof root.querySelectorAll !== "function") return () => {};
|
|
127761
|
+
const documents = /* @__PURE__ */ new Map();
|
|
127762
|
+
const frames = /* @__PURE__ */ new Map();
|
|
127763
|
+
let disposed = false;
|
|
127764
|
+
const sync = () => {
|
|
127765
|
+
if (disposed) return;
|
|
127766
|
+
const nextDocuments = /* @__PURE__ */ new Set();
|
|
127767
|
+
const nextFrames = /* @__PURE__ */ new Set();
|
|
127768
|
+
const visit = (doc) => {
|
|
127769
|
+
if (nextDocuments.has(doc)) return;
|
|
127770
|
+
nextDocuments.add(doc);
|
|
127771
|
+
for (const frame of doc.querySelectorAll("iframe")) {
|
|
127772
|
+
nextFrames.add(frame);
|
|
127773
|
+
try {
|
|
127774
|
+
if (frame.contentDocument) visit(frame.contentDocument);
|
|
127775
|
+
} catch {}
|
|
127776
|
+
}
|
|
127777
|
+
};
|
|
127778
|
+
visit(root);
|
|
127779
|
+
for (const [doc, stop] of documents) if (!nextDocuments.has(doc)) {
|
|
127780
|
+
stop();
|
|
127781
|
+
documents.delete(doc);
|
|
127782
|
+
}
|
|
127783
|
+
for (const [frame, stop] of frames) if (!nextFrames.has(frame)) {
|
|
127784
|
+
stop();
|
|
127785
|
+
frames.delete(frame);
|
|
127786
|
+
}
|
|
127787
|
+
for (const frame of nextFrames) {
|
|
127788
|
+
if (frames.has(frame)) continue;
|
|
127789
|
+
frame.addEventListener("load", sync);
|
|
127790
|
+
frames.set(frame, () => frame.removeEventListener("load", sync));
|
|
127791
|
+
}
|
|
127792
|
+
for (const doc of nextDocuments) {
|
|
127793
|
+
if (documents.has(doc)) continue;
|
|
127794
|
+
if (doc !== root) {
|
|
127795
|
+
doc.addEventListener("pointerdown", outside, true);
|
|
127796
|
+
doc.addEventListener("mousedown", outside, true);
|
|
127797
|
+
doc.addEventListener("keydown", keydown, true);
|
|
127798
|
+
}
|
|
127799
|
+
const observer = new MutationObserver((records) => {
|
|
127800
|
+
if (records.some((record) => [...record.addedNodes, ...record.removedNodes].some((node) => node.nodeType === 1 && (node.tagName === "IFRAME" || node.querySelector("iframe"))))) sync();
|
|
127801
|
+
});
|
|
127802
|
+
observer.observe(doc, {
|
|
127803
|
+
childList: true,
|
|
127804
|
+
subtree: true
|
|
127805
|
+
});
|
|
127806
|
+
documents.set(doc, () => {
|
|
127807
|
+
observer.disconnect();
|
|
127808
|
+
if (doc !== root) {
|
|
127809
|
+
doc.removeEventListener("pointerdown", outside, true);
|
|
127810
|
+
doc.removeEventListener("mousedown", outside, true);
|
|
127811
|
+
doc.removeEventListener("keydown", keydown, true);
|
|
127812
|
+
}
|
|
127813
|
+
});
|
|
127814
|
+
}
|
|
127815
|
+
};
|
|
127816
|
+
sync();
|
|
127817
|
+
return () => {
|
|
127818
|
+
disposed = true;
|
|
127819
|
+
for (const stop of documents.values()) stop();
|
|
127820
|
+
for (const stop of frames.values()) stop();
|
|
127821
|
+
documents.clear();
|
|
127822
|
+
frames.clear();
|
|
127823
|
+
};
|
|
127824
|
+
}
|
|
127825
|
+
//#endregion
|
|
127757
127826
|
//#region src/client/ArkmeQuickAdd.tsx
|
|
127758
127827
|
const style = {
|
|
127759
127828
|
anchor: {
|
|
@@ -127956,19 +128025,41 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
127956
128025
|
onMouseLeave: (event) => {
|
|
127957
128026
|
event.currentTarget.style.background = "transparent";
|
|
127958
128027
|
},
|
|
127959
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
128028
|
+
children: [typeof icon === "string" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
127960
128029
|
"aria-hidden": true,
|
|
127961
128030
|
style: maskIcon(icon, style.menuIcon)
|
|
128031
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
128032
|
+
"aria-hidden": true,
|
|
128033
|
+
style: style.menuIcon,
|
|
128034
|
+
children: icon
|
|
127962
128035
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: label })]
|
|
127963
128036
|
});
|
|
127964
128037
|
}
|
|
127965
|
-
function ArkmeQuickAddMenu({ onContactAdd, onCreateGroup, onAddBot }) {
|
|
128038
|
+
function ArkmeQuickAddMenu({ onContactAdd, onCreateGroup, onAddBot, onNewDshSession, error }) {
|
|
127966
128039
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
127967
128040
|
"data-arkme-notification-blocking-overlay": "true",
|
|
127968
128041
|
role: "menu",
|
|
127969
128042
|
"aria-label": "添加",
|
|
127970
128043
|
style: style.menu,
|
|
127971
128044
|
children: [
|
|
128045
|
+
onNewDshSession && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeQuickAddMenuItem, {
|
|
128046
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
128047
|
+
width: 19,
|
|
128048
|
+
height: 19,
|
|
128049
|
+
viewBox: "0 0 24 24",
|
|
128050
|
+
fill: "none",
|
|
128051
|
+
stroke: "currentColor",
|
|
128052
|
+
strokeWidth: 1.6,
|
|
128053
|
+
strokeLinecap: "round",
|
|
128054
|
+
strokeLinejoin: "round",
|
|
128055
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M7 20.5 3 22l1.5-4A9 9 0 1 1 7 20.5Z" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 8v8m-4-4h8" })]
|
|
128056
|
+
}),
|
|
128057
|
+
label: "新建 DSH 会话",
|
|
128058
|
+
onClick: onNewDshSession
|
|
128059
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
128060
|
+
"aria-hidden": true,
|
|
128061
|
+
style: style.divider
|
|
128062
|
+
})] }),
|
|
127972
128063
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeQuickAddMenuItem, {
|
|
127973
128064
|
icon: user_add_linear_default,
|
|
127974
128065
|
label: "添加联系人",
|
|
@@ -127991,12 +128082,18 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
127991
128082
|
icon: cpu_linear_default,
|
|
127992
128083
|
label: "添加 Bot",
|
|
127993
128084
|
onClick: onAddBot
|
|
128085
|
+
}),
|
|
128086
|
+
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
128087
|
+
role: "alert",
|
|
128088
|
+
style: style.error,
|
|
128089
|
+
children: error
|
|
127994
128090
|
})
|
|
127995
128091
|
]
|
|
127996
128092
|
});
|
|
127997
128093
|
}
|
|
127998
|
-
function ArkmeQuickAddButton({ onContactAdd, onSourceCreated, onBotCreated, notificationActivationRevision = 0, onBlockingOverlayChange }) {
|
|
128094
|
+
function ArkmeQuickAddButton({ onContactAdd, onSourceCreated, onBotCreated, onNewDshSession, notificationActivationRevision = 0, onBlockingOverlayChange }) {
|
|
127999
128095
|
const [menuOpen, setMenuOpen] = (0, react$1.useState)(false);
|
|
128096
|
+
const [menuError, setMenuError] = (0, react$1.useState)("");
|
|
128000
128097
|
const [dialogKind, setDialogKind] = (0, react$1.useState)();
|
|
128001
128098
|
const [dialogBusy, setDialogBusy] = (0, react$1.useState)(false);
|
|
128002
128099
|
const anchorRef = (0, react$1.useRef)(null);
|
|
@@ -128029,17 +128126,21 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
128029
128126
|
};
|
|
128030
128127
|
const closeFromKeyboard = (event) => {
|
|
128031
128128
|
if (event.key === "Escape") {
|
|
128129
|
+
event.preventDefault();
|
|
128130
|
+
event.stopPropagation();
|
|
128032
128131
|
setMenuOpen(false);
|
|
128033
128132
|
triggerRef.current?.focus();
|
|
128034
128133
|
}
|
|
128035
128134
|
};
|
|
128036
128135
|
document.addEventListener("pointerdown", closeFromOutside, true);
|
|
128037
128136
|
document.addEventListener("mousedown", closeFromOutside, true);
|
|
128038
|
-
document.addEventListener("keydown", closeFromKeyboard);
|
|
128137
|
+
document.addEventListener("keydown", closeFromKeyboard, true);
|
|
128138
|
+
const stopFrames = watchFrameMenuDismissal(document, () => setMenuOpen(false), closeFromKeyboard);
|
|
128039
128139
|
return () => {
|
|
128140
|
+
stopFrames();
|
|
128040
128141
|
document.removeEventListener("pointerdown", closeFromOutside, true);
|
|
128041
128142
|
document.removeEventListener("mousedown", closeFromOutside, true);
|
|
128042
|
-
document.removeEventListener("keydown", closeFromKeyboard);
|
|
128143
|
+
document.removeEventListener("keydown", closeFromKeyboard, true);
|
|
128043
128144
|
};
|
|
128044
128145
|
}, [menuOpen]);
|
|
128045
128146
|
const chooseDialog = (kind) => {
|
|
@@ -128054,17 +128155,28 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
128054
128155
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
128055
128156
|
ref: triggerRef,
|
|
128056
128157
|
type: "button",
|
|
128057
|
-
"aria-label": "添加联系人、群聊或 Bot",
|
|
128158
|
+
"aria-label": onNewDshSession ? "新建 DSH 会话、添加联系人、群聊或 Bot" : "添加联系人、群聊或 Bot",
|
|
128058
128159
|
title: "添加",
|
|
128059
128160
|
"aria-haspopup": "menu",
|
|
128060
128161
|
"aria-expanded": menuOpen,
|
|
128061
128162
|
style: style.trigger,
|
|
128062
128163
|
onClick: () => {
|
|
128164
|
+
setMenuError("");
|
|
128063
128165
|
setMenuOpen((open) => !open);
|
|
128064
128166
|
},
|
|
128065
128167
|
children: "+"
|
|
128066
128168
|
}),
|
|
128067
128169
|
menuOpen && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeQuickAddMenu, {
|
|
128170
|
+
error: menuError,
|
|
128171
|
+
onNewDshSession: onNewDshSession === void 0 ? void 0 : () => {
|
|
128172
|
+
try {
|
|
128173
|
+
onNewDshSession();
|
|
128174
|
+
setMenuError("");
|
|
128175
|
+
setMenuOpen(false);
|
|
128176
|
+
} catch (error) {
|
|
128177
|
+
setMenuError(error instanceof Error ? error.message : "暂时无法新建 DSH 会话,请稍后再试");
|
|
128178
|
+
}
|
|
128179
|
+
},
|
|
128068
128180
|
onContactAdd: () => {
|
|
128069
128181
|
setMenuOpen(false);
|
|
128070
128182
|
onContactAdd();
|
|
@@ -129372,6 +129484,166 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
129372
129484
|
});
|
|
129373
129485
|
}
|
|
129374
129486
|
//#endregion
|
|
129487
|
+
//#region src/client/source-tree.ts
|
|
129488
|
+
/** Return the complete visible hierarchy for a topic, from its root to itself. */
|
|
129489
|
+
function arkmeTopicPathNames(selectedSource, sources) {
|
|
129490
|
+
if (selectedSource === void 0 || selectedSource.kind !== "topic") return [];
|
|
129491
|
+
const sourceByRef = new Map(sources.map((source) => [source.sourceRef, source]));
|
|
129492
|
+
const sourceByHierarchyKey = new Map(sources.flatMap((source) => source.topicHierarchyKey === void 0 ? [] : [[source.topicHierarchyKey, source]]));
|
|
129493
|
+
const path = [];
|
|
129494
|
+
const visited = /* @__PURE__ */ new Set();
|
|
129495
|
+
let current = sourceByRef.get(selectedSource.sourceRef) ?? selectedSource;
|
|
129496
|
+
while (current !== void 0 && current.kind === "topic" && !visited.has(current.sourceRef)) {
|
|
129497
|
+
visited.add(current.sourceRef);
|
|
129498
|
+
path.unshift(current);
|
|
129499
|
+
const parentReference = current.parentTopicHierarchyKey ?? current.parentSourceRef;
|
|
129500
|
+
current = parentReference === void 0 ? void 0 : current.parentTopicHierarchyKey === void 0 ? sourceByRef.get(parentReference) : sourceByHierarchyKey.get(parentReference);
|
|
129501
|
+
}
|
|
129502
|
+
return path.map((source) => source.displayName);
|
|
129503
|
+
}
|
|
129504
|
+
/** A hierarchy move may not create a cycle or exceed the five-level topic limit. */
|
|
129505
|
+
function canMoveArkmeTopicToParent(source, nextParent, sources) {
|
|
129506
|
+
if (!arkmeSourceAllowsUserWrite(source) || nextParent !== void 0 && !arkmeSourceAllowsUserWrite(nextParent)) return false;
|
|
129507
|
+
if (source.kind !== "topic") return false;
|
|
129508
|
+
if (nextParent === void 0) return true;
|
|
129509
|
+
if (nextParent.kind !== "topic" || nextParent.sourceRef === source.sourceRef) return false;
|
|
129510
|
+
const byRef = new Map(sources.map((item) => [item.sourceRef, item]));
|
|
129511
|
+
const byHierarchyKey = new Map(sources.flatMap((item) => item.topicHierarchyKey === void 0 ? [] : [[item.topicHierarchyKey, item]]));
|
|
129512
|
+
const parentOf = (item) => item.parentTopicHierarchyKey === void 0 ? item.parentSourceRef === void 0 ? void 0 : byRef.get(item.parentSourceRef) : byHierarchyKey.get(item.parentTopicHierarchyKey);
|
|
129513
|
+
const targetAncestors = /* @__PURE__ */ new Set();
|
|
129514
|
+
let current = nextParent;
|
|
129515
|
+
while (current !== void 0 && !targetAncestors.has(current.sourceRef)) {
|
|
129516
|
+
targetAncestors.add(current.sourceRef);
|
|
129517
|
+
current = parentOf(current);
|
|
129518
|
+
}
|
|
129519
|
+
if (targetAncestors.has(source.sourceRef)) return false;
|
|
129520
|
+
const childRefsByParent = /* @__PURE__ */ new Map();
|
|
129521
|
+
for (const item of sources) {
|
|
129522
|
+
const parent = parentOf(item);
|
|
129523
|
+
if (parent === void 0) continue;
|
|
129524
|
+
const children = childRefsByParent.get(parent.sourceRef) ?? [];
|
|
129525
|
+
children.push(item);
|
|
129526
|
+
childRefsByParent.set(parent.sourceRef, children);
|
|
129527
|
+
}
|
|
129528
|
+
const subtreeDepth = (item, visited = /* @__PURE__ */ new Set()) => {
|
|
129529
|
+
if (visited.has(item.sourceRef)) return 0;
|
|
129530
|
+
visited.add(item.sourceRef);
|
|
129531
|
+
return 1 + Math.max(0, ...(childRefsByParent.get(item.sourceRef) ?? []).map((child) => subtreeDepth(child, visited)));
|
|
129532
|
+
};
|
|
129533
|
+
return targetAncestors.size + subtreeDepth(source) <= 5;
|
|
129534
|
+
}
|
|
129535
|
+
/** Build a stable tree while keeping paged children hidden until their known parent arrives. */
|
|
129536
|
+
function buildArkmeSourceTree(sources) {
|
|
129537
|
+
const sourcesByRef = new Map(sources.map((source) => [source.sourceRef, source]));
|
|
129538
|
+
const sourcesByTopicHierarchyKey = new Map(sources.flatMap((source) => source.topicHierarchyKey === void 0 ? [] : [[source.topicHierarchyKey, source]]));
|
|
129539
|
+
const nodesByRef = new Map(sources.map((source) => [source.sourceRef, {
|
|
129540
|
+
source,
|
|
129541
|
+
children: []
|
|
129542
|
+
}]));
|
|
129543
|
+
const roots = [];
|
|
129544
|
+
const validParent = (source) => {
|
|
129545
|
+
if (source.kind !== "topic") return void 0;
|
|
129546
|
+
const parentReference = source.parentTopicHierarchyKey ?? source.parentSourceRef;
|
|
129547
|
+
if (parentReference === void 0) return void 0;
|
|
129548
|
+
const parentByReference = (reference) => source.parentTopicHierarchyKey === void 0 ? sourcesByRef.get(reference) : sourcesByTopicHierarchyKey.get(reference);
|
|
129549
|
+
const seen = /* @__PURE__ */ new Set([source.topicHierarchyKey ?? source.sourceRef]);
|
|
129550
|
+
let parentRef = parentReference;
|
|
129551
|
+
let directParent;
|
|
129552
|
+
while (parentRef !== void 0) {
|
|
129553
|
+
if (seen.has(parentRef)) return void 0;
|
|
129554
|
+
seen.add(parentRef);
|
|
129555
|
+
const parent = parentByReference(parentRef);
|
|
129556
|
+
if (parent === void 0) return source.parentTopicHierarchyKey === void 0 ? void 0 : null;
|
|
129557
|
+
if (parent.kind !== "topic") return void 0;
|
|
129558
|
+
directParent ??= parent;
|
|
129559
|
+
parentRef = parent.parentTopicHierarchyKey ?? parent.parentSourceRef;
|
|
129560
|
+
}
|
|
129561
|
+
return directParent;
|
|
129562
|
+
};
|
|
129563
|
+
for (const source of sources) {
|
|
129564
|
+
const node = nodesByRef.get(source.sourceRef);
|
|
129565
|
+
const parent = validParent(source);
|
|
129566
|
+
if (parent === null) continue;
|
|
129567
|
+
const parentNode = parent === void 0 ? void 0 : nodesByRef.get(parent.sourceRef);
|
|
129568
|
+
if (parentNode === void 0) roots.push(node);
|
|
129569
|
+
else parentNode.children.push(node);
|
|
129570
|
+
}
|
|
129571
|
+
return roots;
|
|
129572
|
+
}
|
|
129573
|
+
const sourceNameCollator = new Intl.Collator("zh-CN", {
|
|
129574
|
+
numeric: true,
|
|
129575
|
+
sensitivity: "base"
|
|
129576
|
+
});
|
|
129577
|
+
function nonNegativeFinite(value) {
|
|
129578
|
+
return value !== void 0 && Number.isFinite(value) && value > 0 ? value : 0;
|
|
129579
|
+
}
|
|
129580
|
+
/**
|
|
129581
|
+
* Sort peers only, preserving every parent-child relationship. `custom` uses
|
|
129582
|
+
* the server's persisted sibling order, with the legacy name order as fallback.
|
|
129583
|
+
*/
|
|
129584
|
+
function sortArkmeSourceTree(roots, sort) {
|
|
129585
|
+
const compare = (left, right) => {
|
|
129586
|
+
if (left.source.kind === "default_category") return right.source.kind === "default_category" ? 0 : -1;
|
|
129587
|
+
if (right.source.kind === "default_category") return 1;
|
|
129588
|
+
if (sort === "latest") {
|
|
129589
|
+
const byLatest = nonNegativeFinite(right.source.activeAtMillis) - nonNegativeFinite(left.source.activeAtMillis);
|
|
129590
|
+
if (byLatest !== 0) return byLatest;
|
|
129591
|
+
const byCount = nonNegativeFinite(right.source.recordCount) - nonNegativeFinite(left.source.recordCount);
|
|
129592
|
+
if (byCount !== 0) return byCount;
|
|
129593
|
+
} else if (sort === "most") {
|
|
129594
|
+
const byCount = nonNegativeFinite(right.source.recordCount) - nonNegativeFinite(left.source.recordCount);
|
|
129595
|
+
if (byCount !== 0) return byCount;
|
|
129596
|
+
const byLatest = nonNegativeFinite(right.source.activeAtMillis) - nonNegativeFinite(left.source.activeAtMillis);
|
|
129597
|
+
if (byLatest !== 0) return byLatest;
|
|
129598
|
+
} else {
|
|
129599
|
+
const leftOrder = nonNegativeFinite(left.source.siblingOrder);
|
|
129600
|
+
const rightOrder = nonNegativeFinite(right.source.siblingOrder);
|
|
129601
|
+
if (leftOrder > 0 || rightOrder > 0) {
|
|
129602
|
+
if (leftOrder <= 0) return 1;
|
|
129603
|
+
if (rightOrder <= 0) return -1;
|
|
129604
|
+
const byOrder = leftOrder - rightOrder;
|
|
129605
|
+
if (byOrder !== 0) return byOrder;
|
|
129606
|
+
}
|
|
129607
|
+
}
|
|
129608
|
+
return sourceNameCollator.compare(left.source.displayName, right.source.displayName);
|
|
129609
|
+
};
|
|
129610
|
+
return roots.map((node) => ({
|
|
129611
|
+
...node,
|
|
129612
|
+
children: sortArkmeSourceTree(node.children, sort)
|
|
129613
|
+
})).sort(compare);
|
|
129614
|
+
}
|
|
129615
|
+
/** Total every topic from its direct records plus every descendant exactly once. */
|
|
129616
|
+
function aggregateArkmeSourceTreeRecordCounts(roots) {
|
|
129617
|
+
const totals = /* @__PURE__ */ new Map();
|
|
129618
|
+
const visit = (node) => {
|
|
129619
|
+
const total = nonNegativeFinite(node.source.recordCount) + node.children.reduce((sum, child) => sum + visit(child), 0);
|
|
129620
|
+
totals.set(node.source.sourceRef, total);
|
|
129621
|
+
return total;
|
|
129622
|
+
};
|
|
129623
|
+
roots.forEach(visit);
|
|
129624
|
+
return totals;
|
|
129625
|
+
}
|
|
129626
|
+
function flattenVisibleArkmeSourceTree(roots, collapsedSourceRefs) {
|
|
129627
|
+
const rows = [];
|
|
129628
|
+
const visit = (node, depth) => {
|
|
129629
|
+
const hasChildren = node.children.length > 0;
|
|
129630
|
+
const expanded = hasChildren && !collapsedSourceRefs.has(node.source.sourceRef);
|
|
129631
|
+
rows.push({
|
|
129632
|
+
source: node.source,
|
|
129633
|
+
depth,
|
|
129634
|
+
hasChildren,
|
|
129635
|
+
expanded
|
|
129636
|
+
});
|
|
129637
|
+
if (expanded) node.children.forEach((child) => {
|
|
129638
|
+
visit(child, depth + 1);
|
|
129639
|
+
});
|
|
129640
|
+
};
|
|
129641
|
+
roots.forEach((root) => {
|
|
129642
|
+
visit(root, 0);
|
|
129643
|
+
});
|
|
129644
|
+
return rows;
|
|
129645
|
+
}
|
|
129646
|
+
//#endregion
|
|
129375
129647
|
//#region src/client/read-deadline.ts
|
|
129376
129648
|
/** Bound interactive reads, including browser connection-queue time. Never retry writes here. */
|
|
129377
129649
|
async function withArkmeReadDeadline(read, signal) {
|
|
@@ -138125,7 +138397,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
138125
138397
|
}
|
|
138126
138398
|
//#endregion
|
|
138127
138399
|
//#region src/client/arko-pending-turn-store.ts
|
|
138128
|
-
const STORAGE_KEY_PREFIX$
|
|
138400
|
+
const STORAGE_KEY_PREFIX$3 = "arkme:arko:pending-turn:v1:";
|
|
138129
138401
|
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
138130
138402
|
function defaultStorage() {
|
|
138131
138403
|
try {
|
|
@@ -138135,7 +138407,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
138135
138407
|
}
|
|
138136
138408
|
}
|
|
138137
138409
|
function storageKey$2(userId) {
|
|
138138
|
-
return `${STORAGE_KEY_PREFIX$
|
|
138410
|
+
return `${STORAGE_KEY_PREFIX$3}${String(userId)}`;
|
|
138139
138411
|
}
|
|
138140
138412
|
function optionalTrimmedString(value) {
|
|
138141
138413
|
if (typeof value !== "string") return void 0;
|
|
@@ -148840,166 +149112,6 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
148840
149112
|
//#region assets/recording-icons/icon_send_to_self_sidebar_dark.svg
|
|
148841
149113
|
var icon_send_to_self_sidebar_dark_default = "PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTUiIGN5PSIxNSIgcj0iMTUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8Y2lyY2xlIGN4PSIxNSIgY3k9IjE1IiByPSIxNC43NSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLW9wYWNpdHk9IjAuMTUiIHN0cm9rZS13aWR0aD0iMC41Ii8+CjxwYXRoIGQ9Ik0xNS43OTM0IDExSDExLjUyNjdDMTEuMzUzNCAxMSAxMS4xODY3IDExLjAwNjcgMTEuMDI2NyAxMS4wMjY3QzkuMjMzMzcgMTEuMTggOC4zMzMzNyAxMi4yNCA4LjMzMzM3IDE0LjE5MzNWMTYuODZDOC4zMzMzNyAxOS41MjY3IDkuNDAwMDQgMjAuMDUzMyAxMS41MjY3IDIwLjA1MzNIMTEuNzkzNEMxMS45NCAyMC4wNTMzIDEyLjEzMzQgMjAuMTUzMyAxMi4yMiAyMC4yNjY3TDEzLjAyIDIxLjMzMzNDMTMuMzczNCAyMS44MDY3IDEzLjk0NjcgMjEuODA2NyAxNC4zIDIxLjMzMzNMMTUuMSAyMC4yNjY3QzE1LjIgMjAuMTMzMyAxNS4zNiAyMC4wNTMzIDE1LjUyNjcgMjAuMDUzM0gxNS43OTM0QzE3Ljc0NjcgMjAuMDUzMyAxOC44MDY3IDE5LjE2IDE4Ljk2IDE3LjM2QzE4Ljk4IDE3LjIgMTguOTg2NyAxNy4wMzMzIDE4Ljk4NjcgMTYuODZWMTQuMTkzM0MxOC45ODY3IDEyLjA2NjcgMTcuOTIgMTEgMTUuNzkzNCAxMVpNMTEuMzMzNCAxNi4zMzMzQzEwLjk2IDE2LjMzMzMgMTAuNjY2NyAxNi4wMzMzIDEwLjY2NjcgMTUuNjY2N0MxMC42NjY3IDE1LjMgMTAuOTY2NyAxNSAxMS4zMzM0IDE1QzExLjcgMTUgMTIgMTUuMyAxMiAxNS42NjY3QzEyIDE2LjAzMzMgMTEuNyAxNi4zMzMzIDExLjMzMzQgMTYuMzMzM1pNMTMuNjYgMTYuMzMzM0MxMy4yODY3IDE2LjMzMzMgMTIuOTkzNCAxNi4wMzMzIDEyLjk5MzQgMTUuNjY2N0MxMi45OTM0IDE1LjMgMTMuMjkzNCAxNSAxMy42NiAxNUMxNC4wMjY3IDE1IDE0LjMyNjcgMTUuMyAxNC4zMjY3IDE1LjY2NjdDMTQuMzI2NyAxNi4wMzMzIDE0LjAzMzQgMTYuMzMzMyAxMy42NiAxNi4zMzMzWk0xNS45OTM0IDE2LjMzMzNDMTUuNjIgMTYuMzMzMyAxNS4zMjY3IDE2LjAzMzMgMTUuMzI2NyAxNS42NjY3QzE1LjMyNjcgMTUuMyAxNS42MjY3IDE1IDE1Ljk5MzQgMTVDMTYuMzYgMTUgMTYuNjYgMTUuMyAxNi42NiAxNS42NjY3QzE2LjY2IDE2LjAzMzMgMTYuMzYgMTYuMzMzMyAxNS45OTM0IDE2LjMzMzNaIiBmaWxsPSIjOUVEREE0Ii8+CjxwYXRoIGQ9Ik0yMS42NTMzIDExLjUyNjZWMTQuMTkzM0MyMS42NTMzIDE1LjUyNjYgMjEuMjQgMTYuNDMzMyAyMC40MTMzIDE2LjkzMzNDMjAuMjEzMyAxNy4wNTMzIDE5Ljk4IDE2Ljg5MzMgMTkuOTggMTYuNjU5OUwxOS45ODY2IDE0LjE5MzNDMTkuOTg2NiAxMS41MjY2IDE4LjQ2IDkuOTk5OTIgMTUuNzkzMyA5Ljk5OTkyTDExLjczMzMgMTAuMDA2NkMxMS41IDEwLjAwNjYgMTEuMzQgOS43NzMyNSAxMS40NiA5LjU3MzI1QzExLjk2IDguNzQ2NTkgMTIuODY2NiA4LjMzMzI1IDE0LjE5MzMgOC4zMzMyNUgxOC40NkMyMC41ODY2IDguMzMzMjUgMjEuNjUzMyA5LjM5OTkyIDIxLjY1MzMgMTEuNTI2NloiIGZpbGw9IiM5RUREQTQiLz4KPC9zdmc+Cg==";
|
|
148842
149114
|
//#endregion
|
|
148843
|
-
//#region src/client/source-tree.ts
|
|
148844
|
-
/** Return the complete visible hierarchy for a topic, from its root to itself. */
|
|
148845
|
-
function arkmeTopicPathNames(selectedSource, sources) {
|
|
148846
|
-
if (selectedSource === void 0 || selectedSource.kind !== "topic") return [];
|
|
148847
|
-
const sourceByRef = new Map(sources.map((source) => [source.sourceRef, source]));
|
|
148848
|
-
const sourceByHierarchyKey = new Map(sources.flatMap((source) => source.topicHierarchyKey === void 0 ? [] : [[source.topicHierarchyKey, source]]));
|
|
148849
|
-
const path = [];
|
|
148850
|
-
const visited = /* @__PURE__ */ new Set();
|
|
148851
|
-
let current = sourceByRef.get(selectedSource.sourceRef) ?? selectedSource;
|
|
148852
|
-
while (current !== void 0 && current.kind === "topic" && !visited.has(current.sourceRef)) {
|
|
148853
|
-
visited.add(current.sourceRef);
|
|
148854
|
-
path.unshift(current);
|
|
148855
|
-
const parentReference = current.parentTopicHierarchyKey ?? current.parentSourceRef;
|
|
148856
|
-
current = parentReference === void 0 ? void 0 : current.parentTopicHierarchyKey === void 0 ? sourceByRef.get(parentReference) : sourceByHierarchyKey.get(parentReference);
|
|
148857
|
-
}
|
|
148858
|
-
return path.map((source) => source.displayName);
|
|
148859
|
-
}
|
|
148860
|
-
/** A hierarchy move may not create a cycle or exceed the five-level topic limit. */
|
|
148861
|
-
function canMoveArkmeTopicToParent(source, nextParent, sources) {
|
|
148862
|
-
if (!arkmeSourceAllowsUserWrite(source) || nextParent !== void 0 && !arkmeSourceAllowsUserWrite(nextParent)) return false;
|
|
148863
|
-
if (source.kind !== "topic") return false;
|
|
148864
|
-
if (nextParent === void 0) return true;
|
|
148865
|
-
if (nextParent.kind !== "topic" || nextParent.sourceRef === source.sourceRef) return false;
|
|
148866
|
-
const byRef = new Map(sources.map((item) => [item.sourceRef, item]));
|
|
148867
|
-
const byHierarchyKey = new Map(sources.flatMap((item) => item.topicHierarchyKey === void 0 ? [] : [[item.topicHierarchyKey, item]]));
|
|
148868
|
-
const parentOf = (item) => item.parentTopicHierarchyKey === void 0 ? item.parentSourceRef === void 0 ? void 0 : byRef.get(item.parentSourceRef) : byHierarchyKey.get(item.parentTopicHierarchyKey);
|
|
148869
|
-
const targetAncestors = /* @__PURE__ */ new Set();
|
|
148870
|
-
let current = nextParent;
|
|
148871
|
-
while (current !== void 0 && !targetAncestors.has(current.sourceRef)) {
|
|
148872
|
-
targetAncestors.add(current.sourceRef);
|
|
148873
|
-
current = parentOf(current);
|
|
148874
|
-
}
|
|
148875
|
-
if (targetAncestors.has(source.sourceRef)) return false;
|
|
148876
|
-
const childRefsByParent = /* @__PURE__ */ new Map();
|
|
148877
|
-
for (const item of sources) {
|
|
148878
|
-
const parent = parentOf(item);
|
|
148879
|
-
if (parent === void 0) continue;
|
|
148880
|
-
const children = childRefsByParent.get(parent.sourceRef) ?? [];
|
|
148881
|
-
children.push(item);
|
|
148882
|
-
childRefsByParent.set(parent.sourceRef, children);
|
|
148883
|
-
}
|
|
148884
|
-
const subtreeDepth = (item, visited = /* @__PURE__ */ new Set()) => {
|
|
148885
|
-
if (visited.has(item.sourceRef)) return 0;
|
|
148886
|
-
visited.add(item.sourceRef);
|
|
148887
|
-
return 1 + Math.max(0, ...(childRefsByParent.get(item.sourceRef) ?? []).map((child) => subtreeDepth(child, visited)));
|
|
148888
|
-
};
|
|
148889
|
-
return targetAncestors.size + subtreeDepth(source) <= 5;
|
|
148890
|
-
}
|
|
148891
|
-
/** Build a stable tree while keeping paged children hidden until their known parent arrives. */
|
|
148892
|
-
function buildArkmeSourceTree(sources) {
|
|
148893
|
-
const sourcesByRef = new Map(sources.map((source) => [source.sourceRef, source]));
|
|
148894
|
-
const sourcesByTopicHierarchyKey = new Map(sources.flatMap((source) => source.topicHierarchyKey === void 0 ? [] : [[source.topicHierarchyKey, source]]));
|
|
148895
|
-
const nodesByRef = new Map(sources.map((source) => [source.sourceRef, {
|
|
148896
|
-
source,
|
|
148897
|
-
children: []
|
|
148898
|
-
}]));
|
|
148899
|
-
const roots = [];
|
|
148900
|
-
const validParent = (source) => {
|
|
148901
|
-
if (source.kind !== "topic") return void 0;
|
|
148902
|
-
const parentReference = source.parentTopicHierarchyKey ?? source.parentSourceRef;
|
|
148903
|
-
if (parentReference === void 0) return void 0;
|
|
148904
|
-
const parentByReference = (reference) => source.parentTopicHierarchyKey === void 0 ? sourcesByRef.get(reference) : sourcesByTopicHierarchyKey.get(reference);
|
|
148905
|
-
const seen = /* @__PURE__ */ new Set([source.topicHierarchyKey ?? source.sourceRef]);
|
|
148906
|
-
let parentRef = parentReference;
|
|
148907
|
-
let directParent;
|
|
148908
|
-
while (parentRef !== void 0) {
|
|
148909
|
-
if (seen.has(parentRef)) return void 0;
|
|
148910
|
-
seen.add(parentRef);
|
|
148911
|
-
const parent = parentByReference(parentRef);
|
|
148912
|
-
if (parent === void 0) return source.parentTopicHierarchyKey === void 0 ? void 0 : null;
|
|
148913
|
-
if (parent.kind !== "topic") return void 0;
|
|
148914
|
-
directParent ??= parent;
|
|
148915
|
-
parentRef = parent.parentTopicHierarchyKey ?? parent.parentSourceRef;
|
|
148916
|
-
}
|
|
148917
|
-
return directParent;
|
|
148918
|
-
};
|
|
148919
|
-
for (const source of sources) {
|
|
148920
|
-
const node = nodesByRef.get(source.sourceRef);
|
|
148921
|
-
const parent = validParent(source);
|
|
148922
|
-
if (parent === null) continue;
|
|
148923
|
-
const parentNode = parent === void 0 ? void 0 : nodesByRef.get(parent.sourceRef);
|
|
148924
|
-
if (parentNode === void 0) roots.push(node);
|
|
148925
|
-
else parentNode.children.push(node);
|
|
148926
|
-
}
|
|
148927
|
-
return roots;
|
|
148928
|
-
}
|
|
148929
|
-
const sourceNameCollator = new Intl.Collator("zh-CN", {
|
|
148930
|
-
numeric: true,
|
|
148931
|
-
sensitivity: "base"
|
|
148932
|
-
});
|
|
148933
|
-
function nonNegativeFinite(value) {
|
|
148934
|
-
return value !== void 0 && Number.isFinite(value) && value > 0 ? value : 0;
|
|
148935
|
-
}
|
|
148936
|
-
/**
|
|
148937
|
-
* Sort peers only, preserving every parent-child relationship. `custom` uses
|
|
148938
|
-
* the server's persisted sibling order, with the legacy name order as fallback.
|
|
148939
|
-
*/
|
|
148940
|
-
function sortArkmeSourceTree(roots, sort) {
|
|
148941
|
-
const compare = (left, right) => {
|
|
148942
|
-
if (left.source.kind === "default_category") return right.source.kind === "default_category" ? 0 : -1;
|
|
148943
|
-
if (right.source.kind === "default_category") return 1;
|
|
148944
|
-
if (sort === "latest") {
|
|
148945
|
-
const byLatest = nonNegativeFinite(right.source.activeAtMillis) - nonNegativeFinite(left.source.activeAtMillis);
|
|
148946
|
-
if (byLatest !== 0) return byLatest;
|
|
148947
|
-
const byCount = nonNegativeFinite(right.source.recordCount) - nonNegativeFinite(left.source.recordCount);
|
|
148948
|
-
if (byCount !== 0) return byCount;
|
|
148949
|
-
} else if (sort === "most") {
|
|
148950
|
-
const byCount = nonNegativeFinite(right.source.recordCount) - nonNegativeFinite(left.source.recordCount);
|
|
148951
|
-
if (byCount !== 0) return byCount;
|
|
148952
|
-
const byLatest = nonNegativeFinite(right.source.activeAtMillis) - nonNegativeFinite(left.source.activeAtMillis);
|
|
148953
|
-
if (byLatest !== 0) return byLatest;
|
|
148954
|
-
} else {
|
|
148955
|
-
const leftOrder = nonNegativeFinite(left.source.siblingOrder);
|
|
148956
|
-
const rightOrder = nonNegativeFinite(right.source.siblingOrder);
|
|
148957
|
-
if (leftOrder > 0 || rightOrder > 0) {
|
|
148958
|
-
if (leftOrder <= 0) return 1;
|
|
148959
|
-
if (rightOrder <= 0) return -1;
|
|
148960
|
-
const byOrder = leftOrder - rightOrder;
|
|
148961
|
-
if (byOrder !== 0) return byOrder;
|
|
148962
|
-
}
|
|
148963
|
-
}
|
|
148964
|
-
return sourceNameCollator.compare(left.source.displayName, right.source.displayName);
|
|
148965
|
-
};
|
|
148966
|
-
return roots.map((node) => ({
|
|
148967
|
-
...node,
|
|
148968
|
-
children: sortArkmeSourceTree(node.children, sort)
|
|
148969
|
-
})).sort(compare);
|
|
148970
|
-
}
|
|
148971
|
-
/** Total every topic from its direct records plus every descendant exactly once. */
|
|
148972
|
-
function aggregateArkmeSourceTreeRecordCounts(roots) {
|
|
148973
|
-
const totals = /* @__PURE__ */ new Map();
|
|
148974
|
-
const visit = (node) => {
|
|
148975
|
-
const total = nonNegativeFinite(node.source.recordCount) + node.children.reduce((sum, child) => sum + visit(child), 0);
|
|
148976
|
-
totals.set(node.source.sourceRef, total);
|
|
148977
|
-
return total;
|
|
148978
|
-
};
|
|
148979
|
-
roots.forEach(visit);
|
|
148980
|
-
return totals;
|
|
148981
|
-
}
|
|
148982
|
-
function flattenVisibleArkmeSourceTree(roots, collapsedSourceRefs) {
|
|
148983
|
-
const rows = [];
|
|
148984
|
-
const visit = (node, depth) => {
|
|
148985
|
-
const hasChildren = node.children.length > 0;
|
|
148986
|
-
const expanded = hasChildren && !collapsedSourceRefs.has(node.source.sourceRef);
|
|
148987
|
-
rows.push({
|
|
148988
|
-
source: node.source,
|
|
148989
|
-
depth,
|
|
148990
|
-
hasChildren,
|
|
148991
|
-
expanded
|
|
148992
|
-
});
|
|
148993
|
-
if (expanded) node.children.forEach((child) => {
|
|
148994
|
-
visit(child, depth + 1);
|
|
148995
|
-
});
|
|
148996
|
-
};
|
|
148997
|
-
roots.forEach((root) => {
|
|
148998
|
-
visit(root, 0);
|
|
148999
|
-
});
|
|
149000
|
-
return rows;
|
|
149001
|
-
}
|
|
149002
|
-
//#endregion
|
|
149003
149115
|
//#region src/client/recordings/recording-forward-attempt.ts
|
|
149004
149116
|
function recordingForwardTargetKey(target) {
|
|
149005
149117
|
if (target.kind === "private_chat" || target.kind === "group_chat") return target.sourceKey ?? "";
|
|
@@ -180034,8 +180146,8 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
180034
180146
|
//#endregion
|
|
180035
180147
|
//#region src/client/marketplace-sort-preference.ts
|
|
180036
180148
|
const DEFAULT_MARKETPLACE_SORT = "rating";
|
|
180037
|
-
const STORAGE_KEY_PREFIX$
|
|
180038
|
-
function preferenceStorage(storage) {
|
|
180149
|
+
const STORAGE_KEY_PREFIX$2 = "dsh-arkme:marketplace-sort:v1:";
|
|
180150
|
+
function preferenceStorage$1(storage) {
|
|
180039
180151
|
if (storage !== void 0) return storage;
|
|
180040
180152
|
try {
|
|
180041
180153
|
return typeof window === "undefined" ? void 0 : window.localStorage;
|
|
@@ -180043,27 +180155,27 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
180043
180155
|
return;
|
|
180044
180156
|
}
|
|
180045
180157
|
}
|
|
180046
|
-
function preferenceKey(userId) {
|
|
180047
|
-
return Number.isSafeInteger(userId) && (userId ?? 0) > 0 ? `${STORAGE_KEY_PREFIX$
|
|
180158
|
+
function preferenceKey$1(userId) {
|
|
180159
|
+
return Number.isSafeInteger(userId) && (userId ?? 0) > 0 ? `${STORAGE_KEY_PREFIX$2}user:${String(userId)}` : `${STORAGE_KEY_PREFIX$2}anonymous`;
|
|
180048
180160
|
}
|
|
180049
180161
|
function isMarketplaceSort(value) {
|
|
180050
180162
|
return value === "rating" || value === "comments" || value === "opens" || value === "created_at";
|
|
180051
180163
|
}
|
|
180052
180164
|
function readMarketplaceSortPreference(userId, storage) {
|
|
180053
|
-
const target = preferenceStorage(storage);
|
|
180165
|
+
const target = preferenceStorage$1(storage);
|
|
180054
180166
|
if (target === void 0) return DEFAULT_MARKETPLACE_SORT;
|
|
180055
180167
|
try {
|
|
180056
|
-
const value = target.getItem(preferenceKey(userId));
|
|
180168
|
+
const value = target.getItem(preferenceKey$1(userId));
|
|
180057
180169
|
return isMarketplaceSort(value) ? value : DEFAULT_MARKETPLACE_SORT;
|
|
180058
180170
|
} catch {
|
|
180059
180171
|
return DEFAULT_MARKETPLACE_SORT;
|
|
180060
180172
|
}
|
|
180061
180173
|
}
|
|
180062
180174
|
function writeMarketplaceSortPreference(userId, sort, storage) {
|
|
180063
|
-
const target = preferenceStorage(storage);
|
|
180175
|
+
const target = preferenceStorage$1(storage);
|
|
180064
180176
|
if (target === void 0) return;
|
|
180065
180177
|
try {
|
|
180066
|
-
target.setItem(preferenceKey(userId), sort);
|
|
180178
|
+
target.setItem(preferenceKey$1(userId), sort);
|
|
180067
180179
|
} catch {}
|
|
180068
180180
|
}
|
|
180069
180181
|
//#endregion
|
|
@@ -185082,6 +185194,302 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
185082
185194
|
});
|
|
185083
185195
|
}
|
|
185084
185196
|
//#endregion
|
|
185197
|
+
//#region src/client/self-topic-sort-preference.ts
|
|
185198
|
+
const DEFAULT_SELF_TOPIC_SORT = "latest";
|
|
185199
|
+
const STORAGE_KEY_PREFIX$1 = "dsh-arkme:self-topic-sort:v1:user:";
|
|
185200
|
+
function preferenceStorage(storage) {
|
|
185201
|
+
if (storage !== void 0) return storage;
|
|
185202
|
+
try {
|
|
185203
|
+
return typeof window === "undefined" ? void 0 : window.localStorage;
|
|
185204
|
+
} catch {
|
|
185205
|
+
return;
|
|
185206
|
+
}
|
|
185207
|
+
}
|
|
185208
|
+
function preferenceKey(userId) {
|
|
185209
|
+
return Number.isSafeInteger(userId) && (userId ?? 0) > 0 ? `${STORAGE_KEY_PREFIX$1}${String(userId)}` : void 0;
|
|
185210
|
+
}
|
|
185211
|
+
function isSelfTopicSort(value) {
|
|
185212
|
+
return value === "latest" || value === "most" || value === "custom";
|
|
185213
|
+
}
|
|
185214
|
+
function readSelfTopicSortPreference(userId, storage) {
|
|
185215
|
+
const key = preferenceKey(userId);
|
|
185216
|
+
const target = preferenceStorage(storage);
|
|
185217
|
+
if (key === void 0 || target === void 0) return DEFAULT_SELF_TOPIC_SORT;
|
|
185218
|
+
try {
|
|
185219
|
+
const value = target.getItem(key);
|
|
185220
|
+
return isSelfTopicSort(value) ? value : DEFAULT_SELF_TOPIC_SORT;
|
|
185221
|
+
} catch {
|
|
185222
|
+
return DEFAULT_SELF_TOPIC_SORT;
|
|
185223
|
+
}
|
|
185224
|
+
}
|
|
185225
|
+
function writeSelfTopicSortPreference(userId, sort, storage) {
|
|
185226
|
+
const key = preferenceKey(userId);
|
|
185227
|
+
const target = preferenceStorage(storage);
|
|
185228
|
+
if (key === void 0 || target === void 0) return;
|
|
185229
|
+
try {
|
|
185230
|
+
target.setItem(key, sort);
|
|
185231
|
+
} catch {}
|
|
185232
|
+
}
|
|
185233
|
+
//#endregion
|
|
185234
|
+
//#region src/client/harness-activity.ts
|
|
185235
|
+
/** Display-only account-scoped summary. Official sessions remain the source of running/pending state. */
|
|
185236
|
+
const HARNESS_ACTIVITY_ATTRIBUTE = "data-arkme-harness-activity";
|
|
185237
|
+
const HARNESS_ACTIVITY_EVENT = "arkme:harness-activity";
|
|
185238
|
+
function parseHarnessActivity(raw, scope) {
|
|
185239
|
+
if (!raw || !scope) return;
|
|
185240
|
+
try {
|
|
185241
|
+
const value = JSON.parse(raw);
|
|
185242
|
+
if (typeof value !== "object" || value === null || !("scope" in value) || value.scope !== scope) return;
|
|
185243
|
+
const record = value;
|
|
185244
|
+
const isItem = (item) => typeof item === "object" && item !== null && "id" in item && typeof item.id === "string" && "title" in item && typeof item.title === "string";
|
|
185245
|
+
if (record.current !== void 0 && record.current !== null && !isItem(record.current)) return;
|
|
185246
|
+
for (const key of [
|
|
185247
|
+
"running",
|
|
185248
|
+
"unread",
|
|
185249
|
+
"pending"
|
|
185250
|
+
]) {
|
|
185251
|
+
const items = record[key];
|
|
185252
|
+
if (!Array.isArray(items) || !items.every(isItem)) return;
|
|
185253
|
+
}
|
|
185254
|
+
return value;
|
|
185255
|
+
} catch {
|
|
185256
|
+
return;
|
|
185257
|
+
}
|
|
185258
|
+
}
|
|
185259
|
+
//#endregion
|
|
185260
|
+
//#region src/client/use-harness-activity.ts
|
|
185261
|
+
const subscribe = (listener) => {
|
|
185262
|
+
if (typeof document === "undefined") return () => {};
|
|
185263
|
+
document.addEventListener(HARNESS_ACTIVITY_EVENT, listener);
|
|
185264
|
+
return () => document.removeEventListener(HARNESS_ACTIVITY_EVENT, listener);
|
|
185265
|
+
};
|
|
185266
|
+
function useHarnessActivity(scope) {
|
|
185267
|
+
const read = (0, react$1.useMemo)(() => {
|
|
185268
|
+
let cachedRaw = null;
|
|
185269
|
+
let cachedValue;
|
|
185270
|
+
return () => {
|
|
185271
|
+
const raw = typeof document === "undefined" ? null : document.querySelector("[data-arkme-owned=\"deepseek-harness-surface\"]")?.getAttribute("data-arkme-harness-activity") ?? null;
|
|
185272
|
+
if (raw !== cachedRaw) {
|
|
185273
|
+
cachedRaw = raw;
|
|
185274
|
+
cachedValue = parseHarnessActivity(raw, scope);
|
|
185275
|
+
}
|
|
185276
|
+
return cachedValue;
|
|
185277
|
+
};
|
|
185278
|
+
}, [scope]);
|
|
185279
|
+
return (0, react$1.useSyncExternalStore)(subscribe, read, () => void 0);
|
|
185280
|
+
}
|
|
185281
|
+
//#endregion
|
|
185282
|
+
//#region src/client/harness-session-menu-bridge.ts
|
|
185283
|
+
/** Private presentation bridge between Arkme and its existing same-origin Harness frame. */
|
|
185284
|
+
const HARNESS_MENU_OPEN = "arkme:harness-menu-open";
|
|
185285
|
+
const HARNESS_MENU_CLOSE = "arkme:harness-menu-close";
|
|
185286
|
+
const HARNESS_MENU_POSITION = "arkme:harness-menu-position";
|
|
185287
|
+
function harnessMenuLayers(doc) {
|
|
185288
|
+
return [...doc.querySelectorAll("[data-arkme-session-column][data-arkme-session-open], [role=\"menu\"], [role=\"dialog\"], [role=\"alertdialog\"]")].filter((node) => node.getClientRects().length > 0 && doc.defaultView?.getComputedStyle(node).visibility !== "hidden");
|
|
185289
|
+
}
|
|
185290
|
+
//#endregion
|
|
185291
|
+
//#region src/client/harness-session-hover.ts
|
|
185292
|
+
/** Reveal the mounted native sidebar only; never change the current Arkme conversation on hover. */
|
|
185293
|
+
function watchHarnessSessionHover(anchor, scope, activate) {
|
|
185294
|
+
const doc = anchor.ownerDocument;
|
|
185295
|
+
const win = doc.defaultView;
|
|
185296
|
+
if (!win) return () => {};
|
|
185297
|
+
let openTimer = 0;
|
|
185298
|
+
let closeTimer = 0;
|
|
185299
|
+
let native;
|
|
185300
|
+
let surface;
|
|
185301
|
+
let frame;
|
|
185302
|
+
let open = false;
|
|
185303
|
+
let stopWatching;
|
|
185304
|
+
const style = doc.createElement("style");
|
|
185305
|
+
style.textContent = `
|
|
185306
|
+
[data-arkme-harness-menu-preview] {
|
|
185307
|
+
visibility: visible !important; pointer-events: auto !important; z-index: 50 !important;
|
|
185308
|
+
background: transparent !important; clip-path: var(--arkme-harness-menu-clip, inset(100%)) !important;
|
|
185309
|
+
}
|
|
185310
|
+
[data-arkme-harness-menu-preview] > iframe { background: transparent !important; }
|
|
185311
|
+
`;
|
|
185312
|
+
const clearTimers = () => {
|
|
185313
|
+
win.clearTimeout(openTimer);
|
|
185314
|
+
win.clearTimeout(closeTimer);
|
|
185315
|
+
openTimer = 0;
|
|
185316
|
+
closeTimer = 0;
|
|
185317
|
+
};
|
|
185318
|
+
function release(focus = false) {
|
|
185319
|
+
clearTimers();
|
|
185320
|
+
open = false;
|
|
185321
|
+
stopWatching?.();
|
|
185322
|
+
stopWatching = void 0;
|
|
185323
|
+
surface?.removeAttribute("data-arkme-harness-menu-preview");
|
|
185324
|
+
surface?.style.removeProperty("--arkme-harness-menu-clip");
|
|
185325
|
+
if (surface?.getAttribute("data-arkme-visible") === "true") surface.removeAttribute("aria-hidden");
|
|
185326
|
+
else if (surface) surface.setAttribute("aria-hidden", "true");
|
|
185327
|
+
native?.documentElement.removeAttribute("data-arkme-session-preview");
|
|
185328
|
+
style.remove();
|
|
185329
|
+
anchor.setAttribute("aria-expanded", "false");
|
|
185330
|
+
native = void 0;
|
|
185331
|
+
surface = void 0;
|
|
185332
|
+
frame = void 0;
|
|
185333
|
+
if (focus && anchor.isConnected) anchor.focus({ preventScroll: true });
|
|
185334
|
+
}
|
|
185335
|
+
function close() {
|
|
185336
|
+
clearTimers();
|
|
185337
|
+
native?.dispatchEvent(new native.defaultView.Event(HARNESS_MENU_CLOSE));
|
|
185338
|
+
release();
|
|
185339
|
+
}
|
|
185340
|
+
function later() {
|
|
185341
|
+
win.clearTimeout(openTimer);
|
|
185342
|
+
openTimer = 0;
|
|
185343
|
+
if (open && !closeTimer) closeTimer = win.setTimeout(close, 300);
|
|
185344
|
+
}
|
|
185345
|
+
function keep() {
|
|
185346
|
+
win.clearTimeout(closeTimer);
|
|
185347
|
+
closeTimer = 0;
|
|
185348
|
+
}
|
|
185349
|
+
function layout() {
|
|
185350
|
+
if (!open || !native || !surface || !frame || !surface.hasAttribute("data-arkme-harness-menu-preview")) return;
|
|
185351
|
+
const boxes = harnessMenuLayers(native).map((node) => node.getBoundingClientRect());
|
|
185352
|
+
if (!boxes.length) return;
|
|
185353
|
+
const width = frame.clientWidth, height = frame.clientHeight;
|
|
185354
|
+
const left = Math.max(0, Math.min(...boxes.map((box) => box.left)) - 16);
|
|
185355
|
+
const clip = `inset(${Math.max(0, Math.min(...boxes.map((box) => box.top)) - 16)}px ${Math.max(0, width - Math.max(...boxes.map((box) => box.right)) - 16)}px ${Math.max(0, height - Math.max(...boxes.map((box) => box.bottom)) - 16)}px ${left}px)`;
|
|
185356
|
+
if (surface.style.getPropertyValue("--arkme-harness-menu-clip") !== clip) surface.style.setProperty("--arkme-harness-menu-clip", clip);
|
|
185357
|
+
}
|
|
185358
|
+
function openMenu(focus = false) {
|
|
185359
|
+
clearTimers();
|
|
185360
|
+
if (open) return;
|
|
185361
|
+
const nextSurface = doc.querySelector("[data-arkme-owned=\"deepseek-harness-surface\"][data-arkme-account-id]");
|
|
185362
|
+
if (!anchor.isConnected || !anchor.getClientRects().length || nextSurface?.getAttribute("data-arkme-account-scope") !== scope) return;
|
|
185363
|
+
const nextFrame = nextSurface.querySelector("iframe");
|
|
185364
|
+
let nextNative;
|
|
185365
|
+
try {
|
|
185366
|
+
nextNative = nextFrame?.contentDocument;
|
|
185367
|
+
} catch {
|
|
185368
|
+
return;
|
|
185369
|
+
}
|
|
185370
|
+
if (!nextNative?.querySelector("[data-arkme-session-column]") || !nextFrame) return;
|
|
185371
|
+
surface = nextSurface;
|
|
185372
|
+
native = nextNative;
|
|
185373
|
+
frame = nextFrame;
|
|
185374
|
+
open = true;
|
|
185375
|
+
const wasVisible = surface.getAttribute("data-arkme-visible");
|
|
185376
|
+
if (wasVisible !== "true") {
|
|
185377
|
+
doc.head.append(style);
|
|
185378
|
+
native.documentElement.setAttribute("data-arkme-session-preview", "");
|
|
185379
|
+
surface.setAttribute("data-arkme-harness-menu-preview", "");
|
|
185380
|
+
surface.removeAttribute("aria-hidden");
|
|
185381
|
+
}
|
|
185382
|
+
const request = {
|
|
185383
|
+
accepted: false,
|
|
185384
|
+
anchor: () => {
|
|
185385
|
+
const card = anchor.getBoundingClientRect(), viewport = nextFrame.getBoundingClientRect();
|
|
185386
|
+
return {
|
|
185387
|
+
left: card.right + 8 - viewport.left,
|
|
185388
|
+
top: card.top - viewport.top
|
|
185389
|
+
};
|
|
185390
|
+
},
|
|
185391
|
+
onClose: release,
|
|
185392
|
+
onLayout: layout,
|
|
185393
|
+
onSelect: activate
|
|
185394
|
+
};
|
|
185395
|
+
native.dispatchEvent(new native.defaultView.CustomEvent(HARNESS_MENU_OPEN, { detail: request }));
|
|
185396
|
+
if (!request.accepted || !open) {
|
|
185397
|
+
release();
|
|
185398
|
+
return;
|
|
185399
|
+
}
|
|
185400
|
+
anchor.setAttribute("aria-expanded", "true");
|
|
185401
|
+
const menuHit = (target) => native && harnessMenuLayers(native).some((node) => node.contains(target));
|
|
185402
|
+
const nativeMove = (event) => {
|
|
185403
|
+
if (menuHit(event.target)) keep();
|
|
185404
|
+
else later();
|
|
185405
|
+
};
|
|
185406
|
+
const nativeLeave = (event) => {
|
|
185407
|
+
if (!event.relatedTarget) later();
|
|
185408
|
+
};
|
|
185409
|
+
const parentDown = (event) => {
|
|
185410
|
+
if (!anchor.contains(event.target)) close();
|
|
185411
|
+
};
|
|
185412
|
+
const parentKey = (event) => {
|
|
185413
|
+
if (event.key !== "Escape") return;
|
|
185414
|
+
event.preventDefault();
|
|
185415
|
+
close();
|
|
185416
|
+
anchor.focus({ preventScroll: true });
|
|
185417
|
+
};
|
|
185418
|
+
const updatePosition = () => {
|
|
185419
|
+
if (!anchor.isConnected || !anchor.getClientRects().length) {
|
|
185420
|
+
close();
|
|
185421
|
+
return;
|
|
185422
|
+
}
|
|
185423
|
+
native?.dispatchEvent(new native.defaultView.Event(HARNESS_MENU_POSITION));
|
|
185424
|
+
};
|
|
185425
|
+
const observer = new win.MutationObserver(() => {
|
|
185426
|
+
if (!surface?.isConnected || surface.getAttribute("data-arkme-account-scope") !== scope || surface.getAttribute("data-arkme-visible") !== wasVisible) close();
|
|
185427
|
+
});
|
|
185428
|
+
observer.observe(surface, {
|
|
185429
|
+
attributes: true,
|
|
185430
|
+
attributeFilter: [
|
|
185431
|
+
"data-arkme-account-id",
|
|
185432
|
+
"data-arkme-account-scope",
|
|
185433
|
+
"data-arkme-visible"
|
|
185434
|
+
]
|
|
185435
|
+
});
|
|
185436
|
+
const resize = new win.ResizeObserver(updatePosition);
|
|
185437
|
+
resize.observe(anchor);
|
|
185438
|
+
resize.observe(frame);
|
|
185439
|
+
native.addEventListener("pointermove", nativeMove, true);
|
|
185440
|
+
native.addEventListener("pointerover", nativeMove, true);
|
|
185441
|
+
native.addEventListener("pointerout", nativeLeave, true);
|
|
185442
|
+
doc.addEventListener("pointerdown", parentDown, true);
|
|
185443
|
+
doc.addEventListener("keydown", parentKey);
|
|
185444
|
+
doc.addEventListener("scroll", updatePosition, true);
|
|
185445
|
+
win.addEventListener("resize", updatePosition);
|
|
185446
|
+
frame.addEventListener("load", close);
|
|
185447
|
+
const watchedNative = native, watchedFrame = frame;
|
|
185448
|
+
stopWatching = () => {
|
|
185449
|
+
observer.disconnect();
|
|
185450
|
+
resize.disconnect();
|
|
185451
|
+
watchedNative.removeEventListener("pointermove", nativeMove, true);
|
|
185452
|
+
watchedNative.removeEventListener("pointerover", nativeMove, true);
|
|
185453
|
+
watchedNative.removeEventListener("pointerout", nativeLeave, true);
|
|
185454
|
+
doc.removeEventListener("pointerdown", parentDown, true);
|
|
185455
|
+
doc.removeEventListener("keydown", parentKey);
|
|
185456
|
+
doc.removeEventListener("scroll", updatePosition, true);
|
|
185457
|
+
win.removeEventListener("resize", updatePosition);
|
|
185458
|
+
watchedFrame.removeEventListener("load", close);
|
|
185459
|
+
};
|
|
185460
|
+
layout();
|
|
185461
|
+
if (focus) native.querySelector("[data-arkme-session-trigger]")?.dispatchEvent(new native.defaultView.KeyboardEvent("keydown", {
|
|
185462
|
+
key: "ArrowDown",
|
|
185463
|
+
bubbles: true
|
|
185464
|
+
}));
|
|
185465
|
+
}
|
|
185466
|
+
const enter = (event) => {
|
|
185467
|
+
if (event.pointerType === "touch") return;
|
|
185468
|
+
keep();
|
|
185469
|
+
if (!open && !openTimer) openTimer = win.setTimeout(() => openMenu(), 200);
|
|
185470
|
+
};
|
|
185471
|
+
const key = (event) => {
|
|
185472
|
+
if (event.key !== "ArrowRight") return;
|
|
185473
|
+
event.preventDefault();
|
|
185474
|
+
openMenu(true);
|
|
185475
|
+
};
|
|
185476
|
+
anchor.setAttribute("aria-haspopup", "dialog");
|
|
185477
|
+
anchor.setAttribute("aria-expanded", "false");
|
|
185478
|
+
anchor.addEventListener("pointerenter", enter);
|
|
185479
|
+
anchor.addEventListener("pointerleave", later);
|
|
185480
|
+
anchor.addEventListener("pointerdown", close);
|
|
185481
|
+
anchor.addEventListener("keydown", key);
|
|
185482
|
+
return () => {
|
|
185483
|
+
close();
|
|
185484
|
+
anchor.removeEventListener("pointerenter", enter);
|
|
185485
|
+
anchor.removeEventListener("pointerleave", later);
|
|
185486
|
+
anchor.removeEventListener("pointerdown", close);
|
|
185487
|
+
anchor.removeEventListener("keydown", key);
|
|
185488
|
+
anchor.removeAttribute("aria-haspopup");
|
|
185489
|
+
anchor.removeAttribute("aria-expanded");
|
|
185490
|
+
};
|
|
185491
|
+
}
|
|
185492
|
+
//#endregion
|
|
185085
185493
|
//#region src/client/conversation-timeline-read-port.ts
|
|
185086
185494
|
const conversationTimelineReadPort = { readPage: async (sourceRef, cursor, signal) => await callArkme("source.timeline", {
|
|
185087
185495
|
sourceRef,
|
|
@@ -186567,6 +186975,72 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
186567
186975
|
});
|
|
186568
186976
|
}
|
|
186569
186977
|
//#endregion
|
|
186978
|
+
//#region src/client/harness-new-session.ts
|
|
186979
|
+
/** Use the mounted native action, so workspace inheritance and blank-session reuse stay host-owned. */
|
|
186980
|
+
function startEmbeddedHarnessSession(activate, doc = document) {
|
|
186981
|
+
const surface = doc.querySelector("[data-arkme-owned=\"deepseek-harness-surface\"][data-arkme-account-id]");
|
|
186982
|
+
const native = (surface?.querySelector("iframe"))?.contentDocument;
|
|
186983
|
+
const sidebar = native?.querySelector("[data-slot=\"sidebar\"]");
|
|
186984
|
+
const button = sidebar?.querySelector("button[data-arkme-session-create]") ?? [...sidebar?.querySelectorAll("button[aria-label]") ?? []].find((item) => ["新建会话", "new session"].includes(item.getAttribute("aria-label")?.trim().toLowerCase() ?? ""));
|
|
186985
|
+
if (!surface || !native || !button || button.disabled) throw new Error("DSH 尚未准备好,请稍后再试");
|
|
186986
|
+
const selection = () => parseHarnessActivity(surface.getAttribute(HARNESS_ACTIVITY_ATTRIBUTE), surface.getAttribute("data-arkme-account-scope") ?? void 0);
|
|
186987
|
+
const previous = selection()?.current;
|
|
186988
|
+
button.click();
|
|
186989
|
+
activate();
|
|
186990
|
+
const win = doc.defaultView;
|
|
186991
|
+
if (!win) return;
|
|
186992
|
+
const account = surface.getAttribute("data-arkme-account-id");
|
|
186993
|
+
let stopped = false;
|
|
186994
|
+
let raf = 0;
|
|
186995
|
+
const stop = () => {
|
|
186996
|
+
stopped = true;
|
|
186997
|
+
observer.disconnect();
|
|
186998
|
+
win.clearTimeout(timeout);
|
|
186999
|
+
win.cancelAnimationFrame(raf);
|
|
187000
|
+
doc.removeEventListener("pointerdown", stop, true);
|
|
187001
|
+
native.removeEventListener("pointerdown", stop, true);
|
|
187002
|
+
};
|
|
187003
|
+
const focus = () => {
|
|
187004
|
+
if (stopped || !surface.isConnected || surface.getAttribute("data-arkme-account-id") !== account) {
|
|
187005
|
+
stop();
|
|
187006
|
+
return;
|
|
187007
|
+
}
|
|
187008
|
+
if (surface.getAttribute("data-arkme-visible") !== "true") return;
|
|
187009
|
+
if (previous && previous.title !== "新会话") {
|
|
187010
|
+
const current = selection()?.current;
|
|
187011
|
+
if (current === void 0 || current?.id === previous.id) return;
|
|
187012
|
+
}
|
|
187013
|
+
const input = [...native.querySelectorAll("[data-composer-card] textarea:not(:disabled), [data-composer-card] [contenteditable=\"true\"][role=\"textbox\"]")].find((item) => item.getClientRects().length > 0);
|
|
187014
|
+
if (input) {
|
|
187015
|
+
input.focus({ preventScroll: true });
|
|
187016
|
+
stop();
|
|
187017
|
+
}
|
|
187018
|
+
};
|
|
187019
|
+
const schedule = () => {
|
|
187020
|
+
win.cancelAnimationFrame(raf);
|
|
187021
|
+
raf = win.requestAnimationFrame(focus);
|
|
187022
|
+
};
|
|
187023
|
+
const observer = new MutationObserver(schedule);
|
|
187024
|
+
observer.observe(native.body, {
|
|
187025
|
+
childList: true,
|
|
187026
|
+
subtree: true,
|
|
187027
|
+
attributes: true,
|
|
187028
|
+
attributeFilter: ["contenteditable", "disabled"]
|
|
187029
|
+
});
|
|
187030
|
+
observer.observe(surface, {
|
|
187031
|
+
attributes: true,
|
|
187032
|
+
attributeFilter: [
|
|
187033
|
+
"data-arkme-visible",
|
|
187034
|
+
"data-arkme-account-id",
|
|
187035
|
+
HARNESS_ACTIVITY_ATTRIBUTE
|
|
187036
|
+
]
|
|
187037
|
+
});
|
|
187038
|
+
const timeout = win.setTimeout(stop, 2e3);
|
|
187039
|
+
doc.addEventListener("pointerdown", stop, true);
|
|
187040
|
+
native.addEventListener("pointerdown", stop, true);
|
|
187041
|
+
schedule();
|
|
187042
|
+
}
|
|
187043
|
+
//#endregion
|
|
186570
187044
|
//#region src/client/notification-activation-store.ts
|
|
186571
187045
|
var ArkmeNotificationActivationStore = class {
|
|
186572
187046
|
snapshot = {
|
|
@@ -187612,7 +188086,6 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
187612
188086
|
"aria-label": ariaLabel,
|
|
187613
188087
|
"aria-selected": selected,
|
|
187614
188088
|
disabled,
|
|
187615
|
-
title,
|
|
187616
188089
|
"data-arkme-home-tour-target": homeTourTarget,
|
|
187617
188090
|
style: {
|
|
187618
188091
|
...styles$14.chatRow,
|
|
@@ -187817,27 +188290,70 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
187817
188290
|
})]
|
|
187818
188291
|
});
|
|
187819
188292
|
}
|
|
187820
|
-
function DeepSeekHarnessRow({ selected, onClick }) {
|
|
188293
|
+
function DeepSeekHarnessRow({ selected, onClick, accountScope, hoverEnabled = true }) {
|
|
188294
|
+
const rowRef = (0, react$1.useRef)(null);
|
|
188295
|
+
const activateRef = (0, react$1.useRef)(onClick);
|
|
188296
|
+
activateRef.current = onClick;
|
|
188297
|
+
(0, react$1.useEffect)(() => {
|
|
188298
|
+
if (rowRef.current && accountScope && hoverEnabled) return watchHarnessSessionHover(rowRef.current, accountScope, () => activateRef.current());
|
|
188299
|
+
}, [accountScope, hoverEnabled]);
|
|
188300
|
+
const activity = useHarnessActivity(accountScope);
|
|
188301
|
+
const statuses = activity === void 0 ? [] : [
|
|
188302
|
+
{
|
|
188303
|
+
kind: "pending",
|
|
188304
|
+
label: "待处理",
|
|
188305
|
+
items: activity.pending
|
|
188306
|
+
},
|
|
188307
|
+
{
|
|
188308
|
+
kind: "running",
|
|
188309
|
+
label: "进行中",
|
|
188310
|
+
items: activity.running
|
|
188311
|
+
},
|
|
188312
|
+
{
|
|
188313
|
+
kind: "unread",
|
|
188314
|
+
label: "待查看",
|
|
188315
|
+
items: activity.unread
|
|
188316
|
+
}
|
|
188317
|
+
].filter((status) => status.items.length > 0);
|
|
188318
|
+
const summary = statuses.map((status) => `${status.items.length} ${status.label}`).join(" · ");
|
|
188319
|
+
const total = statuses.reduce((sum, status) => sum + status.items.length, 0);
|
|
188320
|
+
const running = (activity?.running.length ?? 0) > 0;
|
|
188321
|
+
const destination = activity?.current === null ? "新会话" : activity?.current?.title;
|
|
187821
188322
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
188323
|
+
ref: rowRef,
|
|
187822
188324
|
type: "button",
|
|
187823
188325
|
"data-arkme-home-tour-target": "harness",
|
|
187824
188326
|
role: "treeitem",
|
|
187825
188327
|
"aria-selected": selected,
|
|
188328
|
+
"aria-label": [
|
|
188329
|
+
"DeepSeek Harness",
|
|
188330
|
+
destination,
|
|
188331
|
+
summary
|
|
188332
|
+
].filter(Boolean).join(","),
|
|
187826
188333
|
style: {
|
|
187827
188334
|
...styles$14.chatRow,
|
|
187828
188335
|
...selected ? styles$14.chatRowActive : {}
|
|
187829
188336
|
},
|
|
187830
188337
|
onClick,
|
|
187831
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.
|
|
187832
|
-
style:
|
|
188338
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
188339
|
+
style: {
|
|
188340
|
+
...styles$14.avatar,
|
|
188341
|
+
overflow: "visible"
|
|
188342
|
+
},
|
|
187833
188343
|
"aria-hidden": true,
|
|
187834
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
188344
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
187835
188345
|
src: "/favicon.svg",
|
|
187836
188346
|
alt: "",
|
|
187837
188347
|
width: 28,
|
|
187838
188348
|
height: 28
|
|
187839
|
-
})
|
|
188349
|
+
}), total > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
188350
|
+
"data-arkme-harness-badge": true,
|
|
188351
|
+
"data-idle": !running ? "true" : void 0,
|
|
188352
|
+
"data-kind": statuses[0].kind === "pending" ? "pending" : activity.unread.length > 0 ? "unread" : "running",
|
|
188353
|
+
children: total > 99 ? "99+" : total
|
|
188354
|
+
})]
|
|
187840
188355
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
188356
|
+
"data-arkme-harness-label": true,
|
|
187841
188357
|
style: styles$14.chatContent,
|
|
187842
188358
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
187843
188359
|
style: styles$14.chatTop,
|
|
@@ -187847,9 +188363,21 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
187847
188363
|
})
|
|
187848
188364
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
187849
188365
|
style: styles$14.chatBottom,
|
|
187850
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
188366
|
+
children: !running ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
188367
|
+
"data-arkme-harness-destination": true,
|
|
187851
188368
|
style: styles$14.preview,
|
|
187852
|
-
children: "你的 DeepSeek 智能助手"
|
|
188369
|
+
children: destination ?? (accountScope === void 0 ? "你的 DeepSeek 智能助手" : "")
|
|
188370
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
188371
|
+
"data-arkme-harness-summary": true,
|
|
188372
|
+
children: statuses.map((status) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
188373
|
+
"data-arkme-harness-status": status.kind,
|
|
188374
|
+
children: [
|
|
188375
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("i", { "aria-hidden": true }),
|
|
188376
|
+
status.items.length,
|
|
188377
|
+
" ",
|
|
188378
|
+
status.label
|
|
188379
|
+
]
|
|
188380
|
+
}, status.kind))
|
|
187853
188381
|
})
|
|
187854
188382
|
})]
|
|
187855
188383
|
})]
|
|
@@ -189550,6 +190078,11 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
189550
190078
|
})]
|
|
189551
190079
|
}),
|
|
189552
190080
|
active && authenticated && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeQuickAddButton, {
|
|
190081
|
+
onNewDshSession: showHarnessEntry ? () => startEmbeddedHarnessSession(() => {
|
|
190082
|
+
activateNativeEntry();
|
|
190083
|
+
arkmeUi.showHarness();
|
|
190084
|
+
onActivateSurface?.();
|
|
190085
|
+
}) : void 0,
|
|
189553
190086
|
notificationActivationRevision: ui.notificationActivationRevision ?? 0,
|
|
189554
190087
|
onBlockingOverlayChange: setQuickAddBlockingOpen,
|
|
189555
190088
|
onContactAdd: showContactAdd,
|
|
@@ -189632,6 +190165,8 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
189632
190165
|
authenticated && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeNotificationPermissionBanner, {}),
|
|
189633
190166
|
showHarnessEntry && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DeepSeekHarnessRow, {
|
|
189634
190167
|
selected: activeDirectoryEntryId === void 0 && ui.mode === "harness",
|
|
190168
|
+
accountScope: currentAccountKey,
|
|
190169
|
+
hoverEnabled: active && authenticated,
|
|
189635
190170
|
onClick: () => {
|
|
189636
190171
|
activateNativeEntry();
|
|
189637
190172
|
arkmeUi.showHarness();
|
|
@@ -190061,6 +190596,23 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190061
190596
|
}
|
|
190062
190597
|
//#endregion
|
|
190063
190598
|
//#region src/client/ArkmeSourceBreadcrumb.tsx
|
|
190599
|
+
/** Split a topic row into a narrow reorder edge and a generous nesting center. */
|
|
190600
|
+
function arkmeTopicDropPosition(clientY, rect) {
|
|
190601
|
+
if (rect.height <= 0) return "into";
|
|
190602
|
+
const ratio = (clientY - rect.top) / rect.height;
|
|
190603
|
+
if (ratio < .22) return "before";
|
|
190604
|
+
if (ratio > .78) return "after";
|
|
190605
|
+
return "into";
|
|
190606
|
+
}
|
|
190607
|
+
/** Return one frame of proportional list scrolling while a drag hugs an edge. */
|
|
190608
|
+
function arkmeTopicDragAutoScrollDelta(clientX, clientY, rect, edgeSize = 44, minimumSpeed = 4, maximumSpeed = 18) {
|
|
190609
|
+
if (clientX < rect.left || clientX > rect.right || clientY < rect.top || clientY > rect.bottom) return 0;
|
|
190610
|
+
const safeEdgeSize = Math.max(1, Math.min(edgeSize, (rect.bottom - rect.top) / 2));
|
|
190611
|
+
const speed = (distance) => Math.round(minimumSpeed + (maximumSpeed - minimumSpeed) * Math.min(1, Math.max(0, distance / safeEdgeSize)));
|
|
190612
|
+
if (clientY < rect.top + safeEdgeSize) return -speed(rect.top + safeEdgeSize - clientY);
|
|
190613
|
+
if (clientY > rect.bottom - safeEdgeSize) return speed(clientY - (rect.bottom - safeEdgeSize));
|
|
190614
|
+
return 0;
|
|
190615
|
+
}
|
|
190064
190616
|
const colors$4 = {
|
|
190065
190617
|
text: "#171923",
|
|
190066
190618
|
secondary: "#6f747d",
|
|
@@ -190206,10 +190758,48 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190206
190758
|
borderRadius: 7
|
|
190207
190759
|
},
|
|
190208
190760
|
topicRowHover: { background: "#f3f4f7" },
|
|
190209
|
-
|
|
190210
|
-
|
|
190211
|
-
|
|
190212
|
-
|
|
190761
|
+
topicRowSelected: {
|
|
190762
|
+
background: colors$4.selected,
|
|
190763
|
+
fontWeight: 600
|
|
190764
|
+
},
|
|
190765
|
+
topicHierarchyGuide: {
|
|
190766
|
+
position: "absolute",
|
|
190767
|
+
top: 0,
|
|
190768
|
+
bottom: 0,
|
|
190769
|
+
width: 1,
|
|
190770
|
+
background: "#e7e9ed",
|
|
190771
|
+
pointerEvents: "none"
|
|
190772
|
+
},
|
|
190773
|
+
topicRowDropInto: {
|
|
190774
|
+
background: "#eef2ff",
|
|
190775
|
+
outline: "1px solid #8295e5",
|
|
190776
|
+
outlineOffset: -1
|
|
190777
|
+
},
|
|
190778
|
+
topicDropLine: {
|
|
190779
|
+
position: "absolute",
|
|
190780
|
+
zIndex: 2,
|
|
190781
|
+
right: 4,
|
|
190782
|
+
height: 2,
|
|
190783
|
+
borderRadius: 0,
|
|
190784
|
+
background: "#5870d8",
|
|
190785
|
+
pointerEvents: "none"
|
|
190786
|
+
},
|
|
190787
|
+
topicDropIntoBadge: {
|
|
190788
|
+
position: "absolute",
|
|
190789
|
+
zIndex: 3,
|
|
190790
|
+
right: 6,
|
|
190791
|
+
top: 5,
|
|
190792
|
+
height: 22,
|
|
190793
|
+
display: "inline-flex",
|
|
190794
|
+
alignItems: "center",
|
|
190795
|
+
padding: "0 6px",
|
|
190796
|
+
borderRadius: 5,
|
|
190797
|
+
background: "#dce4ff",
|
|
190798
|
+
color: "#445bbd",
|
|
190799
|
+
fontSize: 10,
|
|
190800
|
+
fontWeight: 600,
|
|
190801
|
+
pointerEvents: "none"
|
|
190802
|
+
},
|
|
190213
190803
|
topicToggle: {
|
|
190214
190804
|
width: 24,
|
|
190215
190805
|
height: 28,
|
|
@@ -190248,10 +190838,6 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190248
190838
|
textAlign: "left",
|
|
190249
190839
|
cursor: "pointer"
|
|
190250
190840
|
},
|
|
190251
|
-
topicSelectSelected: {
|
|
190252
|
-
background: colors$4.selected,
|
|
190253
|
-
fontWeight: 600
|
|
190254
|
-
},
|
|
190255
190841
|
topicName: {
|
|
190256
190842
|
minWidth: 0,
|
|
190257
190843
|
flex: 1,
|
|
@@ -190523,11 +191109,11 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190523
191109
|
function topicCountLabel(count) {
|
|
190524
191110
|
return count === void 0 ? "…" : count.toLocaleString("zh-CN");
|
|
190525
191111
|
}
|
|
190526
|
-
function ArkmeSourceBreadcrumb({ selectedSource, sources, loading = false, error, onSelect, onSelectAggregate, onCreateTopic, onCreateChildTopic, onRenameTopic, onDissolveTopic, onRetry, onMoveTopic, activeDissolve, tourOpen }) {
|
|
191112
|
+
function ArkmeSourceBreadcrumb({ userId, selectedSource, sources, loading = false, error, onSelect, onSelectAggregate, onCreateTopic, onCreateChildTopic, onRenameTopic, onDissolveTopic, onRetry, onMoveTopic, activeDissolve, tourOpen }) {
|
|
190527
191113
|
const [manualOpen, setOpen] = (0, react$1.useState)(false);
|
|
190528
191114
|
const open = tourOpen ?? manualOpen;
|
|
190529
191115
|
const [collapsedSourceRefs, setCollapsedSourceRefs] = (0, react$1.useState)(() => /* @__PURE__ */ new Set());
|
|
190530
|
-
const [sort, setSort] = (0, react$1.useState)(
|
|
191116
|
+
const [sort, setSort] = (0, react$1.useState)(() => readSelfTopicSortPreference(userId));
|
|
190531
191117
|
const [draggingSourceRef, setDraggingSourceRef] = (0, react$1.useState)();
|
|
190532
191118
|
const [hoveredSourceRef, setHoveredSourceRef] = (0, react$1.useState)();
|
|
190533
191119
|
const [topicMenuSource, setTopicMenuSource] = (0, react$1.useState)();
|
|
@@ -190541,10 +191127,15 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190541
191127
|
const [dropPlan, setDropPlan] = (0, react$1.useState)();
|
|
190542
191128
|
const [movingTopic, setMovingTopic] = (0, react$1.useState)(false);
|
|
190543
191129
|
const [moveError, setMoveError] = (0, react$1.useState)("");
|
|
190544
|
-
const
|
|
191130
|
+
const selectorRef = (0, react$1.useRef)(null);
|
|
191131
|
+
const menuRef = (0, react$1.useRef)(null);
|
|
190545
191132
|
const menuListRef = (0, react$1.useRef)(null);
|
|
190546
191133
|
const pendingSelectedFocusRef = (0, react$1.useRef)(false);
|
|
190547
191134
|
const dragStartXRef = (0, react$1.useRef)(0);
|
|
191135
|
+
const dragPointerRef = (0, react$1.useRef)();
|
|
191136
|
+
const dragAutoScrollFrameRef = (0, react$1.useRef)();
|
|
191137
|
+
const dragAutoExpandTimerRef = (0, react$1.useRef)();
|
|
191138
|
+
const dragAutoExpandSourceRef = (0, react$1.useRef)();
|
|
190548
191139
|
const observedActiveDissolveRef = (0, react$1.useRef)(false);
|
|
190549
191140
|
const topicRoots = (0, react$1.useMemo)(() => sortArkmeSourceTree(buildArkmeSourceTree(arkmeSelfDirectorySources(sources)), sort), [sort, sources]);
|
|
190550
191141
|
const rows = (0, react$1.useMemo)(() => flattenVisibleArkmeSourceTree(topicRoots, collapsedSourceRefs), [collapsedSourceRefs, topicRoots]);
|
|
@@ -190574,6 +191165,9 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190574
191165
|
setTopicMutationError("");
|
|
190575
191166
|
setDissolveDialogOpen(true);
|
|
190576
191167
|
};
|
|
191168
|
+
(0, react$1.useEffect)(() => {
|
|
191169
|
+
setSort(readSelfTopicSortPreference(userId));
|
|
191170
|
+
}, [userId]);
|
|
190577
191171
|
(0, react$1.useEffect)(() => {
|
|
190578
191172
|
if (activeDissolveRunning && activeDissolve !== void 0) {
|
|
190579
191173
|
observedActiveDissolveRef.current = true;
|
|
@@ -190601,24 +191195,75 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190601
191195
|
const currentParent = currentParentOf(draggingSource);
|
|
190602
191196
|
return currentParent?.sourceRef !== nextParent?.sourceRef || nextSiblingOf(draggingSource, currentParent)?.sourceRef !== insertBefore?.sourceRef;
|
|
190603
191197
|
};
|
|
191198
|
+
const stopTopicDragAutoScroll = () => {
|
|
191199
|
+
dragPointerRef.current = void 0;
|
|
191200
|
+
if (dragAutoScrollFrameRef.current !== void 0) cancelAnimationFrame(dragAutoScrollFrameRef.current);
|
|
191201
|
+
dragAutoScrollFrameRef.current = void 0;
|
|
191202
|
+
};
|
|
191203
|
+
const runTopicDragAutoScroll = () => {
|
|
191204
|
+
dragAutoScrollFrameRef.current = void 0;
|
|
191205
|
+
const list = menuListRef.current;
|
|
191206
|
+
const pointer = dragPointerRef.current;
|
|
191207
|
+
if (list === null || pointer === void 0) return;
|
|
191208
|
+
const delta = arkmeTopicDragAutoScrollDelta(pointer.clientX, pointer.clientY, list.getBoundingClientRect());
|
|
191209
|
+
if (delta === 0) return;
|
|
191210
|
+
const before = list.scrollTop;
|
|
191211
|
+
list.scrollTop += delta;
|
|
191212
|
+
if (list.scrollTop === before) return;
|
|
191213
|
+
dragAutoScrollFrameRef.current = requestAnimationFrame(runTopicDragAutoScroll);
|
|
191214
|
+
};
|
|
191215
|
+
const updateTopicDragAutoScroll = (clientX, clientY) => {
|
|
191216
|
+
dragPointerRef.current = {
|
|
191217
|
+
clientX,
|
|
191218
|
+
clientY
|
|
191219
|
+
};
|
|
191220
|
+
if (dragAutoScrollFrameRef.current === void 0) dragAutoScrollFrameRef.current = requestAnimationFrame(runTopicDragAutoScroll);
|
|
191221
|
+
};
|
|
191222
|
+
const stopTopicAutoExpand = () => {
|
|
191223
|
+
if (dragAutoExpandTimerRef.current !== void 0) clearTimeout(dragAutoExpandTimerRef.current);
|
|
191224
|
+
dragAutoExpandTimerRef.current = void 0;
|
|
191225
|
+
dragAutoExpandSourceRef.current = void 0;
|
|
191226
|
+
};
|
|
191227
|
+
const scheduleTopicAutoExpand = (row, plan) => {
|
|
191228
|
+
const expandable = row.hasChildren || row.source.hasPendingChildren === true;
|
|
191229
|
+
if (plan?.into !== true || !expandable || row.expanded) {
|
|
191230
|
+
stopTopicAutoExpand();
|
|
191231
|
+
return;
|
|
191232
|
+
}
|
|
191233
|
+
if (dragAutoExpandSourceRef.current === row.source.sourceRef) return;
|
|
191234
|
+
stopTopicAutoExpand();
|
|
191235
|
+
dragAutoExpandSourceRef.current = row.source.sourceRef;
|
|
191236
|
+
dragAutoExpandTimerRef.current = setTimeout(() => {
|
|
191237
|
+
setCollapsedSourceRefs((current) => {
|
|
191238
|
+
if (!current.has(row.source.sourceRef)) return current;
|
|
191239
|
+
const next = new Set(current);
|
|
191240
|
+
next.delete(row.source.sourceRef);
|
|
191241
|
+
return next;
|
|
191242
|
+
});
|
|
191243
|
+
dragAutoExpandTimerRef.current = void 0;
|
|
191244
|
+
dragAutoExpandSourceRef.current = void 0;
|
|
191245
|
+
}, 500);
|
|
191246
|
+
};
|
|
190604
191247
|
const planMoveAtRow = (row, clientX, clientY, rect) => {
|
|
190605
191248
|
if (row.source.kind === "default_category" || !arkmeSourceAllowsUserWrite(row.source)) return void 0;
|
|
190606
191249
|
if (draggingSource === void 0) return void 0;
|
|
190607
191250
|
const horizontalDelta = clientX - dragStartXRef.current;
|
|
190608
|
-
|
|
191251
|
+
const position = arkmeTopicDropPosition(clientY, rect);
|
|
191252
|
+
const targetParent = currentParentOf(row.source);
|
|
191253
|
+
const outdenting = horizontalDelta <= -24 && targetParent !== void 0;
|
|
191254
|
+
if (position === "into" && !outdenting) {
|
|
190609
191255
|
if (!canMoveTo(row.source, void 0)) return void 0;
|
|
190610
191256
|
return {
|
|
190611
191257
|
parent: row.source,
|
|
190612
191258
|
insertBefore: void 0,
|
|
190613
191259
|
indicatorSourceRef: row.source.sourceRef,
|
|
191260
|
+
indicatorDepth: row.depth + 1,
|
|
190614
191261
|
before: false,
|
|
190615
191262
|
into: true
|
|
190616
191263
|
};
|
|
190617
191264
|
}
|
|
190618
|
-
const targetParent = currentParentOf(row.source);
|
|
190619
|
-
const outdenting = horizontalDelta <= -24 && targetParent !== void 0;
|
|
190620
191265
|
const parent = outdenting ? currentParentOf(targetParent) : targetParent;
|
|
190621
|
-
const before =
|
|
191266
|
+
const before = position === "before";
|
|
190622
191267
|
const anchor = outdenting ? targetParent : row.source;
|
|
190623
191268
|
const insertBefore = before ? anchor : nextSiblingOf(anchor, parent);
|
|
190624
191269
|
if (!canMoveTo(parent, insertBefore)) return void 0;
|
|
@@ -190626,6 +191271,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190626
191271
|
parent,
|
|
190627
191272
|
insertBefore,
|
|
190628
191273
|
indicatorSourceRef: row.source.sourceRef,
|
|
191274
|
+
indicatorDepth: outdenting ? Math.max(0, row.depth - 1) : row.depth,
|
|
190629
191275
|
before,
|
|
190630
191276
|
into: false
|
|
190631
191277
|
};
|
|
@@ -190633,6 +191279,14 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190633
191279
|
const finishTopicMove = (plan) => {
|
|
190634
191280
|
if (plan === void 0 || !canMoveTo(plan.parent, plan.insertBefore) || draggingSource === void 0 || onMoveTopic === void 0) return;
|
|
190635
191281
|
const movedSource = draggingSource;
|
|
191282
|
+
stopTopicDragAutoScroll();
|
|
191283
|
+
stopTopicAutoExpand();
|
|
191284
|
+
if (plan.into && plan.parent !== void 0) setCollapsedSourceRefs((current) => {
|
|
191285
|
+
if (!current.has(plan.parent.sourceRef)) return current;
|
|
191286
|
+
const next = new Set(current);
|
|
191287
|
+
next.delete(plan.parent.sourceRef);
|
|
191288
|
+
return next;
|
|
191289
|
+
});
|
|
190636
191290
|
setMovingTopic(true);
|
|
190637
191291
|
setMoveError("");
|
|
190638
191292
|
setDropPlan(void 0);
|
|
@@ -190643,6 +191297,10 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190643
191297
|
setMovingTopic(false);
|
|
190644
191298
|
});
|
|
190645
191299
|
};
|
|
191300
|
+
(0, react$1.useEffect)(() => () => {
|
|
191301
|
+
stopTopicDragAutoScroll();
|
|
191302
|
+
stopTopicAutoExpand();
|
|
191303
|
+
}, []);
|
|
190646
191304
|
const revealSelectedTopic = () => {
|
|
190647
191305
|
if (selectedRef === void 0) {
|
|
190648
191306
|
menuListRef.current?.scrollTo({ top: 0 });
|
|
@@ -190682,10 +191340,10 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190682
191340
|
if (!open) return;
|
|
190683
191341
|
const closeOutside = (event) => {
|
|
190684
191342
|
if (tourOpen !== void 0) return;
|
|
190685
|
-
if (event.target instanceof Node
|
|
190686
|
-
|
|
190687
|
-
|
|
190688
|
-
|
|
191343
|
+
if (!(event.target instanceof Node)) return;
|
|
191344
|
+
if (selectorRef.current?.contains(event.target) || menuRef.current?.contains(event.target)) return;
|
|
191345
|
+
setOpen(false);
|
|
191346
|
+
setTopicMenuSource(void 0);
|
|
190689
191347
|
};
|
|
190690
191348
|
const closeEscape = (event) => {
|
|
190691
191349
|
if (tourOpen !== void 0) return;
|
|
@@ -190778,7 +191436,6 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190778
191436
|
});
|
|
190779
191437
|
};
|
|
190780
191438
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("nav", {
|
|
190781
|
-
ref: rootRef,
|
|
190782
191439
|
"aria-label": "发给自己主题",
|
|
190783
191440
|
style: styles$13.breadcrumb,
|
|
190784
191441
|
children: [
|
|
@@ -190788,6 +191445,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190788
191445
|
children: "发给自己"
|
|
190789
191446
|
}),
|
|
190790
191447
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
191448
|
+
ref: selectorRef,
|
|
190791
191449
|
type: "button",
|
|
190792
191450
|
"aria-label": "选择主题",
|
|
190793
191451
|
"aria-haspopup": "tree",
|
|
@@ -190849,6 +191507,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190849
191507
|
}), activeDissolveLabel]
|
|
190850
191508
|
}),
|
|
190851
191509
|
open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
191510
|
+
ref: menuRef,
|
|
190852
191511
|
role: "tree",
|
|
190853
191512
|
"aria-label": "主题",
|
|
190854
191513
|
"data-arkme-self-topic-menu": true,
|
|
@@ -190874,6 +191533,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190874
191533
|
},
|
|
190875
191534
|
onClick: () => {
|
|
190876
191535
|
setSort(value);
|
|
191536
|
+
writeSelfTopicSortPreference(userId, value);
|
|
190877
191537
|
revealSelectedTopic();
|
|
190878
191538
|
},
|
|
190879
191539
|
children: label
|
|
@@ -190888,6 +191548,20 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190888
191548
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
190889
191549
|
ref: menuListRef,
|
|
190890
191550
|
style: styles$13.menuList,
|
|
191551
|
+
onDragOver: (event) => {
|
|
191552
|
+
if (!customDragEnabled || draggingSource === void 0) return;
|
|
191553
|
+
updateTopicDragAutoScroll(event.clientX, event.clientY);
|
|
191554
|
+
},
|
|
191555
|
+
onDragLeave: (event) => {
|
|
191556
|
+
if (event.relatedTarget instanceof Node && event.currentTarget.contains(event.relatedTarget)) return;
|
|
191557
|
+
stopTopicDragAutoScroll();
|
|
191558
|
+
stopTopicAutoExpand();
|
|
191559
|
+
setDropPlan(void 0);
|
|
191560
|
+
},
|
|
191561
|
+
onDrop: () => {
|
|
191562
|
+
stopTopicDragAutoScroll();
|
|
191563
|
+
stopTopicAutoExpand();
|
|
191564
|
+
},
|
|
190891
191565
|
children: [
|
|
190892
191566
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
190893
191567
|
type: "button",
|
|
@@ -190920,24 +191594,34 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190920
191594
|
const isSelected = selectedRef === row.source.sourceRef;
|
|
190921
191595
|
const isHovered = hoveredSourceRef === row.source.sourceRef;
|
|
190922
191596
|
const isDefaultCategory = row.source.kind === "default_category";
|
|
191597
|
+
const canDragTopic = customDragEnabled && !isDefaultCategory && arkmeSourceAllowsUserWrite(row.source);
|
|
190923
191598
|
const canCreateChild = arkmeSourceAllowsUserWrite(row.source) && !isDefaultCategory && onCreateChildTopic !== void 0 && row.depth + 1 < 5;
|
|
190924
191599
|
const canManageTopic = arkmeSourceAllowsUserWrite(row.source) && !isDefaultCategory && (canCreateChild || onRenameTopic !== void 0 || onDissolveTopic !== void 0);
|
|
190925
|
-
const showActions = isHovered && canManageTopic;
|
|
191600
|
+
const showActions = isHovered && canManageTopic && draggingSource === void 0;
|
|
190926
191601
|
const manageMenuOpen = topicMenuSource?.sourceRef === row.source.sourceRef;
|
|
191602
|
+
const rowDropPlan = dropPlan?.indicatorSourceRef === row.source.sourceRef ? dropPlan : void 0;
|
|
190927
191603
|
const displayedCount = (row.hasChildren || row.source.hasPendingChildren === true) && !countsComplete ? void 0 : aggregateTopicCounts.get(row.source.sourceRef) ?? topicDirectRecordCount(row.source);
|
|
191604
|
+
const depthInset = row.depth * 16;
|
|
190928
191605
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
190929
191606
|
role: "treeitem",
|
|
190930
191607
|
"aria-level": row.depth + 1,
|
|
190931
191608
|
"aria-selected": selectedRef === row.source.sourceRef,
|
|
190932
191609
|
...row.hasChildren ? { "aria-expanded": row.expanded } : {},
|
|
191610
|
+
draggable: canDragTopic,
|
|
190933
191611
|
"data-arkme-self-topic-tree-row": "true",
|
|
190934
191612
|
"data-arkme-self-topic-tree-row-ref": row.source.sourceRef,
|
|
191613
|
+
"data-arkme-self-topic-hit-region": "true",
|
|
190935
191614
|
style: {
|
|
190936
191615
|
...styles$13.topicRow,
|
|
190937
|
-
|
|
191616
|
+
marginLeft: depthInset,
|
|
191617
|
+
width: `calc(100% - ${String(depthInset)}px)`,
|
|
190938
191618
|
...isHovered && !isSelected ? styles$13.topicRowHover : {},
|
|
190939
|
-
...
|
|
190940
|
-
...
|
|
191619
|
+
...isSelected ? styles$13.topicRowSelected : {},
|
|
191620
|
+
...rowDropPlan?.into === true ? styles$13.topicRowDropInto : {},
|
|
191621
|
+
...canDragTopic ? { cursor: "grab" } : {}
|
|
191622
|
+
},
|
|
191623
|
+
onClick: () => {
|
|
191624
|
+
selectTopic(row.source);
|
|
190941
191625
|
},
|
|
190942
191626
|
onMouseEnter: () => {
|
|
190943
191627
|
setHoveredSourceRef(row.source.sourceRef);
|
|
@@ -190949,22 +191633,67 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190949
191633
|
},
|
|
190950
191634
|
onDragOver: (event) => {
|
|
190951
191635
|
const plan = planMoveAtRow(row, event.clientX, event.clientY, event.currentTarget.getBoundingClientRect());
|
|
190952
|
-
if (plan === void 0)
|
|
191636
|
+
if (plan === void 0) {
|
|
191637
|
+
setDropPlan(void 0);
|
|
191638
|
+
stopTopicAutoExpand();
|
|
191639
|
+
return;
|
|
191640
|
+
}
|
|
190953
191641
|
event.preventDefault();
|
|
190954
191642
|
event.dataTransfer.dropEffect = "move";
|
|
190955
191643
|
setDropPlan(plan);
|
|
191644
|
+
scheduleTopicAutoExpand(row, plan);
|
|
191645
|
+
},
|
|
191646
|
+
onDragStart: (event) => {
|
|
191647
|
+
event.dataTransfer.effectAllowed = "move";
|
|
191648
|
+
event.dataTransfer.setData("text/plain", row.source.sourceRef);
|
|
191649
|
+
dragStartXRef.current = event.clientX;
|
|
191650
|
+
stopTopicDragAutoScroll();
|
|
191651
|
+
stopTopicAutoExpand();
|
|
191652
|
+
setMoveError("");
|
|
191653
|
+
setDropPlan(void 0);
|
|
191654
|
+
setDraggingSourceRef(row.source.sourceRef);
|
|
191655
|
+
},
|
|
191656
|
+
onDragEnd: () => {
|
|
191657
|
+
stopTopicDragAutoScroll();
|
|
191658
|
+
stopTopicAutoExpand();
|
|
191659
|
+
setDraggingSourceRef(void 0);
|
|
191660
|
+
setDropPlan(void 0);
|
|
190956
191661
|
},
|
|
190957
191662
|
onDrop: (event) => {
|
|
190958
191663
|
event.preventDefault();
|
|
190959
191664
|
finishTopicMove(planMoveAtRow(row, event.clientX, event.clientY, event.currentTarget.getBoundingClientRect()));
|
|
190960
191665
|
},
|
|
190961
191666
|
children: [
|
|
191667
|
+
Array.from({ length: row.depth }, (_, guideDepth) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
191668
|
+
"aria-hidden": true,
|
|
191669
|
+
"data-arkme-self-topic-hierarchy-guide": guideDepth,
|
|
191670
|
+
style: {
|
|
191671
|
+
...styles$13.topicHierarchyGuide,
|
|
191672
|
+
left: (guideDepth - row.depth) * 16 + 12
|
|
191673
|
+
}
|
|
191674
|
+
}, `guide-${String(guideDepth)}`)),
|
|
191675
|
+
rowDropPlan !== void 0 && !rowDropPlan.into && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
191676
|
+
"aria-hidden": true,
|
|
191677
|
+
"data-arkme-self-topic-drop-line": rowDropPlan.before ? "before" : "after",
|
|
191678
|
+
style: {
|
|
191679
|
+
...styles$13.topicDropLine,
|
|
191680
|
+
left: (rowDropPlan.indicatorDepth - row.depth) * 16 + 4,
|
|
191681
|
+
...rowDropPlan.before ? { top: -1 } : { bottom: -1 }
|
|
191682
|
+
}
|
|
191683
|
+
}),
|
|
191684
|
+
rowDropPlan?.into === true && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
191685
|
+
"aria-hidden": true,
|
|
191686
|
+
"data-arkme-self-topic-drop-into": "true",
|
|
191687
|
+
style: styles$13.topicDropIntoBadge,
|
|
191688
|
+
children: "移入"
|
|
191689
|
+
}),
|
|
190962
191690
|
row.hasChildren ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
190963
191691
|
type: "button",
|
|
190964
191692
|
"aria-label": `${row.expanded ? "收起" : "展开"}${row.source.displayName}`,
|
|
190965
191693
|
title: row.expanded ? "收起子主题" : "展开子主题",
|
|
190966
191694
|
style: styles$13.topicToggle,
|
|
190967
|
-
onClick: () => {
|
|
191695
|
+
onClick: (event) => {
|
|
191696
|
+
event.stopPropagation();
|
|
190968
191697
|
toggleTopicExpansion(row.source.sourceRef);
|
|
190969
191698
|
},
|
|
190970
191699
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
@@ -190992,23 +191721,9 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
190992
191721
|
}),
|
|
190993
191722
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
190994
191723
|
type: "button",
|
|
190995
|
-
|
|
190996
|
-
|
|
190997
|
-
|
|
190998
|
-
...isSelected ? styles$13.topicSelectSelected : {}
|
|
190999
|
-
},
|
|
191000
|
-
onDragStart: (event) => {
|
|
191001
|
-
event.dataTransfer.effectAllowed = "move";
|
|
191002
|
-
event.dataTransfer.setData("text/plain", row.source.sourceRef);
|
|
191003
|
-
dragStartXRef.current = event.clientX;
|
|
191004
|
-
setMoveError("");
|
|
191005
|
-
setDraggingSourceRef(row.source.sourceRef);
|
|
191006
|
-
},
|
|
191007
|
-
onDragEnd: () => {
|
|
191008
|
-
setDraggingSourceRef(void 0);
|
|
191009
|
-
setDropPlan(void 0);
|
|
191010
|
-
},
|
|
191011
|
-
onClick: () => {
|
|
191724
|
+
style: styles$13.topicSelect,
|
|
191725
|
+
onClick: (event) => {
|
|
191726
|
+
event.stopPropagation();
|
|
191012
191727
|
selectTopic(row.source);
|
|
191013
191728
|
},
|
|
191014
191729
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -191156,10 +191871,12 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
191156
191871
|
if (!canMoveTo(void 0, void 0)) return;
|
|
191157
191872
|
event.preventDefault();
|
|
191158
191873
|
event.dataTransfer.dropEffect = "move";
|
|
191874
|
+
stopTopicAutoExpand();
|
|
191159
191875
|
setDropPlan({
|
|
191160
191876
|
parent: void 0,
|
|
191161
191877
|
insertBefore: void 0,
|
|
191162
191878
|
indicatorSourceRef: "root",
|
|
191879
|
+
indicatorDepth: 0,
|
|
191163
191880
|
before: false,
|
|
191164
191881
|
into: false
|
|
191165
191882
|
});
|
|
@@ -191170,6 +191887,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
191170
191887
|
parent: void 0,
|
|
191171
191888
|
insertBefore: void 0,
|
|
191172
191889
|
indicatorSourceRef: "root",
|
|
191890
|
+
indicatorDepth: 0,
|
|
191173
191891
|
before: false,
|
|
191174
191892
|
into: false
|
|
191175
191893
|
});
|
|
@@ -199005,11 +199723,22 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
199005
199723
|
unreadCount: 0
|
|
199006
199724
|
};
|
|
199007
199725
|
}
|
|
199008
|
-
function
|
|
199726
|
+
function arkmeTimelineSelfTopicPresentation(item, currentSource, sources) {
|
|
199727
|
+
if (currentSource?.kind !== "send_to_self" && currentSource?.kind !== "topic") return void 0;
|
|
199728
|
+
const topic = arkmeTimelineSelfTopicSource(item, sources);
|
|
199729
|
+
if (topic === void 0) return void 0;
|
|
199730
|
+
return {
|
|
199731
|
+
topic,
|
|
199732
|
+
displayLabel: arkmeTopicPathNames(topic, sources).join(" / ") || topic.displayName
|
|
199733
|
+
};
|
|
199734
|
+
}
|
|
199735
|
+
function ArkmeTimelineSelfTopicBadge({ topic, displayLabel, onSelect }) {
|
|
199736
|
+
const label = displayLabel?.trim() || topic.displayName;
|
|
199009
199737
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
199010
199738
|
type: "button",
|
|
199011
|
-
"data-arkme-self-topic-badge":
|
|
199012
|
-
"aria-label": `查看主题「${
|
|
199739
|
+
"data-arkme-self-topic-badge": label,
|
|
199740
|
+
"aria-label": `查看主题「${label}」`,
|
|
199741
|
+
title: label,
|
|
199013
199742
|
style: styles$6.selfTopicBadge,
|
|
199014
199743
|
onClick: (event) => {
|
|
199015
199744
|
event.stopPropagation();
|
|
@@ -199030,7 +199759,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
199030
199759
|
}),
|
|
199031
199760
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
199032
199761
|
style: styles$6.selfTopicBadgeText,
|
|
199033
|
-
children:
|
|
199762
|
+
children: label
|
|
199034
199763
|
}),
|
|
199035
199764
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
199036
199765
|
"aria-hidden": true,
|
|
@@ -205246,6 +205975,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
205246
205975
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
205247
205976
|
style: styles$6.titleGroup,
|
|
205248
205977
|
children: [authenticated && conversationBackdropVisible && isArkmeSelfWorkspaceSource(selectedSource) ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeSourceBreadcrumb, {
|
|
205978
|
+
userId: auth?.userId,
|
|
205249
205979
|
selectedSource,
|
|
205250
205980
|
sources: selfSources,
|
|
205251
205981
|
tourOpen: selfTour.topicMenuOpen,
|
|
@@ -205655,7 +206385,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
205655
206385
|
onOpen: openMomentDetail
|
|
205656
206386
|
})] }, row.id);
|
|
205657
206387
|
const item = row.item;
|
|
205658
|
-
const
|
|
206388
|
+
const selfTopicPresentation = arkmeTimelineSelfTopicPresentation(item, source, selfSources);
|
|
205659
206389
|
const avatarRef = arkmeTimelineAvatarRef(item, selfProfile);
|
|
205660
206390
|
const messageMember = item.memberRef === void 0 ? item.isMe ? selfConversationMember : void 0 : conversationMemberByRef.get(item.memberRef);
|
|
205661
206391
|
const messageHeader = item.isMe || source.kind === "private_chat" ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeTimelineMessageHeader, {
|
|
@@ -205872,8 +206602,9 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
205872
206602
|
wide: isStructuredMessageCard,
|
|
205873
206603
|
children: messageBubble
|
|
205874
206604
|
}, `read-receipt:${conversationOverlayKey}`);
|
|
205875
|
-
const topicBadge =
|
|
205876
|
-
topic:
|
|
206605
|
+
const topicBadge = selfTopicPresentation === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArkmeTimelineSelfTopicBadge, {
|
|
206606
|
+
topic: selfTopicPresentation.topic,
|
|
206607
|
+
...selfTopicPresentation.displayLabel === void 0 ? {} : { displayLabel: selfTopicPresentation.displayLabel },
|
|
205877
206608
|
onSelect: activateSelfSource
|
|
205878
206609
|
});
|
|
205879
206610
|
if (!isExtensionMessage || item.extensionParent === void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [messageContentLine, topicBadge] });
|
|
@@ -210541,11 +211272,12 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
210541
211272
|
* It stays mounted while another Arkme conversation is visible so the native client can
|
|
210542
211273
|
* finish its own core boot independently of the Arkme directory request lifecycle.
|
|
210543
211274
|
*/
|
|
210544
|
-
function DeepSeekHarnessSurface({ visible = true, nativeSettings = false, accountId, followSession = true }) {
|
|
211275
|
+
function DeepSeekHarnessSurface({ visible = true, nativeSettings = false, accountId, accountScope, followSession = true }) {
|
|
210545
211276
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("section", {
|
|
210546
211277
|
"data-arkme-owned": "deepseek-harness-surface",
|
|
210547
211278
|
"data-arkme-preload": "true",
|
|
210548
211279
|
"data-arkme-account-id": accountId,
|
|
211280
|
+
"data-arkme-account-scope": accountScope,
|
|
210549
211281
|
"data-arkme-follow-session": visible && followSession && accountId !== void 0 ? "true" : "false",
|
|
210550
211282
|
"data-arkme-visible": visible ? "true" : "false",
|
|
210551
211283
|
style: {
|
|
@@ -211839,6 +212571,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
211839
212571
|
visible: harnessVisible,
|
|
211840
212572
|
nativeSettings: webLockedHarness,
|
|
211841
212573
|
accountId: authenticatedUserId,
|
|
212574
|
+
accountScope: contactsAccountKey,
|
|
211842
212575
|
followSession: ui.mode === "harness"
|
|
211843
212576
|
}, contactsAccountKey ?? "guest"),
|
|
211844
212577
|
!webLockedHarness && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -211965,7 +212698,7 @@ body[data-ds-dark-theme] .arkme-mention-all-avatar [data-arkme-theme-image="dark
|
|
|
211965
212698
|
}
|
|
211966
212699
|
//#endregion
|
|
211967
212700
|
//#region src/client/redesign/arkme-redesign.css?inline
|
|
211968
|
-
var arkme_redesign_default = "[data-arkme-workspace] {\n --arkme-line: #e7e7e9;\n --arkme-muted: #8e9199;\n --arkme-soft: #f6f6f7;\n --arkme-focus: #cbd5ff;\n color: #171923;\n font-synthesis: none;\n font-family: SF Pro Text, SF Pro Display, -apple-system, BlinkMacSystemFont, PingFang SC, Helvetica Neue, Microsoft YaHei, sans-serif;\n}\n\n[data-arkme-workspace], [data-arkme-workspace] * {\n box-sizing: border-box;\n}\n\n[data-arkme-workspace] button, [data-arkme-workspace] input, [data-arkme-workspace] textarea {\n font: inherit;\n}\n\n[data-arkme-workspace] button {\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n[data-arkme-workspace] [data-arkme-theme-image=\"dark\"] {\n display: none !important;\n}\n\n.arkme-redesign-root {\n --arkme-native-titlebar: 0px;\n background: #fff;\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n position: relative;\n overflow: hidden;\n}\n\n.arkme-native-desktop .arkme-redesign-root {\n --arkme-native-titlebar: 50px;\n}\n\n.arkme-native-desktop .arkme-redesign-root:before {\n content: \"\";\n z-index: 30;\n pointer-events: none;\n background: #e8e8ea;\n height: 1px;\n position: absolute;\n top: 49px;\n left: 0;\n right: 0;\n}\n\n.arkme-native-desktop [data-arkme-owned=\"persistent-sidebar\"] > [data-arkme-owned=\"product-navigation\"] {\n padding-top: 28px !important;\n}\n\n.arkme-redesign-rail {\n z-index: 8;\n top: calc(26px + var(--arkme-native-titlebar));\n background: #fbfbfc;\n border: 1px solid #e4e4e7;\n border-radius: 22px;\n flex-direction: column;\n width: 72px;\n padding: 10px 8px;\n display: flex;\n position: absolute;\n bottom: 22px;\n left: 24px;\n box-shadow: 0 16px 38px #1e20260e;\n}\n\n.arkme-redesign-rail-primary {\n flex-direction: column;\n gap: 5px;\n display: flex;\n}\n\n.arkme-redesign-rail-primary button {\n color: #3e4149;\n border-radius: 15px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n min-height: 57px;\n transition: background .18s, color .18s;\n display: flex;\n position: relative;\n}\n\n.arkme-redesign-rail-primary button span {\n letter-spacing: .01em;\n font-size: 11px;\n font-weight: 400;\n}\n\n.arkme-redesign-rail-primary button:hover {\n background: #f4f4f5;\n}\n\n.arkme-redesign-rail-primary button.is-active {\n color: #151722;\n background: #f1f2f6;\n}\n\n.arkme-redesign-rail-primary button.is-active:before {\n content: \"\";\n background: #9eadff;\n border-radius: 3px;\n width: 3px;\n height: 33px;\n position: absolute;\n left: -9px;\n}\n\n.arkme-redesign-rail-footer {\n border-top: 0 solid #ededee;\n justify-items: center;\n gap: 7px;\n margin-top: auto;\n padding-top: 0;\n display: grid;\n position: relative;\n}\n\n.arkme-redesign-rail-footer > button {\n color: #4b4f58;\n border-radius: 14px;\n place-items: center;\n width: 46px;\n height: 46px;\n display: grid;\n}\n\n.arkme-redesign-rail-footer > button:hover, .arkme-redesign-rail-footer > button.is-active {\n background: #f1f2f5;\n}\n\n.arkme-redesign-rail-footer:empty {\n display: none;\n}\n\n.arkme-conversation-input-card {\n display: contents;\n}\n\nbody:is([data-ds-skin=\"qq2006\"], [data-arkme-skin=\"qq2006\"]) [data-arkme-owned=\"product-surface\"] .arkme-conversation-input-card.arkme-conversation-input-card.arkme-conversation-tools {\n display: flex !important;\n}\n\n.arkme-redesign-profile {\n position: relative;\n}\n\n.arkme-redesign-profile > span {\n width: 32px !important;\n height: 32px !important;\n}\n\n.arkme-redesign-profile-popover {\n z-index: 10000;\n backdrop-filter: blur(20px);\n background: #fffffff5;\n border: 1px solid #d8d9dde6;\n border-radius: 18px;\n width: 264px;\n padding: 10px;\n position: fixed;\n bottom: 14px;\n left: 64px;\n box-shadow: 0 20px 50px #1a1c2326, 0 2px 8px #1a1c230d;\n}\n\n.arkme-redesign-profile-head {\n align-items: center;\n gap: 11px;\n padding: 9px 9px 13px;\n display: flex;\n}\n\nbutton.arkme-redesign-profile-head {\n width: 100%;\n color: inherit;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n.arkme-redesign-profile-head > span {\n text-align: left;\n gap: 4px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-profile-head strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 600;\n overflow: hidden;\n}\n\n.arkme-redesign-profile-head small {\n color: #8b8f98;\n font-size: 11px;\n font-weight: 400;\n}\n\n.arkme-redesign-profile-menu {\n border-top: 1px solid #eeeeef;\n gap: 2px;\n padding-top: 6px;\n display: grid;\n}\n\n.arkme-redesign-profile-menu button {\n width: 100%;\n min-height: 50px;\n box-shadow: none;\n color: #393d46;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 11px;\n outline: 0;\n grid-template-columns: 28px minmax(0, 1fr) 16px;\n align-items: center;\n gap: 8px;\n padding: 7px 8px;\n display: grid;\n}\n\n.arkme-redesign-profile-menu button:hover {\n background: #f4f4f5;\n}\n\n.arkme-redesign-profile-menu button > span {\n gap: 3px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-profile-menu strong {\n font-size: 12px;\n font-weight: 500;\n}\n\n.arkme-redesign-profile-menu small {\n color: #92969f;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 10px;\n font-weight: 400;\n overflow: hidden;\n}\n\n.arkme-redesign-profile-menu button > svg:last-child {\n color: #a0a3aa;\n}\n\n.arkme-redesign-native-settings-trigger {\n clip-path: inset(50%);\n width: 1px;\n height: 1px;\n position: absolute;\n overflow: hidden;\n}\n\n.arkme-redesign-chat-panel {\n inset: var(--arkme-native-titlebar) auto 0 96px;\n z-index: 3;\n border-right: 1px solid var(--arkme-line);\n background: #fff;\n flex-direction: column;\n width: 300px;\n min-width: 0;\n padding: 0;\n display: flex;\n position: absolute;\n overflow: hidden;\n}\n\n.arkme-redesign-chat-search {\n text-align: left;\n border-radius: 11px;\n align-items: center;\n gap: 9px;\n width: 100%;\n height: 40px;\n margin: 20px 0 10px;\n padding: 0 12px;\n display: flex;\n color: #9699a1 !important;\n border: 1px solid #e1e2e5 !important;\n font-size: 11px !important;\n}\n\n.arkme-redesign-chat-search:hover {\n background: #f7f7f8;\n}\n\n.arkme-redesign-chat-directory {\n flex: 1;\n min-height: 0;\n margin: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-chat-directory > section {\n background: none !important;\n}\n\n.arkme-redesign-task-section {\n z-index: 3;\n border-bottom: 1px solid #ececef;\n outline: none;\n height: 158px;\n margin: 0 6px 12px;\n position: relative;\n}\n\n.arkme-redesign-task-section-title {\n color: #767b85;\n justify-content: space-between;\n align-items: center;\n height: 28px;\n padding: 0 7px;\n display: flex;\n}\n\n.arkme-redesign-task-section-title strong {\n font-size: 12px;\n font-weight: 500;\n}\n\n.arkme-redesign-task-section-title button {\n border-radius: 7px;\n place-items: center;\n width: 24px;\n height: 24px;\n display: grid;\n}\n\n.arkme-redesign-task-section-title button:hover {\n background: #f3f3f5;\n}\n\n.arkme-redesign-task-list {\n overscroll-behavior: contain;\n scrollbar-gutter: stable;\n background: #fff;\n max-height: 128px;\n padding-bottom: 2px;\n transition: max-height .18s, box-shadow .18s, padding .18s;\n display: grid;\n position: absolute;\n top: 28px;\n left: 0;\n right: 0;\n overflow: hidden auto;\n}\n\n.arkme-redesign-task-section:hover .arkme-redesign-task-list, .arkme-redesign-task-section:focus-within .arkme-redesign-task-list {\n max-height: min(360px, 100vh - 180px);\n padding-bottom: 6px;\n box-shadow: 0 14px 22px #1b1e2512;\n}\n\n.arkme-redesign-task-list > button {\n color: #555a64;\n text-align: left;\n border-radius: 8px;\n grid-template-columns: 16px minmax(0, 1fr);\n align-items: center;\n gap: 4px;\n width: 100%;\n min-width: 0;\n height: 32px;\n padding: 0 8px;\n display: grid;\n}\n\n.arkme-redesign-task-list > button:hover {\n background: #f7f7f8;\n}\n\n.arkme-redesign-task-list > button.is-selected {\n color: #232630;\n background: #f0f1f4;\n}\n\n.arkme-redesign-task-state {\n justify-content: center;\n align-items: center;\n width: 16px;\n height: 20px;\n display: inline-flex;\n}\n\n.arkme-redesign-task-state.is-complete > i {\n background: #39a56b1a;\n border-radius: 50%;\n width: 10px;\n height: 10px;\n display: block;\n position: relative;\n}\n\n.arkme-redesign-task-state.is-complete > i:after {\n content: \"\";\n background: #39a56b;\n border-radius: 50%;\n position: absolute;\n inset: 2px;\n}\n\n.arkme-redesign-task-matrix {\n grid-template-columns: repeat(3, 2px);\n grid-auto-rows: 2px;\n gap: 1px;\n width: 10px;\n height: 10px;\n display: grid;\n}\n\n.arkme-redesign-task-matrix i {\n opacity: .15;\n background: #5d76e8;\n border-radius: 1px;\n animation: 1s infinite arkme-task-dot-chase;\n}\n\n.arkme-redesign-task-matrix i:nth-child(2) {\n animation-delay: .125s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(3) {\n animation-delay: .25s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(4) {\n animation-delay: .375s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(5) {\n animation-delay: .5s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(6) {\n animation-delay: .625s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(7) {\n animation-delay: .75s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(8) {\n animation-delay: .875s;\n}\n\n@keyframes arkme-task-dot-chase {\n 0%, 12.4% {\n opacity: 1;\n }\n\n 12.5%, 24.9% {\n opacity: .6;\n }\n\n 25%, 37.4% {\n opacity: .35;\n }\n\n 37.5%, 100% {\n opacity: .15;\n }\n}\n\n.arkme-redesign-task-copy {\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-redesign-task-copy strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-redesign-task-copy small {\n color: #9a9da5;\n flex: none;\n font-size: 12px;\n line-height: 20px;\n}\n\n.arkme-redesign-task-first {\n color: #555a64;\n text-align: left;\n border-radius: 8px;\n width: calc(100% - 12px);\n height: 32px;\n margin: 0 6px;\n padding: 0 8px;\n font-size: 14px;\n}\n\n.arkme-redesign-task-first:hover {\n background: #f7f7f8;\n}\n\n.arkme-redesign-content {\n inset: var(--arkme-native-titlebar) 0 0 96px;\n background: #fff;\n min-width: 0;\n min-height: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.arkme-redesign-content.has-panel {\n left: 396px;\n}\n\n.arkme-redesign-content.has-details {\n right: 360px;\n}\n\n.arkme-redesign-content.is-login-takeover {\n left: 0;\n right: 0;\n}\n\n.arkme-redesign-route-surface {\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-surface {\n background: #fff !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-header {\n border-bottom: 1px solid #ececef !important;\n height: 68px !important;\n padding: 12px 16px 12px 20px !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-header h2 {\n font-size: 15px !important;\n font-weight: 600 !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-body {\n padding: 22px 22px 12px !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-records {\n gap: 0 !important;\n width: 100% !important;\n}\n\n.arkme-conversation-records-reveal {\n animation: .12s ease-out both arkme-conversation-records-reveal;\n}\n\n@keyframes arkme-conversation-records-reveal {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-conversation-records-reveal {\n animation: none;\n }\n}\n\n.arkme-redesign-route-chats [data-arkme-content-presentation=\"bubble\"] p {\n font-size: 14px;\n line-height: 1.62;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-composer {\n padding: 0 24px 20px !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-composer-inner {\n background: #fff !important;\n border: 1px solid #dfe1e6 !important;\n border-radius: 15px !important;\n gap: 8px !important;\n width: 100% !important;\n padding: 12px 13px 9px !important;\n box-shadow: 0 8px 30px #1c1f270b !important;\n}\n\n.arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"] {\n --arkme-primary-composer-idle: #f6f6f6;\n --arkme-primary-composer-focused: #fff;\n background: var(--arkme-primary-composer-idle, #f6f6f6) !important;\n box-shadow: none !important;\n}\n\n.arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"][data-arkme-composer-focused=\"true\"] {\n background: var(--arkme-primary-composer-focused, #fff) !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-composer textarea {\n min-height: 38px !important;\n padding: 0 !important;\n font-size: 14px !important;\n line-height: 22px !important;\n}\n\n.arkme-redesign-task-conversation {\n font-size: 15px;\n}\n\n.arkme-redesign-task-conversation [data-phase] {\n --dsh-chat-content-width: calc(100% - 64px);\n --dsh-composer-card-max-width: calc(100% - 32px);\n}\n\n.arkme-redesign-task-conversation [data-chat-flow] {\n width: calc(100% - 64px) !important;\n max-width: none !important;\n margin-left: 32px !important;\n margin-right: 32px !important;\n}\n\n.arkme-redesign-task-conversation textarea {\n font-size: 14px !important;\n}\n\n[data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"][data-arkme-directory-visible=\"true\"] [data-arkme-directory-mode=\"conversations\"]), [data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-web-locked] [data-arkme-directory-mode=\"web-locked\"]) {\n grid-template-columns: var(--arkme-persistent-sidebar-width, 356px) minmax(0, 1fr) 0 !important;\n}\n\n[data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"][data-arkme-directory-visible=\"false\"]) {\n grid-template-columns: 72px minmax(0, 1fr) 0 !important;\n}\n\n@media (width >= 1100px) {\n [data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"] [data-arkme-directory-mode=\"contacts\"]) {\n grid-template-columns: var(--arkme-persistent-sidebar-width, 356px) minmax(0, 1fr) 0 !important;\n }\n\n [data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"true\"]:not([data-arkme-web-locked])) {\n grid-template-columns: 0 minmax(0, 1fr) 0 !important;\n }\n}\n\n[data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"]:has( > [data-arkme-directory-mode=\"conversations\"]) > [data-arkme-owned=\"product-navigation\"] {\n flex: 0 0 72px !important;\n width: 72px !important;\n min-width: 72px !important;\n}\n\n[data-arkme-owned=\"persistent-sidebar\"] :is([data-arkme-directory-mode=\"conversations\"], [data-arkme-directory-mode=\"web-locked\"]) {\n min-width: 72px !important;\n}\n\n[data-arkme-directory-compact=\"true\"] > :not([role=\"tree\"]) {\n display: none !important;\n}\n\n[data-arkme-directory-compact=\"true\"] [role=\"tree\"] {\n padding: 8px 6px 18px !important;\n}\n\n.arkme-redesign-feature-page {\n background: #fff;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n padding: 30px 48px 36px;\n display: flex;\n overflow: hidden;\n}\n\n.arkme-redesign-feature-page > header {\n flex: none;\n margin: 0 0 22px;\n}\n\n.arkme-redesign-feature-page > header p {\n color: #8d9098;\n margin: 0 0 8px;\n font-size: 11px;\n}\n\n.arkme-redesign-feature-page > header h1 {\n letter-spacing: -.04em;\n margin: 0;\n font-size: 27px;\n font-weight: 600;\n}\n\n.arkme-redesign-feature-page > header span {\n color: #858992;\n margin-top: 10px;\n font-size: 12px;\n display: block;\n}\n\n.arkme-redesign-feature-body {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-recordings-page {\n background: #fff;\n padding: 0;\n}\n\n.arkme-redesign-recordings-page > div {\n height: 100% !important;\n}\n\n.arkme-redesign-search-page {\n padding: 66px 0 40px;\n}\n\n.arkme-redesign-search-page > header, .arkme-redesign-search-page > .arkme-redesign-feature-body {\n width: min(980px, 100% - 80px);\n margin-left: auto;\n margin-right: auto;\n}\n\n.arkme-redesign-search-page > header {\n margin-bottom: 28px;\n}\n\n.arkme-redesign-search-page > header h1 {\n font-size: 32px;\n}\n\n.arkme-redesign-search-page .arkme-redesign-feature-body {\n overflow-y: auto;\n}\n\n.arkme-redesign-search-page .arkme-redesign-feature-body > div {\n width: 100% !important;\n padding: 0 !important;\n}\n\n.arkme-redesign-search-page .arkme-redesign-feature-body > div > header {\n display: none !important;\n}\n\n.arkme-redesign-search-page .arkme-search-box {\n box-shadow: 0 8px 28px #1c1f2709;\n color: #646872 !important;\n background: #fff !important;\n border: 1px solid #e1e2e5 !important;\n border-radius: 15px !important;\n gap: 12px !important;\n height: 68px !important;\n padding: 0 20px !important;\n}\n\n.arkme-redesign-search-page input[aria-label=\"搜索\"] {\n font-size: 14px !important;\n}\n\n.arkme-redesign-search-page input[aria-label=\"搜索\"]:not(:focus)::placeholder {\n color: #92959d;\n}\n\n.arkme-redesign-search-page .arkme-search-history, .arkme-redesign-search-page .arkme-search-quick {\n margin: 24px 0 0 !important;\n}\n\n.arkme-redesign-search-page .arkme-search-history > div, .arkme-redesign-search-page .arkme-search-quick > div {\n gap: 0 !important;\n display: grid !important;\n}\n\n.arkme-redesign-search-page .arkme-search-history button, .arkme-redesign-search-page .arkme-search-quick button {\n text-align: left;\n overflow: hidden;\n color: #30333b !important;\n border: 0 !important;\n border-bottom: 1px solid #e6e7e9 !important;\n border-radius: 0 !important;\n justify-content: space-between !important;\n align-items: center !important;\n gap: 14px !important;\n width: 100% !important;\n height: 52px !important;\n padding: 0 6px !important;\n font-size: 12px !important;\n display: flex !important;\n}\n\n.arkme-redesign-search-page .arkme-search-history button span, .arkme-redesign-search-page .arkme-search-quick button span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.arkme-redesign-plugins-page {\n background: #fff;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded > section {\n background: #fff !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded header {\n display: none !important;\n}\n\n.arkme-extension-toolbar {\n align-items: center;\n gap: 12px;\n height: 46px;\n display: flex;\n}\n\n.arkme-extension-toolbar label {\n color: #8e929a;\n border: 1px solid #e1e2e5;\n border-radius: 12px;\n flex: 1;\n align-items: center;\n gap: 10px;\n min-width: 0;\n height: 44px;\n padding: 0 14px;\n display: flex;\n}\n\n.arkme-extension-toolbar input {\n color: #262932;\n background: none;\n border: 0;\n outline: 0;\n flex: 1;\n min-width: 0;\n font-size: 12px;\n}\n\n.arkme-extension-toolbar > button {\n border-radius: 11px;\n height: 38px;\n padding: 0 15px;\n font-size: 11px;\n border: 1px solid #e1e2e5 !important;\n}\n\n.arkme-extension-toolbar > button:hover {\n background: #f6f6f7;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded nav {\n width: 420px;\n height: 38px !important;\n padding: 0 !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded main {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n align-content: start;\n gap: 12px;\n padding: 16px 0 0 !important;\n display: grid !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-card {\n background: #fff !important;\n border: 1px solid #e3e4e7 !important;\n border-radius: 15px !important;\n min-height: 138px !important;\n margin: 0 !important;\n padding: 18px !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-card:hover {\n background: #fafafa !important;\n border-color: #d5d7dc !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-grid-span, .arkme-redesign-plugins-page .arkme-extension-center-embedded main > [role=\"status\"], .arkme-redesign-plugins-page .arkme-extension-center-embedded main > [role=\"alert\"] {\n grid-column: 1 / -1;\n}\n\n@keyframes arkme-icon-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.arkme-icon-spin {\n animation: .8s linear infinite arkme-icon-spin;\n}\n\n@media (prefers-reduced-motion: reduce) {\n [data-arkme-voice] .arkme-icon-spin {\n animation: none;\n }\n}\n\n.arkme-redesign-settings-surface {\n color: #20232c;\n background: none;\n width: 100%;\n height: auto;\n overflow: visible;\n}\n\n.arkme-redesign-settings-shell {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n padding: 0;\n}\n\n.arkme-redesign-settings-profile {\n align-items: center;\n gap: 16px;\n padding: 0 0 24px;\n display: flex;\n}\n\n.arkme-redesign-settings-profile > div:nth-child(2) {\n min-width: 0;\n}\n\n.arkme-redesign-settings-profile h1 {\n color: #20232c;\n letter-spacing: -.03em;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin: 0 0 6px;\n font-size: 24px;\n font-weight: 600;\n line-height: 30px;\n overflow: hidden;\n}\n\n.arkme-redesign-settings-profile p {\n color: #858992;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 13px;\n line-height: 18px;\n display: flex;\n overflow: hidden;\n}\n\n.arkme-redesign-settings-profile p > span {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n overflow: hidden;\n}\n\n.arkme-account-profile-qr {\n color: #858992;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n width: 24px;\n height: 24px;\n margin: 0;\n padding: 2px;\n display: inline-flex;\n}\n\n.arkme-account-profile-qr:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-account-profile-qr svg {\n width: 20px;\n height: 20px;\n display: block;\n}\n\n.arkme-redesign-settings-group {\n background: none;\n border: 0;\n border-bottom: 1px solid #e1e2e5;\n border-radius: 0;\n margin: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-settings-group:last-child {\n border-bottom: 0;\n}\n\n.arkme-redesign-settings-group > h2 {\n color: #8a8e96;\n border-bottom: 1px solid #ededee;\n margin: 0;\n padding: 15px 1px 10px;\n font-size: 12px;\n font-weight: 500;\n line-height: 17px;\n}\n\n.arkme-redesign-settings-group > div {\n padding: 0;\n}\n\n.arkme-redesign-setting-row {\n box-sizing: border-box;\n width: 100%;\n min-height: 54px;\n color: inherit;\n font: inherit;\n text-align: left;\n background: none;\n border: 0;\n border-bottom: 1px solid #ededee;\n grid-template-columns: minmax(0, 1fr) auto 18px;\n align-items: center;\n gap: 10px;\n padding: 9px 1px;\n text-decoration: none;\n display: grid;\n}\n\n.arkme-redesign-setting-row:last-child {\n border-bottom: 0;\n}\n\nbutton.arkme-redesign-setting-row, a.arkme-redesign-setting-row {\n cursor: pointer;\n}\n\nbutton.arkme-redesign-setting-row:hover, a.arkme-redesign-setting-row:hover {\n color: #53617d;\n}\n\n.arkme-redesign-setting-row:disabled {\n opacity: .6;\n cursor: default;\n}\n\n.arkme-redesign-setting-row > strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-redesign-setting-row > strong.is-danger {\n color: #b54841;\n}\n\n.arkme-redesign-setting-summary {\n color: #858992;\n text-align: right;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 360px;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.arkme-redesign-setting-row > svg {\n color: #8d929b;\n}\n\n.arkme-account-info-row {\n box-sizing: border-box;\n width: 100%;\n min-height: 54px;\n color: inherit;\n font: inherit;\n text-align: left;\n background: none;\n border: 0;\n border-bottom: 1px solid #ededee;\n grid-template-columns: 26px minmax(0, 1fr) auto 18px;\n align-items: center;\n gap: 10px;\n padding: 9px 1px;\n display: grid;\n}\n\n.arkme-account-info-row:last-child {\n border-bottom: 0;\n}\n\nbutton.arkme-account-info-row {\n cursor: pointer;\n}\n\n.arkme-account-info-row:disabled {\n opacity: .6;\n cursor: default;\n}\n\n.arkme-account-info-icon {\n color: #6f7580;\n justify-content: center;\n align-items: center;\n width: 26px;\n height: 26px;\n display: inline-flex;\n}\n\n.arkme-account-info-copy {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-account-info-copy > strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-account-info-copy > small {\n color: #858992;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.arkme-account-info-action {\n color: #858992;\n white-space: nowrap;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-info-row > svg {\n color: #8d929b;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-profile > div:nth-child(2) {\n flex: 1;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-profile h1 {\n margin: 0;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-group {\n border-bottom: 0;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-row {\n border-bottom: 0;\n grid-template-columns: 26px minmax(0, 1fr) 48px 18px;\n min-height: 54px;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-copy {\n grid-template-columns: minmax(70px, 1fr) minmax(0, auto);\n align-items: center;\n gap: 16px;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-copy > small {\n text-align: right;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-action {\n text-align: center;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-group:has(.arkme-redesign-balance-row) {\n margin-top: 16px;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-balance-main > small {\n color: inherit;\n font-size: 28px;\n font-weight: 600;\n line-height: 38px;\n}\n\n.arkme-account-logout {\n justify-content: center;\n padding-top: 32px;\n display: flex;\n}\n\n.arkme-account-logout > button {\n color: #dc4d43;\n min-width: 128px;\n min-height: 40px;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 1px solid #e1e2e5;\n border-radius: 8px;\n padding: 8px 24px;\n}\n\n.arkme-account-logout > button:disabled {\n cursor: default;\n opacity: .6;\n}\n\n[data-arkme-settings-view=\"general\"] .arkme-redesign-settings-group:last-child {\n border-bottom: 0;\n}\n\n.arkme-about-heading {\n color: inherit;\n font: inherit;\n margin: 0 0 20px;\n font-size: 18px;\n font-weight: 600;\n line-height: 1.5;\n}\n\n.arkme-account-feedback {\n color: #b54841;\n align-items: flex-start;\n gap: 6px;\n margin: 8px 0 14px;\n font-size: 12px;\n line-height: 18px;\n display: flex;\n}\n\n.arkme-account-dialog-backdrop {\n z-index: 50;\n background: #12141a6b;\n justify-content: center;\n align-items: center;\n padding: 18px;\n display: flex;\n position: fixed;\n inset: 0;\n}\n\n.arkme-account-dialog {\n box-sizing: border-box;\n color: #20232c;\n background: #fff;\n border: 1px solid #e1e2e5;\n border-radius: 16px;\n width: min(420px, 100vw - 36px);\n max-height: calc(100vh - 56px);\n overflow: auto;\n box-shadow: 0 18px 52px #11182738;\n}\n\n.arkme-account-dialog > header {\n border-bottom: 1px solid #ededee;\n justify-content: space-between;\n align-items: center;\n height: 58px;\n padding: 0 16px 0 20px;\n display: flex;\n}\n\n.arkme-account-dialog h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 650;\n line-height: 24px;\n}\n\n.arkme-account-dialog > header button {\n color: #8d929b;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 50%;\n width: 34px;\n height: 34px;\n}\n\n.arkme-account-qr-card {\n box-sizing: border-box;\n background: #fff;\n border: 1px solid #ededee;\n border-radius: 14px;\n justify-items: center;\n gap: 7px;\n width: 270px;\n margin: 22px auto 16px;\n padding: 24px 22px 22px;\n display: grid;\n}\n\n.arkme-account-qr-card strong {\n text-align: center;\n overflow-wrap: anywhere;\n min-width: 0;\n max-width: 100%;\n margin-top: 4px;\n font-size: 17px;\n font-weight: 650;\n line-height: 23px;\n}\n\n.arkme-account-qr-card span, .arkme-account-qr-card small {\n color: #858992;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-qr-card img {\n width: 180px;\n height: 180px;\n margin-top: 8px;\n}\n\n.arkme-account-form {\n gap: 12px;\n padding: 18px 20px 20px;\n display: grid;\n}\n\n.arkme-account-form label {\n color: #5f6570;\n gap: 7px;\n font-size: 12px;\n line-height: 18px;\n display: grid;\n}\n\n.arkme-account-form input {\n box-sizing: border-box;\n color: #20232c;\n width: 100%;\n height: 42px;\n font: inherit;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 11px;\n outline: none;\n padding: 0 12px;\n}\n\n.arkme-account-form input:focus {\n border-color: #9aa7c2;\n box-shadow: 0 0 0 3px #53617d1f;\n}\n\n.arkme-account-rule {\n color: #858992;\n margin: -2px 0 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-code-row {\n grid-template-columns: minmax(0, 1fr) 92px;\n gap: 8px;\n display: grid;\n}\n\n.arkme-account-code-row button {\n color: #343944;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 11px;\n}\n\n.arkme-account-code-row button:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-account-dialog-actions {\n justify-content: flex-end;\n gap: 10px;\n padding-top: 6px;\n display: flex;\n}\n\n.arkme-account-dialog > .arkme-account-dialog-actions {\n padding: 6px 20px 20px;\n}\n\n.arkme-account-dialog > .arkme-account-dialog-status {\n margin: 0 20px 16px;\n}\n\n.arkme-account-dialog > .arkme-account-qr-card + .arkme-account-dialog-actions {\n justify-content: center;\n padding: 6px 20px 24px;\n}\n\n.arkme-account-dialog > .arkme-account-qr-card ~ .arkme-account-dialog-status {\n text-align: center;\n margin: -8px 20px 20px;\n}\n\n.arkme-account-dialog > .arkme-account-qr-card ~ .arkme-account-dialog-status:empty {\n display: none;\n}\n\n.arkme-account-dialog-actions button {\n color: #343944;\n min-width: 78px;\n height: 36px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 10px;\n justify-content: center;\n align-items: center;\n gap: 6px;\n padding: 0 14px;\n display: inline-flex;\n}\n\n.arkme-account-dialog-actions button[type=\"submit\"], .arkme-account-dialog-actions button:last-child {\n color: #fff;\n background: #20232c;\n border-color: #20232c;\n}\n\n.arkme-account-dialog-actions button:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-account-dialog-status {\n color: #13a85b;\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-dialog-status.is-error {\n color: #b54841;\n}\n\n.arkme-redesign-version-row {\n grid-template-columns: minmax(0, 1fr) minmax(150px, auto) auto 18px;\n}\n\n.arkme-redesign-version-row.is-without-action {\n grid-template-columns: minmax(0, 1fr) auto 18px;\n}\n\n.arkme-redesign-version-copy {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-version-copy > strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-redesign-version-copy > small {\n color: #858992;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 11px;\n line-height: 16px;\n overflow: hidden;\n}\n\n.arkme-redesign-version-value {\n color: #858992;\n white-space: nowrap;\n justify-self: end;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-redesign-version-action-slot {\n justify-content: flex-end;\n display: inline-flex;\n}\n\n.arkme-redesign-trailing-slot {\n width: 18px;\n height: 1px;\n}\n\nbutton.arkme-redesign-update-button {\n color: #343944;\n min-width: 72px;\n height: 30px;\n font: inherit;\n white-space: nowrap;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 9px;\n justify-content: center;\n align-items: center;\n gap: 5px;\n padding: 0 11px;\n font-size: 11px;\n display: inline-flex;\n}\n\nbutton.arkme-redesign-update-button:hover {\n background: #f7f7f8;\n border-color: #cfd3da;\n}\n\nbutton.arkme-redesign-update-button:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-redesign-settings-group:has(.arkme-redesign-balance-row) {\n overflow: visible;\n}\n\n.arkme-redesign-balance-row {\n grid-template-columns: max-content max-content minmax(0, 1fr) 18px;\n column-gap: 20px;\n}\n\n.arkme-redesign-balance-row.is-without-reserved {\n grid-template-columns: max-content minmax(0, 1fr) 18px;\n}\n\n.arkme-redesign-balance-main {\n min-width: 0;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n gap: 2px;\n padding: 0;\n display: grid;\n}\n\n.arkme-redesign-balance-main > strong {\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n}\n\n.arkme-redesign-balance-main > small {\n color: #858992;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-redesign-balance-usage {\n color: #8a8e96;\n white-space: nowrap;\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-redesign-reserved-balance {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-recharge-trigger {\n justify-self: end;\n}\n\n.arkme-redesign-reserved-title {\n align-items: center;\n gap: 5px;\n width: fit-content;\n display: inline-flex;\n position: relative;\n}\n\n.arkme-redesign-reserved-title > strong {\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n}\n\n.arkme-redesign-reserved-balance > small {\n color: #858992;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-redesign-reserved-help {\n box-sizing: border-box;\n color: #858992;\n cursor: help;\n border: 1px solid #a6aab2;\n border-radius: 50%;\n place-items: center;\n width: 15px;\n height: 15px;\n font-size: 10px;\n font-weight: 600;\n line-height: 1;\n display: inline-grid;\n}\n\n.arkme-redesign-reserved-help:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #7b8cad;\n}\n\n.arkme-redesign-reserved-title > [role=\"tooltip\"] {\n box-sizing: border-box;\n z-index: 20;\n color: #fff;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n background: #2e323b;\n border-radius: 8px;\n width: 240px;\n padding: 9px 11px;\n font-size: 11px;\n font-weight: 400;\n line-height: 17px;\n transition: opacity .12s, transform .12s, visibility .12s;\n position: absolute;\n bottom: calc(100% + 8px);\n left: calc(100% - 7.5px);\n transform: translate(-50%, 2px);\n box-shadow: 0 6px 18px #181b222e;\n}\n\n.arkme-redesign-reserved-help:hover ~ [role=\"tooltip\"], .arkme-redesign-reserved-help:focus ~ [role=\"tooltip\"] {\n opacity: 1;\n visibility: visible;\n transform: translate(-50%);\n}\n\n.arkme-redesign-settings-error {\n color: #b54841;\n background: #fff3f0;\n border-radius: 10px;\n margin: -8px 0 28px;\n padding: 10px 13px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-remote-settings-dialog-backdrop {\n z-index: 1150;\n box-sizing: border-box;\n backdrop-filter: blur(1.5px);\n background: #16181d47;\n place-items: center;\n padding: 24px;\n display: grid;\n position: fixed;\n inset: 0;\n}\n\n.arkme-remote-settings-dialog {\n color: #20232c;\n background: #fff;\n border: 1px solid #14182014;\n border-radius: 19px;\n flex-direction: column;\n width: min(720px, 100vw - 48px);\n max-height: min(720px, 100vh - 48px);\n display: flex;\n overflow: hidden;\n box-shadow: 0 18px 54px #11141b2e;\n}\n\n.arkme-remote-page-header {\n box-sizing: border-box;\n border-bottom: 1px solid #ededee;\n justify-content: space-between;\n align-items: center;\n gap: 20px;\n min-height: 74px;\n padding: 0 24px 0 28px;\n display: flex;\n}\n\n.arkme-remote-page-header > div {\n min-width: 0;\n}\n\n.arkme-remote-page-header h1 {\n color: #20232c;\n letter-spacing: -.02em;\n margin: 0;\n font-size: 18px;\n font-weight: 620;\n line-height: 25px;\n}\n\n.arkme-remote-page-header p {\n color: #8b9098;\n margin: 3px 0 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-remote-settings-close {\n color: #777c85;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 9px;\n flex: none;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n display: inline-flex;\n}\n\n.arkme-remote-settings-close:hover {\n color: #20232c;\n background: #f3f3f4;\n}\n\n.arkme-remote-settings-dialog-body {\n overscroll-behavior: contain;\n gap: 28px;\n padding: 24px 28px 28px;\n display: grid;\n overflow-y: auto;\n}\n\n.arkme-remote-section {\n gap: 13px;\n display: grid;\n}\n\n.arkme-remote-section-header {\n justify-content: space-between;\n align-items: flex-end;\n gap: 18px;\n min-height: 34px;\n display: flex;\n}\n\n.arkme-remote-section-header > div:first-child {\n min-width: 0;\n}\n\n.arkme-remote-section-header h2 {\n color: #292c34;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n line-height: 21px;\n}\n\n.arkme-remote-section-header p {\n color: #8b9098;\n margin: 2px 0 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-remote-section-header > div:last-child {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.arkme-remote-icon-button {\n color: #8a8f97;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 9px;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n display: inline-flex;\n}\n\n.arkme-remote-icon-button:hover {\n color: #343944;\n background: #f3f3f4;\n}\n\n.arkme-remote-add-button {\n color: #fff;\n min-height: 32px;\n font: inherit;\n cursor: pointer;\n background: #20232c;\n border: 0;\n border-radius: 9px;\n align-items: center;\n gap: 5px;\n padding: 0 12px;\n font-size: 11px;\n font-weight: 550;\n display: inline-flex;\n}\n\n.arkme-remote-add-button:hover {\n background: #343944;\n}\n\n.arkme-remote-add-button:disabled, .arkme-remote-icon-button:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.arkme-remote-settings-card {\n background: #fff;\n border: 1px solid #e1e2e5;\n border-radius: 16px;\n overflow: hidden;\n}\n\n.arkme-remote-allow-row {\n border-bottom: 1px solid #ededee;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n min-height: 60px;\n padding: 0 18px;\n display: flex;\n}\n\n.arkme-remote-allow-row > div {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-remote-allow-row strong, .arkme-remote-device-row strong, .arkme-remote-name-row strong {\n color: #343944;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n.arkme-remote-allow-row span, .arkme-remote-device-row span, .arkme-remote-name-row small {\n color: #8b9098;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 10px;\n line-height: 16px;\n overflow: hidden;\n}\n\n.arkme-remote-switch {\n cursor: pointer;\n background: #d7d9dd;\n border: 0;\n border-radius: 999px;\n flex: none;\n width: 40px;\n height: 23px;\n padding: 0;\n transition: background .16s;\n position: relative;\n}\n\n.arkme-remote-switch > span {\n background: #fff;\n border-radius: 50%;\n width: 17px;\n height: 17px;\n transition: transform .16s;\n position: absolute;\n top: 3px;\n left: 3px;\n box-shadow: 0 1px 3px #14182038;\n}\n\n.arkme-remote-switch[aria-checked=\"true\"] {\n background: #3b9cf5;\n}\n\n.arkme-remote-switch[aria-checked=\"true\"] > span {\n transform: translateX(17px);\n}\n\n.arkme-remote-switch:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-remote-device-row {\n border-bottom: 1px solid #ededee;\n grid-template-columns: 24px minmax(0, 1fr) auto;\n align-items: center;\n gap: 11px;\n min-height: 64px;\n padding: 0 18px;\n display: grid;\n}\n\n.arkme-remote-device-row:last-child {\n border-bottom: 0;\n}\n\n.arkme-remote-device-row > svg {\n color: #68707c;\n}\n\n.arkme-remote-device-row > div {\n gap: 1px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-remote-device-row > button {\n color: #5d626c;\n min-height: 30px;\n font: inherit;\n cursor: pointer;\n background: #f3f3f4;\n border: 0;\n border-radius: 9px;\n padding: 0 10px;\n font-size: 10px;\n}\n\n.arkme-remote-device-row > button:hover {\n color: #b54841;\n background: #fff0ed;\n}\n\n.arkme-remote-device-row > button:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.arkme-remote-empty-row {\n color: #989ca3;\n align-items: center;\n gap: 11px;\n min-height: 52px;\n padding: 0 18px;\n font-size: 11px;\n display: flex;\n}\n\n.arkme-remote-empty-row > svg {\n color: #a2a6ad;\n}\n\n.arkme-remote-name-row {\n color: #727780;\n width: 100%;\n min-height: 62px;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n grid-template-columns: 24px minmax(0, 1fr) 20px;\n align-items: center;\n gap: 11px;\n padding: 0 18px;\n display: grid;\n}\n\n.arkme-remote-name-row:hover {\n background: #fafafb;\n}\n\n.arkme-remote-name-row > span {\n gap: 1px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-remote-name-row small {\n display: block;\n}\n\n.arkme-remote-rename {\n border-top: 1px solid #ededee;\n grid-template-columns: minmax(0, 1fr) auto auto;\n gap: 7px;\n padding: 12px 18px;\n display: grid;\n}\n\n.arkme-remote-rename input {\n box-sizing: border-box;\n color: #20232c;\n min-width: 0;\n height: 34px;\n font: inherit;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 9px;\n outline: 0;\n padding: 0 10px;\n font-size: 12px;\n}\n\n.arkme-remote-rename input:focus {\n border-color: #6eb3f3;\n box-shadow: 0 0 0 3px #3b9cf51f;\n}\n\n.arkme-remote-rename button {\n color: #4f5560;\n min-height: 34px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #e0e1e4;\n border-radius: 9px;\n padding: 0 11px;\n font-size: 11px;\n}\n\n.arkme-remote-rename button[type=\"submit\"] {\n color: #fff;\n background: #20232c;\n border-color: #20232c;\n}\n\n.arkme-remote-rename button:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-remote-error {\n margin: -22px 0 0;\n}\n\n.arkme-remote-dialog-backdrop {\n z-index: 1200;\n box-sizing: border-box;\n backdrop-filter: blur(1.5px);\n background: #16181d47;\n place-items: center;\n padding: 24px;\n display: grid;\n position: fixed;\n inset: 0;\n overflow: auto;\n}\n\n.arkme-remote-dialog {\n box-sizing: border-box;\n color: #20232c;\n background: #fff;\n border: 1px solid #14182014;\n border-radius: 19px;\n width: min(440px, 100vw - 32px);\n max-height: calc(100vh - 48px);\n padding: 28px;\n position: relative;\n overflow: auto;\n box-shadow: 0 18px 54px #11141b2e;\n}\n\n.arkme-remote-dialog-close {\n color: #777c85;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 9px;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n display: inline-flex;\n position: absolute;\n top: 16px;\n right: 16px;\n}\n\n.arkme-remote-dialog-close:hover {\n color: #20232c;\n background: #f3f3f4;\n}\n\n.arkme-remote-dialog-symbol {\n color: #343944;\n justify-content: center;\n align-items: center;\n gap: 9px;\n height: 38px;\n display: flex;\n}\n\n.arkme-remote-dialog-symbol > span {\n background: #d6d8dc;\n width: 28px;\n height: 1px;\n}\n\n.arkme-remote-dialog > header {\n text-align: center;\n margin: 12px 0 22px;\n}\n\n.arkme-remote-dialog h2 {\n letter-spacing: -.02em;\n margin: 0;\n font-size: 19px;\n font-weight: 620;\n line-height: 27px;\n}\n\n.arkme-remote-dialog header p {\n color: #858992;\n margin: 6px 0 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-remote-pairing-tabs {\n box-sizing: border-box;\n background: #f1f1f2;\n border-radius: 11px;\n grid-template-columns: 1fr 1fr;\n gap: 3px;\n height: 38px;\n padding: 3px;\n display: grid;\n}\n\n.arkme-remote-pairing-tabs button {\n color: #737881;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 8px;\n font-size: 11px;\n}\n\n.arkme-remote-pairing-tabs button[aria-selected=\"true\"] {\n color: #252831;\n background: #fff;\n box-shadow: 0 1px 3px #14182017;\n}\n\n.arkme-remote-pairing-display {\n box-sizing: border-box;\n background: #fff;\n border: 1px solid #e5e6e8;\n border-radius: 16px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n min-height: 308px;\n margin-top: 14px;\n padding: 24px;\n display: flex;\n position: relative;\n}\n\n.arkme-remote-pairing-display > img {\n width: 232px;\n height: 232px;\n image-rendering: pixelated;\n display: block;\n}\n\n.arkme-remote-pairing-display > p {\n color: #8b9098;\n text-align: center;\n margin: 10px 0 0;\n font-size: 10px;\n line-height: 16px;\n}\n\n.arkme-remote-pairing-code {\n color: #20232c;\n letter-spacing: .17em;\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n user-select: all;\n font-size: 33px;\n font-weight: 620;\n line-height: 46px;\n}\n\n.arkme-remote-pairing-tools {\n gap: 4px;\n display: flex;\n position: absolute;\n bottom: 12px;\n right: 12px;\n}\n\n.arkme-remote-pairing-tools button {\n color: #8a8f97;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 8px;\n justify-content: center;\n align-items: center;\n width: 30px;\n height: 30px;\n padding: 0;\n display: inline-flex;\n}\n\n.arkme-remote-pairing-tools button:hover {\n color: #343944;\n background: #f3f3f4;\n}\n\n.arkme-remote-pairing-expired {\n text-align: center;\n justify-items: center;\n gap: 7px;\n display: grid;\n}\n\n.arkme-remote-pairing-expired strong {\n font-size: 14px;\n line-height: 20px;\n}\n\n.arkme-remote-pairing-expired p {\n color: #8b9098;\n margin: 0;\n font-size: 11px;\n}\n\n.arkme-remote-pairing-expired button {\n color: #fff;\n min-height: 32px;\n font: inherit;\n cursor: pointer;\n background: #20232c;\n border: 0;\n border-radius: 9px;\n margin-top: 7px;\n padding: 0 12px;\n font-size: 11px;\n}\n\n.arkme-remote-dialog-note {\n color: #858992;\n align-items: flex-start;\n gap: 7px;\n margin: 14px 2px 0;\n font-size: 10px;\n line-height: 16px;\n display: flex;\n}\n\n.arkme-remote-dialog-note > svg {\n color: #5e856d;\n flex: none;\n margin-top: 1px;\n}\n\n.arkme-remote-settings-close:focus-visible, .arkme-remote-icon-button:focus-visible, .arkme-remote-add-button:focus-visible, .arkme-remote-switch:focus-visible, .arkme-remote-device-row > button:focus-visible, .arkme-remote-name-row:focus-visible, .arkme-remote-rename button:focus-visible, .arkme-remote-dialog button:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #3b9cf5;\n}\n\n@media (width <= 520px) {\n .arkme-remote-settings-dialog-backdrop {\n padding: 10px;\n }\n\n .arkme-remote-settings-dialog {\n border-radius: 17px;\n width: calc(100vw - 20px);\n max-height: calc(100vh - 20px);\n }\n\n .arkme-remote-page-header {\n min-height: 68px;\n padding: 0 16px 0 20px;\n }\n\n .arkme-remote-page-header p {\n display: none;\n }\n\n .arkme-remote-settings-dialog-body {\n gap: 24px;\n padding: 20px 18px 22px;\n }\n\n .arkme-remote-section-header p {\n display: none;\n }\n\n .arkme-remote-device-row {\n grid-template-columns: 22px minmax(0, 1fr);\n padding-top: 10px;\n padding-bottom: 10px;\n }\n\n .arkme-remote-device-row > button {\n grid-column: 2;\n justify-self: start;\n }\n\n .arkme-remote-dialog-backdrop {\n padding: 12px;\n }\n\n .arkme-remote-dialog {\n padding: 24px 20px;\n }\n\n .arkme-remote-pairing-display {\n min-height: 282px;\n padding: 18px;\n }\n\n .arkme-remote-pairing-display > img {\n width: min(224px, 100%);\n height: auto;\n }\n\n .arkme-remote-pairing-code {\n letter-spacing: .12em;\n font-size: 26px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-remote-switch, .arkme-remote-switch > span {\n transition: none;\n }\n}\n\n.arkme-redesign-model-settings {\n color: #20232c;\n background: #fff;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n}\n\n.arkme-redesign-model-settings > header {\n width: min(760px, 100% - 96px);\n margin: 0 auto;\n padding: 42px 0 22px;\n}\n\n.arkme-redesign-model-settings > header button {\n color: #525762;\n height: 34px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #e1e2e5;\n border-radius: 18px;\n align-items: center;\n gap: 4px;\n padding: 0 10px 0 7px;\n font-size: 13px;\n display: inline-flex;\n}\n\n.arkme-redesign-model-settings > header button:hover {\n color: #20232c;\n background: #f6f6f7;\n}\n\n.arkme-redesign-model-settings-body {\n width: min(760px, 100% - 96px);\n margin: 0 auto;\n padding: 0 0 68px;\n}\n\n.arkme-redesign-model-settings-body > * {\n max-width: none !important;\n}\n\n.arkme-redesign-task-start {\n place-items: center;\n width: 100%;\n height: 100%;\n padding: 28px 58px 64px;\n display: grid;\n}\n\n.arkme-redesign-task-start-inner {\n text-align: center;\n width: min(760px, 88%);\n transform: translateY(-12px);\n}\n\n.arkme-redesign-task-greeting {\n justify-content: center;\n align-items: center;\n gap: 12px;\n margin-bottom: 24px;\n display: flex;\n}\n\n.arkme-redesign-task-greeting img {\n object-fit: contain;\n flex: none;\n width: 62px;\n height: 16px;\n display: block;\n}\n\n.arkme-redesign-task-start h1 {\n letter-spacing: -.03em;\n margin: 0;\n font-size: 29px;\n font-weight: 600;\n line-height: 1.15;\n}\n\n.arkme-redesign-hero-input {\n border: 1px solid var(--arkme-focus);\n text-align: left;\n background: #fff;\n border-radius: 17px;\n grid-template-rows: minmax(56px, 1fr) auto;\n min-height: 142px;\n padding: 17px 16px 13px 20px;\n display: grid;\n box-shadow: 0 8px 30px #1c1f270b;\n}\n\n.arkme-redesign-hero-input:focus-within {\n border-color: #aebdff;\n box-shadow: 0 10px 38px #36488c13, 0 0 0 3px #91a4ff12;\n}\n\n.arkme-redesign-hero-input textarea {\n resize: none;\n color: #20232c;\n border: 0;\n outline: 0;\n width: 100%;\n min-height: 58px;\n padding: 0;\n font-size: 15px;\n line-height: 1.6;\n}\n\n.arkme-redesign-hero-input textarea::placeholder {\n color: #a3a6ad;\n}\n\n.arkme-redesign-hero-controls {\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n display: flex;\n}\n\n.arkme-redesign-hero-controls > div {\n align-items: center;\n gap: 7px;\n display: flex;\n}\n\n.arkme-redesign-source-button {\n border-radius: 22px;\n align-items: center;\n gap: 8px;\n height: 36px;\n padding: 0 13px;\n font-size: 13px;\n display: flex;\n border: 1px solid #e2e3e6 !important;\n}\n\n.arkme-redesign-round-tool, .arkme-redesign-send-task {\n border-radius: 50%;\n place-items: center;\n width: 40px;\n height: 40px;\n display: grid;\n border: 1px solid #e2e3e6 !important;\n}\n\n.arkme-redesign-round-tool:hover {\n background: #f5f5f6;\n}\n\n.arkme-redesign-send-task {\n color: #fff !important;\n background: #20232d !important;\n border: 0 !important;\n}\n\n.arkme-redesign-send-task:disabled {\n cursor: default;\n background: #d9dade !important;\n}\n\n.arkme-redesign-task-error {\n color: #b84747;\n text-align: left;\n margin-top: 10px;\n font-size: 12px;\n}\n\n.arkme-redesign-starters {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n width: calc(100% - 18px);\n margin: 22px auto 0;\n display: grid;\n}\n\n.arkme-redesign-starters > button {\n text-align: left;\n border-right: 1px solid #e7e7e9;\n align-items: center;\n gap: 12px;\n min-width: 0;\n min-height: 48px;\n padding: 4px 18px;\n display: flex;\n}\n\n.arkme-redesign-starters > button:last-child {\n border-right: 0;\n}\n\n.arkme-redesign-starters > button:hover strong {\n color: #5365ad;\n}\n\n.arkme-redesign-starter-icon {\n color: #30333b;\n border: 1px solid #e2e3e6;\n border-radius: 50%;\n flex: none;\n place-items: center;\n width: 38px;\n height: 38px;\n display: grid;\n}\n\n.arkme-redesign-starters > button > span:last-child {\n gap: 4px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-starters strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 13px;\n font-weight: 500;\n overflow: hidden;\n}\n\n.arkme-redesign-starters small {\n color: #8d919a;\n font-size: 12px;\n}\n\n.arkme-redesign-details {\n z-index: 4;\n top: var(--arkme-native-titlebar);\n background: #fff;\n border-left: 1px solid #e7e7e9;\n width: 360px;\n position: absolute;\n bottom: 0;\n right: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-calendar-overlay {\n z-index: 14;\n inset: var(--arkme-native-titlebar) 0 0;\n pointer-events: none;\n position: absolute;\n}\n\n.arkme-redesign-calendar-overlay > * {\n pointer-events: auto;\n}\n\n.arkme-redesign-overlays {\n z-index: 20;\n pointer-events: none;\n position: absolute;\n inset: 0;\n}\n\n.arkme-redesign-overlays > * {\n pointer-events: auto;\n}\n\n.arkme-workspace-dialog-backdrop {\n z-index: 60;\n backdrop-filter: blur(2px);\n background: #181b2238;\n place-items: center;\n padding: 28px;\n display: grid;\n position: absolute;\n inset: 0;\n}\n\n.arkme-workspace-dialog {\n background: #fff;\n border: 1px solid #dddfe4;\n border-radius: 18px;\n grid-template-rows: auto auto minmax(0, 1fr) auto;\n width: min(640px, 100%);\n height: min(620px, 100%);\n min-height: 420px;\n display: grid;\n overflow: hidden;\n box-shadow: 0 24px 70px #191c232e;\n}\n\n.arkme-workspace-dialog > header {\n justify-content: space-between;\n align-items: flex-start;\n gap: 18px;\n padding: 22px 24px 16px;\n display: flex;\n}\n\n.arkme-workspace-dialog > header span {\n color: #8b8e96;\n font-size: 10px;\n}\n\n.arkme-workspace-dialog > header h2 {\n margin: 5px 0 0;\n font-size: 19px;\n font-weight: 600;\n}\n\n.arkme-workspace-dialog > header > button {\n border-radius: 9px;\n place-items: center;\n width: 32px;\n height: 32px;\n display: grid;\n}\n\n.arkme-workspace-dialog > nav {\n border-top: 1px solid #ececef;\n border-bottom: 1px solid #ececef;\n align-items: center;\n gap: 2px;\n min-height: 42px;\n padding: 0 22px;\n display: flex;\n overflow-x: auto;\n}\n\n.arkme-workspace-dialog > nav > span {\n white-space: nowrap;\n color: #9a9da5;\n align-items: center;\n gap: 2px;\n display: inline-flex;\n}\n\n.arkme-workspace-dialog > nav button {\n color: #666a73;\n border-radius: 8px;\n align-items: center;\n gap: 5px;\n height: 30px;\n padding: 0 7px;\n font-size: 11px;\n display: inline-flex;\n}\n\n.arkme-workspace-directory-list {\n min-height: 0;\n padding: 10px 14px;\n overflow-y: auto;\n}\n\n.arkme-workspace-directory-list > button {\n text-align: left;\n border-radius: 11px;\n grid-template-columns: 34px minmax(0, 1fr) 18px;\n align-items: center;\n gap: 9px;\n width: 100%;\n height: 48px;\n padding: 0 11px;\n display: grid;\n}\n\n.arkme-workspace-directory-list > button:hover {\n background: #f5f5f7;\n}\n\n.arkme-workspace-directory-list > button > span {\n color: #636873;\n border: 1px solid #e5e6e9;\n border-radius: 9px;\n place-items: center;\n width: 32px;\n height: 32px;\n display: grid;\n}\n\n.arkme-workspace-directory-list strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n font-weight: 500;\n overflow: hidden;\n}\n\n.arkme-workspace-dialog-status, .arkme-workspace-dialog-error {\n color: #8c9098;\n text-align: center;\n padding: 54px 16px;\n font-size: 12px;\n}\n\n.arkme-workspace-dialog-error {\n color: #b94b4b;\n}\n\n.arkme-workspace-dialog > footer {\n border-top: 1px solid #e8e9ec;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n min-height: 72px;\n padding: 12px 18px;\n display: flex;\n}\n\n.arkme-workspace-dialog-back {\n color: #696d76;\n align-items: center;\n gap: 6px;\n height: 36px;\n padding: 0 10px;\n font-size: 11px;\n display: inline-flex;\n}\n\n.arkme-workspace-dialog > footer > div {\n align-items: center;\n gap: 12px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-workspace-dialog > footer small {\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #92959d;\n max-width: 280px;\n font-size: 9px;\n overflow: hidden;\n}\n\n.arkme-workspace-dialog > footer > div > button {\n color: #fff;\n background: #20232d;\n border-radius: 10px;\n flex: none;\n height: 38px;\n padding: 0 17px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.arkme-workspace-dialog button:disabled {\n opacity: .48;\n cursor: default;\n}\n\n.arkme-redesign-placeholder {\n color: #858992;\n text-align: center;\n place-content: center;\n justify-items: center;\n width: 100%;\n height: 100%;\n display: grid;\n}\n\n.arkme-redesign-placeholder > span {\n color: #555a64;\n border: 1px solid #e1e2e5;\n border-radius: 14px;\n place-items: center;\n width: 48px;\n height: 48px;\n display: grid;\n}\n\n.arkme-redesign-placeholder h1 {\n color: #3e424b;\n margin: 16px 0 7px;\n font-size: 18px;\n}\n\n.arkme-redesign-placeholder p {\n margin: 0;\n font-size: 12px;\n}\n\nbody[data-ds-dark-theme] [data-arkme-workspace] {\n --arkme-line: var(--dsw-alias-border-l1);\n --arkme-muted: var(--dsw-alias-label-tertiary);\n --arkme-soft: var(--dsw-alias-bg-layer-2);\n --arkme-focus: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"], body[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] {\n background: var(--dsw-specific-sidebar-fill) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-brand\"] {\n box-shadow: none;\n background: none !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-workspace] [data-arkme-theme-image=\"light\"] {\n display: none !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-workspace] [data-arkme-theme-image=\"dark\"] {\n display: block !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] > div {\n border-color: var(--dsw-alias-border-l1) !important;\n background: var(--dsw-alias-bg-layer-1) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] {\n background: var(--dsw-alias-bg-base) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] .arkme-conversation-surface, body[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] .arkme-conversation-composer {\n background: var(--dsw-alias-bg-base) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] div:has( > input[aria-label=\"搜索\"]) {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] button:hover {\n background: var(--dsw-alias-interactive-bg-hover) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] button[aria-current=\"page\"] {\n background: var(--dsw-alias-interactive-bg-active) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] button[aria-current=\"page\"] > span[aria-hidden=\"true\"] {\n background: var(--dsw-alias-state-business-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"], body[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"], body[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] [aria-label=\"Arkme 会话列表\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] {\n background: var(--dsw-alias-bg-base) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] label:has( > input[aria-label=\"搜索对话或消息\"]), body[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] button[aria-label=\"新任务\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] label:has( > input[aria-label=\"搜索对话或消息\"]), body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] button[aria-label=\"新任务\"] {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] [role=\"treeitem\"][aria-selected=\"true\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] [role=\"treeitem\"][aria-selected=\"true\"] {\n background: var(--dsw-alias-interactive-bg-active) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] [role=\"status\"][aria-label$=\"个人测试版\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] [role=\"status\"][aria-label$=\"个人测试版\"] {\n background: var(--dsw-alias-bg-layer-2) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"] .arkme-conversation-composer {\n background: var(--dsw-alias-bg-base) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-recordings-page [aria-label=\"全天候录音操作\"] > div > button, body[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"] [aria-label=\"全天候录音操作\"] > div > button {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-button-elevated-fill) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-recordings-page [aria-label=\"全天候录音操作\"] > div > button:first-child, body[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"] [aria-label=\"全天候录音操作\"] > div > button:first-child {\n border-color: var(--dsw-alias-button-primary-fill) !important;\n background: var(--dsw-alias-button-primary-fill) !important;\n color: var(--dsw-alias-label-primary-inverted) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) > div > section[aria-label=\"客户端日历\"], body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) > div > section[aria-label=\"当天内容\"] {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-bg-layer-1) !important;\n color: var(--dsw-alias-label-primary) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) > div > section[aria-label=\"客户端日历\"] > span[aria-hidden] {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-bg-layer-1) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] > header button, body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[aria-label*=\"记录\"] {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] > div > span {\n color: var(--dsw-alias-label-tertiary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"false\"][aria-label*=\"条记录\"] > span:last-child {\n background: var(--dsw-alias-bg-layer-2) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"true\"], body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"true\"] > span {\n color: var(--dsw-alias-label-primary-inverted) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"true\"] > span:last-child {\n color: var(--dsw-alias-label-primary-inverted) !important;\n background: none !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article > div > div:last-child {\n border-color: var(--dsw-alias-border-l1) !important;\n background: var(--dsw-alias-bg-layer-2) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article h3, body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article p {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article time, body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article span {\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-root, body[data-ds-dark-theme] .arkme-redesign-chat-panel, body[data-ds-dark-theme] .arkme-redesign-content, body[data-ds-dark-theme] .arkme-redesign-feature-page, body[data-ds-dark-theme] .arkme-redesign-recordings-page, body[data-ds-dark-theme] .arkme-redesign-plugins-page, body[data-ds-dark-theme] .arkme-redesign-model-settings, body[data-ds-dark-theme] .arkme-redesign-details {\n background: var(--dsw-alias-bg-base);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-native-desktop .arkme-redesign-root:before {\n background: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-specific-sidebar-fill);\n box-shadow: var(--dsw-shadow-lv2);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button, body[data-ds-dark-theme] .arkme-redesign-rail-footer > button, body[data-ds-dark-theme] .arkme-redesign-profile-menu button, body[data-ds-dark-theme] .arkme-redesign-task-list > button, body[data-ds-dark-theme] .arkme-redesign-task-first, body[data-ds-dark-theme] .arkme-workspace-dialog > nav button, body[data-ds-dark-theme] .arkme-workspace-dialog-back, body[data-ds-dark-theme] .arkme-redesign-placeholder > span {\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button:hover, body[data-ds-dark-theme] .arkme-redesign-rail-footer > button:hover, body[data-ds-dark-theme] .arkme-redesign-profile-menu button:hover, body[data-ds-dark-theme] .arkme-redesign-chat-search:hover, body[data-ds-dark-theme] .arkme-redesign-task-section-title button:hover, body[data-ds-dark-theme] .arkme-redesign-task-list > button:hover, body[data-ds-dark-theme] .arkme-redesign-task-first:hover, body[data-ds-dark-theme] .arkme-extension-toolbar > button:hover, body[data-ds-dark-theme] button.arkme-redesign-setting-row:hover, body[data-ds-dark-theme] a.arkme-redesign-setting-row:hover, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button:hover, body[data-ds-dark-theme] .arkme-redesign-round-tool:hover, body[data-ds-dark-theme] .arkme-workspace-directory-list > button:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button.is-active, body[data-ds-dark-theme] .arkme-redesign-rail-footer > button.is-active, body[data-ds-dark-theme] .arkme-redesign-task-list > button.is-selected {\n background: var(--dsw-alias-interactive-bg-active);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button.is-active:before {\n background: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-footer, body[data-ds-dark-theme] .arkme-redesign-profile-menu, body[data-ds-dark-theme] .arkme-redesign-task-section, body[data-ds-dark-theme] .arkme-redesign-route-chats .arkme-conversation-header, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-history button, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-quick button, body[data-ds-dark-theme] .arkme-redesign-settings-group h2, body[data-ds-dark-theme] .arkme-redesign-setting-row, body[data-ds-dark-theme] .arkme-account-info-row, body[data-ds-dark-theme] .arkme-redesign-starters > button, body[data-ds-dark-theme] .arkme-redesign-details, body[data-ds-dark-theme] .arkme-workspace-dialog > nav, body[data-ds-dark-theme] .arkme-workspace-dialog > footer {\n border-color: var(--dsw-alias-border-l1) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-profile-popover, body[data-ds-dark-theme] .arkme-workspace-dialog {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-specific-menu);\n box-shadow: var(--dsw-shadow-lv3);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-profile-head small, body[data-ds-dark-theme] .arkme-redesign-profile-menu small, body[data-ds-dark-theme] .arkme-redesign-profile-menu button > svg:last-child, body[data-ds-dark-theme] .arkme-redesign-task-section-title, body[data-ds-dark-theme] .arkme-redesign-task-copy small, body[data-ds-dark-theme] .arkme-account-profile-qr, body[data-ds-dark-theme] .arkme-redesign-feature-page > header p, body[data-ds-dark-theme] .arkme-redesign-feature-page > header span, body[data-ds-dark-theme] .arkme-redesign-search-page input[aria-label=\"搜索\"]:not(:focus)::placeholder, body[data-ds-dark-theme] .arkme-redesign-settings-profile p, body[data-ds-dark-theme] .arkme-redesign-settings-group h2, body[data-ds-dark-theme] .arkme-redesign-setting-summary, body[data-ds-dark-theme] .arkme-account-info-copy > small, body[data-ds-dark-theme] .arkme-account-info-action, body[data-ds-dark-theme] .arkme-account-info-row > svg, body[data-ds-dark-theme] .arkme-account-info-icon, body[data-ds-dark-theme] .arkme-redesign-setting-row > svg, body[data-ds-dark-theme] .arkme-redesign-hero-input textarea::placeholder, body[data-ds-dark-theme] .arkme-redesign-starters small, body[data-ds-dark-theme] .arkme-workspace-dialog > header span, body[data-ds-dark-theme] .arkme-workspace-dialog > nav > span, body[data-ds-dark-theme] .arkme-workspace-dialog-status, body[data-ds-dark-theme] .arkme-workspace-dialog > footer small, body[data-ds-dark-theme] .arkme-redesign-placeholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-chat-search, body[data-ds-dark-theme] .arkme-extension-toolbar label, body[data-ds-dark-theme] .arkme-extension-toolbar > button, body[data-ds-dark-theme] .arkme-redesign-settings-group, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button, body[data-ds-dark-theme] .arkme-redesign-source-button, body[data-ds-dark-theme] .arkme-redesign-round-tool, body[data-ds-dark-theme] .arkme-redesign-starter-icon, body[data-ds-dark-theme] .arkme-workspace-directory-list > button > span, body[data-ds-dark-theme] .arkme-redesign-placeholder > span {\n border-color: var(--dsw-alias-border-l2) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-chat-search, body[data-ds-dark-theme] .arkme-extension-toolbar label {\n color: var(--dsw-alias-label-tertiary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-extension-toolbar input, body[data-ds-dark-theme] .arkme-redesign-settings-profile h1, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button, body[data-ds-dark-theme] .arkme-redesign-task-start h1, body[data-ds-dark-theme] .arkme-redesign-hero-input textarea, body[data-ds-dark-theme] .arkme-redesign-starter-icon, body[data-ds-dark-theme] .arkme-redesign-placeholder h1 {\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-list, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button, body[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-card {\n background: var(--dsw-alias-bg-layer-1) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-settings-surface, body[data-ds-dark-theme] .arkme-redesign-settings-group {\n color: var(--dsw-alias-label-primary);\n background: none !important;\n}\n\nbody[data-ds-dark-theme] .arkme-account-dialog {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-primary);\n box-shadow: var(--dsw-shadow-lv3);\n}\n\nbody[data-ds-dark-theme] .arkme-account-dialog > header, body[data-ds-dark-theme] .arkme-account-qr-card {\n border-color: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-account-qr-card, body[data-ds-dark-theme] .arkme-account-form input, body[data-ds-dark-theme] .arkme-account-code-row button, body[data-ds-dark-theme] .arkme-account-dialog-actions button {\n background: var(--dsw-alias-bg-layer-1);\n color: var(--dsw-alias-label-primary);\n border-color: var(--dsw-alias-border-l2);\n}\n\nbody[data-ds-dark-theme] .arkme-account-dialog-actions button[type=\"submit\"], body[data-ds-dark-theme] .arkme-account-dialog-actions button:last-child {\n border-color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-base);\n}\n\nbody[data-ds-dark-theme] .arkme-account-rule, body[data-ds-dark-theme] .arkme-account-qr-card span, body[data-ds-dark-theme] .arkme-account-qr-card small, body[data-ds-dark-theme] .arkme-account-form label {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-route-chats .arkme-conversation-surface, body[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-center-embedded > section {\n background: var(--dsw-alias-bg-base) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-route-chats .arkme-conversation-composer-inner, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-box {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n color: var(--dsw-alias-label-primary) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"] {\n --arkme-primary-composer-idle: #151515;\n --arkme-primary-composer-focused: #000;\n background: var(--arkme-primary-composer-idle, #f6f6f6) !important;\n box-shadow: none !important;\n}\n\nbody[data-ds-dark-theme] .arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"][data-arkme-composer-focused=\"true\"] {\n background: var(--arkme-primary-composer-focused, #fff) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-greeting img {\n filter: invert() hue-rotate(180deg);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-hero-input {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n color: var(--dsw-alias-label-primary) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-hero-input textarea {\n background: none !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-source-button, body[data-ds-dark-theme] .arkme-redesign-round-tool, body[data-ds-dark-theme] .arkme-redesign-starter-icon {\n background: var(--dsw-alias-button-elevated-fill) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-history button, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-quick button {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-card {\n border-color: var(--dsw-alias-border-l1) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-card:hover {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-interactive-bg-hover) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-section:focus-within .arkme-redesign-task-list {\n box-shadow: var(--dsw-shadow-lv2);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-settings-error {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n color: var(--dsw-alias-state-error-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-page-header h1, body[data-ds-dark-theme] .arkme-remote-section-header h2, body[data-ds-dark-theme] .arkme-remote-allow-row strong, body[data-ds-dark-theme] .arkme-remote-device-row strong, body[data-ds-dark-theme] .arkme-remote-name-row strong, body[data-ds-dark-theme] .arkme-remote-dialog, body[data-ds-dark-theme] .arkme-remote-pairing-code {\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-section-header p, body[data-ds-dark-theme] .arkme-remote-page-header p, body[data-ds-dark-theme] .arkme-remote-allow-row span, body[data-ds-dark-theme] .arkme-remote-device-row span, body[data-ds-dark-theme] .arkme-remote-name-row small, body[data-ds-dark-theme] .arkme-remote-dialog header p, body[data-ds-dark-theme] .arkme-remote-pairing-display > p, body[data-ds-dark-theme] .arkme-remote-dialog-note, body[data-ds-dark-theme] .arkme-remote-empty-row {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-card, body[data-ds-dark-theme] .arkme-remote-settings-dialog, body[data-ds-dark-theme] .arkme-remote-dialog, body[data-ds-dark-theme] .arkme-remote-pairing-display, body[data-ds-dark-theme] .arkme-remote-rename input {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-allow-row, body[data-ds-dark-theme] .arkme-remote-device-row, body[data-ds-dark-theme] .arkme-remote-rename, body[data-ds-dark-theme] .arkme-remote-page-header {\n border-color: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-close, body[data-ds-dark-theme] .arkme-remote-icon-button, body[data-ds-dark-theme] .arkme-remote-dialog-close, body[data-ds-dark-theme] .arkme-remote-pairing-tools button, body[data-ds-dark-theme] .arkme-remote-name-row {\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-close:hover, body[data-ds-dark-theme] .arkme-remote-icon-button:hover, body[data-ds-dark-theme] .arkme-remote-dialog-close:hover, body[data-ds-dark-theme] .arkme-remote-pairing-tools button:hover, body[data-ds-dark-theme] .arkme-remote-name-row:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-add-button, body[data-ds-dark-theme] .arkme-remote-rename button[type=\"submit\"], body[data-ds-dark-theme] .arkme-remote-pairing-expired button {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-inverted);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-device-row > button, body[data-ds-dark-theme] .arkme-remote-rename button {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-alias-button-elevated-fill);\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-switch[aria-checked=\"true\"] {\n background: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-pairing-tabs {\n background: var(--dsw-alias-bg-layer-2);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-pairing-tabs button {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-pairing-tabs button[aria-selected=\"true\"] {\n background: var(--dsw-alias-button-elevated-fill);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-dialog-backdrop, body[data-ds-dark-theme] .arkme-remote-dialog-backdrop {\n background: #07090d8f;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-setting-row > strong.is-danger, body[data-ds-dark-theme] .arkme-redesign-task-error, body[data-ds-dark-theme] .arkme-workspace-dialog-error {\n color: var(--dsw-alias-state-error-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-state.is-complete > i {\n background: var(--dsw-alias-state-success-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-state.is-complete > i:after {\n background: var(--dsw-alias-state-success-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-matrix i, body[data-ds-dark-theme] .arkme-redesign-rail-primary button.is-active:before {\n background: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-hero-input:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: 0 0 0 3px var(--dsw-alias-state-business-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-starters > button:hover strong {\n color: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-send-task, body[data-ds-dark-theme] .arkme-workspace-dialog > footer > div > button {\n background: var(--dsw-alias-button-primary-fill) !important;\n color: var(--dsw-alias-label-primary-inverted) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-send-task:disabled {\n background: var(--dsw-alias-button-elevated-fill) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-workspace-dialog-backdrop {\n background: var(--dsw-alias-bg-mask-1);\n}\n\n@media (width <= 1024px) {\n .arkme-redesign-chat-panel {\n width: 264px;\n left: 82px;\n }\n\n .arkme-redesign-content {\n left: 82px;\n }\n\n .arkme-redesign-content.has-panel {\n left: 346px;\n }\n\n .arkme-redesign-rail {\n left: 12px;\n }\n\n .arkme-redesign-starters > button {\n padding: 0 10px;\n }\n\n .arkme-redesign-feature-page {\n padding-left: 30px;\n padding-right: 30px;\n }\n}\n\n@media (width <= 820px) {\n .arkme-redesign-chat-panel {\n display: none;\n }\n\n .arkme-redesign-content.has-panel {\n left: 82px;\n }\n\n .arkme-redesign-task-start {\n padding: 28px;\n }\n\n .arkme-redesign-starters {\n grid-template-columns: 1fr;\n gap: 6px;\n }\n\n .arkme-redesign-starters > button {\n border-right: 0;\n }\n\n .arkme-voiceprint-relationships {\n grid-template-columns: minmax(0, 1fr) !important;\n gap: 28px !important;\n }\n\n .arkme-voiceprint-outbound {\n border-left: 0 !important;\n border-top: 1px solid var(--dsw-alias-border-subtle, #e6e7eb) !important;\n padding-top: 28px !important;\n padding-left: 0 !important;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-redesign-task-matrix i {\n opacity: .6;\n animation: none;\n }\n}\n\n.arkme-contact-directory, .arkme-directory-detail-pane {\n box-sizing: border-box;\n min-width: 0;\n height: 100%;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #202124);\n font-size: 13px;\n overflow: hidden;\n}\n\n[data-arkme-directory-mode=\"contacts\"] {\n background: var(--dsw-specific-sidebar-fill, #fff) !important;\n border-left-color: var(--dsw-alias-border-l1, #ececef) !important;\n}\n\n.arkme-contact-directory {\n --arkme-contact-directory-header-fill: var(--dsw-specific-sidebar-fill, #fff);\n overflow-wrap: anywhere;\n padding: 0 6px 18px;\n overflow-y: auto;\n}\n\n.arkme-contact-directory-surface {\n min-width: 0;\n height: 100%;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #202124);\n background: var(--dsw-specific-sidebar-fill, #fff);\n flex-direction: column;\n display: flex;\n}\n\n.arkme-contact-directory-surface > .arkme-contact-directory {\n flex: 1;\n height: auto;\n}\n\n.arkme-contact-directory-toolbar {\n -webkit-app-region: no-drag;\n flex: none;\n align-items: center;\n gap: 8px;\n min-width: 0;\n margin: 24px 16px 16px;\n display: flex;\n position: relative;\n}\n\n.arkme-contact-directory-search-field {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e2e3e6);\n background: var(--dsw-specific-input-major, #fff);\n min-width: 0;\n height: 40px;\n color: var(--dsw-alias-label-tertiary, #92959e);\n border-radius: 11px;\n flex: 1;\n align-items: center;\n gap: 8px;\n padding: 0 11px;\n display: flex;\n}\n\n.arkme-contact-directory-search-field > svg {\n flex: none;\n}\n\n.arkme-contact-directory-search-field input {\n width: 100%;\n min-width: 0;\n color: var(--dsw-alias-label-primary, #202124);\n font: inherit;\n background: none;\n border: 0;\n outline: 0;\n padding: 0;\n font-size: 12px;\n}\n\n.arkme-contact-directory-search-field input::placeholder {\n color: var(--dsw-alias-label-tertiary, #92959e);\n}\n\n.arkme-contact-directory-search-field:focus-within {\n outline: 2px solid var(--arkme-focus);\n outline-offset: 2px;\n}\n\n.arkme-contact-directory-search-field button {\n width: 20px;\n height: 28px;\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n flex: none;\n place-items: center;\n padding: 0;\n display: grid;\n}\n\n.arkme-contact-directory-search-field button:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f6f6f7);\n}\n\n.arkme-contact-directory-toolbar [aria-label=\"添加联系人、群聊或 Bot\"] {\n background: var(--dsw-specific-input-major, #fff) !important;\n border-color: var(--dsw-alias-border-l2, #e2e3e6) !important;\n color: var(--dsw-alias-label-secondary, #555a64) !important;\n}\n\n.arkme-contact-directory-toolbar button:focus-visible {\n outline: 2px solid var(--arkme-focus);\n outline-offset: 2px;\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-surface {\n background: var(--dsw-alias-bg-base);\n}\n\n.arkme-directory-detail-pane {\n overflow: hidden;\n}\n\n.arkme-contact-directory button, .arkme-directory-detail-pane button {\n appearance: none;\n box-sizing: border-box;\n font: inherit;\n color: inherit;\n border: 0;\n margin: 0;\n}\n\n.arkme-contact-directory-section {\n border-bottom: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n min-width: 0;\n padding: 2px 0 5px;\n}\n\n.arkme-contact-directory-section:first-child {\n padding-top: 10px;\n}\n\n.arkme-contact-directory-section-header {\n text-align: left;\n cursor: pointer;\n background: none;\n border-radius: 10px;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n width: 100%;\n min-width: 0;\n min-height: 42px;\n padding: 0 10px;\n display: flex;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"] {\n z-index: 1;\n position: sticky;\n top: 0;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:before, .arkme-contact-directory-section-header[aria-expanded=\"true\"]:after {\n content: \"\";\n pointer-events: none;\n z-index: -1;\n position: absolute;\n inset: 0;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:before {\n background: var(--arkme-contact-directory-header-fill);\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:after {\n border-radius: inherit;\n}\n\n.arkme-contact-directory-section-title {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-contact-directory-section-title strong {\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 13px;\n font-weight: 650;\n overflow: hidden;\n}\n\n.arkme-contact-directory-caret {\n width: 14px;\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n text-align: center;\n transform-origin: center;\n flex: none;\n font-size: 18px;\n line-height: 1;\n transition: transform .16s;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"] .arkme-contact-directory-caret {\n transform: rotate(90deg);\n}\n\n.arkme-contact-directory-section-header:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f6f6f7);\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:hover:after {\n background: var(--dsw-alias-interactive-bg-hover-solid, var(--arkme-contact-directory-header-fill));\n}\n\n.arkme-contact-directory-section-body {\n min-width: 0;\n padding: 0 0 5px;\n}\n\n.arkme-contact-directory-list {\n gap: 1px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-contact-directory-count {\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n font-variant-numeric: tabular-nums;\n flex: none;\n font-size: 11px;\n}\n\n.arkme-contact-directory-row {\n text-align: left;\n cursor: pointer;\n background: none;\n border-radius: 13px;\n align-items: center;\n gap: 10px;\n width: 100%;\n min-width: 0;\n min-height: 52px;\n margin: 1px 0;\n padding: 7px 10px;\n display: flex;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row img {\n object-fit: cover;\n border-radius: 50%;\n flex: none;\n width: 38px;\n height: 38px;\n}\n\n.arkme-contact-directory-row.is-static {\n cursor: default;\n}\n\n.arkme-contact-directory-row.is-selected {\n background: var(--dsw-alias-interactive-bg-active, #eef0f4);\n}\n\n.arkme-contact-directory-row:not(.is-static):hover {\n background: var(--dsw-alias-interactive-bg-hover, #f6f6f7);\n}\n\n.arkme-contact-directory-avatar {\n border-radius: 50%;\n flex: none;\n place-items: center;\n width: 38px;\n height: 38px;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row-copy {\n flex: 1;\n align-content: center;\n min-width: 0;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row-copy strong {\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 13px;\n font-weight: 600;\n line-height: 18px;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row-copy small {\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-secondary, #68707c);\n font-size: 11px;\n line-height: 16px;\n overflow: hidden;\n}\n\n.arkme-contact-directory-letter {\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n padding: 8px 10px 2px;\n font-size: 11px;\n font-weight: 600;\n line-height: 16px;\n}\n\n.arkme-contact-directory-alphabetical, .arkme-contact-directory-letter-group {\n min-width: 0;\n}\n\n.arkme-contact-directory-status, .arkme-contact-directory-warning {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n overflow-wrap: anywhere;\n margin: 3px 8px;\n padding: 7px 9px;\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-contact-directory-warning {\n color: var(--dsw-alias-state-warning-primary, #b45309);\n background: var(--dsw-alias-state-warning-tertiary, #fff7ed);\n border-radius: 9px;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.arkme-contact-directory-warning button {\n color: inherit;\n cursor: pointer;\n background: none;\n flex: none;\n padding: 2px 4px;\n font-weight: 600;\n}\n\n.arkme-contact-directory-more {\n text-align: center;\n cursor: pointer;\n background: none;\n border-radius: 9px;\n width: calc(100% - 16px);\n min-height: 32px;\n padding: 6px 8px;\n color: var(--dsw-alias-state-business-primary, #4f5fbf) !important;\n margin: 3px 8px !important;\n}\n\n.arkme-contact-directory-empty {\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n text-align: center;\n padding: 14px 12px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-directory-detail-empty {\n background: var(--dsw-alias-bg-base, #fff);\n place-items: center;\n min-width: 0;\n height: 100%;\n min-height: 0;\n display: grid;\n}\n\n.arkme-directory-detail-logo {\n object-fit: contain;\n opacity: .9;\n width: 96px;\n height: 96px;\n}\n\n.arkme-contact-detail, .arkme-contact-profile, .arkme-unmarked-speaker-summary, .arkme-unmarked-speaker-audio, .arkme-unmarked-speaker-choice {\n overflow-wrap: anywhere;\n min-width: 0;\n}\n\n.arkme-contact-detail {\n box-sizing: border-box;\n background: var(--dsw-alias-bg-base, #fff);\n min-width: 0;\n height: 100%;\n min-height: 0;\n padding: clamp(32px, 6vh, 72px) clamp(20px, 5vw, 60px);\n overflow-y: auto;\n}\n\n.arkme-contact-profile {\n width: min(100%, 600px);\n min-width: 0;\n margin: 0 auto;\n}\n\n.arkme-contact-profile-main {\n grid-template-columns: 72px minmax(0, 1fr);\n align-items: start;\n gap: 24px;\n padding-bottom: 30px;\n display: grid;\n}\n\n.arkme-contact-profile-avatar {\n border-radius: 8px;\n place-items: center;\n width: 72px;\n height: 72px;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-contact-profile-avatar > span, .arkme-contact-profile-avatar > span > span {\n border-radius: 8px !important;\n}\n\n.arkme-contact-profile-identity {\n gap: 10px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-contact-profile-name {\n color: var(--dsw-alias-label-primary, #17191c);\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 22px;\n font-weight: 600;\n line-height: 30px;\n}\n\n.arkme-contact-profile-fields {\n gap: 5px;\n margin: 0;\n display: grid;\n}\n\n.arkme-contact-profile-fields > div {\n grid-template-columns: 48px minmax(0, 1fr);\n gap: 10px;\n min-width: 0;\n font-size: 13px;\n line-height: 20px;\n display: grid;\n}\n\n.arkme-contact-profile-fields dt, .arkme-contact-profile-row dt {\n color: var(--dsw-alias-label-secondary, #68707c);\n}\n\n.arkme-contact-profile-fields dt, .arkme-contact-profile-fields dd, .arkme-contact-profile-row dt, .arkme-contact-profile-row dd {\n overflow-wrap: anywhere;\n min-width: 0;\n margin: 0;\n}\n\n.arkme-contact-profile-fields dd, .arkme-contact-profile-row dd {\n color: var(--dsw-alias-label-primary, #17191c);\n}\n\n.arkme-contact-profile-section {\n border-top: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n padding: 24px 0;\n}\n\n.arkme-contact-profile-section-title {\n color: var(--dsw-alias-label-secondary, #68707c);\n margin: 0 0 16px;\n font-size: 14px;\n font-weight: 500;\n line-height: 22px;\n}\n\n.arkme-contact-profile-row {\n grid-template-columns: 76px minmax(0, 1fr);\n gap: 18px;\n margin: 0;\n font-size: 14px;\n line-height: 22px;\n display: grid;\n}\n\n.arkme-contact-profile-remark {\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n display: flex;\n}\n\n.arkme-contact-profile-remark > span {\n min-width: 0;\n}\n\n.arkme-contact-profile-remark .arkme-contact-remark-edit {\n color: var(--dsw-alias-state-business-primary, #4f5fbf);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n flex: none;\n align-items: center;\n gap: 5px;\n margin: -4px -6px -4px 0;\n padding: 4px 6px;\n font-size: 13px;\n line-height: 22px;\n display: inline-flex;\n}\n\n.arkme-contact-remark-edit:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f3f4f6);\n}\n\n.arkme-contact-remark-backdrop {\n z-index: 10300;\n box-sizing: border-box;\n background: var(--dsw-alias-bg-mask-1, #13161a57);\n backdrop-filter: blur(2px);\n place-items: center;\n padding: 16px;\n font-family: inherit;\n display: grid;\n position: fixed;\n inset: 0;\n}\n\n.arkme-contact-remark-dialog {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-alias-bg-base, #fff);\n width: min(440px, 100%);\n max-height: calc(100dvh - 32px);\n color: var(--dsw-alias-label-primary, #17191c);\n box-shadow: var(--dsw-shadow-lv2, 0 12px 40px #00000029);\n border-radius: 14px;\n margin: 0;\n padding: 24px;\n overflow-y: auto;\n}\n\n.arkme-contact-remark-header {\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n margin-bottom: 24px;\n display: flex;\n}\n\n.arkme-contact-remark-header h2 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n line-height: 26px;\n}\n\n.arkme-contact-remark-dialog button {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n min-height: 36px;\n font: inherit;\n cursor: pointer;\n border-radius: 8px;\n justify-content: center;\n align-items: center;\n font-size: 13px;\n display: inline-flex;\n}\n\n.arkme-contact-remark-dialog .arkme-contact-remark-close {\n width: 30px;\n min-height: 30px;\n color: var(--dsw-alias-label-secondary, #68707c);\n background: none;\n border: 0;\n margin: -4px -4px -4px 0;\n padding: 0;\n}\n\n.arkme-contact-remark-label {\n color: var(--dsw-alias-label-secondary, #68707c);\n margin-bottom: 9px;\n font-size: 13px;\n line-height: 20px;\n display: block;\n}\n\n.arkme-contact-remark-input {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-specific-input-major, var(--dsw-alias-bg-layer-1, #f8f9fa));\n width: 100%;\n min-width: 0;\n height: 42px;\n color: var(--dsw-alias-label-primary, #17191c);\n font: inherit;\n border-radius: 8px;\n padding: 0 12px;\n font-size: 14px;\n display: block;\n}\n\n.arkme-contact-remark-input::placeholder {\n color: var(--dsw-alias-label-tertiary, #9097a1);\n}\n\n.arkme-contact-remark-input:focus, .arkme-contact-remark-dialog button:focus-visible, .arkme-contact-remark-edit:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary, #8295e8);\n outline-offset: 2px;\n}\n\n.arkme-contact-remark-footer {\n justify-content: flex-end;\n gap: 10px;\n margin-top: 26px;\n display: flex;\n}\n\n.arkme-contact-remark-cancel {\n background: var(--dsw-alias-button-elevated-fill, var(--dsw-specific-input-major, #f8f9fa));\n min-width: 76px;\n color: var(--dsw-alias-label-primary, #17191c);\n padding: 0 18px;\n}\n\n.arkme-contact-remark-dialog .arkme-contact-remark-confirm {\n background: var(--dsw-alias-state-business-primary, #4f5fbf);\n min-width: 84px;\n color: var(--dsw-alias-label-primary-inverted, #fff);\n border-color: #0000;\n padding: 0 18px;\n}\n\n.arkme-contact-remark-dialog button:hover:not(:disabled) {\n filter: brightness(.96);\n}\n\n.arkme-contact-remark-dialog button:disabled, .arkme-contact-remark-input:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-contact-remark-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n overflow-wrap: anywhere;\n margin: 10px 0 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n.arkme-contact-profile-actions {\n border-top: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: 8px;\n padding: 26px 0 0;\n display: grid;\n}\n\n.arkme-contact-profile-actions .arkme-contact-profile-action {\n min-width: 0;\n min-height: 78px;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 8px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n padding: 10px 2px;\n font-size: 14px;\n line-height: 22px;\n display: flex;\n color: var(--dsw-alias-state-business-primary, #4f5fbf) !important;\n}\n\n.arkme-contact-profile-actions .arkme-contact-profile-action:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover, #f3f4f6);\n}\n\n.arkme-contact-profile-actions .arkme-contact-profile-action:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-contact-profile-action svg {\n flex: none;\n}\n\n.arkme-contact-profile-error, .arkme-contact-profile-message-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n overflow-wrap: anywhere;\n font-size: 13px;\n line-height: 20px;\n}\n\n.arkme-contact-profile-message-error {\n text-align: center;\n margin-top: 12px;\n}\n\n.arkme-contact-profile-error {\n background: var(--dsw-alias-state-error-tertiary, #fff1f0);\n border-radius: 8px;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n margin-bottom: 24px;\n padding: 12px 14px;\n display: flex;\n}\n\n.arkme-contact-profile-status {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n padding: 24px 0;\n font-size: 13px;\n}\n\n.arkme-team-detail {\n background: var(--dsw-alias-bg-base, #fff);\n grid-template-rows: auto minmax(0, 1fr);\n min-width: 0;\n height: 100%;\n min-height: 0;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-team-detail-header {\n border-bottom: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n min-width: 0;\n padding: 32px clamp(24px, 5vw, 56px);\n}\n\n.arkme-team-detail-header-main {\n grid-template-columns: 72px minmax(0, 1fr) auto;\n align-items: center;\n gap: 18px;\n width: min(100%, 760px);\n min-width: 0;\n margin: 0 auto;\n display: grid;\n}\n\n.arkme-team-detail-glyph {\n background: var(--dsw-alias-state-business-tertiary, #eef0ff);\n width: 72px;\n height: 72px;\n color: var(--dsw-alias-state-business-primary, #4f5fbf);\n border-radius: 20px;\n place-items: center;\n font-size: 20px;\n font-weight: 700;\n line-height: 1;\n display: grid;\n}\n\n.arkme-team-detail-summary {\n gap: 7px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-team-detail-header h1 {\n text-overflow: ellipsis;\n white-space: nowrap;\n letter-spacing: -.02em;\n margin: 0;\n font-size: 20px;\n font-weight: 650;\n line-height: 28px;\n overflow: hidden;\n}\n\n.arkme-team-detail-meta {\n flex-wrap: wrap;\n align-items: center;\n gap: 7px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-team-detail-public-id {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n color: var(--dsw-alias-label-secondary, #68707c);\n font-size: 12px;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-team-role-badge, .arkme-team-member-role {\n background: var(--dsw-alias-bg-layer-2, #f2f3f5);\n color: var(--dsw-alias-label-secondary, #68707c);\n border-radius: 999px;\n flex: none;\n font-size: 11px;\n font-weight: 600;\n line-height: 20px;\n}\n\n.arkme-team-role-badge {\n padding: 0 8px;\n}\n\n.arkme-team-detail-count {\n min-width: 58px;\n color: var(--dsw-alias-label-secondary, #68707c);\n justify-items: end;\n gap: 1px;\n display: grid;\n}\n\n.arkme-team-detail-count strong {\n color: var(--dsw-alias-label-primary, #202124);\n font-variant-numeric: tabular-nums;\n font-size: 21px;\n font-weight: 680;\n line-height: 24px;\n}\n\n.arkme-team-detail-count span {\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-team-members {\n box-sizing: border-box;\n background: var(--dsw-alias-bg-subtle, #f7f7f8);\n min-width: 0;\n min-height: 0;\n padding: 22px clamp(24px, 5vw, 56px) 32px;\n overflow-y: auto;\n}\n\n.arkme-team-members-container {\n width: min(100%, 760px);\n min-width: 0;\n margin: 0 auto;\n}\n\n.arkme-team-members h2 {\n margin: 0 0 13px;\n font-size: 15px;\n font-weight: 650;\n line-height: 22px;\n}\n\n.arkme-team-member-list {\n border: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 14px;\n min-width: 0;\n overflow: hidden;\n box-shadow: 0 8px 24px #161b2309;\n}\n\n.arkme-team-member-row {\n box-sizing: border-box;\n border-bottom: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n grid-template-columns: 40px minmax(0, 1fr) auto;\n align-items: center;\n gap: 12px;\n min-width: 0;\n min-height: 64px;\n padding: 11px 14px;\n display: grid;\n}\n\n.arkme-team-member-row:not(:has( ~ .arkme-team-member-row)) {\n border-bottom: 0;\n}\n\n.arkme-team-member-avatar {\n border-radius: 50%;\n place-items: center;\n width: 40px;\n height: 40px;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-team-member-copy {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-team-member-copy strong, .arkme-team-member-copy small {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.arkme-team-member-copy strong {\n font-size: 14px;\n font-weight: 620;\n line-height: 20px;\n}\n\n.arkme-team-member-copy small {\n color: var(--dsw-alias-label-secondary, #68707c);\n font-size: 12px;\n line-height: 17px;\n}\n\n.arkme-team-member-role {\n padding: 0 9px;\n}\n\n.arkme-team-role-badge[data-team-role=\"owner\"], .arkme-team-role-badge[data-team-role=\"admin\"], .arkme-team-member-role[data-team-member-role=\"owner\"], .arkme-team-member-role[data-team-member-role=\"admin\"] {\n background: var(--dsw-alias-state-business-tertiary, #eef0ff);\n color: var(--dsw-alias-state-business-primary, #4f5fbf);\n}\n\n.arkme-team-detail-status {\n min-height: 100%;\n color: var(--dsw-alias-label-secondary, #68707c);\n justify-content: center;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.arkme-team-detail-status.is-error, .arkme-team-member-more-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n}\n\n.arkme-team-detail-status button, .arkme-team-member-more {\n border: 1px solid var(--dsw-alias-border-l2, var(--arkme-line));\n background: var(--dsw-alias-button-elevated-fill, #fff);\n cursor: pointer;\n border-radius: 9px;\n min-height: 34px;\n padding: 0 12px;\n}\n\n.arkme-team-member-more {\n width: calc(100% - 24px);\n color: var(--dsw-alias-state-business-primary, #4f5fbf) !important;\n margin: 12px !important;\n}\n\n.arkme-team-member-more:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-team-member-more-error {\n padding: 12px 14px 0;\n font-size: 12px;\n}\n\n.arkme-contact-world {\n border-top: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n grid-template-columns: 76px minmax(0, 1fr);\n gap: 18px;\n padding: 24px 0;\n display: grid;\n}\n\n.arkme-contact-world-title {\n color: var(--dsw-alias-label-secondary, #68707c);\n margin: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 22px;\n}\n\n.arkme-contact-world-content, .arkme-contact-world-summary {\n min-width: 0;\n}\n\n.arkme-contact-world-preview {\n align-items: flex-start;\n gap: 12px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-contact-world-thumbnail {\n border-radius: 4px;\n flex: none;\n width: 56px;\n height: 56px;\n overflow: hidden;\n}\n\n.arkme-contact-world-image {\n object-fit: cover;\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.arkme-contact-world-image-error, .arkme-contact-world-image-loading {\n background: var(--dsw-alias-bg-layer-2, var(--arkme-soft));\n width: 100%;\n height: 100%;\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n text-align: center;\n place-items: center;\n font-size: 11px;\n line-height: 16px;\n display: grid;\n}\n\n.arkme-contact-world-headline, .arkme-contact-world-text {\n -webkit-line-clamp: 2;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary, #17191c);\n -webkit-box-orient: vertical;\n margin: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 22px;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.arkme-contact-world-headline {\n -webkit-line-clamp: 1;\n font-weight: 500;\n}\n\n.arkme-contact-world-time {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n margin-top: 5px;\n font-size: 12px;\n line-height: 18px;\n display: block;\n}\n\n.arkme-contact-world-empty, .arkme-contact-world-page-empty, .arkme-contact-world-status {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n font-size: 13px;\n line-height: 22px;\n}\n\n.arkme-contact-world-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n font-size: 13px;\n line-height: 22px;\n display: flex;\n}\n\n.arkme-directory-unmarked-speaker-detail {\n background: var(--dsw-alias-bg-base, #fff);\n min-height: 0;\n padding: clamp(28px, 5vw, 60px);\n overflow-y: auto;\n}\n\n.arkme-unmarked-speaker-token-avatar {\n background: var(--dsw-alias-bg-module-platform, var(--dsw-alias-bg-layer-1, #f1f2f3));\n color: var(--dsw-alias-label-secondary, #666c75);\n letter-spacing: -.02em;\n border-radius: 50%;\n flex: none;\n place-items: center;\n font-weight: 650;\n line-height: 1;\n display: grid;\n}\n\n.arkme-unmarked-speaker-summary {\n box-sizing: border-box;\n background: none;\n border: 0;\n gap: 18px;\n width: min(100%, 720px);\n margin: 0 auto;\n padding: 4px 0 24px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-summary h1, .arkme-unmarked-speaker-summary h2, .arkme-unmarked-speaker-audio h2, .arkme-unmarked-speaker-choice h2 {\n letter-spacing: -.02em;\n margin: 0;\n font-size: 20px;\n font-weight: 680;\n line-height: 28px;\n}\n\n.arkme-unmarked-speaker-identity {\n align-items: center;\n gap: 16px;\n min-width: 0;\n padding: 2px 4px;\n display: flex;\n}\n\n.arkme-unmarked-speaker-identity > div {\n gap: 3px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-identity p {\n color: var(--dsw-alias-label-secondary, #737984);\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-unmarked-speaker-stats {\n min-width: 0;\n color: var(--dsw-alias-label-secondary, #737984);\n flex-wrap: wrap;\n gap: 8px 20px;\n padding: 0 4px;\n font-size: 12px;\n line-height: 19px;\n display: flex;\n}\n\n.arkme-unmarked-speaker-stats span {\n white-space: nowrap;\n position: relative;\n}\n\n.arkme-unmarked-speaker-stats span + span:before {\n content: \"\";\n background: var(--dsw-alias-label-caption, #b3b7bd);\n border-radius: 50%;\n width: 3px;\n height: 3px;\n position: absolute;\n top: 8px;\n left: -11px;\n}\n\n.arkme-unmarked-speaker-stats strong {\n color: var(--dsw-alias-label-primary, #202124);\n font-weight: 650;\n}\n\n.arkme-unmarked-speaker-inference {\n background: var(--dsw-alias-bg-layer-2, #f5f5f6);\n border-radius: 18px;\n grid-template-columns: 40px minmax(0, 1fr);\n align-items: start;\n gap: 12px;\n min-width: 0;\n padding: 18px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-inference-icon, .arkme-unmarked-speaker-action-icon {\n border: 1px solid var(--dsw-alias-border-l1, #e3e4e7);\n background: var(--dsw-alias-bg-layer-1, #fff);\n width: 40px;\n height: 40px;\n color: var(--dsw-alias-label-secondary, #656b75);\n border-radius: 50%;\n place-items: center;\n display: grid;\n}\n\n.arkme-unmarked-speaker-inference-icon svg path, .arkme-unmarked-speaker-action-icon svg path {\n stroke: currentColor;\n stroke-width: 1.5px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.arkme-unmarked-speaker-inference > div {\n gap: 5px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-inference-label {\n color: var(--dsw-alias-label-secondary, #747983);\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-unmarked-speaker-inference strong {\n color: var(--dsw-alias-label-primary, #202124);\n font-size: 14px;\n font-weight: 650;\n line-height: 21px;\n}\n\n.arkme-unmarked-speaker-inference p {\n color: var(--dsw-alias-label-secondary, #686e78);\n margin: 0;\n font-size: 12px;\n line-height: 20px;\n}\n\n.arkme-unmarked-speaker-actions {\n gap: 10px;\n display: grid;\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-action {\n border: 1px solid var(--dsw-alias-border-l1, #e5e6e8);\n background: var(--dsw-alias-bg-layer-1, #fff);\n width: 100%;\n min-height: 62px;\n color: var(--dsw-alias-label-primary, #202124);\n text-align: left;\n cursor: pointer;\n border-radius: 16px;\n grid-template-columns: 42px minmax(0, 1fr);\n align-items: center;\n gap: 12px;\n padding: 10px 46px 10px 14px;\n font-size: 13px;\n font-weight: 650;\n display: grid;\n position: relative;\n}\n\n.arkme-unmarked-speaker-action:after {\n content: \"›\";\n color: var(--dsw-alias-label-caption, #a7abb2);\n font-size: 22px;\n font-weight: 400;\n position: absolute;\n right: 18px;\n}\n\n.arkme-unmarked-speaker-action:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f7f7f8);\n border-color: var(--dsw-alias-border-l2, #d9dade);\n}\n\n.arkme-unmarked-speaker-summary > [role=\"status\"], .arkme-unmarked-speaker-summary > [role=\"alert\"], .arkme-unmarked-speaker-audio > [role=\"status\"], .arkme-unmarked-speaker-audio > [role=\"alert\"], .arkme-unmarked-speaker-choice > [role=\"status\"], .arkme-unmarked-speaker-choice > [role=\"alert\"] {\n color: var(--dsw-alias-label-secondary, #68707c);\n background: var(--dsw-alias-bg-layer-2, #f5f5f6);\n border-radius: 10px;\n padding: 9px 12px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-unmarked-speaker-summary > [role=\"alert\"], .arkme-unmarked-speaker-audio > [role=\"alert\"], .arkme-unmarked-speaker-choice > [role=\"alert\"] {\n color: var(--dsw-alias-state-error-primary, #b42318);\n background: var(--dsw-alias-state-error-tertiary, #fff1f0);\n}\n\n.arkme-unmarked-speaker-audio, .arkme-unmarked-speaker-choice {\n box-sizing: border-box;\n background: none;\n border: 0;\n gap: 16px;\n width: min(100%, 720px);\n margin: 0 auto;\n padding: 4px 0 28px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-subview-header {\n grid-template-columns: auto 40px minmax(0, 1fr);\n align-items: center;\n gap: 12px;\n min-width: 0;\n padding-bottom: 4px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-subview-header > button {\n min-height: 32px;\n color: var(--dsw-alias-label-secondary, #68707c);\n cursor: pointer;\n background: none;\n border-radius: 9px;\n padding: 0 10px;\n font-size: 11px;\n}\n\n.arkme-unmarked-speaker-subview-header > button:before {\n content: \"‹\";\n vertical-align: -1px;\n margin-right: 4px;\n font-size: 17px;\n}\n\n.arkme-unmarked-speaker-subview-heading {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-subview-heading p {\n color: var(--dsw-alias-label-secondary, #737984);\n margin: 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-unmarked-speaker-segment-list {\n gap: 10px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-segment-card {\n border: 1px solid var(--dsw-alias-border-l1, #e5e6e8);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 16px;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 8px 16px;\n min-width: 0;\n padding: 16px 16px 14px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-segment-meta {\n min-width: 0;\n color: var(--dsw-alias-label-secondary, #757b85);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n line-height: 17px;\n overflow: hidden;\n}\n\n.arkme-unmarked-speaker-segment-transcript {\n min-width: 0;\n color: var(--dsw-alias-label-primary, #292c34);\n white-space: pre-wrap;\n grid-column: 1;\n margin: 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-segment-play {\n background: var(--dsw-alias-bg-layer-2, #f4f4f5);\n width: 38px;\n min-width: 38px;\n height: 38px;\n min-height: 38px;\n color: var(--dsw-alias-label-primary, #292c34);\n cursor: pointer;\n border-radius: 50%;\n grid-area: 1 / 2 / span 2;\n align-self: center;\n place-items: center;\n padding: 0;\n display: inline-grid;\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-segment-play:not(:disabled):hover {\n background: var(--dsw-alias-bg-layer-3, #e9eaec);\n}\n\n.arkme-unmarked-speaker-segment-play:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-unmarked-speaker-choice-meta {\n color: var(--dsw-alias-label-secondary, #737984);\n margin: -4px 0 0;\n padding: 0 4px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-unmarked-speaker-choice-options {\n border: 0;\n gap: 8px;\n min-width: 0;\n margin: 0;\n padding: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-choice-options legend {\n color: var(--dsw-alias-label-secondary, #737984);\n margin-bottom: 9px;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-unmarked-speaker-choice-option {\n border: 1px solid var(--dsw-alias-border-l1, #e5e6e8);\n background: var(--dsw-alias-bg-layer-1, #fff);\n cursor: pointer;\n border-radius: 14px;\n grid-template-columns: 18px minmax(0, 1fr) auto;\n align-items: center;\n gap: 10px;\n min-width: 0;\n min-height: 52px;\n padding: 10px 14px;\n font-size: 13px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-choice-option:has(input:checked) {\n border-color: var(--dsw-alias-state-business-primary, #6677d9);\n background: var(--dsw-alias-interactive-bg-active, #f0f2ff);\n}\n\n.arkme-unmarked-speaker-choice-option input {\n width: 16px;\n height: 16px;\n accent-color: var(--dsw-alias-state-business-primary, #6677d9);\n margin: 0;\n}\n\n.arkme-unmarked-speaker-recommended {\n background: var(--dsw-alias-state-business-tertiary, #eef0ff);\n color: var(--dsw-alias-state-business-primary, #5667cc);\n border-radius: 999px;\n padding: 2px 7px;\n font-size: 10px;\n line-height: 16px;\n}\n\n.arkme-unmarked-speaker-choice-new-name {\n border: 1px solid var(--dsw-alias-border-l1, #dfe1e5);\n background: var(--dsw-specific-input-major, #fff);\n width: 100%;\n min-height: 42px;\n color: var(--dsw-alias-label-primary, #202124);\n border-radius: 12px;\n outline: 0;\n padding: 0 13px;\n font-size: 12px;\n}\n\n.arkme-unmarked-speaker-choice-new-name:focus {\n border-color: var(--dsw-alias-state-business-primary, #6677d9);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dsw-alias-state-business-primary, #6677d9) 14%, transparent);\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-confirm {\n background: var(--dsw-alias-button-primary-fill, #202124);\n min-height: 42px;\n color: var(--dsw-alias-label-primary-inverted, #fff);\n cursor: pointer;\n border-radius: 12px;\n padding: 0 16px;\n font-size: 12px;\n font-weight: 650;\n}\n\n.arkme-unmarked-speaker-confirm:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.arkme-unmarked-speaker-summary button:not(.arkme-unmarked-speaker-action), .arkme-unmarked-speaker-audio button:not(.arkme-unmarked-speaker-segment-play), .arkme-unmarked-speaker-choice button:not(.arkme-unmarked-speaker-confirm), .arkme-contact-world-error button, .arkme-contact-profile-error button {\n border: 1px solid var(--dsw-alias-border-l2, var(--arkme-line));\n background: var(--dsw-alias-button-elevated-fill, #fff);\n min-height: 34px;\n color: var(--dsw-alias-label-primary, #202124);\n cursor: pointer;\n border-radius: 9px;\n padding: 0 12px;\n}\n\n.arkme-unmarked-speaker-gone, .arkme-unmarked-speaker-success {\n box-sizing: border-box;\n background: var(--dsw-alias-state-warning-tertiary, #fff7ed);\n width: min(100%, 680px);\n color: var(--dsw-alias-state-warning-primary, #9a3412);\n border-radius: 10px;\n margin: 0 auto;\n padding: 12px 14px;\n}\n\n.arkme-unmarked-speaker-success {\n background: var(--dsw-alias-state-success-tertiary, #ecfdf3);\n color: var(--dsw-alias-state-success-primary, #067647);\n}\n\n.arkme-contact-directory button:focus-visible, .arkme-directory-detail-pane button:focus-visible, [data-arkme-owned=\"product-navigation\"] button:focus-visible {\n outline: 2px solid var(--arkme-focus);\n outline-offset: 2px;\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory {\n --arkme-contact-directory-header-fill: var(--dsw-alias-bg-base);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory, body[data-ds-dark-theme] .arkme-directory-detail-pane {\n background: var(--dsw-alias-bg-base);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-row.is-selected, body[data-ds-dark-theme] .arkme-unmarked-speaker-choice {\n background: var(--dsw-alias-interactive-bg-active);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-inference, body[data-ds-dark-theme] .arkme-unmarked-speaker-segment-card, body[data-ds-dark-theme] .arkme-unmarked-speaker-choice-option, body[data-ds-dark-theme] .arkme-unmarked-speaker-action {\n background: var(--dsw-alias-bg-layer-1);\n border-color: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-inference-icon, body[data-ds-dark-theme] .arkme-unmarked-speaker-action-icon, body[data-ds-dark-theme] .arkme-unmarked-speaker-segment-play {\n background: var(--dsw-specific-input-major);\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-choice-option:has(input:checked) {\n background: var(--dsw-alias-interactive-bg-active);\n border-color: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-team-detail {\n background: var(--dsw-alias-bg-base);\n}\n\nbody[data-ds-dark-theme] .arkme-team-members {\n background: var(--dsw-alias-bg-subtle);\n}\n\nbody[data-ds-dark-theme] .arkme-team-member-list {\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: none;\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-warning, body[data-ds-dark-theme] .arkme-unmarked-speaker-gone, body[data-ds-dark-theme] .arkme-contact-world-image-error, body[data-ds-dark-theme] .arkme-contact-world-image-loading {\n background: var(--dsw-specific-input-major);\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-success {\n background: var(--dsw-alias-state-success-tertiary);\n color: var(--dsw-alias-state-success-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-profile-error, body[data-ds-dark-theme] .arkme-contact-profile-message-error, body[data-ds-dark-theme] .arkme-contact-world-error {\n color: var(--dsw-alias-state-error-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-more {\n color: var(--dsw-alias-state-business-primary);\n}\n\n@media (width <= 1024px) {\n [data-arkme-owned=\"persistent-sidebar\"] [data-arkme-directory-mode=\"contacts\"] {\n min-width: 0;\n }\n}\n\n@media (width <= 820px) {\n div:has( > [data-shell-overlay]):has([data-arkme-directory-mode=\"contacts\"]):has([data-arkme-contacts-mobile-view=\"directory\"]) {\n grid-template-columns: minmax(0, 1fr) 0 0 !important;\n }\n\n div:has( > [data-shell-overlay]):has([data-arkme-directory-mode=\"contacts\"]):has([data-arkme-contacts-mobile-view=\"content\"]) {\n grid-template-columns: 0 minmax(0, 1fr) 0 !important;\n }\n\n [data-arkme-owned=\"persistent-sidebar\"][data-arkme-contacts-mobile-view=\"content\"], [data-arkme-owned=\"persistent-workspace\"][data-arkme-contacts-mobile-view=\"directory\"] {\n display: none !important;\n }\n\n [data-arkme-owned=\"persistent-sidebar\"] [data-arkme-directory-mode=\"contacts\"], .arkme-directory-detail-pane {\n min-width: 0;\n }\n}\n\n.arkme-directory-mobile-back {\n display: none;\n}\n\n@media (width <= 820px) {\n .arkme-directory-mobile-back {\n min-height: 42px;\n color: var(--dsw-alias-label-secondary, #68707c);\n cursor: pointer;\n background: none;\n align-items: center;\n gap: 5px;\n padding: 0 14px;\n display: inline-flex;\n }\n\n .arkme-directory-mobile-back:before {\n content: \"‹\";\n font-size: 18px;\n line-height: 1;\n }\n\n .arkme-directory-mobile-back:hover {\n color: var(--dsw-alias-label-primary, #202124);\n }\n\n .arkme-contact-detail {\n padding: 28px 20px;\n }\n\n .arkme-contact-profile-main {\n grid-template-columns: 56px minmax(0, 1fr);\n gap: 18px;\n }\n\n .arkme-contact-profile-avatar {\n width: 56px;\n height: 56px;\n }\n\n .arkme-contact-profile-avatar > span {\n width: 56px !important;\n height: 56px !important;\n }\n\n .arkme-team-detail-header {\n padding: 26px 20px;\n }\n\n .arkme-team-detail-header-main {\n grid-template-columns: 56px minmax(0, 1fr);\n gap: 12px;\n }\n\n .arkme-team-detail-glyph {\n border-radius: 16px;\n width: 56px;\n height: 56px;\n font-size: 18px;\n }\n\n .arkme-team-detail-count {\n justify-items: initial;\n grid-column: 2;\n align-items: baseline;\n gap: 4px;\n min-width: 0;\n display: flex;\n }\n\n .arkme-team-detail-count strong {\n font-size: 14px;\n line-height: 18px;\n }\n\n .arkme-team-detail-count span {\n font-size: 11px;\n }\n\n .arkme-team-members {\n padding: 18px 20px 28px;\n }\n\n .arkme-team-member-list {\n border-radius: 12px;\n }\n\n .arkme-team-member-row {\n padding-left: 12px;\n padding-right: 12px;\n }\n\n .arkme-contact-world, .arkme-contact-profile-row {\n grid-template-columns: 64px minmax(0, 1fr);\n gap: 12px;\n }\n\n .arkme-contact-world-thumbnail {\n width: 44px;\n height: 44px;\n }\n\n .arkme-directory-unmarked-speaker-detail {\n padding: 20px 18px 30px;\n }\n\n .arkme-unmarked-speaker-summary, .arkme-unmarked-speaker-audio, .arkme-unmarked-speaker-choice {\n gap: 14px;\n }\n\n .arkme-unmarked-speaker-stats {\n gap: 7px 14px;\n }\n\n .arkme-unmarked-speaker-stats span + span:before {\n display: none;\n }\n\n .arkme-unmarked-speaker-inference {\n grid-template-columns: 36px minmax(0, 1fr);\n padding: 15px;\n }\n\n .arkme-unmarked-speaker-inference-icon, .arkme-unmarked-speaker-action-icon {\n width: 36px;\n height: 36px;\n }\n\n .arkme-unmarked-speaker-subview-header {\n grid-template-columns: auto 36px minmax(0, 1fr);\n gap: 9px;\n }\n\n .arkme-unmarked-speaker-segment-card {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .arkme-unmarked-speaker-segment-transcript, [data-arkme-workspace] .arkme-unmarked-speaker-segment-play {\n grid-area: auto / 1;\n }\n\n [data-arkme-workspace] .arkme-unmarked-speaker-segment-play {\n justify-self: start;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-contact-directory-caret {\n transition: none;\n }\n\n .arkme-icon-spin {\n animation: none;\n }\n}\n\n.arkme-conversation-surface {\n --arkme-chat-self-bubble: #eef1f8;\n --arkme-chat-other-bubble: #f3f4f6;\n}\n\nbody[data-ds-dark-theme] .arkme-conversation-surface {\n --arkme-chat-self-bubble: #2c3142;\n --arkme-chat-other-bubble: #282a31;\n --arkme-audio-control: #8995c5;\n}\n\nbody[data-ds-dark-theme] .arkme-detail-extension-input-bar {\n border-top-color: #363636 !important;\n}\n\nbody[data-ds-dark-theme] .arkme-detail-extension-input-shell {\n background: #2b2b2b !important;\n}\n\n[data-arkme-message-direction]:focus-visible, [data-arkme-note-detail] button:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary, #8295e8);\n outline-offset: 2px;\n}\n\n.arkme-home-tour {\n width: 320px;\n max-width: calc(100vw - 24px);\n color: var(--dsw-alias-label-primary, #17191c);\n pointer-events: auto;\n position: absolute;\n}\n\n.arkme-home-tour-hidden {\n display: none;\n}\n\n.arkme-home-tour-panel {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #0000001a);\n background: var(--dsw-alias-bg-base, #fff);\n width: 100%;\n max-height: calc(100dvh - 24px);\n box-shadow: var(--dsw-shadow-lv2, 0 12px 40px #0000002e);\n border-radius: 16px;\n padding: 18px;\n font-family: inherit;\n position: relative;\n overflow-y: auto;\n}\n\n.arkme-home-tour-header {\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.arkme-home-tour-progress {\n color: var(--dsw-alias-label-secondary, #68707c);\n font-variant-numeric: tabular-nums;\n font-size: 12px;\n line-height: 20px;\n}\n\n.arkme-home-tour-panel h2 {\n color: inherit;\n margin: 8px 0;\n font-size: 18px;\n font-weight: 600;\n line-height: 26px;\n}\n\n.arkme-home-tour-panel p {\n color: var(--dsw-alias-label-secondary, #68707c);\n overflow-wrap: anywhere;\n margin: 0 0 24px;\n font-size: 14px;\n line-height: 22px;\n}\n\n.arkme-home-tour-actions, .arkme-home-tour-navigation {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.arkme-home-tour-actions {\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.arkme-home-tour-panel button {\n background: var(--dsw-alias-interactive-bg-hover, #2631480f);\n color: inherit;\n font: inherit;\n white-space: nowrap;\n cursor: pointer;\n border: 0;\n border-radius: 8px;\n padding: 7px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-home-tour-panel button:hover {\n background: var(--dsw-alias-interactive-bg-active, #2631481a);\n}\n\n.arkme-home-tour-panel button:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary, #8295e8);\n outline-offset: 3px;\n}\n\n.arkme-home-tour-panel .arkme-home-tour-close {\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-secondary, #68707c);\n background: none;\n padding: 0;\n font-size: 22px;\n}\n\n.arkme-home-tour-panel .arkme-home-tour-skip {\n color: var(--dsw-alias-label-secondary, #68707c);\n background: none;\n padding-left: 0;\n}\n\n.arkme-home-tour-panel .arkme-home-tour-primary {\n background: var(--dsw-alias-button-primary-fill, #17191c);\n color: var(--dsw-alias-label-primary-inverted, #fff);\n}\n\n.arkme-home-tour-panel .arkme-home-tour-primary:hover {\n background: color-mix(in srgb, var(--dsw-alias-button-primary-fill, #17191c) 88%, var(--dsw-alias-bg-base, #fff));\n}\n\n.arkme-home-tour-arrow {\n z-index: 1;\n pointer-events: none;\n width: 12px;\n height: 12px;\n position: absolute;\n}\n\n.arkme-home-tour-arrow:before {\n content: \"\";\n box-sizing: border-box;\n background: var(--dsw-alias-bg-base, #fff);\n border: 0 solid var(--dsw-alias-border-l2, #0000001a);\n position: absolute;\n inset: 0;\n transform: rotate(45deg);\n}\n\n.arkme-home-tour-placement-right .arkme-home-tour-arrow:before {\n border-bottom-width: 1px;\n border-left-width: 1px;\n}\n\n.arkme-home-tour-placement-left .arkme-home-tour-arrow:before {\n border-top-width: 1px;\n border-right-width: 1px;\n}\n\n.arkme-home-tour-placement-bottom .arkme-home-tour-arrow:before {\n border-top-width: 1px;\n border-left-width: 1px;\n}\n\n.arkme-home-tour-placement-top .arkme-home-tour-arrow:before {\n border-bottom-width: 1px;\n border-right-width: 1px;\n}\n\n.arkme-home-tour-placement-right .arkme-home-tour-arrow {\n left: 0;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.arkme-home-tour-placement-left .arkme-home-tour-arrow {\n right: 0;\n transform: translateX(50%) translateY(-50%);\n}\n\n.arkme-home-tour-placement-bottom .arkme-home-tour-arrow {\n top: 0;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.arkme-home-tour-placement-top .arkme-home-tour-arrow {\n bottom: 0;\n transform: translateX(-50%) translateY(50%);\n}\n\n.arkme-conversation-profile-actions {\n grid-template-columns: minmax(0, 1fr);\n}\n\nbody[data-ds-dark-theme] .arkme-peer-membership-disc {\n fill: #171717;\n stroke: #343434;\n}\n";
|
|
212701
|
+
var arkme_redesign_default = "[data-arkme-workspace] {\n --arkme-line: #e7e7e9;\n --arkme-muted: #8e9199;\n --arkme-soft: #f6f6f7;\n --arkme-focus: #cbd5ff;\n color: #171923;\n font-synthesis: none;\n font-family: SF Pro Text, SF Pro Display, -apple-system, BlinkMacSystemFont, PingFang SC, Helvetica Neue, Microsoft YaHei, sans-serif;\n}\n\n[data-arkme-workspace], [data-arkme-workspace] * {\n box-sizing: border-box;\n}\n\n[data-arkme-workspace] button, [data-arkme-workspace] input, [data-arkme-workspace] textarea {\n font: inherit;\n}\n\n[data-arkme-workspace] button {\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n[data-arkme-workspace] [data-arkme-theme-image=\"dark\"] {\n display: none !important;\n}\n\n.arkme-redesign-root {\n --arkme-native-titlebar: 0px;\n background: #fff;\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n position: relative;\n overflow: hidden;\n}\n\n.arkme-native-desktop .arkme-redesign-root {\n --arkme-native-titlebar: 50px;\n}\n\n.arkme-native-desktop .arkme-redesign-root:before {\n content: \"\";\n z-index: 30;\n pointer-events: none;\n background: #e8e8ea;\n height: 1px;\n position: absolute;\n top: 49px;\n left: 0;\n right: 0;\n}\n\n.arkme-native-desktop [data-arkme-owned=\"persistent-sidebar\"] > [data-arkme-owned=\"product-navigation\"] {\n padding-top: 28px !important;\n}\n\n.arkme-redesign-rail {\n z-index: 8;\n top: calc(26px + var(--arkme-native-titlebar));\n background: #fbfbfc;\n border: 1px solid #e4e4e7;\n border-radius: 22px;\n flex-direction: column;\n width: 72px;\n padding: 10px 8px;\n display: flex;\n position: absolute;\n bottom: 22px;\n left: 24px;\n box-shadow: 0 16px 38px #1e20260e;\n}\n\n.arkme-redesign-rail-primary {\n flex-direction: column;\n gap: 5px;\n display: flex;\n}\n\n.arkme-redesign-rail-primary button {\n color: #3e4149;\n border-radius: 15px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n min-height: 57px;\n transition: background .18s, color .18s;\n display: flex;\n position: relative;\n}\n\n.arkme-redesign-rail-primary button span {\n letter-spacing: .01em;\n font-size: 11px;\n font-weight: 400;\n}\n\n.arkme-redesign-rail-primary button:hover {\n background: #f4f4f5;\n}\n\n.arkme-redesign-rail-primary button.is-active {\n color: #151722;\n background: #f1f2f6;\n}\n\n.arkme-redesign-rail-primary button.is-active:before {\n content: \"\";\n background: #9eadff;\n border-radius: 3px;\n width: 3px;\n height: 33px;\n position: absolute;\n left: -9px;\n}\n\n.arkme-redesign-rail-footer {\n border-top: 0 solid #ededee;\n justify-items: center;\n gap: 7px;\n margin-top: auto;\n padding-top: 0;\n display: grid;\n position: relative;\n}\n\n.arkme-redesign-rail-footer > button {\n color: #4b4f58;\n border-radius: 14px;\n place-items: center;\n width: 46px;\n height: 46px;\n display: grid;\n}\n\n.arkme-redesign-rail-footer > button:hover, .arkme-redesign-rail-footer > button.is-active {\n background: #f1f2f5;\n}\n\n.arkme-redesign-rail-footer:empty {\n display: none;\n}\n\n.arkme-conversation-input-card {\n display: contents;\n}\n\nbody:is([data-ds-skin=\"qq2006\"], [data-arkme-skin=\"qq2006\"]) [data-arkme-owned=\"product-surface\"] .arkme-conversation-input-card.arkme-conversation-input-card.arkme-conversation-tools {\n display: flex !important;\n}\n\n.arkme-redesign-profile {\n position: relative;\n}\n\n.arkme-redesign-profile > span {\n width: 32px !important;\n height: 32px !important;\n}\n\n.arkme-redesign-profile-popover {\n z-index: 10000;\n backdrop-filter: blur(20px);\n background: #fffffff5;\n border: 1px solid #d8d9dde6;\n border-radius: 18px;\n width: 264px;\n padding: 10px;\n position: fixed;\n bottom: 14px;\n left: 64px;\n box-shadow: 0 20px 50px #1a1c2326, 0 2px 8px #1a1c230d;\n}\n\n.arkme-redesign-profile-head {\n align-items: center;\n gap: 11px;\n padding: 9px 9px 13px;\n display: flex;\n}\n\nbutton.arkme-redesign-profile-head {\n width: 100%;\n color: inherit;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n.arkme-redesign-profile-head > span {\n text-align: left;\n gap: 4px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-profile-head strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 600;\n overflow: hidden;\n}\n\n.arkme-redesign-profile-head small {\n color: #8b8f98;\n font-size: 11px;\n font-weight: 400;\n}\n\n.arkme-redesign-profile-menu {\n border-top: 1px solid #eeeeef;\n gap: 2px;\n padding-top: 6px;\n display: grid;\n}\n\n.arkme-redesign-profile-menu button {\n width: 100%;\n min-height: 50px;\n box-shadow: none;\n color: #393d46;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 11px;\n outline: 0;\n grid-template-columns: 28px minmax(0, 1fr) 16px;\n align-items: center;\n gap: 8px;\n padding: 7px 8px;\n display: grid;\n}\n\n.arkme-redesign-profile-menu button:hover {\n background: #f4f4f5;\n}\n\n.arkme-redesign-profile-menu button > span {\n gap: 3px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-profile-menu strong {\n font-size: 12px;\n font-weight: 500;\n}\n\n.arkme-redesign-profile-menu small {\n color: #92969f;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 10px;\n font-weight: 400;\n overflow: hidden;\n}\n\n.arkme-redesign-profile-menu button > svg:last-child {\n color: #a0a3aa;\n}\n\n.arkme-redesign-native-settings-trigger {\n clip-path: inset(50%);\n width: 1px;\n height: 1px;\n position: absolute;\n overflow: hidden;\n}\n\n.arkme-redesign-chat-panel {\n inset: var(--arkme-native-titlebar) auto 0 96px;\n z-index: 3;\n border-right: 1px solid var(--arkme-line);\n background: #fff;\n flex-direction: column;\n width: 300px;\n min-width: 0;\n padding: 0;\n display: flex;\n position: absolute;\n overflow: hidden;\n}\n\n.arkme-redesign-chat-search {\n text-align: left;\n border-radius: 11px;\n align-items: center;\n gap: 9px;\n width: 100%;\n height: 40px;\n margin: 20px 0 10px;\n padding: 0 12px;\n display: flex;\n color: #9699a1 !important;\n border: 1px solid #e1e2e5 !important;\n font-size: 11px !important;\n}\n\n.arkme-redesign-chat-search:hover {\n background: #f7f7f8;\n}\n\n.arkme-redesign-chat-directory {\n flex: 1;\n min-height: 0;\n margin: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-chat-directory > section {\n background: none !important;\n}\n\n[aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] {\n --arkme-directory-card-hover: var(--dsw-alias-interactive-bg-hover, #2631480f);\n --arkme-directory-card-selected-hover: color-mix(in srgb, #f1f2f6 94%, var(--dsw-alias-label-primary, #17191c));\n}\n\nbody[data-ds-dark-theme] [aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] {\n --arkme-directory-card-selected-hover: color-mix(in srgb, var(--dsw-alias-interactive-bg-active, #ffffff1a) 94%, var(--dsw-alias-label-primary, #eee));\n}\n\n[aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] button[role=\"treeitem\"] {\n transition: background-color .12s;\n}\n\n@media (hover: hover) {\n [aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] button[role=\"treeitem\"]:not(:disabled):not([aria-disabled=\"true\"]):not([aria-selected=\"true\"]):hover {\n background-color: var(--arkme-directory-card-hover) !important;\n }\n\n [aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] button[role=\"treeitem\"][aria-selected=\"true\"]:not(:disabled):not([aria-disabled=\"true\"]):hover {\n background-color: var(--arkme-directory-card-selected-hover) !important;\n }\n}\n\n[aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] button[data-arkme-home-tour-target=\"harness\"][aria-expanded=\"true\"]:not([aria-selected=\"true\"]) {\n background-color: var(--arkme-directory-card-hover) !important;\n}\n\n[aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] button[data-arkme-home-tour-target=\"harness\"][aria-expanded=\"true\"][aria-selected=\"true\"] {\n background-color: var(--arkme-directory-card-selected-hover) !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n [aria-label=\"Arkme 会话列表\"] [role=\"tree\"][aria-label=\"Arkme 会话\"] button[role=\"treeitem\"] {\n transition: none;\n }\n}\n\n.arkme-redesign-task-section {\n z-index: 3;\n border-bottom: 1px solid #ececef;\n outline: none;\n height: 158px;\n margin: 0 6px 12px;\n position: relative;\n}\n\n.arkme-redesign-task-section-title {\n color: #767b85;\n justify-content: space-between;\n align-items: center;\n height: 28px;\n padding: 0 7px;\n display: flex;\n}\n\n.arkme-redesign-task-section-title strong {\n font-size: 12px;\n font-weight: 500;\n}\n\n.arkme-redesign-task-section-title button {\n border-radius: 7px;\n place-items: center;\n width: 24px;\n height: 24px;\n display: grid;\n}\n\n.arkme-redesign-task-section-title button:hover {\n background: #f3f3f5;\n}\n\n.arkme-redesign-task-list {\n overscroll-behavior: contain;\n scrollbar-gutter: stable;\n background: #fff;\n max-height: 128px;\n padding-bottom: 2px;\n transition: max-height .18s, box-shadow .18s, padding .18s;\n display: grid;\n position: absolute;\n top: 28px;\n left: 0;\n right: 0;\n overflow: hidden auto;\n}\n\n.arkme-redesign-task-section:hover .arkme-redesign-task-list, .arkme-redesign-task-section:focus-within .arkme-redesign-task-list {\n max-height: min(360px, 100vh - 180px);\n padding-bottom: 6px;\n box-shadow: 0 14px 22px #1b1e2512;\n}\n\n.arkme-redesign-task-list > button {\n color: #555a64;\n text-align: left;\n border-radius: 8px;\n grid-template-columns: 16px minmax(0, 1fr);\n align-items: center;\n gap: 4px;\n width: 100%;\n min-width: 0;\n height: 32px;\n padding: 0 8px;\n display: grid;\n}\n\n.arkme-redesign-task-list > button:hover {\n background: #f7f7f8;\n}\n\n.arkme-redesign-task-list > button.is-selected {\n color: #232630;\n background: #f0f1f4;\n}\n\n.arkme-redesign-task-state {\n justify-content: center;\n align-items: center;\n width: 16px;\n height: 20px;\n display: inline-flex;\n}\n\n.arkme-redesign-task-state.is-complete > i {\n background: #39a56b1a;\n border-radius: 50%;\n width: 10px;\n height: 10px;\n display: block;\n position: relative;\n}\n\n.arkme-redesign-task-state.is-complete > i:after {\n content: \"\";\n background: #39a56b;\n border-radius: 50%;\n position: absolute;\n inset: 2px;\n}\n\n.arkme-redesign-task-matrix {\n grid-template-columns: repeat(3, 2px);\n grid-auto-rows: 2px;\n gap: 1px;\n width: 10px;\n height: 10px;\n display: grid;\n}\n\n.arkme-redesign-task-matrix i {\n opacity: .15;\n background: #5d76e8;\n border-radius: 1px;\n animation: 1s infinite arkme-task-dot-chase;\n}\n\n.arkme-redesign-task-matrix i:nth-child(2) {\n animation-delay: .125s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(3) {\n animation-delay: .25s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(4) {\n animation-delay: .375s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(5) {\n animation-delay: .5s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(6) {\n animation-delay: .625s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(7) {\n animation-delay: .75s;\n}\n\n.arkme-redesign-task-matrix i:nth-child(8) {\n animation-delay: .875s;\n}\n\n@keyframes arkme-task-dot-chase {\n 0%, 12.4% {\n opacity: 1;\n }\n\n 12.5%, 24.9% {\n opacity: .6;\n }\n\n 25%, 37.4% {\n opacity: .35;\n }\n\n 37.5%, 100% {\n opacity: .15;\n }\n}\n\n.arkme-redesign-task-copy {\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-redesign-task-copy strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-redesign-task-copy small {\n color: #9a9da5;\n flex: none;\n font-size: 12px;\n line-height: 20px;\n}\n\n.arkme-redesign-task-first {\n color: #555a64;\n text-align: left;\n border-radius: 8px;\n width: calc(100% - 12px);\n height: 32px;\n margin: 0 6px;\n padding: 0 8px;\n font-size: 14px;\n}\n\n.arkme-redesign-task-first:hover {\n background: #f7f7f8;\n}\n\n.arkme-redesign-content {\n inset: var(--arkme-native-titlebar) 0 0 96px;\n background: #fff;\n min-width: 0;\n min-height: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.arkme-redesign-content.has-panel {\n left: 396px;\n}\n\n.arkme-redesign-content.has-details {\n right: 360px;\n}\n\n.arkme-redesign-content.is-login-takeover {\n left: 0;\n right: 0;\n}\n\n.arkme-redesign-route-surface {\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-surface {\n background: #fff !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-header {\n border-bottom: 1px solid #ececef !important;\n height: 68px !important;\n padding: 12px 16px 12px 20px !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-header h2 {\n font-size: 15px !important;\n font-weight: 600 !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-body {\n padding: 22px 22px 12px !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-records {\n gap: 0 !important;\n width: 100% !important;\n}\n\n.arkme-conversation-records-reveal {\n animation: .12s ease-out both arkme-conversation-records-reveal;\n}\n\n@keyframes arkme-conversation-records-reveal {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-conversation-records-reveal {\n animation: none;\n }\n}\n\n.arkme-redesign-route-chats [data-arkme-content-presentation=\"bubble\"] p {\n font-size: 14px;\n line-height: 1.62;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-composer {\n padding: 0 24px 20px !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-composer-inner {\n background: #fff !important;\n border: 1px solid #dfe1e6 !important;\n border-radius: 15px !important;\n gap: 8px !important;\n width: 100% !important;\n padding: 12px 13px 9px !important;\n box-shadow: 0 8px 30px #1c1f270b !important;\n}\n\n.arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"] {\n --arkme-primary-composer-idle: #f6f6f6;\n --arkme-primary-composer-focused: #fff;\n background: var(--arkme-primary-composer-idle, #f6f6f6) !important;\n box-shadow: none !important;\n}\n\n.arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"][data-arkme-composer-focused=\"true\"] {\n background: var(--arkme-primary-composer-focused, #fff) !important;\n}\n\n.arkme-redesign-route-chats .arkme-conversation-composer textarea {\n min-height: 38px !important;\n padding: 0 !important;\n font-size: 14px !important;\n line-height: 22px !important;\n}\n\n.arkme-redesign-task-conversation {\n font-size: 15px;\n}\n\n.arkme-redesign-task-conversation [data-phase] {\n --dsh-chat-content-width: calc(100% - 64px);\n --dsh-composer-card-max-width: calc(100% - 32px);\n}\n\n.arkme-redesign-task-conversation [data-chat-flow] {\n width: calc(100% - 64px) !important;\n max-width: none !important;\n margin-left: 32px !important;\n margin-right: 32px !important;\n}\n\n.arkme-redesign-task-conversation textarea {\n font-size: 14px !important;\n}\n\n[data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"][data-arkme-directory-visible=\"true\"] [data-arkme-directory-mode=\"conversations\"]), [data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-web-locked] [data-arkme-directory-mode=\"web-locked\"]) {\n grid-template-columns: var(--arkme-persistent-sidebar-width, 356px) minmax(0, 1fr) 0 !important;\n}\n\n[data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"][data-arkme-directory-visible=\"false\"]) {\n grid-template-columns: 72px minmax(0, 1fr) 0 !important;\n}\n\n@media (width >= 1100px) {\n [data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"] [data-arkme-directory-mode=\"contacts\"]) {\n grid-template-columns: var(--arkme-persistent-sidebar-width, 356px) minmax(0, 1fr) 0 !important;\n }\n\n [data-slot=\"root\"] > div:is([data-details-collapsed=\"true\"], [data-rightbar-collapsed=\"true\"]):has([data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"true\"]:not([data-arkme-web-locked])) {\n grid-template-columns: 0 minmax(0, 1fr) 0 !important;\n }\n}\n\n[data-arkme-owned=\"persistent-sidebar\"][data-arkme-login-mode=\"false\"]:has( > [data-arkme-directory-mode=\"conversations\"]) > [data-arkme-owned=\"product-navigation\"] {\n flex: 0 0 72px !important;\n width: 72px !important;\n min-width: 72px !important;\n}\n\n[data-arkme-owned=\"persistent-sidebar\"] :is([data-arkme-directory-mode=\"conversations\"], [data-arkme-directory-mode=\"web-locked\"]) {\n min-width: 72px !important;\n}\n\n[data-arkme-directory-compact=\"true\"] > :not([role=\"tree\"]) {\n display: none !important;\n}\n\n[data-arkme-directory-compact=\"true\"] [role=\"tree\"] {\n padding: 8px 6px 18px !important;\n}\n\n[data-arkme-harness-summary] {\n flex-wrap: wrap;\n gap: 2px 8px;\n min-width: 0;\n font-size: 11px;\n line-height: 16px;\n display: flex;\n}\n\n[data-arkme-harness-status] {\n white-space: nowrap;\n align-items: center;\n gap: 4px;\n display: inline-flex;\n}\n\n[data-arkme-harness-status=\"running\"] {\n color: #4279d4;\n}\n\n[data-arkme-harness-status=\"unread\"] {\n color: #278557;\n}\n\n[data-arkme-harness-status=\"pending\"] {\n color: #a96b0a;\n}\n\n[data-arkme-harness-status] > i {\n background: currentColor;\n border-radius: 50%;\n flex: none;\n width: 5px;\n height: 5px;\n}\n\n[data-arkme-harness-status=\"running\"] > i {\n box-sizing: border-box;\n background: none;\n border: 1.5px solid;\n border-right-color: #0000;\n width: 7px;\n height: 7px;\n animation: 1.1s linear infinite arkme-harness-running;\n}\n\n[data-arkme-harness-badge] {\n box-sizing: border-box;\n color: #fff;\n border: 1px solid #fff;\n border-radius: 9px;\n justify-content: center;\n align-items: center;\n min-width: 15px;\n height: 15px;\n padding: 0 3px;\n font-size: 9px;\n font-weight: 600;\n line-height: 13px;\n display: none;\n position: absolute;\n top: -3px;\n right: -3px;\n}\n\n[data-arkme-harness-badge][data-kind=\"running\"] {\n background: #4279d4;\n}\n\n[data-arkme-harness-badge][data-kind=\"unread\"] {\n background: #278557;\n}\n\n[data-arkme-harness-badge][data-kind=\"pending\"] {\n background: #a96b0a;\n}\n\n[data-arkme-harness-badge][data-idle=\"true\"] {\n display: inline-flex;\n}\n\n[data-arkme-directory-compact=\"true\"] [data-arkme-home-tour-target=\"harness\"] {\n justify-content: center;\n gap: 0 !important;\n padding: 7px 6px !important;\n}\n\n[data-arkme-directory-compact=\"true\"] [data-arkme-harness-label] {\n display: none !important;\n}\n\n[data-arkme-directory-compact=\"true\"] [data-arkme-harness-badge] {\n display: inline-flex;\n}\n\n@keyframes arkme-harness-running {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n [data-arkme-harness-status=\"running\"] > i {\n animation: none;\n }\n}\n\n.arkme-redesign-feature-page {\n background: #fff;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n padding: 30px 48px 36px;\n display: flex;\n overflow: hidden;\n}\n\n.arkme-redesign-feature-page > header {\n flex: none;\n margin: 0 0 22px;\n}\n\n.arkme-redesign-feature-page > header p {\n color: #8d9098;\n margin: 0 0 8px;\n font-size: 11px;\n}\n\n.arkme-redesign-feature-page > header h1 {\n letter-spacing: -.04em;\n margin: 0;\n font-size: 27px;\n font-weight: 600;\n}\n\n.arkme-redesign-feature-page > header span {\n color: #858992;\n margin-top: 10px;\n font-size: 12px;\n display: block;\n}\n\n.arkme-redesign-feature-body {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-recordings-page {\n background: #fff;\n padding: 0;\n}\n\n.arkme-redesign-recordings-page > div {\n height: 100% !important;\n}\n\n.arkme-redesign-search-page {\n padding: 66px 0 40px;\n}\n\n.arkme-redesign-search-page > header, .arkme-redesign-search-page > .arkme-redesign-feature-body {\n width: min(980px, 100% - 80px);\n margin-left: auto;\n margin-right: auto;\n}\n\n.arkme-redesign-search-page > header {\n margin-bottom: 28px;\n}\n\n.arkme-redesign-search-page > header h1 {\n font-size: 32px;\n}\n\n.arkme-redesign-search-page .arkme-redesign-feature-body {\n overflow-y: auto;\n}\n\n.arkme-redesign-search-page .arkme-redesign-feature-body > div {\n width: 100% !important;\n padding: 0 !important;\n}\n\n.arkme-redesign-search-page .arkme-redesign-feature-body > div > header {\n display: none !important;\n}\n\n.arkme-redesign-search-page .arkme-search-box {\n box-shadow: 0 8px 28px #1c1f2709;\n color: #646872 !important;\n background: #fff !important;\n border: 1px solid #e1e2e5 !important;\n border-radius: 15px !important;\n gap: 12px !important;\n height: 68px !important;\n padding: 0 20px !important;\n}\n\n.arkme-redesign-search-page input[aria-label=\"搜索\"] {\n font-size: 14px !important;\n}\n\n.arkme-redesign-search-page input[aria-label=\"搜索\"]:not(:focus)::placeholder {\n color: #92959d;\n}\n\n.arkme-redesign-search-page .arkme-search-history, .arkme-redesign-search-page .arkme-search-quick {\n margin: 24px 0 0 !important;\n}\n\n.arkme-redesign-search-page .arkme-search-history > div, .arkme-redesign-search-page .arkme-search-quick > div {\n gap: 0 !important;\n display: grid !important;\n}\n\n.arkme-redesign-search-page .arkme-search-history button, .arkme-redesign-search-page .arkme-search-quick button {\n text-align: left;\n overflow: hidden;\n color: #30333b !important;\n border: 0 !important;\n border-bottom: 1px solid #e6e7e9 !important;\n border-radius: 0 !important;\n justify-content: space-between !important;\n align-items: center !important;\n gap: 14px !important;\n width: 100% !important;\n height: 52px !important;\n padding: 0 6px !important;\n font-size: 12px !important;\n display: flex !important;\n}\n\n.arkme-redesign-search-page .arkme-search-history button span, .arkme-redesign-search-page .arkme-search-quick button span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.arkme-redesign-plugins-page {\n background: #fff;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded > section {\n background: #fff !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded header {\n display: none !important;\n}\n\n.arkme-extension-toolbar {\n align-items: center;\n gap: 12px;\n height: 46px;\n display: flex;\n}\n\n.arkme-extension-toolbar label {\n color: #8e929a;\n border: 1px solid #e1e2e5;\n border-radius: 12px;\n flex: 1;\n align-items: center;\n gap: 10px;\n min-width: 0;\n height: 44px;\n padding: 0 14px;\n display: flex;\n}\n\n.arkme-extension-toolbar input {\n color: #262932;\n background: none;\n border: 0;\n outline: 0;\n flex: 1;\n min-width: 0;\n font-size: 12px;\n}\n\n.arkme-extension-toolbar > button {\n border-radius: 11px;\n height: 38px;\n padding: 0 15px;\n font-size: 11px;\n border: 1px solid #e1e2e5 !important;\n}\n\n.arkme-extension-toolbar > button:hover {\n background: #f6f6f7;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded nav {\n width: 420px;\n height: 38px !important;\n padding: 0 !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-center-embedded main {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n align-content: start;\n gap: 12px;\n padding: 16px 0 0 !important;\n display: grid !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-card {\n background: #fff !important;\n border: 1px solid #e3e4e7 !important;\n border-radius: 15px !important;\n min-height: 138px !important;\n margin: 0 !important;\n padding: 18px !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-card:hover {\n background: #fafafa !important;\n border-color: #d5d7dc !important;\n}\n\n.arkme-redesign-plugins-page .arkme-extension-grid-span, .arkme-redesign-plugins-page .arkme-extension-center-embedded main > [role=\"status\"], .arkme-redesign-plugins-page .arkme-extension-center-embedded main > [role=\"alert\"] {\n grid-column: 1 / -1;\n}\n\n@keyframes arkme-icon-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.arkme-icon-spin {\n animation: .8s linear infinite arkme-icon-spin;\n}\n\n@media (prefers-reduced-motion: reduce) {\n [data-arkme-voice] .arkme-icon-spin {\n animation: none;\n }\n}\n\n.arkme-redesign-settings-surface {\n color: #20232c;\n background: none;\n width: 100%;\n height: auto;\n overflow: visible;\n}\n\n.arkme-redesign-settings-shell {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n padding: 0;\n}\n\n.arkme-redesign-settings-profile {\n align-items: center;\n gap: 16px;\n padding: 0 0 24px;\n display: flex;\n}\n\n.arkme-redesign-settings-profile > div:nth-child(2) {\n min-width: 0;\n}\n\n.arkme-redesign-settings-profile h1 {\n color: #20232c;\n letter-spacing: -.03em;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin: 0 0 6px;\n font-size: 24px;\n font-weight: 600;\n line-height: 30px;\n overflow: hidden;\n}\n\n.arkme-redesign-settings-profile p {\n color: #858992;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 13px;\n line-height: 18px;\n display: flex;\n overflow: hidden;\n}\n\n.arkme-redesign-settings-profile p > span {\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n overflow: hidden;\n}\n\n.arkme-account-profile-qr {\n color: #858992;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 0;\n flex: none;\n justify-content: center;\n align-items: center;\n width: 24px;\n height: 24px;\n margin: 0;\n padding: 2px;\n display: inline-flex;\n}\n\n.arkme-account-profile-qr:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-account-profile-qr svg {\n width: 20px;\n height: 20px;\n display: block;\n}\n\n.arkme-redesign-settings-group {\n background: none;\n border: 0;\n border-bottom: 1px solid #e1e2e5;\n border-radius: 0;\n margin: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-settings-group:last-child {\n border-bottom: 0;\n}\n\n.arkme-redesign-settings-group > h2 {\n color: #8a8e96;\n border-bottom: 1px solid #ededee;\n margin: 0;\n padding: 15px 1px 10px;\n font-size: 12px;\n font-weight: 500;\n line-height: 17px;\n}\n\n.arkme-redesign-settings-group > div {\n padding: 0;\n}\n\n.arkme-redesign-setting-row {\n box-sizing: border-box;\n width: 100%;\n min-height: 54px;\n color: inherit;\n font: inherit;\n text-align: left;\n background: none;\n border: 0;\n border-bottom: 1px solid #ededee;\n grid-template-columns: minmax(0, 1fr) auto 18px;\n align-items: center;\n gap: 10px;\n padding: 9px 1px;\n text-decoration: none;\n display: grid;\n}\n\n.arkme-redesign-setting-row:last-child {\n border-bottom: 0;\n}\n\nbutton.arkme-redesign-setting-row, a.arkme-redesign-setting-row {\n cursor: pointer;\n}\n\nbutton.arkme-redesign-setting-row:hover, a.arkme-redesign-setting-row:hover {\n color: #53617d;\n}\n\n.arkme-redesign-setting-row:disabled {\n opacity: .6;\n cursor: default;\n}\n\n.arkme-redesign-setting-row > strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-redesign-setting-row > strong.is-danger {\n color: #b54841;\n}\n\n.arkme-redesign-setting-summary {\n color: #858992;\n text-align: right;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 360px;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.arkme-redesign-setting-row > svg {\n color: #8d929b;\n}\n\n.arkme-account-info-row {\n box-sizing: border-box;\n width: 100%;\n min-height: 54px;\n color: inherit;\n font: inherit;\n text-align: left;\n background: none;\n border: 0;\n border-bottom: 1px solid #ededee;\n grid-template-columns: 26px minmax(0, 1fr) auto 18px;\n align-items: center;\n gap: 10px;\n padding: 9px 1px;\n display: grid;\n}\n\n.arkme-account-info-row:last-child {\n border-bottom: 0;\n}\n\nbutton.arkme-account-info-row {\n cursor: pointer;\n}\n\n.arkme-account-info-row:disabled {\n opacity: .6;\n cursor: default;\n}\n\n.arkme-account-info-icon {\n color: #6f7580;\n justify-content: center;\n align-items: center;\n width: 26px;\n height: 26px;\n display: inline-flex;\n}\n\n.arkme-account-info-copy {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-account-info-copy > strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-account-info-copy > small {\n color: #858992;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.arkme-account-info-action {\n color: #858992;\n white-space: nowrap;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-info-row > svg {\n color: #8d929b;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-profile > div:nth-child(2) {\n flex: 1;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-profile h1 {\n margin: 0;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-group {\n border-bottom: 0;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-row {\n border-bottom: 0;\n grid-template-columns: 26px minmax(0, 1fr) 48px 18px;\n min-height: 54px;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-copy {\n grid-template-columns: minmax(70px, 1fr) minmax(0, auto);\n align-items: center;\n gap: 16px;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-copy > small {\n text-align: right;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-account-info-action {\n text-align: center;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-settings-group:has(.arkme-redesign-balance-row) {\n margin-top: 16px;\n}\n\n[data-arkme-settings-view=\"account\"] .arkme-redesign-balance-main > small {\n color: inherit;\n font-size: 28px;\n font-weight: 600;\n line-height: 38px;\n}\n\n.arkme-account-logout {\n justify-content: center;\n padding-top: 32px;\n display: flex;\n}\n\n.arkme-account-logout > button {\n color: #dc4d43;\n min-width: 128px;\n min-height: 40px;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 1px solid #e1e2e5;\n border-radius: 8px;\n padding: 8px 24px;\n}\n\n.arkme-account-logout > button:disabled {\n cursor: default;\n opacity: .6;\n}\n\n[data-arkme-settings-view=\"general\"] .arkme-redesign-settings-group:last-child {\n border-bottom: 0;\n}\n\n.arkme-about-heading {\n color: inherit;\n font: inherit;\n margin: 0 0 20px;\n font-size: 18px;\n font-weight: 600;\n line-height: 1.5;\n}\n\n.arkme-account-feedback {\n color: #b54841;\n align-items: flex-start;\n gap: 6px;\n margin: 8px 0 14px;\n font-size: 12px;\n line-height: 18px;\n display: flex;\n}\n\n.arkme-account-dialog-backdrop {\n z-index: 50;\n background: #12141a6b;\n justify-content: center;\n align-items: center;\n padding: 18px;\n display: flex;\n position: fixed;\n inset: 0;\n}\n\n.arkme-account-dialog {\n box-sizing: border-box;\n color: #20232c;\n background: #fff;\n border: 1px solid #e1e2e5;\n border-radius: 16px;\n width: min(420px, 100vw - 36px);\n max-height: calc(100vh - 56px);\n overflow: auto;\n box-shadow: 0 18px 52px #11182738;\n}\n\n.arkme-account-dialog > header {\n border-bottom: 1px solid #ededee;\n justify-content: space-between;\n align-items: center;\n height: 58px;\n padding: 0 16px 0 20px;\n display: flex;\n}\n\n.arkme-account-dialog h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 650;\n line-height: 24px;\n}\n\n.arkme-account-dialog > header button {\n color: #8d929b;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 50%;\n width: 34px;\n height: 34px;\n}\n\n.arkme-account-qr-card {\n box-sizing: border-box;\n background: #fff;\n border: 1px solid #ededee;\n border-radius: 14px;\n justify-items: center;\n gap: 7px;\n width: 270px;\n margin: 22px auto 16px;\n padding: 24px 22px 22px;\n display: grid;\n}\n\n.arkme-account-qr-card strong {\n text-align: center;\n overflow-wrap: anywhere;\n min-width: 0;\n max-width: 100%;\n margin-top: 4px;\n font-size: 17px;\n font-weight: 650;\n line-height: 23px;\n}\n\n.arkme-account-qr-card span, .arkme-account-qr-card small {\n color: #858992;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-qr-card img {\n width: 180px;\n height: 180px;\n margin-top: 8px;\n}\n\n.arkme-account-form {\n gap: 12px;\n padding: 18px 20px 20px;\n display: grid;\n}\n\n.arkme-account-form label {\n color: #5f6570;\n gap: 7px;\n font-size: 12px;\n line-height: 18px;\n display: grid;\n}\n\n.arkme-account-form input {\n box-sizing: border-box;\n color: #20232c;\n width: 100%;\n height: 42px;\n font: inherit;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 11px;\n outline: none;\n padding: 0 12px;\n}\n\n.arkme-account-form input:focus {\n border-color: #9aa7c2;\n box-shadow: 0 0 0 3px #53617d1f;\n}\n\n.arkme-account-rule {\n color: #858992;\n margin: -2px 0 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-code-row {\n grid-template-columns: minmax(0, 1fr) 92px;\n gap: 8px;\n display: grid;\n}\n\n.arkme-account-code-row button {\n color: #343944;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 11px;\n}\n\n.arkme-account-code-row button:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-account-dialog-actions {\n justify-content: flex-end;\n gap: 10px;\n padding-top: 6px;\n display: flex;\n}\n\n.arkme-account-dialog > .arkme-account-dialog-actions {\n padding: 6px 20px 20px;\n}\n\n.arkme-account-dialog > .arkme-account-dialog-status {\n margin: 0 20px 16px;\n}\n\n.arkme-account-dialog > .arkme-account-qr-card + .arkme-account-dialog-actions {\n justify-content: center;\n padding: 6px 20px 24px;\n}\n\n.arkme-account-dialog > .arkme-account-qr-card ~ .arkme-account-dialog-status {\n text-align: center;\n margin: -8px 20px 20px;\n}\n\n.arkme-account-dialog > .arkme-account-qr-card ~ .arkme-account-dialog-status:empty {\n display: none;\n}\n\n.arkme-account-dialog-actions button {\n color: #343944;\n min-width: 78px;\n height: 36px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 10px;\n justify-content: center;\n align-items: center;\n gap: 6px;\n padding: 0 14px;\n display: inline-flex;\n}\n\n.arkme-account-dialog-actions button[type=\"submit\"], .arkme-account-dialog-actions button:last-child {\n color: #fff;\n background: #20232c;\n border-color: #20232c;\n}\n\n.arkme-account-dialog-actions button:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-account-dialog-status {\n color: #13a85b;\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-account-dialog-status.is-error {\n color: #b54841;\n}\n\n.arkme-redesign-version-row {\n grid-template-columns: minmax(0, 1fr) minmax(150px, auto) auto 18px;\n}\n\n.arkme-redesign-version-row.is-without-action {\n grid-template-columns: minmax(0, 1fr) auto 18px;\n}\n\n.arkme-redesign-version-copy {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-version-copy > strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-redesign-version-copy > small {\n color: #858992;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 11px;\n line-height: 16px;\n overflow: hidden;\n}\n\n.arkme-redesign-version-value {\n color: #858992;\n white-space: nowrap;\n justify-self: end;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-redesign-version-action-slot {\n justify-content: flex-end;\n display: inline-flex;\n}\n\n.arkme-redesign-trailing-slot {\n width: 18px;\n height: 1px;\n}\n\nbutton.arkme-redesign-update-button {\n color: #343944;\n min-width: 72px;\n height: 30px;\n font: inherit;\n white-space: nowrap;\n cursor: pointer;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 9px;\n justify-content: center;\n align-items: center;\n gap: 5px;\n padding: 0 11px;\n font-size: 11px;\n display: inline-flex;\n}\n\nbutton.arkme-redesign-update-button:hover {\n background: #f7f7f8;\n border-color: #cfd3da;\n}\n\nbutton.arkme-redesign-update-button:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-redesign-settings-group:has(.arkme-redesign-balance-row) {\n overflow: visible;\n}\n\n.arkme-redesign-balance-row {\n grid-template-columns: max-content max-content minmax(0, 1fr) 18px;\n column-gap: 20px;\n}\n\n.arkme-redesign-balance-row.is-without-reserved {\n grid-template-columns: max-content minmax(0, 1fr) 18px;\n}\n\n.arkme-redesign-balance-main {\n min-width: 0;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n gap: 2px;\n padding: 0;\n display: grid;\n}\n\n.arkme-redesign-balance-main > strong {\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n}\n\n.arkme-redesign-balance-main > small {\n color: #858992;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-redesign-balance-usage {\n color: #8a8e96;\n white-space: nowrap;\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-redesign-reserved-balance {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-recharge-trigger {\n justify-self: end;\n}\n\n.arkme-redesign-reserved-title {\n align-items: center;\n gap: 5px;\n width: fit-content;\n display: inline-flex;\n position: relative;\n}\n\n.arkme-redesign-reserved-title > strong {\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n}\n\n.arkme-redesign-reserved-balance > small {\n color: #858992;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-redesign-reserved-help {\n box-sizing: border-box;\n color: #858992;\n cursor: help;\n border: 1px solid #a6aab2;\n border-radius: 50%;\n place-items: center;\n width: 15px;\n height: 15px;\n font-size: 10px;\n font-weight: 600;\n line-height: 1;\n display: inline-grid;\n}\n\n.arkme-redesign-reserved-help:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #7b8cad;\n}\n\n.arkme-redesign-reserved-title > [role=\"tooltip\"] {\n box-sizing: border-box;\n z-index: 20;\n color: #fff;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n background: #2e323b;\n border-radius: 8px;\n width: 240px;\n padding: 9px 11px;\n font-size: 11px;\n font-weight: 400;\n line-height: 17px;\n transition: opacity .12s, transform .12s, visibility .12s;\n position: absolute;\n bottom: calc(100% + 8px);\n left: calc(100% - 7.5px);\n transform: translate(-50%, 2px);\n box-shadow: 0 6px 18px #181b222e;\n}\n\n.arkme-redesign-reserved-help:hover ~ [role=\"tooltip\"], .arkme-redesign-reserved-help:focus ~ [role=\"tooltip\"] {\n opacity: 1;\n visibility: visible;\n transform: translate(-50%);\n}\n\n.arkme-redesign-settings-error {\n color: #b54841;\n background: #fff3f0;\n border-radius: 10px;\n margin: -8px 0 28px;\n padding: 10px 13px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-remote-settings-dialog-backdrop {\n z-index: 1150;\n box-sizing: border-box;\n backdrop-filter: blur(1.5px);\n background: #16181d47;\n place-items: center;\n padding: 24px;\n display: grid;\n position: fixed;\n inset: 0;\n}\n\n.arkme-remote-settings-dialog {\n color: #20232c;\n background: #fff;\n border: 1px solid #14182014;\n border-radius: 19px;\n flex-direction: column;\n width: min(720px, 100vw - 48px);\n max-height: min(720px, 100vh - 48px);\n display: flex;\n overflow: hidden;\n box-shadow: 0 18px 54px #11141b2e;\n}\n\n.arkme-remote-page-header {\n box-sizing: border-box;\n border-bottom: 1px solid #ededee;\n justify-content: space-between;\n align-items: center;\n gap: 20px;\n min-height: 74px;\n padding: 0 24px 0 28px;\n display: flex;\n}\n\n.arkme-remote-page-header > div {\n min-width: 0;\n}\n\n.arkme-remote-page-header h1 {\n color: #20232c;\n letter-spacing: -.02em;\n margin: 0;\n font-size: 18px;\n font-weight: 620;\n line-height: 25px;\n}\n\n.arkme-remote-page-header p {\n color: #8b9098;\n margin: 3px 0 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-remote-settings-close {\n color: #777c85;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 9px;\n flex: none;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n display: inline-flex;\n}\n\n.arkme-remote-settings-close:hover {\n color: #20232c;\n background: #f3f3f4;\n}\n\n.arkme-remote-settings-dialog-body {\n overscroll-behavior: contain;\n gap: 28px;\n padding: 24px 28px 28px;\n display: grid;\n overflow-y: auto;\n}\n\n.arkme-remote-section {\n gap: 13px;\n display: grid;\n}\n\n.arkme-remote-section-header {\n justify-content: space-between;\n align-items: flex-end;\n gap: 18px;\n min-height: 34px;\n display: flex;\n}\n\n.arkme-remote-section-header > div:first-child {\n min-width: 0;\n}\n\n.arkme-remote-section-header h2 {\n color: #292c34;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n line-height: 21px;\n}\n\n.arkme-remote-section-header p {\n color: #8b9098;\n margin: 2px 0 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-remote-section-header > div:last-child {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.arkme-remote-icon-button {\n color: #8a8f97;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 9px;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n display: inline-flex;\n}\n\n.arkme-remote-icon-button:hover {\n color: #343944;\n background: #f3f3f4;\n}\n\n.arkme-remote-add-button {\n color: #fff;\n min-height: 32px;\n font: inherit;\n cursor: pointer;\n background: #20232c;\n border: 0;\n border-radius: 9px;\n align-items: center;\n gap: 5px;\n padding: 0 12px;\n font-size: 11px;\n font-weight: 550;\n display: inline-flex;\n}\n\n.arkme-remote-add-button:hover {\n background: #343944;\n}\n\n.arkme-remote-add-button:disabled, .arkme-remote-icon-button:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.arkme-remote-settings-card {\n background: #fff;\n border: 1px solid #e1e2e5;\n border-radius: 16px;\n overflow: hidden;\n}\n\n.arkme-remote-allow-row {\n border-bottom: 1px solid #ededee;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n min-height: 60px;\n padding: 0 18px;\n display: flex;\n}\n\n.arkme-remote-allow-row > div {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-remote-allow-row strong, .arkme-remote-device-row strong, .arkme-remote-name-row strong {\n color: #343944;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n.arkme-remote-allow-row span, .arkme-remote-device-row span, .arkme-remote-name-row small {\n color: #8b9098;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 10px;\n line-height: 16px;\n overflow: hidden;\n}\n\n.arkme-remote-switch {\n cursor: pointer;\n background: #d7d9dd;\n border: 0;\n border-radius: 999px;\n flex: none;\n width: 40px;\n height: 23px;\n padding: 0;\n transition: background .16s;\n position: relative;\n}\n\n.arkme-remote-switch > span {\n background: #fff;\n border-radius: 50%;\n width: 17px;\n height: 17px;\n transition: transform .16s;\n position: absolute;\n top: 3px;\n left: 3px;\n box-shadow: 0 1px 3px #14182038;\n}\n\n.arkme-remote-switch[aria-checked=\"true\"] {\n background: #3b9cf5;\n}\n\n.arkme-remote-switch[aria-checked=\"true\"] > span {\n transform: translateX(17px);\n}\n\n.arkme-remote-switch:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-remote-device-row {\n border-bottom: 1px solid #ededee;\n grid-template-columns: 24px minmax(0, 1fr) auto;\n align-items: center;\n gap: 11px;\n min-height: 64px;\n padding: 0 18px;\n display: grid;\n}\n\n.arkme-remote-device-row:last-child {\n border-bottom: 0;\n}\n\n.arkme-remote-device-row > svg {\n color: #68707c;\n}\n\n.arkme-remote-device-row > div {\n gap: 1px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-remote-device-row > button {\n color: #5d626c;\n min-height: 30px;\n font: inherit;\n cursor: pointer;\n background: #f3f3f4;\n border: 0;\n border-radius: 9px;\n padding: 0 10px;\n font-size: 10px;\n}\n\n.arkme-remote-device-row > button:hover {\n color: #b54841;\n background: #fff0ed;\n}\n\n.arkme-remote-device-row > button:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.arkme-remote-empty-row {\n color: #989ca3;\n align-items: center;\n gap: 11px;\n min-height: 52px;\n padding: 0 18px;\n font-size: 11px;\n display: flex;\n}\n\n.arkme-remote-empty-row > svg {\n color: #a2a6ad;\n}\n\n.arkme-remote-name-row {\n color: #727780;\n width: 100%;\n min-height: 62px;\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n grid-template-columns: 24px minmax(0, 1fr) 20px;\n align-items: center;\n gap: 11px;\n padding: 0 18px;\n display: grid;\n}\n\n.arkme-remote-name-row:hover {\n background: #fafafb;\n}\n\n.arkme-remote-name-row > span {\n gap: 1px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-remote-name-row small {\n display: block;\n}\n\n.arkme-remote-rename {\n border-top: 1px solid #ededee;\n grid-template-columns: minmax(0, 1fr) auto auto;\n gap: 7px;\n padding: 12px 18px;\n display: grid;\n}\n\n.arkme-remote-rename input {\n box-sizing: border-box;\n color: #20232c;\n min-width: 0;\n height: 34px;\n font: inherit;\n background: #fff;\n border: 1px solid #dfe1e5;\n border-radius: 9px;\n outline: 0;\n padding: 0 10px;\n font-size: 12px;\n}\n\n.arkme-remote-rename input:focus {\n border-color: #6eb3f3;\n box-shadow: 0 0 0 3px #3b9cf51f;\n}\n\n.arkme-remote-rename button {\n color: #4f5560;\n min-height: 34px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #e0e1e4;\n border-radius: 9px;\n padding: 0 11px;\n font-size: 11px;\n}\n\n.arkme-remote-rename button[type=\"submit\"] {\n color: #fff;\n background: #20232c;\n border-color: #20232c;\n}\n\n.arkme-remote-rename button:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-remote-error {\n margin: -22px 0 0;\n}\n\n.arkme-remote-dialog-backdrop {\n z-index: 1200;\n box-sizing: border-box;\n backdrop-filter: blur(1.5px);\n background: #16181d47;\n place-items: center;\n padding: 24px;\n display: grid;\n position: fixed;\n inset: 0;\n overflow: auto;\n}\n\n.arkme-remote-dialog {\n box-sizing: border-box;\n color: #20232c;\n background: #fff;\n border: 1px solid #14182014;\n border-radius: 19px;\n width: min(440px, 100vw - 32px);\n max-height: calc(100vh - 48px);\n padding: 28px;\n position: relative;\n overflow: auto;\n box-shadow: 0 18px 54px #11141b2e;\n}\n\n.arkme-remote-dialog-close {\n color: #777c85;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 9px;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n display: inline-flex;\n position: absolute;\n top: 16px;\n right: 16px;\n}\n\n.arkme-remote-dialog-close:hover {\n color: #20232c;\n background: #f3f3f4;\n}\n\n.arkme-remote-dialog-symbol {\n color: #343944;\n justify-content: center;\n align-items: center;\n gap: 9px;\n height: 38px;\n display: flex;\n}\n\n.arkme-remote-dialog-symbol > span {\n background: #d6d8dc;\n width: 28px;\n height: 1px;\n}\n\n.arkme-remote-dialog > header {\n text-align: center;\n margin: 12px 0 22px;\n}\n\n.arkme-remote-dialog h2 {\n letter-spacing: -.02em;\n margin: 0;\n font-size: 19px;\n font-weight: 620;\n line-height: 27px;\n}\n\n.arkme-remote-dialog header p {\n color: #858992;\n margin: 6px 0 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-remote-pairing-tabs {\n box-sizing: border-box;\n background: #f1f1f2;\n border-radius: 11px;\n grid-template-columns: 1fr 1fr;\n gap: 3px;\n height: 38px;\n padding: 3px;\n display: grid;\n}\n\n.arkme-remote-pairing-tabs button {\n color: #737881;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 8px;\n font-size: 11px;\n}\n\n.arkme-remote-pairing-tabs button[aria-selected=\"true\"] {\n color: #252831;\n background: #fff;\n box-shadow: 0 1px 3px #14182017;\n}\n\n.arkme-remote-pairing-display {\n box-sizing: border-box;\n background: #fff;\n border: 1px solid #e5e6e8;\n border-radius: 16px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n min-height: 308px;\n margin-top: 14px;\n padding: 24px;\n display: flex;\n position: relative;\n}\n\n.arkme-remote-pairing-display > img {\n width: 232px;\n height: 232px;\n image-rendering: pixelated;\n display: block;\n}\n\n.arkme-remote-pairing-display > p {\n color: #8b9098;\n text-align: center;\n margin: 10px 0 0;\n font-size: 10px;\n line-height: 16px;\n}\n\n.arkme-remote-pairing-code {\n color: #20232c;\n letter-spacing: .17em;\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n user-select: all;\n font-size: 33px;\n font-weight: 620;\n line-height: 46px;\n}\n\n.arkme-remote-pairing-tools {\n gap: 4px;\n display: flex;\n position: absolute;\n bottom: 12px;\n right: 12px;\n}\n\n.arkme-remote-pairing-tools button {\n color: #8a8f97;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 8px;\n justify-content: center;\n align-items: center;\n width: 30px;\n height: 30px;\n padding: 0;\n display: inline-flex;\n}\n\n.arkme-remote-pairing-tools button:hover {\n color: #343944;\n background: #f3f3f4;\n}\n\n.arkme-remote-pairing-expired {\n text-align: center;\n justify-items: center;\n gap: 7px;\n display: grid;\n}\n\n.arkme-remote-pairing-expired strong {\n font-size: 14px;\n line-height: 20px;\n}\n\n.arkme-remote-pairing-expired p {\n color: #8b9098;\n margin: 0;\n font-size: 11px;\n}\n\n.arkme-remote-pairing-expired button {\n color: #fff;\n min-height: 32px;\n font: inherit;\n cursor: pointer;\n background: #20232c;\n border: 0;\n border-radius: 9px;\n margin-top: 7px;\n padding: 0 12px;\n font-size: 11px;\n}\n\n.arkme-remote-dialog-note {\n color: #858992;\n align-items: flex-start;\n gap: 7px;\n margin: 14px 2px 0;\n font-size: 10px;\n line-height: 16px;\n display: flex;\n}\n\n.arkme-remote-dialog-note > svg {\n color: #5e856d;\n flex: none;\n margin-top: 1px;\n}\n\n.arkme-remote-settings-close:focus-visible, .arkme-remote-icon-button:focus-visible, .arkme-remote-add-button:focus-visible, .arkme-remote-switch:focus-visible, .arkme-remote-device-row > button:focus-visible, .arkme-remote-name-row:focus-visible, .arkme-remote-rename button:focus-visible, .arkme-remote-dialog button:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #3b9cf5;\n}\n\n@media (width <= 520px) {\n .arkme-remote-settings-dialog-backdrop {\n padding: 10px;\n }\n\n .arkme-remote-settings-dialog {\n border-radius: 17px;\n width: calc(100vw - 20px);\n max-height: calc(100vh - 20px);\n }\n\n .arkme-remote-page-header {\n min-height: 68px;\n padding: 0 16px 0 20px;\n }\n\n .arkme-remote-page-header p {\n display: none;\n }\n\n .arkme-remote-settings-dialog-body {\n gap: 24px;\n padding: 20px 18px 22px;\n }\n\n .arkme-remote-section-header p {\n display: none;\n }\n\n .arkme-remote-device-row {\n grid-template-columns: 22px minmax(0, 1fr);\n padding-top: 10px;\n padding-bottom: 10px;\n }\n\n .arkme-remote-device-row > button {\n grid-column: 2;\n justify-self: start;\n }\n\n .arkme-remote-dialog-backdrop {\n padding: 12px;\n }\n\n .arkme-remote-dialog {\n padding: 24px 20px;\n }\n\n .arkme-remote-pairing-display {\n min-height: 282px;\n padding: 18px;\n }\n\n .arkme-remote-pairing-display > img {\n width: min(224px, 100%);\n height: auto;\n }\n\n .arkme-remote-pairing-code {\n letter-spacing: .12em;\n font-size: 26px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-remote-switch, .arkme-remote-switch > span {\n transition: none;\n }\n}\n\n.arkme-redesign-model-settings {\n color: #20232c;\n background: #fff;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n}\n\n.arkme-redesign-model-settings > header {\n width: min(760px, 100% - 96px);\n margin: 0 auto;\n padding: 42px 0 22px;\n}\n\n.arkme-redesign-model-settings > header button {\n color: #525762;\n height: 34px;\n font: inherit;\n cursor: pointer;\n background: #fff;\n border: 1px solid #e1e2e5;\n border-radius: 18px;\n align-items: center;\n gap: 4px;\n padding: 0 10px 0 7px;\n font-size: 13px;\n display: inline-flex;\n}\n\n.arkme-redesign-model-settings > header button:hover {\n color: #20232c;\n background: #f6f6f7;\n}\n\n.arkme-redesign-model-settings-body {\n width: min(760px, 100% - 96px);\n margin: 0 auto;\n padding: 0 0 68px;\n}\n\n.arkme-redesign-model-settings-body > * {\n max-width: none !important;\n}\n\n.arkme-redesign-task-start {\n place-items: center;\n width: 100%;\n height: 100%;\n padding: 28px 58px 64px;\n display: grid;\n}\n\n.arkme-redesign-task-start-inner {\n text-align: center;\n width: min(760px, 88%);\n transform: translateY(-12px);\n}\n\n.arkme-redesign-task-greeting {\n justify-content: center;\n align-items: center;\n gap: 12px;\n margin-bottom: 24px;\n display: flex;\n}\n\n.arkme-redesign-task-greeting img {\n object-fit: contain;\n flex: none;\n width: 62px;\n height: 16px;\n display: block;\n}\n\n.arkme-redesign-task-start h1 {\n letter-spacing: -.03em;\n margin: 0;\n font-size: 29px;\n font-weight: 600;\n line-height: 1.15;\n}\n\n.arkme-redesign-hero-input {\n border: 1px solid var(--arkme-focus);\n text-align: left;\n background: #fff;\n border-radius: 17px;\n grid-template-rows: minmax(56px, 1fr) auto;\n min-height: 142px;\n padding: 17px 16px 13px 20px;\n display: grid;\n box-shadow: 0 8px 30px #1c1f270b;\n}\n\n.arkme-redesign-hero-input:focus-within {\n border-color: #aebdff;\n box-shadow: 0 10px 38px #36488c13, 0 0 0 3px #91a4ff12;\n}\n\n.arkme-redesign-hero-input textarea {\n resize: none;\n color: #20232c;\n border: 0;\n outline: 0;\n width: 100%;\n min-height: 58px;\n padding: 0;\n font-size: 15px;\n line-height: 1.6;\n}\n\n.arkme-redesign-hero-input textarea::placeholder {\n color: #a3a6ad;\n}\n\n.arkme-redesign-hero-controls {\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n display: flex;\n}\n\n.arkme-redesign-hero-controls > div {\n align-items: center;\n gap: 7px;\n display: flex;\n}\n\n.arkme-redesign-source-button {\n border-radius: 22px;\n align-items: center;\n gap: 8px;\n height: 36px;\n padding: 0 13px;\n font-size: 13px;\n display: flex;\n border: 1px solid #e2e3e6 !important;\n}\n\n.arkme-redesign-round-tool, .arkme-redesign-send-task {\n border-radius: 50%;\n place-items: center;\n width: 40px;\n height: 40px;\n display: grid;\n border: 1px solid #e2e3e6 !important;\n}\n\n.arkme-redesign-round-tool:hover {\n background: #f5f5f6;\n}\n\n.arkme-redesign-send-task {\n color: #fff !important;\n background: #20232d !important;\n border: 0 !important;\n}\n\n.arkme-redesign-send-task:disabled {\n cursor: default;\n background: #d9dade !important;\n}\n\n.arkme-redesign-task-error {\n color: #b84747;\n text-align: left;\n margin-top: 10px;\n font-size: 12px;\n}\n\n.arkme-redesign-starters {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n width: calc(100% - 18px);\n margin: 22px auto 0;\n display: grid;\n}\n\n.arkme-redesign-starters > button {\n text-align: left;\n border-right: 1px solid #e7e7e9;\n align-items: center;\n gap: 12px;\n min-width: 0;\n min-height: 48px;\n padding: 4px 18px;\n display: flex;\n}\n\n.arkme-redesign-starters > button:last-child {\n border-right: 0;\n}\n\n.arkme-redesign-starters > button:hover strong {\n color: #5365ad;\n}\n\n.arkme-redesign-starter-icon {\n color: #30333b;\n border: 1px solid #e2e3e6;\n border-radius: 50%;\n flex: none;\n place-items: center;\n width: 38px;\n height: 38px;\n display: grid;\n}\n\n.arkme-redesign-starters > button > span:last-child {\n gap: 4px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-redesign-starters strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 13px;\n font-weight: 500;\n overflow: hidden;\n}\n\n.arkme-redesign-starters small {\n color: #8d919a;\n font-size: 12px;\n}\n\n.arkme-redesign-details {\n z-index: 4;\n top: var(--arkme-native-titlebar);\n background: #fff;\n border-left: 1px solid #e7e7e9;\n width: 360px;\n position: absolute;\n bottom: 0;\n right: 0;\n overflow: hidden;\n}\n\n.arkme-redesign-calendar-overlay {\n z-index: 14;\n inset: var(--arkme-native-titlebar) 0 0;\n pointer-events: none;\n position: absolute;\n}\n\n.arkme-redesign-calendar-overlay > * {\n pointer-events: auto;\n}\n\n.arkme-redesign-overlays {\n z-index: 20;\n pointer-events: none;\n position: absolute;\n inset: 0;\n}\n\n.arkme-redesign-overlays > * {\n pointer-events: auto;\n}\n\n.arkme-workspace-dialog-backdrop {\n z-index: 60;\n backdrop-filter: blur(2px);\n background: #181b2238;\n place-items: center;\n padding: 28px;\n display: grid;\n position: absolute;\n inset: 0;\n}\n\n.arkme-workspace-dialog {\n background: #fff;\n border: 1px solid #dddfe4;\n border-radius: 18px;\n grid-template-rows: auto auto minmax(0, 1fr) auto;\n width: min(640px, 100%);\n height: min(620px, 100%);\n min-height: 420px;\n display: grid;\n overflow: hidden;\n box-shadow: 0 24px 70px #191c232e;\n}\n\n.arkme-workspace-dialog > header {\n justify-content: space-between;\n align-items: flex-start;\n gap: 18px;\n padding: 22px 24px 16px;\n display: flex;\n}\n\n.arkme-workspace-dialog > header span {\n color: #8b8e96;\n font-size: 10px;\n}\n\n.arkme-workspace-dialog > header h2 {\n margin: 5px 0 0;\n font-size: 19px;\n font-weight: 600;\n}\n\n.arkme-workspace-dialog > header > button {\n border-radius: 9px;\n place-items: center;\n width: 32px;\n height: 32px;\n display: grid;\n}\n\n.arkme-workspace-dialog > nav {\n border-top: 1px solid #ececef;\n border-bottom: 1px solid #ececef;\n align-items: center;\n gap: 2px;\n min-height: 42px;\n padding: 0 22px;\n display: flex;\n overflow-x: auto;\n}\n\n.arkme-workspace-dialog > nav > span {\n white-space: nowrap;\n color: #9a9da5;\n align-items: center;\n gap: 2px;\n display: inline-flex;\n}\n\n.arkme-workspace-dialog > nav button {\n color: #666a73;\n border-radius: 8px;\n align-items: center;\n gap: 5px;\n height: 30px;\n padding: 0 7px;\n font-size: 11px;\n display: inline-flex;\n}\n\n.arkme-workspace-directory-list {\n min-height: 0;\n padding: 10px 14px;\n overflow-y: auto;\n}\n\n.arkme-workspace-directory-list > button {\n text-align: left;\n border-radius: 11px;\n grid-template-columns: 34px minmax(0, 1fr) 18px;\n align-items: center;\n gap: 9px;\n width: 100%;\n height: 48px;\n padding: 0 11px;\n display: grid;\n}\n\n.arkme-workspace-directory-list > button:hover {\n background: #f5f5f7;\n}\n\n.arkme-workspace-directory-list > button > span {\n color: #636873;\n border: 1px solid #e5e6e9;\n border-radius: 9px;\n place-items: center;\n width: 32px;\n height: 32px;\n display: grid;\n}\n\n.arkme-workspace-directory-list strong {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n font-weight: 500;\n overflow: hidden;\n}\n\n.arkme-workspace-dialog-status, .arkme-workspace-dialog-error {\n color: #8c9098;\n text-align: center;\n padding: 54px 16px;\n font-size: 12px;\n}\n\n.arkme-workspace-dialog-error {\n color: #b94b4b;\n}\n\n.arkme-workspace-dialog > footer {\n border-top: 1px solid #e8e9ec;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n min-height: 72px;\n padding: 12px 18px;\n display: flex;\n}\n\n.arkme-workspace-dialog-back {\n color: #696d76;\n align-items: center;\n gap: 6px;\n height: 36px;\n padding: 0 10px;\n font-size: 11px;\n display: inline-flex;\n}\n\n.arkme-workspace-dialog > footer > div {\n align-items: center;\n gap: 12px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-workspace-dialog > footer small {\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #92959d;\n max-width: 280px;\n font-size: 9px;\n overflow: hidden;\n}\n\n.arkme-workspace-dialog > footer > div > button {\n color: #fff;\n background: #20232d;\n border-radius: 10px;\n flex: none;\n height: 38px;\n padding: 0 17px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.arkme-workspace-dialog button:disabled {\n opacity: .48;\n cursor: default;\n}\n\n.arkme-redesign-placeholder {\n color: #858992;\n text-align: center;\n place-content: center;\n justify-items: center;\n width: 100%;\n height: 100%;\n display: grid;\n}\n\n.arkme-redesign-placeholder > span {\n color: #555a64;\n border: 1px solid #e1e2e5;\n border-radius: 14px;\n place-items: center;\n width: 48px;\n height: 48px;\n display: grid;\n}\n\n.arkme-redesign-placeholder h1 {\n color: #3e424b;\n margin: 16px 0 7px;\n font-size: 18px;\n}\n\n.arkme-redesign-placeholder p {\n margin: 0;\n font-size: 12px;\n}\n\nbody[data-ds-dark-theme] [data-arkme-workspace] {\n --arkme-line: var(--dsw-alias-border-l1);\n --arkme-muted: var(--dsw-alias-label-tertiary);\n --arkme-soft: var(--dsw-alias-bg-layer-2);\n --arkme-focus: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"], body[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] {\n background: var(--dsw-specific-sidebar-fill) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-brand\"] {\n box-shadow: none;\n background: none !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-workspace] [data-arkme-theme-image=\"light\"] {\n display: none !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-workspace] [data-arkme-theme-image=\"dark\"] {\n display: block !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] > div {\n border-color: var(--dsw-alias-border-l1) !important;\n background: var(--dsw-alias-bg-layer-1) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] {\n background: var(--dsw-alias-bg-base) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] .arkme-conversation-surface, body[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] .arkme-conversation-composer {\n background: var(--dsw-alias-bg-base) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"persistent-workspace\"] div:has( > input[aria-label=\"搜索\"]) {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] button:hover {\n background: var(--dsw-alias-interactive-bg-hover) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] button[aria-current=\"page\"] {\n background: var(--dsw-alias-interactive-bg-active) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-navigation\"] button[aria-current=\"page\"] > span[aria-hidden=\"true\"] {\n background: var(--dsw-alias-state-business-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"], body[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"], body[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] [aria-label=\"Arkme 会话列表\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] {\n background: var(--dsw-alias-bg-base) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] label:has( > input[aria-label=\"搜索对话或消息\"]), body[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] button[aria-label=\"新任务\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] label:has( > input[aria-label=\"搜索对话或消息\"]), body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] button[aria-label=\"新任务\"] {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] [role=\"treeitem\"][aria-selected=\"true\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] [role=\"treeitem\"][aria-selected=\"true\"] {\n background: var(--dsw-alias-interactive-bg-active) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"directory-pane\"] [role=\"status\"][aria-label$=\"个人测试版\"], body[data-ds-dark-theme] [data-arkme-owned=\"persistent-sidebar\"] [aria-label=\"Arkme 会话列表\"] [role=\"status\"][aria-label$=\"个人测试版\"] {\n background: var(--dsw-alias-bg-layer-2) !important;\n}\n\nbody[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"] .arkme-conversation-composer {\n background: var(--dsw-alias-bg-base) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-recordings-page [aria-label=\"全天候录音操作\"] > div > button, body[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"] [aria-label=\"全天候录音操作\"] > div > button {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-button-elevated-fill) !important;\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-recordings-page [aria-label=\"全天候录音操作\"] > div > button:first-child, body[data-ds-dark-theme] [data-arkme-owned=\"product-surface\"] [aria-label=\"全天候录音操作\"] > div > button:first-child {\n border-color: var(--dsw-alias-button-primary-fill) !important;\n background: var(--dsw-alias-button-primary-fill) !important;\n color: var(--dsw-alias-label-primary-inverted) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) > div > section[aria-label=\"客户端日历\"], body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) > div > section[aria-label=\"当天内容\"] {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-bg-layer-1) !important;\n color: var(--dsw-alias-label-primary) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) > div > section[aria-label=\"客户端日历\"] > span[aria-hidden] {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-bg-layer-1) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] > header button, body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[aria-label*=\"记录\"] {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] > div > span {\n color: var(--dsw-alias-label-tertiary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"false\"][aria-label*=\"条记录\"] > span:last-child {\n background: var(--dsw-alias-bg-layer-2) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"true\"], body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"true\"] > span {\n color: var(--dsw-alias-label-primary-inverted) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"客户端日历\"] button[data-selected=\"true\"] > span:last-child {\n color: var(--dsw-alias-label-primary-inverted) !important;\n background: none !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article > div > div:last-child {\n border-color: var(--dsw-alias-border-l1) !important;\n background: var(--dsw-alias-bg-layer-2) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article h3, body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article p {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article time, body[data-ds-dark-theme] [aria-label=\"客户端日历\"]:has( > button[aria-label=\"关闭日历\"]) section[aria-label=\"当天内容\"] article span {\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-root, body[data-ds-dark-theme] .arkme-redesign-chat-panel, body[data-ds-dark-theme] .arkme-redesign-content, body[data-ds-dark-theme] .arkme-redesign-feature-page, body[data-ds-dark-theme] .arkme-redesign-recordings-page, body[data-ds-dark-theme] .arkme-redesign-plugins-page, body[data-ds-dark-theme] .arkme-redesign-model-settings, body[data-ds-dark-theme] .arkme-redesign-details {\n background: var(--dsw-alias-bg-base);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-native-desktop .arkme-redesign-root:before {\n background: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-specific-sidebar-fill);\n box-shadow: var(--dsw-shadow-lv2);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button, body[data-ds-dark-theme] .arkme-redesign-rail-footer > button, body[data-ds-dark-theme] .arkme-redesign-profile-menu button, body[data-ds-dark-theme] .arkme-redesign-task-list > button, body[data-ds-dark-theme] .arkme-redesign-task-first, body[data-ds-dark-theme] .arkme-workspace-dialog > nav button, body[data-ds-dark-theme] .arkme-workspace-dialog-back, body[data-ds-dark-theme] .arkme-redesign-placeholder > span {\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button:hover, body[data-ds-dark-theme] .arkme-redesign-rail-footer > button:hover, body[data-ds-dark-theme] .arkme-redesign-profile-menu button:hover, body[data-ds-dark-theme] .arkme-redesign-chat-search:hover, body[data-ds-dark-theme] .arkme-redesign-task-section-title button:hover, body[data-ds-dark-theme] .arkme-redesign-task-list > button:hover, body[data-ds-dark-theme] .arkme-redesign-task-first:hover, body[data-ds-dark-theme] .arkme-extension-toolbar > button:hover, body[data-ds-dark-theme] button.arkme-redesign-setting-row:hover, body[data-ds-dark-theme] a.arkme-redesign-setting-row:hover, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button:hover, body[data-ds-dark-theme] .arkme-redesign-round-tool:hover, body[data-ds-dark-theme] .arkme-workspace-directory-list > button:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button.is-active, body[data-ds-dark-theme] .arkme-redesign-rail-footer > button.is-active, body[data-ds-dark-theme] .arkme-redesign-task-list > button.is-selected {\n background: var(--dsw-alias-interactive-bg-active);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-primary button.is-active:before {\n background: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-rail-footer, body[data-ds-dark-theme] .arkme-redesign-profile-menu, body[data-ds-dark-theme] .arkme-redesign-task-section, body[data-ds-dark-theme] .arkme-redesign-route-chats .arkme-conversation-header, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-history button, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-quick button, body[data-ds-dark-theme] .arkme-redesign-settings-group h2, body[data-ds-dark-theme] .arkme-redesign-setting-row, body[data-ds-dark-theme] .arkme-account-info-row, body[data-ds-dark-theme] .arkme-redesign-starters > button, body[data-ds-dark-theme] .arkme-redesign-details, body[data-ds-dark-theme] .arkme-workspace-dialog > nav, body[data-ds-dark-theme] .arkme-workspace-dialog > footer {\n border-color: var(--dsw-alias-border-l1) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-profile-popover, body[data-ds-dark-theme] .arkme-workspace-dialog {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-specific-menu);\n box-shadow: var(--dsw-shadow-lv3);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-profile-head small, body[data-ds-dark-theme] .arkme-redesign-profile-menu small, body[data-ds-dark-theme] .arkme-redesign-profile-menu button > svg:last-child, body[data-ds-dark-theme] .arkme-redesign-task-section-title, body[data-ds-dark-theme] .arkme-redesign-task-copy small, body[data-ds-dark-theme] .arkme-account-profile-qr, body[data-ds-dark-theme] .arkme-redesign-feature-page > header p, body[data-ds-dark-theme] .arkme-redesign-feature-page > header span, body[data-ds-dark-theme] .arkme-redesign-search-page input[aria-label=\"搜索\"]:not(:focus)::placeholder, body[data-ds-dark-theme] .arkme-redesign-settings-profile p, body[data-ds-dark-theme] .arkme-redesign-settings-group h2, body[data-ds-dark-theme] .arkme-redesign-setting-summary, body[data-ds-dark-theme] .arkme-account-info-copy > small, body[data-ds-dark-theme] .arkme-account-info-action, body[data-ds-dark-theme] .arkme-account-info-row > svg, body[data-ds-dark-theme] .arkme-account-info-icon, body[data-ds-dark-theme] .arkme-redesign-setting-row > svg, body[data-ds-dark-theme] .arkme-redesign-hero-input textarea::placeholder, body[data-ds-dark-theme] .arkme-redesign-starters small, body[data-ds-dark-theme] .arkme-workspace-dialog > header span, body[data-ds-dark-theme] .arkme-workspace-dialog > nav > span, body[data-ds-dark-theme] .arkme-workspace-dialog-status, body[data-ds-dark-theme] .arkme-workspace-dialog > footer small, body[data-ds-dark-theme] .arkme-redesign-placeholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-chat-search, body[data-ds-dark-theme] .arkme-extension-toolbar label, body[data-ds-dark-theme] .arkme-extension-toolbar > button, body[data-ds-dark-theme] .arkme-redesign-settings-group, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button, body[data-ds-dark-theme] .arkme-redesign-source-button, body[data-ds-dark-theme] .arkme-redesign-round-tool, body[data-ds-dark-theme] .arkme-redesign-starter-icon, body[data-ds-dark-theme] .arkme-workspace-directory-list > button > span, body[data-ds-dark-theme] .arkme-redesign-placeholder > span {\n border-color: var(--dsw-alias-border-l2) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-chat-search, body[data-ds-dark-theme] .arkme-extension-toolbar label {\n color: var(--dsw-alias-label-tertiary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-extension-toolbar input, body[data-ds-dark-theme] .arkme-redesign-settings-profile h1, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button, body[data-ds-dark-theme] .arkme-redesign-task-start h1, body[data-ds-dark-theme] .arkme-redesign-hero-input textarea, body[data-ds-dark-theme] .arkme-redesign-starter-icon, body[data-ds-dark-theme] .arkme-redesign-placeholder h1 {\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-list, body[data-ds-dark-theme] .arkme-redesign-model-settings > header button, body[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-card {\n background: var(--dsw-alias-bg-layer-1) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-settings-surface, body[data-ds-dark-theme] .arkme-redesign-settings-group {\n color: var(--dsw-alias-label-primary);\n background: none !important;\n}\n\nbody[data-ds-dark-theme] .arkme-account-dialog {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-primary);\n box-shadow: var(--dsw-shadow-lv3);\n}\n\nbody[data-ds-dark-theme] .arkme-account-dialog > header, body[data-ds-dark-theme] .arkme-account-qr-card {\n border-color: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-account-qr-card, body[data-ds-dark-theme] .arkme-account-form input, body[data-ds-dark-theme] .arkme-account-code-row button, body[data-ds-dark-theme] .arkme-account-dialog-actions button {\n background: var(--dsw-alias-bg-layer-1);\n color: var(--dsw-alias-label-primary);\n border-color: var(--dsw-alias-border-l2);\n}\n\nbody[data-ds-dark-theme] .arkme-account-dialog-actions button[type=\"submit\"], body[data-ds-dark-theme] .arkme-account-dialog-actions button:last-child {\n border-color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-base);\n}\n\nbody[data-ds-dark-theme] .arkme-account-rule, body[data-ds-dark-theme] .arkme-account-qr-card span, body[data-ds-dark-theme] .arkme-account-qr-card small, body[data-ds-dark-theme] .arkme-account-form label {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-route-chats .arkme-conversation-surface, body[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-center-embedded > section {\n background: var(--dsw-alias-bg-base) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-route-chats .arkme-conversation-composer-inner, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-box {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n color: var(--dsw-alias-label-primary) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"] {\n --arkme-primary-composer-idle: #151515;\n --arkme-primary-composer-focused: #000;\n background: var(--arkme-primary-composer-idle, #f6f6f6) !important;\n box-shadow: none !important;\n}\n\nbody[data-ds-dark-theme] .arkme-conversation-composer-inner[data-arkme-primary-composer=\"true\"][data-arkme-composer-focused=\"true\"] {\n background: var(--arkme-primary-composer-focused, #fff) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-greeting img {\n filter: invert() hue-rotate(180deg);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-hero-input {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-specific-input-major) !important;\n color: var(--dsw-alias-label-primary) !important;\n box-shadow: var(--dsw-shadow-lv2) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-hero-input textarea {\n background: none !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-source-button, body[data-ds-dark-theme] .arkme-redesign-round-tool, body[data-ds-dark-theme] .arkme-redesign-starter-icon {\n background: var(--dsw-alias-button-elevated-fill) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-history button, body[data-ds-dark-theme] .arkme-redesign-search-page .arkme-search-quick button {\n color: var(--dsw-alias-label-primary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-card {\n border-color: var(--dsw-alias-border-l1) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-plugins-page .arkme-extension-card:hover {\n border-color: var(--dsw-alias-border-l2) !important;\n background: var(--dsw-alias-interactive-bg-hover) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-section:focus-within .arkme-redesign-task-list {\n box-shadow: var(--dsw-shadow-lv2);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-settings-error {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n color: var(--dsw-alias-state-error-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-page-header h1, body[data-ds-dark-theme] .arkme-remote-section-header h2, body[data-ds-dark-theme] .arkme-remote-allow-row strong, body[data-ds-dark-theme] .arkme-remote-device-row strong, body[data-ds-dark-theme] .arkme-remote-name-row strong, body[data-ds-dark-theme] .arkme-remote-dialog, body[data-ds-dark-theme] .arkme-remote-pairing-code {\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-section-header p, body[data-ds-dark-theme] .arkme-remote-page-header p, body[data-ds-dark-theme] .arkme-remote-allow-row span, body[data-ds-dark-theme] .arkme-remote-device-row span, body[data-ds-dark-theme] .arkme-remote-name-row small, body[data-ds-dark-theme] .arkme-remote-dialog header p, body[data-ds-dark-theme] .arkme-remote-pairing-display > p, body[data-ds-dark-theme] .arkme-remote-dialog-note, body[data-ds-dark-theme] .arkme-remote-empty-row {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-card, body[data-ds-dark-theme] .arkme-remote-settings-dialog, body[data-ds-dark-theme] .arkme-remote-dialog, body[data-ds-dark-theme] .arkme-remote-pairing-display, body[data-ds-dark-theme] .arkme-remote-rename input {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-allow-row, body[data-ds-dark-theme] .arkme-remote-device-row, body[data-ds-dark-theme] .arkme-remote-rename, body[data-ds-dark-theme] .arkme-remote-page-header {\n border-color: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-close, body[data-ds-dark-theme] .arkme-remote-icon-button, body[data-ds-dark-theme] .arkme-remote-dialog-close, body[data-ds-dark-theme] .arkme-remote-pairing-tools button, body[data-ds-dark-theme] .arkme-remote-name-row {\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-close:hover, body[data-ds-dark-theme] .arkme-remote-icon-button:hover, body[data-ds-dark-theme] .arkme-remote-dialog-close:hover, body[data-ds-dark-theme] .arkme-remote-pairing-tools button:hover, body[data-ds-dark-theme] .arkme-remote-name-row:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-add-button, body[data-ds-dark-theme] .arkme-remote-rename button[type=\"submit\"], body[data-ds-dark-theme] .arkme-remote-pairing-expired button {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-inverted);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-device-row > button, body[data-ds-dark-theme] .arkme-remote-rename button {\n border-color: var(--dsw-alias-border-l2);\n background: var(--dsw-alias-button-elevated-fill);\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-switch[aria-checked=\"true\"] {\n background: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-pairing-tabs {\n background: var(--dsw-alias-bg-layer-2);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-pairing-tabs button {\n color: var(--dsw-alias-label-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-pairing-tabs button[aria-selected=\"true\"] {\n background: var(--dsw-alias-button-elevated-fill);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-remote-settings-dialog-backdrop, body[data-ds-dark-theme] .arkme-remote-dialog-backdrop {\n background: #07090d8f;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-setting-row > strong.is-danger, body[data-ds-dark-theme] .arkme-redesign-task-error, body[data-ds-dark-theme] .arkme-workspace-dialog-error {\n color: var(--dsw-alias-state-error-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-state.is-complete > i {\n background: var(--dsw-alias-state-success-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-state.is-complete > i:after {\n background: var(--dsw-alias-state-success-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-task-matrix i, body[data-ds-dark-theme] .arkme-redesign-rail-primary button.is-active:before {\n background: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-hero-input:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: 0 0 0 3px var(--dsw-alias-state-business-tertiary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-starters > button:hover strong {\n color: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-send-task, body[data-ds-dark-theme] .arkme-workspace-dialog > footer > div > button {\n background: var(--dsw-alias-button-primary-fill) !important;\n color: var(--dsw-alias-label-primary-inverted) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-redesign-send-task:disabled {\n background: var(--dsw-alias-button-elevated-fill) !important;\n color: var(--dsw-alias-label-secondary) !important;\n}\n\nbody[data-ds-dark-theme] .arkme-workspace-dialog-backdrop {\n background: var(--dsw-alias-bg-mask-1);\n}\n\n@media (width <= 1024px) {\n .arkme-redesign-chat-panel {\n width: 264px;\n left: 82px;\n }\n\n .arkme-redesign-content {\n left: 82px;\n }\n\n .arkme-redesign-content.has-panel {\n left: 346px;\n }\n\n .arkme-redesign-rail {\n left: 12px;\n }\n\n .arkme-redesign-starters > button {\n padding: 0 10px;\n }\n\n .arkme-redesign-feature-page {\n padding-left: 30px;\n padding-right: 30px;\n }\n}\n\n@media (width <= 820px) {\n .arkme-redesign-chat-panel {\n display: none;\n }\n\n .arkme-redesign-content.has-panel {\n left: 82px;\n }\n\n .arkme-redesign-task-start {\n padding: 28px;\n }\n\n .arkme-redesign-starters {\n grid-template-columns: 1fr;\n gap: 6px;\n }\n\n .arkme-redesign-starters > button {\n border-right: 0;\n }\n\n .arkme-voiceprint-relationships {\n grid-template-columns: minmax(0, 1fr) !important;\n gap: 28px !important;\n }\n\n .arkme-voiceprint-outbound {\n border-left: 0 !important;\n border-top: 1px solid var(--dsw-alias-border-subtle, #e6e7eb) !important;\n padding-top: 28px !important;\n padding-left: 0 !important;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-redesign-task-matrix i {\n opacity: .6;\n animation: none;\n }\n}\n\n.arkme-contact-directory, .arkme-directory-detail-pane {\n box-sizing: border-box;\n min-width: 0;\n height: 100%;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #202124);\n font-size: 13px;\n overflow: hidden;\n}\n\n[data-arkme-directory-mode=\"contacts\"] {\n background: var(--dsw-specific-sidebar-fill, #fff) !important;\n border-left-color: var(--dsw-alias-border-l1, #ececef) !important;\n}\n\n.arkme-contact-directory {\n --arkme-contact-directory-header-fill: var(--dsw-specific-sidebar-fill, #fff);\n overflow-wrap: anywhere;\n padding: 0 6px 18px;\n overflow-y: auto;\n}\n\n.arkme-contact-directory-surface {\n min-width: 0;\n height: 100%;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #202124);\n background: var(--dsw-specific-sidebar-fill, #fff);\n flex-direction: column;\n display: flex;\n}\n\n.arkme-contact-directory-surface > .arkme-contact-directory {\n flex: 1;\n height: auto;\n}\n\n.arkme-contact-directory-toolbar {\n -webkit-app-region: no-drag;\n flex: none;\n align-items: center;\n gap: 8px;\n min-width: 0;\n margin: 24px 16px 16px;\n display: flex;\n position: relative;\n}\n\n.arkme-contact-directory-search-field {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e2e3e6);\n background: var(--dsw-specific-input-major, #fff);\n min-width: 0;\n height: 40px;\n color: var(--dsw-alias-label-tertiary, #92959e);\n border-radius: 11px;\n flex: 1;\n align-items: center;\n gap: 8px;\n padding: 0 11px;\n display: flex;\n}\n\n.arkme-contact-directory-search-field > svg {\n flex: none;\n}\n\n.arkme-contact-directory-search-field input {\n width: 100%;\n min-width: 0;\n color: var(--dsw-alias-label-primary, #202124);\n font: inherit;\n background: none;\n border: 0;\n outline: 0;\n padding: 0;\n font-size: 12px;\n}\n\n.arkme-contact-directory-search-field input::placeholder {\n color: var(--dsw-alias-label-tertiary, #92959e);\n}\n\n.arkme-contact-directory-search-field:focus-within {\n outline: 2px solid var(--arkme-focus);\n outline-offset: 2px;\n}\n\n.arkme-contact-directory-search-field button {\n width: 20px;\n height: 28px;\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n flex: none;\n place-items: center;\n padding: 0;\n display: grid;\n}\n\n.arkme-contact-directory-search-field button:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f6f6f7);\n}\n\n.arkme-contact-directory-toolbar [aria-label=\"添加联系人、群聊或 Bot\"] {\n background: var(--dsw-specific-input-major, #fff) !important;\n border-color: var(--dsw-alias-border-l2, #e2e3e6) !important;\n color: var(--dsw-alias-label-secondary, #555a64) !important;\n}\n\n.arkme-contact-directory-toolbar button:focus-visible {\n outline: 2px solid var(--arkme-focus);\n outline-offset: 2px;\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-surface {\n background: var(--dsw-alias-bg-base);\n}\n\n.arkme-directory-detail-pane {\n overflow: hidden;\n}\n\n.arkme-contact-directory button, .arkme-directory-detail-pane button {\n appearance: none;\n box-sizing: border-box;\n font: inherit;\n color: inherit;\n border: 0;\n margin: 0;\n}\n\n.arkme-contact-directory-section {\n border-bottom: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n min-width: 0;\n padding: 2px 0 5px;\n}\n\n.arkme-contact-directory-section:first-child {\n padding-top: 10px;\n}\n\n.arkme-contact-directory-section-header {\n text-align: left;\n cursor: pointer;\n background: none;\n border-radius: 10px;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n width: 100%;\n min-width: 0;\n min-height: 42px;\n padding: 0 10px;\n display: flex;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"] {\n z-index: 1;\n position: sticky;\n top: 0;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:before, .arkme-contact-directory-section-header[aria-expanded=\"true\"]:after {\n content: \"\";\n pointer-events: none;\n z-index: -1;\n position: absolute;\n inset: 0;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:before {\n background: var(--arkme-contact-directory-header-fill);\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:after {\n border-radius: inherit;\n}\n\n.arkme-contact-directory-section-title {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-contact-directory-section-title strong {\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 13px;\n font-weight: 650;\n overflow: hidden;\n}\n\n.arkme-contact-directory-caret {\n width: 14px;\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n text-align: center;\n transform-origin: center;\n flex: none;\n font-size: 18px;\n line-height: 1;\n transition: transform .16s;\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"] .arkme-contact-directory-caret {\n transform: rotate(90deg);\n}\n\n.arkme-contact-directory-section-header:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f6f6f7);\n}\n\n.arkme-contact-directory-section-header[aria-expanded=\"true\"]:hover:after {\n background: var(--dsw-alias-interactive-bg-hover-solid, var(--arkme-contact-directory-header-fill));\n}\n\n.arkme-contact-directory-section-body {\n min-width: 0;\n padding: 0 0 5px;\n}\n\n.arkme-contact-directory-list {\n gap: 1px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-contact-directory-count {\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n font-variant-numeric: tabular-nums;\n flex: none;\n font-size: 11px;\n}\n\n.arkme-contact-directory-row {\n text-align: left;\n cursor: pointer;\n background: none;\n border-radius: 13px;\n align-items: center;\n gap: 10px;\n width: 100%;\n min-width: 0;\n min-height: 52px;\n margin: 1px 0;\n padding: 7px 10px;\n display: flex;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row img {\n object-fit: cover;\n border-radius: 50%;\n flex: none;\n width: 38px;\n height: 38px;\n}\n\n.arkme-contact-directory-row.is-static {\n cursor: default;\n}\n\n.arkme-contact-directory-row.is-selected {\n background: var(--dsw-alias-interactive-bg-active, #eef0f4);\n}\n\n.arkme-contact-directory-row:not(.is-static):hover {\n background: var(--dsw-alias-interactive-bg-hover, #f6f6f7);\n}\n\n.arkme-contact-directory-avatar {\n border-radius: 50%;\n flex: none;\n place-items: center;\n width: 38px;\n height: 38px;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row-copy {\n flex: 1;\n align-content: center;\n min-width: 0;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row-copy strong {\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 13px;\n font-weight: 600;\n line-height: 18px;\n overflow: hidden;\n}\n\n.arkme-contact-directory-row-copy small {\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-secondary, #68707c);\n font-size: 11px;\n line-height: 16px;\n overflow: hidden;\n}\n\n.arkme-contact-directory-letter {\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n padding: 8px 10px 2px;\n font-size: 11px;\n font-weight: 600;\n line-height: 16px;\n}\n\n.arkme-contact-directory-alphabetical, .arkme-contact-directory-letter-group {\n min-width: 0;\n}\n\n.arkme-contact-directory-status, .arkme-contact-directory-warning {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n overflow-wrap: anywhere;\n margin: 3px 8px;\n padding: 7px 9px;\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-contact-directory-warning {\n color: var(--dsw-alias-state-warning-primary, #b45309);\n background: var(--dsw-alias-state-warning-tertiary, #fff7ed);\n border-radius: 9px;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.arkme-contact-directory-warning button {\n color: inherit;\n cursor: pointer;\n background: none;\n flex: none;\n padding: 2px 4px;\n font-weight: 600;\n}\n\n.arkme-contact-directory-more {\n text-align: center;\n cursor: pointer;\n background: none;\n border-radius: 9px;\n width: calc(100% - 16px);\n min-height: 32px;\n padding: 6px 8px;\n color: var(--dsw-alias-state-business-primary, #4f5fbf) !important;\n margin: 3px 8px !important;\n}\n\n.arkme-contact-directory-empty {\n color: var(--dsw-alias-label-tertiary, var(--arkme-muted));\n text-align: center;\n padding: 14px 12px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-directory-detail-empty {\n background: var(--dsw-alias-bg-base, #fff);\n place-items: center;\n min-width: 0;\n height: 100%;\n min-height: 0;\n display: grid;\n}\n\n.arkme-directory-detail-logo {\n object-fit: contain;\n opacity: .9;\n width: 96px;\n height: 96px;\n}\n\n.arkme-contact-detail, .arkme-contact-profile, .arkme-unmarked-speaker-summary, .arkme-unmarked-speaker-audio, .arkme-unmarked-speaker-choice {\n overflow-wrap: anywhere;\n min-width: 0;\n}\n\n.arkme-contact-detail {\n box-sizing: border-box;\n background: var(--dsw-alias-bg-base, #fff);\n min-width: 0;\n height: 100%;\n min-height: 0;\n padding: clamp(32px, 6vh, 72px) clamp(20px, 5vw, 60px);\n overflow-y: auto;\n}\n\n.arkme-contact-profile {\n width: min(100%, 600px);\n min-width: 0;\n margin: 0 auto;\n}\n\n.arkme-contact-profile-main {\n grid-template-columns: 72px minmax(0, 1fr);\n align-items: start;\n gap: 24px;\n padding-bottom: 30px;\n display: grid;\n}\n\n.arkme-contact-profile-avatar {\n border-radius: 8px;\n place-items: center;\n width: 72px;\n height: 72px;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-contact-profile-avatar > span, .arkme-contact-profile-avatar > span > span {\n border-radius: 8px !important;\n}\n\n.arkme-contact-profile-identity {\n gap: 10px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-contact-profile-name {\n color: var(--dsw-alias-label-primary, #17191c);\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 22px;\n font-weight: 600;\n line-height: 30px;\n}\n\n.arkme-contact-profile-fields {\n gap: 5px;\n margin: 0;\n display: grid;\n}\n\n.arkme-contact-profile-fields > div {\n grid-template-columns: 48px minmax(0, 1fr);\n gap: 10px;\n min-width: 0;\n font-size: 13px;\n line-height: 20px;\n display: grid;\n}\n\n.arkme-contact-profile-fields dt, .arkme-contact-profile-row dt {\n color: var(--dsw-alias-label-secondary, #68707c);\n}\n\n.arkme-contact-profile-fields dt, .arkme-contact-profile-fields dd, .arkme-contact-profile-row dt, .arkme-contact-profile-row dd {\n overflow-wrap: anywhere;\n min-width: 0;\n margin: 0;\n}\n\n.arkme-contact-profile-fields dd, .arkme-contact-profile-row dd {\n color: var(--dsw-alias-label-primary, #17191c);\n}\n\n.arkme-contact-profile-section {\n border-top: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n padding: 24px 0;\n}\n\n.arkme-contact-profile-section-title {\n color: var(--dsw-alias-label-secondary, #68707c);\n margin: 0 0 16px;\n font-size: 14px;\n font-weight: 500;\n line-height: 22px;\n}\n\n.arkme-contact-profile-row {\n grid-template-columns: 76px minmax(0, 1fr);\n gap: 18px;\n margin: 0;\n font-size: 14px;\n line-height: 22px;\n display: grid;\n}\n\n.arkme-contact-profile-remark {\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n display: flex;\n}\n\n.arkme-contact-profile-remark > span {\n min-width: 0;\n}\n\n.arkme-contact-profile-remark .arkme-contact-remark-edit {\n color: var(--dsw-alias-state-business-primary, #4f5fbf);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 6px;\n flex: none;\n align-items: center;\n gap: 5px;\n margin: -4px -6px -4px 0;\n padding: 4px 6px;\n font-size: 13px;\n line-height: 22px;\n display: inline-flex;\n}\n\n.arkme-contact-remark-edit:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f3f4f6);\n}\n\n.arkme-contact-remark-backdrop {\n z-index: 10300;\n box-sizing: border-box;\n background: var(--dsw-alias-bg-mask-1, #13161a57);\n backdrop-filter: blur(2px);\n place-items: center;\n padding: 16px;\n font-family: inherit;\n display: grid;\n position: fixed;\n inset: 0;\n}\n\n.arkme-contact-remark-dialog {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-alias-bg-base, #fff);\n width: min(440px, 100%);\n max-height: calc(100dvh - 32px);\n color: var(--dsw-alias-label-primary, #17191c);\n box-shadow: var(--dsw-shadow-lv2, 0 12px 40px #00000029);\n border-radius: 14px;\n margin: 0;\n padding: 24px;\n overflow-y: auto;\n}\n\n.arkme-contact-remark-header {\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n margin-bottom: 24px;\n display: flex;\n}\n\n.arkme-contact-remark-header h2 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n line-height: 26px;\n}\n\n.arkme-contact-remark-dialog button {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n min-height: 36px;\n font: inherit;\n cursor: pointer;\n border-radius: 8px;\n justify-content: center;\n align-items: center;\n font-size: 13px;\n display: inline-flex;\n}\n\n.arkme-contact-remark-dialog .arkme-contact-remark-close {\n width: 30px;\n min-height: 30px;\n color: var(--dsw-alias-label-secondary, #68707c);\n background: none;\n border: 0;\n margin: -4px -4px -4px 0;\n padding: 0;\n}\n\n.arkme-contact-remark-label {\n color: var(--dsw-alias-label-secondary, #68707c);\n margin-bottom: 9px;\n font-size: 13px;\n line-height: 20px;\n display: block;\n}\n\n.arkme-contact-remark-input {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-specific-input-major, var(--dsw-alias-bg-layer-1, #f8f9fa));\n width: 100%;\n min-width: 0;\n height: 42px;\n color: var(--dsw-alias-label-primary, #17191c);\n font: inherit;\n border-radius: 8px;\n padding: 0 12px;\n font-size: 14px;\n display: block;\n}\n\n.arkme-contact-remark-input::placeholder {\n color: var(--dsw-alias-label-tertiary, #9097a1);\n}\n\n.arkme-contact-remark-input:focus, .arkme-contact-remark-dialog button:focus-visible, .arkme-contact-remark-edit:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary, #8295e8);\n outline-offset: 2px;\n}\n\n.arkme-contact-remark-footer {\n justify-content: flex-end;\n gap: 10px;\n margin-top: 26px;\n display: flex;\n}\n\n.arkme-contact-remark-cancel {\n background: var(--dsw-alias-button-elevated-fill, var(--dsw-specific-input-major, #f8f9fa));\n min-width: 76px;\n color: var(--dsw-alias-label-primary, #17191c);\n padding: 0 18px;\n}\n\n.arkme-contact-remark-dialog .arkme-contact-remark-confirm {\n background: var(--dsw-alias-state-business-primary, #4f5fbf);\n min-width: 84px;\n color: var(--dsw-alias-label-primary-inverted, #fff);\n border-color: #0000;\n padding: 0 18px;\n}\n\n.arkme-contact-remark-dialog button:hover:not(:disabled) {\n filter: brightness(.96);\n}\n\n.arkme-contact-remark-dialog button:disabled, .arkme-contact-remark-input:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-contact-remark-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n overflow-wrap: anywhere;\n margin: 10px 0 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n.arkme-contact-profile-actions {\n border-top: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: 8px;\n padding: 26px 0 0;\n display: grid;\n}\n\n.arkme-contact-profile-actions .arkme-contact-profile-action {\n min-width: 0;\n min-height: 78px;\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 8px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n padding: 10px 2px;\n font-size: 14px;\n line-height: 22px;\n display: flex;\n color: var(--dsw-alias-state-business-primary, #4f5fbf) !important;\n}\n\n.arkme-contact-profile-actions .arkme-contact-profile-action:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover, #f3f4f6);\n}\n\n.arkme-contact-profile-actions .arkme-contact-profile-action:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-contact-profile-action svg {\n flex: none;\n}\n\n.arkme-contact-profile-error, .arkme-contact-profile-message-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n overflow-wrap: anywhere;\n font-size: 13px;\n line-height: 20px;\n}\n\n.arkme-contact-profile-message-error {\n text-align: center;\n margin-top: 12px;\n}\n\n.arkme-contact-profile-error {\n background: var(--dsw-alias-state-error-tertiary, #fff1f0);\n border-radius: 8px;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n margin-bottom: 24px;\n padding: 12px 14px;\n display: flex;\n}\n\n.arkme-contact-profile-status {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n padding: 24px 0;\n font-size: 13px;\n}\n\n.arkme-team-detail {\n background: var(--dsw-alias-bg-base, #fff);\n grid-template-rows: auto minmax(0, 1fr);\n min-width: 0;\n height: 100%;\n min-height: 0;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-team-detail-header {\n border-bottom: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n min-width: 0;\n padding: 32px clamp(24px, 5vw, 56px);\n}\n\n.arkme-team-detail-header-main {\n grid-template-columns: 72px minmax(0, 1fr) auto;\n align-items: center;\n gap: 18px;\n width: min(100%, 760px);\n min-width: 0;\n margin: 0 auto;\n display: grid;\n}\n\n.arkme-team-detail-glyph {\n background: var(--dsw-alias-state-business-tertiary, #eef0ff);\n width: 72px;\n height: 72px;\n color: var(--dsw-alias-state-business-primary, #4f5fbf);\n border-radius: 20px;\n place-items: center;\n font-size: 20px;\n font-weight: 700;\n line-height: 1;\n display: grid;\n}\n\n.arkme-team-detail-summary {\n gap: 7px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-team-detail-header h1 {\n text-overflow: ellipsis;\n white-space: nowrap;\n letter-spacing: -.02em;\n margin: 0;\n font-size: 20px;\n font-weight: 650;\n line-height: 28px;\n overflow: hidden;\n}\n\n.arkme-team-detail-meta {\n flex-wrap: wrap;\n align-items: center;\n gap: 7px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-team-detail-public-id {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n color: var(--dsw-alias-label-secondary, #68707c);\n font-size: 12px;\n line-height: 20px;\n overflow: hidden;\n}\n\n.arkme-team-role-badge, .arkme-team-member-role {\n background: var(--dsw-alias-bg-layer-2, #f2f3f5);\n color: var(--dsw-alias-label-secondary, #68707c);\n border-radius: 999px;\n flex: none;\n font-size: 11px;\n font-weight: 600;\n line-height: 20px;\n}\n\n.arkme-team-role-badge {\n padding: 0 8px;\n}\n\n.arkme-team-detail-count {\n min-width: 58px;\n color: var(--dsw-alias-label-secondary, #68707c);\n justify-items: end;\n gap: 1px;\n display: grid;\n}\n\n.arkme-team-detail-count strong {\n color: var(--dsw-alias-label-primary, #202124);\n font-variant-numeric: tabular-nums;\n font-size: 21px;\n font-weight: 680;\n line-height: 24px;\n}\n\n.arkme-team-detail-count span {\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-team-members {\n box-sizing: border-box;\n background: var(--dsw-alias-bg-subtle, #f7f7f8);\n min-width: 0;\n min-height: 0;\n padding: 22px clamp(24px, 5vw, 56px) 32px;\n overflow-y: auto;\n}\n\n.arkme-team-members-container {\n width: min(100%, 760px);\n min-width: 0;\n margin: 0 auto;\n}\n\n.arkme-team-members h2 {\n margin: 0 0 13px;\n font-size: 15px;\n font-weight: 650;\n line-height: 22px;\n}\n\n.arkme-team-member-list {\n border: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 14px;\n min-width: 0;\n overflow: hidden;\n box-shadow: 0 8px 24px #161b2309;\n}\n\n.arkme-team-member-row {\n box-sizing: border-box;\n border-bottom: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n grid-template-columns: 40px minmax(0, 1fr) auto;\n align-items: center;\n gap: 12px;\n min-width: 0;\n min-height: 64px;\n padding: 11px 14px;\n display: grid;\n}\n\n.arkme-team-member-row:not(:has( ~ .arkme-team-member-row)) {\n border-bottom: 0;\n}\n\n.arkme-team-member-avatar {\n border-radius: 50%;\n place-items: center;\n width: 40px;\n height: 40px;\n display: grid;\n overflow: hidden;\n}\n\n.arkme-team-member-copy {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-team-member-copy strong, .arkme-team-member-copy small {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.arkme-team-member-copy strong {\n font-size: 14px;\n font-weight: 620;\n line-height: 20px;\n}\n\n.arkme-team-member-copy small {\n color: var(--dsw-alias-label-secondary, #68707c);\n font-size: 12px;\n line-height: 17px;\n}\n\n.arkme-team-member-role {\n padding: 0 9px;\n}\n\n.arkme-team-role-badge[data-team-role=\"owner\"], .arkme-team-role-badge[data-team-role=\"admin\"], .arkme-team-member-role[data-team-member-role=\"owner\"], .arkme-team-member-role[data-team-member-role=\"admin\"] {\n background: var(--dsw-alias-state-business-tertiary, #eef0ff);\n color: var(--dsw-alias-state-business-primary, #4f5fbf);\n}\n\n.arkme-team-detail-status {\n min-height: 100%;\n color: var(--dsw-alias-label-secondary, #68707c);\n justify-content: center;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.arkme-team-detail-status.is-error, .arkme-team-member-more-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n}\n\n.arkme-team-detail-status button, .arkme-team-member-more {\n border: 1px solid var(--dsw-alias-border-l2, var(--arkme-line));\n background: var(--dsw-alias-button-elevated-fill, #fff);\n cursor: pointer;\n border-radius: 9px;\n min-height: 34px;\n padding: 0 12px;\n}\n\n.arkme-team-member-more {\n width: calc(100% - 24px);\n color: var(--dsw-alias-state-business-primary, #4f5fbf) !important;\n margin: 12px !important;\n}\n\n.arkme-team-member-more:disabled {\n opacity: .55;\n cursor: default;\n}\n\n.arkme-team-member-more-error {\n padding: 12px 14px 0;\n font-size: 12px;\n}\n\n.arkme-contact-world {\n border-top: 1px solid var(--dsw-alias-border-l1, var(--arkme-line));\n grid-template-columns: 76px minmax(0, 1fr);\n gap: 18px;\n padding: 24px 0;\n display: grid;\n}\n\n.arkme-contact-world-title {\n color: var(--dsw-alias-label-secondary, #68707c);\n margin: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 22px;\n}\n\n.arkme-contact-world-content, .arkme-contact-world-summary {\n min-width: 0;\n}\n\n.arkme-contact-world-preview {\n align-items: flex-start;\n gap: 12px;\n min-width: 0;\n display: flex;\n}\n\n.arkme-contact-world-thumbnail {\n border-radius: 4px;\n flex: none;\n width: 56px;\n height: 56px;\n overflow: hidden;\n}\n\n.arkme-contact-world-image {\n object-fit: cover;\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.arkme-contact-world-image-error, .arkme-contact-world-image-loading {\n background: var(--dsw-alias-bg-layer-2, var(--arkme-soft));\n width: 100%;\n height: 100%;\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n text-align: center;\n place-items: center;\n font-size: 11px;\n line-height: 16px;\n display: grid;\n}\n\n.arkme-contact-world-headline, .arkme-contact-world-text {\n -webkit-line-clamp: 2;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary, #17191c);\n -webkit-box-orient: vertical;\n margin: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 22px;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.arkme-contact-world-headline {\n -webkit-line-clamp: 1;\n font-weight: 500;\n}\n\n.arkme-contact-world-time {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n margin-top: 5px;\n font-size: 12px;\n line-height: 18px;\n display: block;\n}\n\n.arkme-contact-world-empty, .arkme-contact-world-page-empty, .arkme-contact-world-status {\n color: var(--dsw-alias-label-secondary, var(--arkme-muted));\n font-size: 13px;\n line-height: 22px;\n}\n\n.arkme-contact-world-error {\n color: var(--dsw-alias-state-error-primary, #b42318);\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n font-size: 13px;\n line-height: 22px;\n display: flex;\n}\n\n.arkme-directory-unmarked-speaker-detail {\n background: var(--dsw-alias-bg-base, #fff);\n min-height: 0;\n padding: clamp(28px, 5vw, 60px);\n overflow-y: auto;\n}\n\n.arkme-unmarked-speaker-token-avatar {\n background: var(--dsw-alias-bg-module-platform, var(--dsw-alias-bg-layer-1, #f1f2f3));\n color: var(--dsw-alias-label-secondary, #666c75);\n letter-spacing: -.02em;\n border-radius: 50%;\n flex: none;\n place-items: center;\n font-weight: 650;\n line-height: 1;\n display: grid;\n}\n\n.arkme-unmarked-speaker-summary {\n box-sizing: border-box;\n background: none;\n border: 0;\n gap: 18px;\n width: min(100%, 720px);\n margin: 0 auto;\n padding: 4px 0 24px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-summary h1, .arkme-unmarked-speaker-summary h2, .arkme-unmarked-speaker-audio h2, .arkme-unmarked-speaker-choice h2 {\n letter-spacing: -.02em;\n margin: 0;\n font-size: 20px;\n font-weight: 680;\n line-height: 28px;\n}\n\n.arkme-unmarked-speaker-identity {\n align-items: center;\n gap: 16px;\n min-width: 0;\n padding: 2px 4px;\n display: flex;\n}\n\n.arkme-unmarked-speaker-identity > div {\n gap: 3px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-identity p {\n color: var(--dsw-alias-label-secondary, #737984);\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-unmarked-speaker-stats {\n min-width: 0;\n color: var(--dsw-alias-label-secondary, #737984);\n flex-wrap: wrap;\n gap: 8px 20px;\n padding: 0 4px;\n font-size: 12px;\n line-height: 19px;\n display: flex;\n}\n\n.arkme-unmarked-speaker-stats span {\n white-space: nowrap;\n position: relative;\n}\n\n.arkme-unmarked-speaker-stats span + span:before {\n content: \"\";\n background: var(--dsw-alias-label-caption, #b3b7bd);\n border-radius: 50%;\n width: 3px;\n height: 3px;\n position: absolute;\n top: 8px;\n left: -11px;\n}\n\n.arkme-unmarked-speaker-stats strong {\n color: var(--dsw-alias-label-primary, #202124);\n font-weight: 650;\n}\n\n.arkme-unmarked-speaker-inference {\n background: var(--dsw-alias-bg-layer-2, #f5f5f6);\n border-radius: 18px;\n grid-template-columns: 40px minmax(0, 1fr);\n align-items: start;\n gap: 12px;\n min-width: 0;\n padding: 18px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-inference-icon, .arkme-unmarked-speaker-action-icon {\n border: 1px solid var(--dsw-alias-border-l1, #e3e4e7);\n background: var(--dsw-alias-bg-layer-1, #fff);\n width: 40px;\n height: 40px;\n color: var(--dsw-alias-label-secondary, #656b75);\n border-radius: 50%;\n place-items: center;\n display: grid;\n}\n\n.arkme-unmarked-speaker-inference-icon svg path, .arkme-unmarked-speaker-action-icon svg path {\n stroke: currentColor;\n stroke-width: 1.5px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.arkme-unmarked-speaker-inference > div {\n gap: 5px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-inference-label {\n color: var(--dsw-alias-label-secondary, #747983);\n font-size: 11px;\n line-height: 16px;\n}\n\n.arkme-unmarked-speaker-inference strong {\n color: var(--dsw-alias-label-primary, #202124);\n font-size: 14px;\n font-weight: 650;\n line-height: 21px;\n}\n\n.arkme-unmarked-speaker-inference p {\n color: var(--dsw-alias-label-secondary, #686e78);\n margin: 0;\n font-size: 12px;\n line-height: 20px;\n}\n\n.arkme-unmarked-speaker-actions {\n gap: 10px;\n display: grid;\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-action {\n border: 1px solid var(--dsw-alias-border-l1, #e5e6e8);\n background: var(--dsw-alias-bg-layer-1, #fff);\n width: 100%;\n min-height: 62px;\n color: var(--dsw-alias-label-primary, #202124);\n text-align: left;\n cursor: pointer;\n border-radius: 16px;\n grid-template-columns: 42px minmax(0, 1fr);\n align-items: center;\n gap: 12px;\n padding: 10px 46px 10px 14px;\n font-size: 13px;\n font-weight: 650;\n display: grid;\n position: relative;\n}\n\n.arkme-unmarked-speaker-action:after {\n content: \"›\";\n color: var(--dsw-alias-label-caption, #a7abb2);\n font-size: 22px;\n font-weight: 400;\n position: absolute;\n right: 18px;\n}\n\n.arkme-unmarked-speaker-action:hover {\n background: var(--dsw-alias-interactive-bg-hover, #f7f7f8);\n border-color: var(--dsw-alias-border-l2, #d9dade);\n}\n\n.arkme-unmarked-speaker-summary > [role=\"status\"], .arkme-unmarked-speaker-summary > [role=\"alert\"], .arkme-unmarked-speaker-audio > [role=\"status\"], .arkme-unmarked-speaker-audio > [role=\"alert\"], .arkme-unmarked-speaker-choice > [role=\"status\"], .arkme-unmarked-speaker-choice > [role=\"alert\"] {\n color: var(--dsw-alias-label-secondary, #68707c);\n background: var(--dsw-alias-bg-layer-2, #f5f5f6);\n border-radius: 10px;\n padding: 9px 12px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-unmarked-speaker-summary > [role=\"alert\"], .arkme-unmarked-speaker-audio > [role=\"alert\"], .arkme-unmarked-speaker-choice > [role=\"alert\"] {\n color: var(--dsw-alias-state-error-primary, #b42318);\n background: var(--dsw-alias-state-error-tertiary, #fff1f0);\n}\n\n.arkme-unmarked-speaker-audio, .arkme-unmarked-speaker-choice {\n box-sizing: border-box;\n background: none;\n border: 0;\n gap: 16px;\n width: min(100%, 720px);\n margin: 0 auto;\n padding: 4px 0 28px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-subview-header {\n grid-template-columns: auto 40px minmax(0, 1fr);\n align-items: center;\n gap: 12px;\n min-width: 0;\n padding-bottom: 4px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-subview-header > button {\n min-height: 32px;\n color: var(--dsw-alias-label-secondary, #68707c);\n cursor: pointer;\n background: none;\n border-radius: 9px;\n padding: 0 10px;\n font-size: 11px;\n}\n\n.arkme-unmarked-speaker-subview-header > button:before {\n content: \"‹\";\n vertical-align: -1px;\n margin-right: 4px;\n font-size: 17px;\n}\n\n.arkme-unmarked-speaker-subview-heading {\n gap: 2px;\n min-width: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-subview-heading p {\n color: var(--dsw-alias-label-secondary, #737984);\n margin: 0;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-unmarked-speaker-segment-list {\n gap: 10px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-segment-card {\n border: 1px solid var(--dsw-alias-border-l1, #e5e6e8);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 16px;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 8px 16px;\n min-width: 0;\n padding: 16px 16px 14px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-segment-meta {\n min-width: 0;\n color: var(--dsw-alias-label-secondary, #757b85);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n line-height: 17px;\n overflow: hidden;\n}\n\n.arkme-unmarked-speaker-segment-transcript {\n min-width: 0;\n color: var(--dsw-alias-label-primary, #292c34);\n white-space: pre-wrap;\n grid-column: 1;\n margin: 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-segment-play {\n background: var(--dsw-alias-bg-layer-2, #f4f4f5);\n width: 38px;\n min-width: 38px;\n height: 38px;\n min-height: 38px;\n color: var(--dsw-alias-label-primary, #292c34);\n cursor: pointer;\n border-radius: 50%;\n grid-area: 1 / 2 / span 2;\n align-self: center;\n place-items: center;\n padding: 0;\n display: inline-grid;\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-segment-play:not(:disabled):hover {\n background: var(--dsw-alias-bg-layer-3, #e9eaec);\n}\n\n.arkme-unmarked-speaker-segment-play:disabled {\n opacity: .5;\n cursor: default;\n}\n\n.arkme-unmarked-speaker-choice-meta {\n color: var(--dsw-alias-label-secondary, #737984);\n margin: -4px 0 0;\n padding: 0 4px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-unmarked-speaker-choice-options {\n border: 0;\n gap: 8px;\n min-width: 0;\n margin: 0;\n padding: 0;\n display: grid;\n}\n\n.arkme-unmarked-speaker-choice-options legend {\n color: var(--dsw-alias-label-secondary, #737984);\n margin-bottom: 9px;\n font-size: 11px;\n line-height: 17px;\n}\n\n.arkme-unmarked-speaker-choice-option {\n border: 1px solid var(--dsw-alias-border-l1, #e5e6e8);\n background: var(--dsw-alias-bg-layer-1, #fff);\n cursor: pointer;\n border-radius: 14px;\n grid-template-columns: 18px minmax(0, 1fr) auto;\n align-items: center;\n gap: 10px;\n min-width: 0;\n min-height: 52px;\n padding: 10px 14px;\n font-size: 13px;\n display: grid;\n}\n\n.arkme-unmarked-speaker-choice-option:has(input:checked) {\n border-color: var(--dsw-alias-state-business-primary, #6677d9);\n background: var(--dsw-alias-interactive-bg-active, #f0f2ff);\n}\n\n.arkme-unmarked-speaker-choice-option input {\n width: 16px;\n height: 16px;\n accent-color: var(--dsw-alias-state-business-primary, #6677d9);\n margin: 0;\n}\n\n.arkme-unmarked-speaker-recommended {\n background: var(--dsw-alias-state-business-tertiary, #eef0ff);\n color: var(--dsw-alias-state-business-primary, #5667cc);\n border-radius: 999px;\n padding: 2px 7px;\n font-size: 10px;\n line-height: 16px;\n}\n\n.arkme-unmarked-speaker-choice-new-name {\n border: 1px solid var(--dsw-alias-border-l1, #dfe1e5);\n background: var(--dsw-specific-input-major, #fff);\n width: 100%;\n min-height: 42px;\n color: var(--dsw-alias-label-primary, #202124);\n border-radius: 12px;\n outline: 0;\n padding: 0 13px;\n font-size: 12px;\n}\n\n.arkme-unmarked-speaker-choice-new-name:focus {\n border-color: var(--dsw-alias-state-business-primary, #6677d9);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dsw-alias-state-business-primary, #6677d9) 14%, transparent);\n}\n\n[data-arkme-workspace] .arkme-unmarked-speaker-confirm {\n background: var(--dsw-alias-button-primary-fill, #202124);\n min-height: 42px;\n color: var(--dsw-alias-label-primary-inverted, #fff);\n cursor: pointer;\n border-radius: 12px;\n padding: 0 16px;\n font-size: 12px;\n font-weight: 650;\n}\n\n.arkme-unmarked-speaker-confirm:disabled {\n opacity: .45;\n cursor: default;\n}\n\n.arkme-unmarked-speaker-summary button:not(.arkme-unmarked-speaker-action), .arkme-unmarked-speaker-audio button:not(.arkme-unmarked-speaker-segment-play), .arkme-unmarked-speaker-choice button:not(.arkme-unmarked-speaker-confirm), .arkme-contact-world-error button, .arkme-contact-profile-error button {\n border: 1px solid var(--dsw-alias-border-l2, var(--arkme-line));\n background: var(--dsw-alias-button-elevated-fill, #fff);\n min-height: 34px;\n color: var(--dsw-alias-label-primary, #202124);\n cursor: pointer;\n border-radius: 9px;\n padding: 0 12px;\n}\n\n.arkme-unmarked-speaker-gone, .arkme-unmarked-speaker-success {\n box-sizing: border-box;\n background: var(--dsw-alias-state-warning-tertiary, #fff7ed);\n width: min(100%, 680px);\n color: var(--dsw-alias-state-warning-primary, #9a3412);\n border-radius: 10px;\n margin: 0 auto;\n padding: 12px 14px;\n}\n\n.arkme-unmarked-speaker-success {\n background: var(--dsw-alias-state-success-tertiary, #ecfdf3);\n color: var(--dsw-alias-state-success-primary, #067647);\n}\n\n.arkme-contact-directory button:focus-visible, .arkme-directory-detail-pane button:focus-visible, [data-arkme-owned=\"product-navigation\"] button:focus-visible {\n outline: 2px solid var(--arkme-focus);\n outline-offset: 2px;\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory {\n --arkme-contact-directory-header-fill: var(--dsw-alias-bg-base);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory, body[data-ds-dark-theme] .arkme-directory-detail-pane {\n background: var(--dsw-alias-bg-base);\n color: var(--dsw-alias-label-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-row.is-selected, body[data-ds-dark-theme] .arkme-unmarked-speaker-choice {\n background: var(--dsw-alias-interactive-bg-active);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-inference, body[data-ds-dark-theme] .arkme-unmarked-speaker-segment-card, body[data-ds-dark-theme] .arkme-unmarked-speaker-choice-option, body[data-ds-dark-theme] .arkme-unmarked-speaker-action {\n background: var(--dsw-alias-bg-layer-1);\n border-color: var(--dsw-alias-border-l1);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-inference-icon, body[data-ds-dark-theme] .arkme-unmarked-speaker-action-icon, body[data-ds-dark-theme] .arkme-unmarked-speaker-segment-play {\n background: var(--dsw-specific-input-major);\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-choice-option:has(input:checked) {\n background: var(--dsw-alias-interactive-bg-active);\n border-color: var(--dsw-alias-state-business-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-team-detail {\n background: var(--dsw-alias-bg-base);\n}\n\nbody[data-ds-dark-theme] .arkme-team-members {\n background: var(--dsw-alias-bg-subtle);\n}\n\nbody[data-ds-dark-theme] .arkme-team-member-list {\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: none;\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-warning, body[data-ds-dark-theme] .arkme-unmarked-speaker-gone, body[data-ds-dark-theme] .arkme-contact-world-image-error, body[data-ds-dark-theme] .arkme-contact-world-image-loading {\n background: var(--dsw-specific-input-major);\n color: var(--dsw-alias-label-secondary);\n}\n\nbody[data-ds-dark-theme] .arkme-unmarked-speaker-success {\n background: var(--dsw-alias-state-success-tertiary);\n color: var(--dsw-alias-state-success-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-profile-error, body[data-ds-dark-theme] .arkme-contact-profile-message-error, body[data-ds-dark-theme] .arkme-contact-world-error {\n color: var(--dsw-alias-state-error-primary);\n}\n\nbody[data-ds-dark-theme] .arkme-contact-directory-more {\n color: var(--dsw-alias-state-business-primary);\n}\n\n@media (width <= 1024px) {\n [data-arkme-owned=\"persistent-sidebar\"] [data-arkme-directory-mode=\"contacts\"] {\n min-width: 0;\n }\n}\n\n@media (width <= 820px) {\n div:has( > [data-shell-overlay]):has([data-arkme-directory-mode=\"contacts\"]):has([data-arkme-contacts-mobile-view=\"directory\"]) {\n grid-template-columns: minmax(0, 1fr) 0 0 !important;\n }\n\n div:has( > [data-shell-overlay]):has([data-arkme-directory-mode=\"contacts\"]):has([data-arkme-contacts-mobile-view=\"content\"]) {\n grid-template-columns: 0 minmax(0, 1fr) 0 !important;\n }\n\n [data-arkme-owned=\"persistent-sidebar\"][data-arkme-contacts-mobile-view=\"content\"], [data-arkme-owned=\"persistent-workspace\"][data-arkme-contacts-mobile-view=\"directory\"] {\n display: none !important;\n }\n\n [data-arkme-owned=\"persistent-sidebar\"] [data-arkme-directory-mode=\"contacts\"], .arkme-directory-detail-pane {\n min-width: 0;\n }\n}\n\n.arkme-directory-mobile-back {\n display: none;\n}\n\n@media (width <= 820px) {\n .arkme-directory-mobile-back {\n min-height: 42px;\n color: var(--dsw-alias-label-secondary, #68707c);\n cursor: pointer;\n background: none;\n align-items: center;\n gap: 5px;\n padding: 0 14px;\n display: inline-flex;\n }\n\n .arkme-directory-mobile-back:before {\n content: \"‹\";\n font-size: 18px;\n line-height: 1;\n }\n\n .arkme-directory-mobile-back:hover {\n color: var(--dsw-alias-label-primary, #202124);\n }\n\n .arkme-contact-detail {\n padding: 28px 20px;\n }\n\n .arkme-contact-profile-main {\n grid-template-columns: 56px minmax(0, 1fr);\n gap: 18px;\n }\n\n .arkme-contact-profile-avatar {\n width: 56px;\n height: 56px;\n }\n\n .arkme-contact-profile-avatar > span {\n width: 56px !important;\n height: 56px !important;\n }\n\n .arkme-team-detail-header {\n padding: 26px 20px;\n }\n\n .arkme-team-detail-header-main {\n grid-template-columns: 56px minmax(0, 1fr);\n gap: 12px;\n }\n\n .arkme-team-detail-glyph {\n border-radius: 16px;\n width: 56px;\n height: 56px;\n font-size: 18px;\n }\n\n .arkme-team-detail-count {\n justify-items: initial;\n grid-column: 2;\n align-items: baseline;\n gap: 4px;\n min-width: 0;\n display: flex;\n }\n\n .arkme-team-detail-count strong {\n font-size: 14px;\n line-height: 18px;\n }\n\n .arkme-team-detail-count span {\n font-size: 11px;\n }\n\n .arkme-team-members {\n padding: 18px 20px 28px;\n }\n\n .arkme-team-member-list {\n border-radius: 12px;\n }\n\n .arkme-team-member-row {\n padding-left: 12px;\n padding-right: 12px;\n }\n\n .arkme-contact-world, .arkme-contact-profile-row {\n grid-template-columns: 64px minmax(0, 1fr);\n gap: 12px;\n }\n\n .arkme-contact-world-thumbnail {\n width: 44px;\n height: 44px;\n }\n\n .arkme-directory-unmarked-speaker-detail {\n padding: 20px 18px 30px;\n }\n\n .arkme-unmarked-speaker-summary, .arkme-unmarked-speaker-audio, .arkme-unmarked-speaker-choice {\n gap: 14px;\n }\n\n .arkme-unmarked-speaker-stats {\n gap: 7px 14px;\n }\n\n .arkme-unmarked-speaker-stats span + span:before {\n display: none;\n }\n\n .arkme-unmarked-speaker-inference {\n grid-template-columns: 36px minmax(0, 1fr);\n padding: 15px;\n }\n\n .arkme-unmarked-speaker-inference-icon, .arkme-unmarked-speaker-action-icon {\n width: 36px;\n height: 36px;\n }\n\n .arkme-unmarked-speaker-subview-header {\n grid-template-columns: auto 36px minmax(0, 1fr);\n gap: 9px;\n }\n\n .arkme-unmarked-speaker-segment-card {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .arkme-unmarked-speaker-segment-transcript, [data-arkme-workspace] .arkme-unmarked-speaker-segment-play {\n grid-area: auto / 1;\n }\n\n [data-arkme-workspace] .arkme-unmarked-speaker-segment-play {\n justify-self: start;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .arkme-contact-directory-caret {\n transition: none;\n }\n\n .arkme-icon-spin {\n animation: none;\n }\n}\n\n.arkme-conversation-surface {\n --arkme-chat-self-bubble: #eef1f8;\n --arkme-chat-other-bubble: #f3f4f6;\n}\n\nbody[data-ds-dark-theme] .arkme-conversation-surface {\n --arkme-chat-self-bubble: #2c3142;\n --arkme-chat-other-bubble: #282a31;\n --arkme-audio-control: #8995c5;\n}\n\nbody[data-ds-dark-theme] .arkme-detail-extension-input-bar {\n border-top-color: #363636 !important;\n}\n\nbody[data-ds-dark-theme] .arkme-detail-extension-input-shell {\n background: #2b2b2b !important;\n}\n\n[data-arkme-message-direction]:focus-visible, [data-arkme-note-detail] button:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary, #8295e8);\n outline-offset: 2px;\n}\n\n.arkme-home-tour {\n width: 320px;\n max-width: calc(100vw - 24px);\n color: var(--dsw-alias-label-primary, #17191c);\n pointer-events: auto;\n position: absolute;\n}\n\n.arkme-home-tour-hidden {\n display: none;\n}\n\n.arkme-home-tour-panel {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2, #0000001a);\n background: var(--dsw-alias-bg-base, #fff);\n width: 100%;\n max-height: calc(100dvh - 24px);\n box-shadow: var(--dsw-shadow-lv2, 0 12px 40px #0000002e);\n border-radius: 16px;\n padding: 18px;\n font-family: inherit;\n position: relative;\n overflow-y: auto;\n}\n\n.arkme-home-tour-header {\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.arkme-home-tour-progress {\n color: var(--dsw-alias-label-secondary, #68707c);\n font-variant-numeric: tabular-nums;\n font-size: 12px;\n line-height: 20px;\n}\n\n.arkme-home-tour-panel h2 {\n color: inherit;\n margin: 8px 0;\n font-size: 18px;\n font-weight: 600;\n line-height: 26px;\n}\n\n.arkme-home-tour-panel p {\n color: var(--dsw-alias-label-secondary, #68707c);\n overflow-wrap: anywhere;\n margin: 0 0 24px;\n font-size: 14px;\n line-height: 22px;\n}\n\n.arkme-home-tour-actions, .arkme-home-tour-navigation {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.arkme-home-tour-actions {\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.arkme-home-tour-panel button {\n background: var(--dsw-alias-interactive-bg-hover, #2631480f);\n color: inherit;\n font: inherit;\n white-space: nowrap;\n cursor: pointer;\n border: 0;\n border-radius: 8px;\n padding: 7px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.arkme-home-tour-panel button:hover {\n background: var(--dsw-alias-interactive-bg-active, #2631481a);\n}\n\n.arkme-home-tour-panel button:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary, #8295e8);\n outline-offset: 3px;\n}\n\n.arkme-home-tour-panel .arkme-home-tour-close {\n width: 28px;\n height: 28px;\n color: var(--dsw-alias-label-secondary, #68707c);\n background: none;\n padding: 0;\n font-size: 22px;\n}\n\n.arkme-home-tour-panel .arkme-home-tour-skip {\n color: var(--dsw-alias-label-secondary, #68707c);\n background: none;\n padding-left: 0;\n}\n\n.arkme-home-tour-panel .arkme-home-tour-primary {\n background: var(--dsw-alias-button-primary-fill, #17191c);\n color: var(--dsw-alias-label-primary-inverted, #fff);\n}\n\n.arkme-home-tour-panel .arkme-home-tour-primary:hover {\n background: color-mix(in srgb, var(--dsw-alias-button-primary-fill, #17191c) 88%, var(--dsw-alias-bg-base, #fff));\n}\n\n.arkme-home-tour-arrow {\n z-index: 1;\n pointer-events: none;\n width: 12px;\n height: 12px;\n position: absolute;\n}\n\n.arkme-home-tour-arrow:before {\n content: \"\";\n box-sizing: border-box;\n background: var(--dsw-alias-bg-base, #fff);\n border: 0 solid var(--dsw-alias-border-l2, #0000001a);\n position: absolute;\n inset: 0;\n transform: rotate(45deg);\n}\n\n.arkme-home-tour-placement-right .arkme-home-tour-arrow:before {\n border-bottom-width: 1px;\n border-left-width: 1px;\n}\n\n.arkme-home-tour-placement-left .arkme-home-tour-arrow:before {\n border-top-width: 1px;\n border-right-width: 1px;\n}\n\n.arkme-home-tour-placement-bottom .arkme-home-tour-arrow:before {\n border-top-width: 1px;\n border-left-width: 1px;\n}\n\n.arkme-home-tour-placement-top .arkme-home-tour-arrow:before {\n border-bottom-width: 1px;\n border-right-width: 1px;\n}\n\n.arkme-home-tour-placement-right .arkme-home-tour-arrow {\n left: 0;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.arkme-home-tour-placement-left .arkme-home-tour-arrow {\n right: 0;\n transform: translateX(50%) translateY(-50%);\n}\n\n.arkme-home-tour-placement-bottom .arkme-home-tour-arrow {\n top: 0;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.arkme-home-tour-placement-top .arkme-home-tour-arrow {\n bottom: 0;\n transform: translateX(-50%) translateY(50%);\n}\n\n.arkme-conversation-profile-actions {\n grid-template-columns: minmax(0, 1fr);\n}\n\nbody[data-ds-dark-theme] .arkme-peer-membership-disc {\n fill: #171717;\n stroke: #343434;\n}\n";
|
|
211969
212702
|
//#endregion
|
|
211970
212703
|
//#region src/client/redesign/styles.ts
|
|
211971
212704
|
const REDESIGN_STYLE_ID = "@senguoyun/dsh-arkme/redesign";
|