@marifold/service 0.71.0 → 0.73.0
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/dist/ArtifactTickets.d.ts +20 -0
- package/dist/ArtifactTickets.d.ts.map +1 -0
- package/dist/ArtifactTickets.js +61 -0
- package/dist/ArtifactTickets.js.map +1 -0
- package/dist/MarifoldService.d.ts.map +1 -1
- package/dist/MarifoldService.js +35 -16
- package/dist/MarifoldService.js.map +1 -1
- package/dist/RequestEnvironment.d.ts +6 -0
- package/dist/RequestEnvironment.d.ts.map +1 -0
- package/dist/RequestEnvironment.js +19 -0
- package/dist/RequestEnvironment.js.map +1 -0
- package/dist/RunRoutes.d.ts +5 -1
- package/dist/RunRoutes.d.ts.map +1 -1
- package/dist/RunRoutes.js +49 -13
- package/dist/RunRoutes.js.map +1 -1
- package/dist/Security.d.ts +2 -1
- package/dist/Security.d.ts.map +1 -1
- package/dist/Security.js +3 -1
- package/dist/Security.js.map +1 -1
- package/dist/WorkspaceRequestContext.d.ts +5 -2
- package/dist/WorkspaceRequestContext.d.ts.map +1 -1
- package/dist/WorkspaceRequestContext.js.map +1 -1
- package/dist/WorkspaceRoutes.d.ts +2 -1
- package/dist/WorkspaceRoutes.d.ts.map +1 -1
- package/dist/WorkspaceRoutes.js +47 -24
- package/dist/WorkspaceRoutes.js.map +1 -1
- package/dist/web/assets/index-B9BO0fpO.css +1 -0
- package/dist/web/assets/index-D05qYa09.js +32 -0
- package/dist/web/index.html +2 -2
- package/package.json +2 -2
- package/dist/web/assets/index-B3tot-sn.js +0 -32
- package/dist/web/assets/index-BlJ81-5Z.css +0 -1
package/dist/RunRoutes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunRoutes.js","sourceRoot":"","sources":["../src/RunRoutes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,EAAE,+BAAW;AACzB,
|
|
1
|
+
{"version":3,"file":"RunRoutes.js","sourceRoot":"","sources":["../src/RunRoutes.ts"],"names":[],"mappings":"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"}
|
package/dist/Security.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FastifyInstance } from 'fastify';
|
|
1
|
+
import { FastifyInstance, FastifyRequest } from 'fastify';
|
|
2
2
|
import { MarifoldServiceConfig } from '@marifold/core';
|
|
3
3
|
/** Effective security settings: explicit options win over the [service]
|
|
4
4
|
* config section. An unresolved/empty token means auth is disabled (bare
|
|
@@ -13,6 +13,7 @@ export interface ServiceSecurityOptions extends ResolvedServiceSecurityOptions {
|
|
|
13
13
|
access: 'loopback' | 'private';
|
|
14
14
|
/** Explicit listen host, used as an allowed Host value in private mode. */
|
|
15
15
|
boundHost: string;
|
|
16
|
+
authorizeArtifact?: (request: FastifyRequest) => boolean;
|
|
16
17
|
}
|
|
17
18
|
export declare function resolveSecurityOptions(config: MarifoldServiceConfig | undefined, overrides?: {
|
|
18
19
|
token?: string;
|
package/dist/Security.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Security.d.ts","sourceRoot":"","sources":["../src/Security.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"Security.d.ts","sourceRoot":"","sources":["../src/Security.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAiB,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEtE;;oDAEoD;AACpD,MAAM,WAAW,8BAA8B;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,8BAA8B;IAC5E;kFAC8E;IAC9E,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC;CAC1D;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,GAAG,SAAS,EACzC,SAAS,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACzD,8BAA8B,CAOhC;AAWD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAwC/F"}
|
package/dist/Security.js
CHANGED
|
@@ -48,7 +48,7 @@ function resolveSecurityOptions(config, overrides = {}) {
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
const CORS_METHODS = 'GET,POST,PATCH,DELETE,OPTIONS';
|
|
51
|
-
const CORS_HEADERS = 'authorization, content-type, last-event-id';
|
|
51
|
+
const CORS_HEADERS = 'authorization, content-type, last-event-id, idempotency-key';
|
|
52
52
|
const CORS_MAX_AGE = '600';
|
|
53
53
|
/** Host values a default loopback-bound service legitimately sees. */
|
|
54
54
|
const LOOPBACK_HOST = /^(127\.0\.0\.1|localhost|\[::1\])(:\d+)?$/i;
|
|
@@ -94,6 +94,8 @@ function registerSecurity(server, options) {
|
|
|
94
94
|
// the check regardless of how strictly the router matches them.
|
|
95
95
|
if (!isApiPath(request.url))
|
|
96
96
|
return;
|
|
97
|
+
if (options.authorizeArtifact?.(request))
|
|
98
|
+
return;
|
|
97
99
|
const presented = extractToken(request);
|
|
98
100
|
if (!presented || !timingSafeEqualString(presented, options.token)) {
|
|
99
101
|
throw core_1.MarifoldError.unauthorized();
|
package/dist/Security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Security.js","sourceRoot":"","sources":["../src/Security.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,MAAM,mCAAe;AACjC,6BAA2B;AAC3B,MAAY,IAAI,iCAAa;AAE7B,yCAAsE;
|
|
1
|
+
{"version":3,"file":"Security.js","sourceRoot":"","sources":["../src/Security.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { WorkspaceOperationContext } from '@marifold/core';
|
|
2
|
+
export interface WorkspaceRequestProvenance extends WorkspaceOperationContext {
|
|
3
|
+
remoteRequest?: boolean;
|
|
4
|
+
}
|
|
2
5
|
export declare const WORKSPACE_CONTEXT_HEADER = "x-marifold-workspace-context";
|
|
3
6
|
/** Fastify injection creates its own async context. Bind authenticated bridge
|
|
4
7
|
* provenance with an unguessable, process-local ticket instead of trusting a
|
|
5
8
|
* client-supplied device ID or relying on AsyncLocalStorage propagation. */
|
|
6
9
|
export declare class WorkspaceRequestContext {
|
|
7
10
|
private tickets;
|
|
8
|
-
inject<T>(context:
|
|
9
|
-
resolve(headers: Record<string, string | string[] | undefined>):
|
|
11
|
+
inject<T>(context: WorkspaceRequestProvenance, operation: (headers: Record<string, string>) => Promise<T>): Promise<T>;
|
|
12
|
+
resolve(headers: Record<string, string | string[] | undefined>): WorkspaceRequestProvenance | undefined;
|
|
10
13
|
}
|
|
11
14
|
//# sourceMappingURL=WorkspaceRequestContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRequestContext.d.ts","sourceRoot":"","sources":["../src/WorkspaceRequestContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AACvE;;4EAE4E;AAC5E,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"WorkspaceRequestContext.d.ts","sourceRoot":"","sources":["../src/WorkspaceRequestContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAAG,aAAa,CAAC,EAAE,OAAO,CAAC;CAAE;AAE1G,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AACvE;;4EAE4E;AAC5E,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAiD;IAC1D,MAAM,CAAC,CAAC,EACZ,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,CAAC,CAAC,CAQZ;IACD,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,0BAA0B,GAAG,SAAS,CAMtG;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRequestContext.js","sourceRoot":"","sources":["../src/WorkspaceRequestContext.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;
|
|
1
|
+
{"version":3,"file":"WorkspaceRequestContext.js","sourceRoot":"","sources":["../src/WorkspaceRequestContext.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAK7B,QAAA,wBAAwB,GAAG,8BAA8B,CAAC;AACvE;;4EAE4E;AAC5E;IACU,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IAChE,KAAK,CAAC,MAAM,CACV,OAAmC,EACnC,SAA0D;QAE1D,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,EAAE,CAAC,QAAA,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAsD;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAA,wBAAwB,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { WorkspaceRequestContext } from './WorkspaceRequestContext';
|
|
2
|
+
import { ArtifactTickets } from './ArtifactTickets';
|
|
2
3
|
import type { FastifyInstance } from 'fastify';
|
|
3
4
|
import { WorkspaceManager, type RunRegistry, type WorkspaceOperationContext } from '@marifold/core';
|
|
4
5
|
/** Only application resources can traverse the bridge. Device-local configuration
|
|
5
6
|
* and workspace connection management are never forwarded to another workspace. */
|
|
6
7
|
export declare function workspaceApiPath(method: string, raw: string): boolean;
|
|
7
|
-
export declare function registerWorkspaceRoutes(server: FastifyInstance, manager: WorkspaceManager, registry: RunRegistry, contextStore: WorkspaceRequestContext, executor: (operation: string, input: unknown, context: WorkspaceOperationContext) => Promise<unknown>, token?: string, cancelExecution?: (workspaceId: string) => void): void;
|
|
8
|
+
export declare function registerWorkspaceRoutes(server: FastifyInstance, manager: WorkspaceManager, registry: RunRegistry, contextStore: WorkspaceRequestContext, executor: (operation: string, input: unknown, context: WorkspaceOperationContext) => Promise<unknown>, token?: string, cancelExecution?: (workspaceId: string) => void, tickets?: ArtifactTickets): void;
|
|
8
9
|
//# sourceMappingURL=WorkspaceRoutes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRoutes.d.ts","sourceRoot":"","sources":["../src/WorkspaceRoutes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkspaceRoutes.d.ts","sourceRoot":"","sources":["../src/WorkspaceRoutes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAC7D,OAAO,EAA8H,gBAAgB,EAAsB,KAAK,WAAW,EAAE,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGpP;mFACmF;AACnF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAYrE;AACD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE,uBAAuB,EACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,EACrG,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,EAC/C,OAAO,CAAC,EAAE,eAAe,GACxB,IAAI,CAkPN"}
|
package/dist/WorkspaceRoutes.js
CHANGED
|
@@ -35,9 +35,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.workspaceApiPath = workspaceApiPath;
|
|
37
37
|
exports.registerWorkspaceRoutes = registerWorkspaceRoutes;
|
|
38
|
+
const RequestEnvironment_1 = require("./RequestEnvironment");
|
|
38
39
|
const Sse_1 = require("./Sse");
|
|
39
40
|
const fs = __importStar(require("node:fs"));
|
|
40
41
|
const node_stream_1 = require("node:stream");
|
|
42
|
+
const ArtifactTickets_1 = require("./ArtifactTickets");
|
|
41
43
|
const core_1 = require("@marifold/core");
|
|
42
44
|
const Validation_1 = require("./Validation");
|
|
43
45
|
/** Only application resources can traverse the bridge. Device-local configuration
|
|
@@ -52,7 +54,7 @@ function workspaceApiPath(method, raw) {
|
|
|
52
54
|
!pathname.endsWith('/events') &&
|
|
53
55
|
!(pathname === '/v1/config' && !['GET', 'PATCH'].includes(method)));
|
|
54
56
|
}
|
|
55
|
-
function registerWorkspaceRoutes(server, manager, registry, contextStore, executor, token, cancelExecution) {
|
|
57
|
+
function registerWorkspaceRoutes(server, manager, registry, contextStore, executor, token, cancelExecution, tickets) {
|
|
56
58
|
const application = async (operation, input, context) => {
|
|
57
59
|
const body = (0, Validation_1.objectBody)(input);
|
|
58
60
|
if (operation === 'run.events') {
|
|
@@ -82,6 +84,11 @@ function registerWorkspaceRoutes(server, manager, registry, contextStore, execut
|
|
|
82
84
|
const e = origin.run.execution;
|
|
83
85
|
if (!run.artifacts?.some((a) => a.id === artifactId))
|
|
84
86
|
throw new Error('Artifact not found.');
|
|
87
|
+
if (body.preview === true) {
|
|
88
|
+
if (e && e.executionDeviceId !== manager.store.get(e.workspaceId).hostDeviceId)
|
|
89
|
+
return manager.execute(e.workspaceId, e.executionDeviceId, 'executor.artifact', { runId: origin.run.id, artifactId: origin.artifactId, preview: true });
|
|
90
|
+
return { data: (await (0, core_1.createArtifactPreview)(registry.requireArtifact(runId, artifactId))).toString('base64') };
|
|
91
|
+
}
|
|
85
92
|
const offset = body.offset;
|
|
86
93
|
if (typeof offset !== 'number' || !Number.isSafeInteger(offset) || offset < 0)
|
|
87
94
|
throw new Error('Invalid artifact offset.');
|
|
@@ -118,7 +125,7 @@ function registerWorkspaceRoutes(server, manager, registry, contextStore, execut
|
|
|
118
125
|
if (!/^(default\.|memory\.|agent\.|web_search\.(enabled|max_results|provider|api_key_env|scrape)$)/.test(key))
|
|
119
126
|
throw new Error('This setting belongs to the host device and must be edited locally.');
|
|
120
127
|
}
|
|
121
|
-
const response = await contextStore.inject(context, (provenance) => server.inject({
|
|
128
|
+
const response = await contextStore.inject({ ...context, remoteRequest: body.remoteRequest === true }, (provenance) => server.inject({
|
|
122
129
|
method: method,
|
|
123
130
|
url,
|
|
124
131
|
headers: {
|
|
@@ -227,33 +234,49 @@ function registerWorkspaceRoutes(server, manager, registry, contextStore, execut
|
|
|
227
234
|
reply.raw.end();
|
|
228
235
|
}
|
|
229
236
|
});
|
|
237
|
+
const remoteArtifact = async (workspaceId, runId, artifactId) => {
|
|
238
|
+
const response = await manager.request(workspaceId, 'api', {
|
|
239
|
+
method: 'GET', path: `/v1/runs/${runId}/artifacts`,
|
|
240
|
+
});
|
|
241
|
+
if (response.status !== 200)
|
|
242
|
+
throw new Error('Could not check the file on its source device.');
|
|
243
|
+
const result = JSON.parse(Buffer.from(response.body, 'base64').toString('utf8'));
|
|
244
|
+
const item = result.artifacts?.find((a) => a.id === artifactId);
|
|
245
|
+
if (!item || item.available === false)
|
|
246
|
+
throw core_1.MarifoldError.artifactNotFound(runId, artifactId);
|
|
247
|
+
return item;
|
|
248
|
+
};
|
|
249
|
+
const sendRemoteArtifact = async (workspaceId, runId, artifactId, reply, inline = false) => {
|
|
250
|
+
const item = await remoteArtifact(workspaceId, runId, artifactId);
|
|
251
|
+
(0, ArtifactTickets_1.artifactHeaders)(reply, item, inline);
|
|
252
|
+
return reply.send(node_stream_1.Readable.from((0, core_1.workspaceArtifactStream)(item.size, (offset, length) => manager.request(workspaceId, 'artifact.read', { runId, artifactId, offset, length }))));
|
|
253
|
+
};
|
|
230
254
|
server.all('/v1/workspaces/:id/api/*', async (request, reply) => {
|
|
231
255
|
const suffix = request.url.slice(request.url.indexOf('/api/') + 4);
|
|
232
256
|
if (!workspaceApiPath(request.method, suffix))
|
|
233
257
|
throw new Error('Unsupported workspace application route.');
|
|
234
|
-
const artifact = /^\/v1\/runs\/([^/]+)\/artifacts\/([^/?]+)
|
|
235
|
-
if (
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
}))));
|
|
258
|
+
const artifact = /^\/v1\/runs\/([^/]+)\/artifacts\/([^/?]+)(?:\/(access|preview))?$/.exec(suffix);
|
|
259
|
+
if (artifact) {
|
|
260
|
+
const [, runId, artifactId, action] = artifact;
|
|
261
|
+
const workspaceId = request.params.id;
|
|
262
|
+
if (request.method === 'GET' && !action)
|
|
263
|
+
return sendRemoteArtifact(workspaceId, runId, artifactId, reply);
|
|
264
|
+
if (request.method === 'GET' && action === 'preview') {
|
|
265
|
+
const result = await manager.request(workspaceId, 'artifact.read', { runId, artifactId, preview: true });
|
|
266
|
+
return reply.type('image/webp').header('cache-control', 'no-store').header('x-content-type-options', 'nosniff').send(Buffer.from(result.data, 'base64'));
|
|
267
|
+
}
|
|
268
|
+
if (request.method === 'POST' && action === 'access' && tickets) {
|
|
269
|
+
const purpose = (0, Validation_1.objectBody)(request.body).purpose;
|
|
270
|
+
if (purpose !== 'download' && purpose !== 'image')
|
|
271
|
+
throw core_1.MarifoldError.configInvalid('Invalid file access purpose.');
|
|
272
|
+
const item = await remoteArtifact(workspaceId, runId, artifactId);
|
|
273
|
+
if (purpose === 'image' && !(0, core_1.isPreviewableArtifact)(item.mediaType))
|
|
274
|
+
throw core_1.MarifoldError.configInvalid('This file is not a previewable image.');
|
|
275
|
+
reply.header('cache-control', 'no-store');
|
|
276
|
+
return { ok: true, ...tickets.issue(response => sendRemoteArtifact(workspaceId, runId, artifactId, response, purpose === 'image')) };
|
|
277
|
+
}
|
|
255
278
|
}
|
|
256
|
-
const result = (await manager.request(request.params.id, 'api', { method: request.method, path: suffix, ...(request.body !== undefined ? { body: request.body } : {}) }, typeof request.headers['idempotency-key'] === 'string' ? request.headers['idempotency-key'] : undefined));
|
|
279
|
+
const result = (await manager.request(request.params.id, 'api', { method: request.method, path: suffix, remoteRequest: (0, RequestEnvironment_1.requestOrigin)(request) === 'remote', ...(request.body !== undefined ? { body: request.body } : {}) }, typeof request.headers['idempotency-key'] === 'string' ? request.headers['idempotency-key'] : undefined));
|
|
257
280
|
reply.code(result.status);
|
|
258
281
|
if (result.disposition)
|
|
259
282
|
reply.header('content-disposition', result.disposition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRoutes.js","sourceRoot":"","sources":["../src/WorkspaceRoutes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkspaceRoutes.js","sourceRoot":"","sources":["../src/WorkspaceRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._backdrop_117lv_1{z-index:30;background:color-mix(in srgb, var(--text) 12%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}._popover_117lv_12{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-lg);width:min(680px,100%);max-height:min(620px,100vh - 48px);box-shadow:var(--shadow-sheet);flex-direction:column;gap:14px;padding:16px;display:flex}._titleRow_117lv_25{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}._title_117lv_25{font-size:16px;font-weight:700}._subtitle_117lv_37{color:var(--text-3);margin-top:2px;font-size:12px}._add_117lv_43{border-radius:var(--radius-sm);color:var(--text-2);background:var(--surface-2);flex-shrink:0;padding:5px 10px}._add_117lv_43:hover{color:var(--text);background:var(--separator-soft)}._body_117lv_56{border:1px solid var(--separator);border-radius:var(--radius-md);grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);min-height:260px;display:grid;overflow:hidden}._serverList_117lv_65{background:var(--surface-2);border-right:1px solid var(--separator);padding:6px;overflow-y:auto}._server_117lv_65,._serverSelected_117lv_73{text-align:left;border-radius:8px;flex-direction:column;justify-content:center;gap:1px;width:100%;min-height:52px;padding:7px 54px 7px 9px;display:flex;position:relative}._server_117lv_65:hover{background:var(--separator-soft)}._serverSelected_117lv_73{background:var(--brand-tint)}._serverName_117lv_94,._serverUrl_117lv_95{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._serverName_117lv_94{font-size:13px;font-weight:650}._serverUrl_117lv_95{color:var(--text-3);font-size:11px}._activeBadge_117lv_112{color:var(--text-2);background:color-mix(in srgb, var(--brand-fill) 16%, transparent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:8px;right:8px}._editor_117lv_126{flex-direction:column;gap:11px;min-width:0;padding:14px;display:flex;position:relative}._problem_117lv_135{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px}._sameOriginNote_117lv_143{border-radius:var(--radius-sm);color:var(--text-2);background:var(--surface-2);overflow-wrap:anywhere;padding:10px;font-size:12px;line-height:1.45}._field_117lv_153{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}._field_117lv_153 input{border:1px solid var(--separator);border-radius:var(--radius-sm);background:var(--surface-2);min-width:0;padding:7px 9px;font-size:13px}._field_117lv_153 input:focus{outline:2px solid var(--brand-tint);border-color:var(--brand-fill)}._hint_117lv_175{color:var(--text-3);font-size:11px;line-height:1.35}._remove_117lv_181{color:var(--danger);border-radius:6px;align-self:flex-start;margin-top:auto;padding:4px 6px;font-size:12px}._remove_117lv_181:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}._deviceHeading_117lv_194{color:var(--text-2);margin:0 0 8px;font-size:12px;font-weight:500}._deviceList_117lv_201{flex-direction:column;gap:0;display:flex}._deviceRow_117lv_207{justify-content:space-between;align-items:center;gap:16px;display:flex}._deviceRow_117lv_207 ._remove_117lv_181{flex-shrink:0;align-self:center;margin-top:0;padding-block:1px}._hostRow_117lv_221:not(:last-child){margin-bottom:4px}._hostName_117lv_225{color:var(--text-2);font-weight:700}._actions_117lv_230{justify-content:flex-end;gap:8px;display:flex}._cancel_117lv_236,._connect_117lv_237{border-radius:var(--radius-sm);padding:6px 15px}._cancel_117lv_236{color:var(--text-2)}._cancel_117lv_236:hover{background:var(--separator-soft)}._connect_117lv_237{background:var(--brand-fill);min-width:94px;color:var(--on-brand);font-weight:600}._add_117lv_43:disabled,._remove_117lv_181:disabled,._cancel_117lv_236:disabled,._connect_117lv_237:disabled{opacity:.55;cursor:default}@media (width<=720px){._backdrop_117lv_1{align-items:flex-end;padding:0}._sheet_117lv_271{width:100%;max-height:calc(100dvh - 12px);padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0}._body_117lv_56{grid-template-columns:1fr;overflow-y:auto}._serverList_117lv_65{border-right:0;border-bottom:1px solid var(--separator);max-height:180px}._body_117lv_56 input{min-height:44px;font-size:16px}}._editor_117lv_126{overflow-y:auto}._field_117lv_153 textarea,._field_117lv_153 select{border:1px solid var(--separator);border-radius:var(--radius-sm);background-color:var(--surface-2);min-width:0;color:var(--text);padding:7px 9px;font-size:13px}._field_117lv_153 select{padding-right:30px}._popover_117lv_12{overflow-y:auto}._actions_117lv_230{flex-wrap:wrap}._image_z3nsn_1{object-fit:cover;border-radius:50%;flex-shrink:0}._initial_z3nsn_7{background:var(--brand-fill);color:var(--on-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}._backdrop_1i0ce_1{z-index:40;background:#00000052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._sheet_1i0ce_11{background:var(--surface);border-radius:var(--radius-lg);width:min(400px,100vw - 48px);box-shadow:var(--shadow-sheet);flex-direction:column;gap:14px;padding:20px;display:flex}._title_1i0ce_22{font-size:15px;font-weight:700}._identityRow_1i0ce_27{align-items:center;gap:12px;display:flex}._avatarButton_1i0ce_33{border:1px dashed var(--separator);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;overflow:hidden}._avatarButton_1i0ce_33:hover{border-color:var(--brand-fill)}._avatarPreview_1i0ce_49{object-fit:cover;width:100%;height:100%}._avatarPlaceholder_1i0ce_55{background:var(--brand-tint);width:100%;height:100%;color:var(--brand-text);justify-content:center;align-items:center;font-size:20px;font-weight:700;display:inline-flex}._fileInput_1i0ce_67{display:none}._nameField_1i0ce_71{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}._nameInput_1i0ce_79{border:1px solid var(--separator);border-radius:var(--radius-md);background:var(--content);outline:none;width:100%;min-width:0;padding:8px 12px;font-size:14px}._nameInput_1i0ce_79:focus{border-color:var(--brand-fill)}._nameRules_1i0ce_94{color:var(--text-3);font-size:11.5px}._fieldRow_1i0ce_99{justify-content:space-between;align-items:center;gap:12px;display:flex}._fieldLabel_1i0ce_106{color:var(--text-2);font-size:13px;font-weight:500}._modelSelect_1i0ce_112{border:1px solid var(--separator);border-radius:var(--radius-md);background-color:var(--content);max-width:220px;color:var(--text);padding:6px 34px 6px 8px;font-size:12.5px}._problem_1i0ce_122{color:var(--danger);font-size:12.5px}._hint_1i0ce_127{color:var(--text-3);font-size:12px}._actions_1i0ce_132{justify-content:flex-end;gap:8px;display:flex}._cancel_1i0ce_138{border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-2);padding:7px 14px;font-size:13px;font-weight:600}._create_1i0ce_147{border-radius:var(--radius-md);background:var(--brand-fill);color:var(--on-brand);box-shadow:0 1px 3px var(--brand-shadow);padding:7px 14px;font-size:13px;font-weight:600}._create_1i0ce_147:disabled,._cancel_1i0ce_138:disabled{opacity:.5;cursor:default}@media (width<=560px){._backdrop_1i0ce_1{align-items:flex-end;padding:0}._sheet_1i0ce_11{width:100%;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}._nameInput_1i0ce_79,._modelSelect_1i0ce_112{min-height:44px;font-size:16px}._cancel_1i0ce_138,._create_1i0ce_147{min-height:44px;padding-inline:18px;font-size:15px}}._bar_1ejvu_1{z-index:12;min-height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;border-bottom:1px solid var(--separator-soft);background:color-mix(in srgb, var(--content) 92%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.3);grid-template-columns:minmax(76px,1fr) minmax(0,1.35fr) minmax(76px,1fr);align-items:center;display:grid;position:sticky;top:0}._side_1ejvu_16{align-items:center;min-width:0;display:flex}._trailing_1ejvu_22{justify-content:flex-end}._back_1ejvu_26{min-width:44px;max-width:100%;min-height:44px;color:var(--brand-text);text-align:left;align-items:center;gap:5px;font-size:16px;display:inline-flex}._back_1ejvu_26 span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._title_1ejvu_45{min-width:0;color:var(--text);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}@media (prefers-reduced-motion:reduce){._bar_1ejvu_1{-webkit-backdrop-filter:none}}._root_r0xz0_1{display:none}@media (width<=899px){._root_r0xz0_1{z-index:80;padding:7px 10px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--separator-soft);background:color-mix(in srgb, var(--content) 92%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.25);flex:none;margin-top:auto;display:block;position:relative}._bar_r0xz0_19{border:1px solid var(--separator);background:color-mix(in srgb, var(--surface) 94%, transparent);min-height:58px;box-shadow:var(--shadow-card);border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;padding:3px 6px;display:grid}._tab_r0xz0_31,._tabSelected_r0xz0_32{min-width:0;min-height:50px;color:var(--text-3);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex}._tabSelected_r0xz0_32{color:var(--brand-text);background:var(--brand-tint)}._tab_r0xz0_31 svg,._tabSelected_r0xz0_32 svg{width:24px;height:24px}._backdrop_r0xz0_57{z-index:70;background:#0000001f;position:fixed;inset:0}._sheet_r0xz0_64{right:12px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:75;border:1px solid var(--separator);background:color-mix(in srgb, var(--surface) 96%, transparent);box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:blur(24px)saturate(1.2);border-radius:20px;padding:6px;animation:.16s ease-out _sheetIn_r0xz0_1;position:fixed;left:12px}._action_r0xz0_80{width:100%;min-height:52px;color:var(--text);text-align:left;border-radius:14px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 12px;font-size:16px;display:grid}._action_r0xz0_80+._action_r0xz0_80{border-top:1px solid var(--separator-soft);border-radius:0}._action_r0xz0_80:active{background:var(--separator-soft)}._actionIcon_r0xz0_103{width:24px;height:24px;color:var(--text-2);display:inline-flex}._actionIcon_r0xz0_103 svg{width:24px;height:24px}._value_r0xz0_115,._chevron_r0xz0_116{min-width:0;max-width:148px;color:var(--text-3);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:14px;overflow:hidden}._chevron_r0xz0_116{font-size:24px}}@keyframes _sheetIn_r0xz0_1{0%{opacity:0;transform:translateY(12px)scale(.985)}}@media (prefers-reduced-motion:reduce){._sheet_r0xz0_64{animation:none}}._frame_4ez81_1{border-right:1px solid var(--separator-soft);background:var(--canvas);flex-shrink:0;min-width:200px;max-width:40%;height:100%;position:relative}._content_4ez81_11{width:100%;height:100%;overflow:hidden}._handle_4ez81_17{z-index:4;cursor:col-resize;touch-action:none;outline:none;width:8px;position:absolute;top:0;bottom:0;right:-4px}._handle_4ez81_17:after{content:"";background:0 0;width:2px;transition:background .1s;position:absolute;top:0;bottom:0;right:3px}._handle_4ez81_17:hover:after,._handle_4ez81_17:focus-visible:after,._handleActive_4ez81_42:after{background:var(--brand-fill)}@media (prefers-reduced-motion:reduce){._handle_4ez81_17:after{transition:none}}._brand_huvcm_1,._brandProminent_huvcm_2{align-items:center;gap:8px;min-height:52px;padding:8px 14px 6px;display:flex}._logo_huvcm_10{color:var(--brand-fill);display:inline-flex}._wordmark_huvcm_15{letter-spacing:-.01em;font-size:14px;font-weight:700}._brandProminent_huvcm_2{gap:10px;min-height:68px;padding:12px 20px 8px}._brandProminent_huvcm_2 ._wordmark_huvcm_15{letter-spacing:-.02em;font-size:18px}._footer_huvcm_32{border-top:1px solid var(--separator-soft);flex-shrink:0;margin-top:auto;padding:8px}._row_huvcm_39,._rowSelected_huvcm_40{border-radius:var(--radius-sm);width:100%;min-height:30px;color:var(--text-2);text-align:left;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;display:grid}._row_huvcm_39:hover{background:var(--separator-soft);color:var(--text)}._rowSelected_huvcm_40{background:var(--brand-tint);color:var(--text);font-weight:600}._rowSelected_huvcm_40:disabled{cursor:default}._icon_huvcm_68{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}._value_huvcm_76{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:104px;color:var(--text-3);text-transform:capitalize;font-size:11.5px;font-weight:400;overflow:hidden}@media (width<=899px){._brand_huvcm_1,._brandProminent_huvcm_2{min-height:calc(64px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 20px 8px}._brand_huvcm_1 ._wordmark_huvcm_15,._brandProminent_huvcm_2 ._wordmark_huvcm_15{font-size:22px}._footer_huvcm_32{padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--canvas)}._row_huvcm_39,._rowSelected_huvcm_40{min-height:44px;padding:8px 10px;font-size:15px}._value_huvcm_76{max-width:132px;font-size:13px}}._tag_ebvky_1{background:var(--surface-2);max-width:min(220px,80vw);color:var(--text-2);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:999px;margin-inline:4px;padding:1px 8px;font-size:12px;line-height:1.6;text-decoration:none;display:inline-block;overflow:hidden}._tag_ebvky_1:hover{background:var(--separator-soft);color:var(--text)}._tag_ebvky_1:focus-visible{outline:2px solid var(--brand-fill);outline-offset:2px}._preview_ebvky_20{z-index:1000;box-sizing:border-box;border:1px solid var(--separator);border-radius:var(--radius-md);background:var(--surface);width:min(340px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--text);overflow-wrap:anywhere;flex-direction:column;gap:8px;padding:16px;font-size:14px;line-height:1.5;display:flex;position:fixed;overflow:auto;box-shadow:0 6px 24px #0000001f}._domain_ebvky_40{color:var(--text-2);font-size:12px}._title_ebvky_41{font-weight:600}._url_ebvky_42{color:var(--text-3);font-size:12px}._root_uuuq0_1{color:var(--text);overflow-wrap:break-word;font-size:16px;line-height:1.6}._muted_uuuq0_10{color:var(--text-3)}._root_uuuq0_1>:first-child{margin-top:0}._root_uuuq0_1>:last-child{margin-bottom:0}._heading_uuuq0_22{letter-spacing:-.01em;margin:14px 0 6px;font-weight:700}._paragraph_uuuq0_28{margin:8px 0}._codeBlock_uuuq0_32{background:var(--surface-2);border:1px solid var(--separator-soft);border-radius:var(--radius-md);margin:10px 0;overflow:hidden}._codeHeader_uuuq0_40{border-bottom:1px solid var(--separator-soft);min-height:40px;color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px 8px 14px;font-size:12.5px;font-weight:600;display:flex}._copyButton_uuuq0_53{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._copyButton_uuuq0_53:hover,._copyButton_uuuq0_53:focus-visible{background:var(--separator-soft);color:var(--text)}._code_uuuq0_32{background:0 0;border:none;border-radius:0;margin:0;padding:14px 16px 16px;line-height:1.6;overflow-x:auto}._code_uuuq0_32 code{font-size:13px}._inlineCode_uuuq0_84{background:var(--surface-2);border-radius:4px;padding:1px 5px}._list_uuuq0_90{margin:8px 0;padding-left:22px}._link_uuuq0_95{color:var(--brand-text);text-decoration:none}._link_uuuq0_95:hover{text-decoration:underline}._downloadLink_uuuq0_104{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline}._downloadLink_uuuq0_104:disabled{color:var(--text-2);cursor:default;text-decoration:none}._quote_uuuq0_119{border-left:3px solid var(--brand-fill);color:var(--text-2);margin:10px 0;padding:2px 0 2px 14px}._quote_uuuq0_119>:first-child{margin-top:0}._quote_uuuq0_119>:last-child{margin-bottom:0}._tableWrap_uuuq0_134{border:1px solid var(--separator);border-radius:var(--radius-md);max-width:100%;margin:10px 0;overflow-x:auto}._table_uuuq0_134{border-collapse:collapse;width:100%;min-width:420px;font-size:13px;line-height:1.45}._table_uuuq0_134 th,._table_uuuq0_134 td{vertical-align:top;border-right:1px solid var(--separator-soft);border-bottom:1px solid var(--separator-soft);padding:8px 10px}._table_uuuq0_134 th{color:var(--text-2);background:var(--surface-2);font-weight:650}._table_uuuq0_134 th:last-child,._table_uuuq0_134 td:last-child{border-right:none}._table_uuuq0_134 tbody tr:last-child td{border-bottom:none}._rule_uuuq0_173{border:none;border-top:1px solid var(--separator);margin:14px 0}._sheet_wsly2_1{background:var(--surface);border:1px solid var(--brand-tint);outline:3px solid var(--brand-tint);border-radius:var(--radius-lg);box-shadow:var(--shadow-sheet);flex-direction:column;gap:12px;margin-top:10px;padding:14px 16px;display:flex}._head_wsly2_14{gap:12px;display:flex}._icon_wsly2_19{border-radius:var(--radius-md);background:var(--brand-tint);width:36px;height:36px;color:var(--brand-text);flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:inline-flex}._text_wsly2_32{flex-direction:column;gap:3px;min-width:0;display:flex}._title_wsly2_39{font-size:14px;font-weight:700}._summary_wsly2_44{color:var(--text-2);overflow-wrap:break-word;font-size:13px}._path_wsly2_50{font-family:var(--font-mono);color:var(--text);overflow-wrap:break-word;font-size:12px}._meta_wsly2_57{color:var(--text-3);font-size:12px}._actions_wsly2_62{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}._deny_wsly2_70{border-radius:var(--radius-md);color:var(--text-2);padding:6px 14px;font-weight:600}._deny_wsly2_70:hover:not(:disabled){color:var(--danger)}._persist_wsly2_81{border-radius:var(--radius-md);background:var(--surface-2);padding:6px 14px;font-weight:600}._persist_wsly2_81:hover:not(:disabled){background:var(--surface-3)}._allow_wsly2_92{border-radius:var(--radius-md);background:var(--brand-fill);color:var(--on-brand);box-shadow:0 1px 3px var(--brand-shadow);padding:6px 16px;font-weight:700}._kbd_wsly2_101{opacity:.75;margin-left:4px;font-weight:400}._sheet_wsly2_1 button:disabled{opacity:.5;cursor:default}@media (width<=560px){._sheet_wsly2_1{padding:14px}._actions_wsly2_62{align-items:stretch}._deny_wsly2_70,._persist_wsly2_81,._allow_wsly2_92{flex:auto;min-height:42px}._kbd_wsly2_101{display:none}}._sheet_t6kts_1{background:var(--surface);border:1px solid var(--brand-tint);outline:3px solid var(--brand-tint);border-radius:var(--radius-lg);box-shadow:var(--shadow-sheet);flex-direction:column;gap:16px;margin-top:10px;padding:16px;display:flex}._heading_t6kts_14{font-size:14px;font-weight:700}._question_t6kts_19{border:0;min-width:0;margin:0;padding:0}._legend_t6kts_26{flex-direction:column;gap:3px;margin-bottom:8px;font-size:13.5px;font-weight:600;display:flex}._header_t6kts_35{color:var(--brand-text);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}._multipleHint_t6kts_43{color:var(--text-3);font-size:11.5px;font-weight:500}._options_t6kts_49{gap:6px;display:grid}._option_t6kts_49{border:1px solid var(--separator);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:9px;padding:9px 10px;display:flex}._option_t6kts_49:hover{background:var(--surface-2)}._option_t6kts_49:has(>input:checked){border-color:var(--brand-fill);background:var(--brand-tint)}._option_t6kts_49>input{accent-color:var(--brand-fill);margin-top:2px}._optionLabel_t6kts_78{font-size:13px;font-weight:600;display:block}._description_t6kts_84{color:var(--text-2);margin-top:2px;font-size:12px;line-height:1.35;display:block}._customOption_t6kts_92,._customBody_t6kts_93{min-width:0}._customBody_t6kts_93{flex:1}._customInput_t6kts_101{border:1px solid var(--separator);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;margin-top:6px;padding:7px 9px;font-size:12.5px}._customInput_t6kts_101:focus{border-color:var(--brand-fill);outline:2px solid var(--brand-tint)}._actions_t6kts_118{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}._progress_t6kts_126{color:var(--text-3);flex:1;font-size:12px}._submit_t6kts_132{border-radius:var(--radius-md);background:var(--brand-fill);color:var(--on-brand);box-shadow:0 1px 3px var(--brand-shadow);padding:7px 16px;font-weight:700}._submit_t6kts_132:disabled{opacity:.5;cursor:default}._kbd_t6kts_146{opacity:.75;margin-left:6px;font-weight:400}@media (width<=560px){._option_t6kts_49{min-height:48px;padding:11px}._optionLabel_t6kts_78{font-size:14px}._customInput_t6kts_101{min-height:42px;font-size:16px}._submit_t6kts_132{min-height:44px;padding-inline:20px}._kbd_t6kts_146{display:none}}._workspace_j9k5n_1{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}._scrollArea_j9k5n_12{flex:1;min-height:0;overflow-y:auto}._header_j9k5n_18,._appCanvas_j9k5n_19{width:min(960px,100% - 64px);margin-inline:auto}._executionPanel_j9k5n_24{flex-direction:column;gap:14px;padding-top:4px;display:flex}._executionStatus_j9k5n_31{box-sizing:border-box;border:1px solid var(--separator);min-height:42px;color:var(--text-2);background-color:var(--surface-2);border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}._executionSpinner_j9k5n_45{border:2px solid color-mix(in srgb, var(--text-3) 35%, transparent);border-top-color:var(--brand-text);border-radius:50%;flex:none;width:13px;height:13px;animation:.9s linear infinite _executionSpin_j9k5n_45}._executionCancel_j9k5n_55{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:5px 9px}@keyframes _executionSpin_j9k5n_45{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){._executionSpinner_j9k5n_45{animation:none}}._header_j9k5n_18{border-bottom:1px solid var(--separator);padding:42px 0 24px}._header_j9k5n_18 hgroup{margin:0}._header_j9k5n_18 h1{color:var(--text);margin:0;font-size:28px;line-height:1.2}._header_j9k5n_18 p{color:var(--text-3);margin:8px 0 0;font-size:14px}._appCanvas_j9k5n_19{flex-direction:column;gap:20px;padding:28px 0 64px;display:flex}._row_j9k5n_102{align-items:stretch;display:flex}._column_j9k5n_107{flex-direction:column;display:flex}._gap_none_j9k5n_112{gap:0}._gap_small_j9k5n_113{gap:8px}._gap_medium_j9k5n_114{gap:16px}._gap_large_j9k5n_115{gap:24px}._grow_j9k5n_117{flex:1 1 0;min-width:0}._spacer_j9k5n_122{width:100%;min-width:0;height:1px;display:block}._field_j9k5n_129{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}._label_j9k5n_137{color:var(--text-2);font-size:13px;font-weight:650}._fieldHeader_j9k5n_143{justify-content:space-between;align-items:center;gap:12px;min-height:18px;display:flex}._fieldHeaderActions_j9k5n_151{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}._staleHint_j9k5n_159{color:#d99b20;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:550;overflow:hidden}._copyButton_j9k5n_168{color:var(--brand-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}._copyButton_j9k5n_168:disabled{cursor:not-allowed;opacity:.5}._visuallyHidden_j9k5n_183{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._field_j9k5n_129 input,._field_j9k5n_129 select,._field_j9k5n_129 textarea{box-sizing:border-box;border:1px solid var(--separator);width:100%;color:var(--text);background-color:var(--surface-2);font:inherit;border-radius:10px;outline:none}._fileInput_j9k5n_208{display:none}._attachmentZone_j9k5n_212{box-sizing:border-box;border:1px solid var(--separator);background:var(--surface-2);border-radius:12px;align-items:center;min-height:86px;padding:12px;transition:border-color .12s,background .12s;display:flex;position:relative}._attachmentZoneActive_j9k5n_225{border-color:var(--brand-text);background:var(--brand-tint)}._attachmentPicker_j9k5n_230{z-index:0;border-radius:inherit;width:100%;color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;position:absolute;inset:0}._attachmentPicker_j9k5n_230 strong{color:var(--brand-text);font-weight:650}._attachmentPicker_j9k5n_230:focus-visible{outline:2px solid color-mix(in srgb, var(--brand-fill) 45%, transparent);outline-offset:2px}._attachmentPicker_j9k5n_230:disabled{cursor:wait}._attachmentChips_j9k5n_258{z-index:1;pointer-events:none;flex-wrap:wrap;gap:8px;min-width:0;display:flex;position:relative}._attachmentChip_j9k5n_258{box-sizing:border-box;border:1px solid var(--separator);width:min(250px,100cqw - 112px);min-width:0;height:48px;color:var(--text-2);background:var(--surface);pointer-events:auto;border-radius:10px;align-items:center;gap:9px;padding:5px 8px 5px 5px;display:flex}._attachmentThumbnail_j9k5n_284,._attachmentFileIcon_j9k5n_285{border-radius:7px;flex:none;width:36px;height:36px}._attachmentThumbnail_j9k5n_284{object-fit:cover;background:var(--surface-2);display:block}._attachmentFileIcon_j9k5n_285{color:var(--text-3);background:var(--surface-2);justify-content:center;align-items:center;font-size:18px;display:inline-flex}._attachmentName_j9k5n_307{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}._attachmentRemove_j9k5n_316{width:24px;height:24px;color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:17px;line-height:1;display:inline-flex}._attachmentRemove_j9k5n_316:hover{color:var(--text);background:var(--separator-soft)}._attachmentRemove_j9k5n_316:disabled{cursor:wait;opacity:.55}._field_j9k5n_129 input,._field_j9k5n_129 select{height:42px;padding:0 12px}._field_j9k5n_129 select{padding-right:34px}._field_j9k5n_129 textarea{resize:vertical;min-height:220px;padding:12px 14px;line-height:1.55}._field_j9k5n_129 ._sizedTextarea_j9k5n_361{min-height:0}._field_j9k5n_129 ._autoGrowTextarea_j9k5n_365{resize:none;overflow-y:hidden}._field_j9k5n_129 input:focus,._field_j9k5n_129 select:focus,._field_j9k5n_129 textarea:focus{border-color:var(--brand-text);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand-fill) 16%, transparent)}._preview_j9k5n_377{box-sizing:border-box;border:1px solid var(--separator);min-height:220px;color:var(--text);background:var(--surface);overflow-wrap:anywhere;border-radius:10px;padding:14px 16px}._preview_j9k5n_377 pre{white-space:pre-wrap;font:inherit;margin:0;line-height:1.55}._previewEmpty_j9k5n_395{color:var(--text-3);font-size:13px}._markdownPreview_j9k5n_400{box-sizing:border-box;border:1px solid var(--separator);min-height:220px;color:var(--text);background:var(--surface-2);overflow-wrap:anywhere;border-radius:10px;padding:14px 16px}._markdownPreview_j9k5n_400 pre{white-space:pre-wrap;font:13px/1.6 var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);margin:0}._downloadZone_j9k5n_417{box-sizing:border-box;border:1px solid var(--separator);min-height:72px;color:var(--text-2);background:var(--surface-2);border-radius:12px;align-items:center;gap:11px;padding:11px 12px;display:flex}._downloadEmpty_j9k5n_430{color:var(--text-3);font-size:13px}._downloadFileIcon_j9k5n_435{width:42px;height:42px;color:var(--brand-text);background:var(--surface);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:20px;display:inline-flex}._downloadDetails_j9k5n_448{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}._downloadName_j9k5n_456{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}._downloadDescription_j9k5n_465{color:var(--text-3);font-size:12px}._downloadButton_j9k5n_470{border:1px solid var(--separator);min-width:92px;height:36px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:9px;padding:0 13px;font-size:12.5px;font-weight:650}._downloadButton_j9k5n_470:hover:not(:disabled),._downloadButton_j9k5n_470:focus-visible{border-color:var(--brand-text)}._downloadButton_j9k5n_470:disabled{cursor:not-allowed;opacity:.5}._primaryButton_j9k5n_494{min-width:112px;height:42px;color:var(--on-brand);background:var(--brand-fill);font:inherit;cursor:pointer;border:0;border-radius:10px;align-self:flex-start;padding:0 18px;font-weight:700}._secondaryButton_j9k5n_508{border:1px solid var(--separator);min-width:112px;height:42px;color:var(--text);background:var(--surface-2);font:inherit;cursor:pointer;border-radius:10px;align-self:flex-start;padding:0 18px;font-weight:650}._fieldAlignedButton_j9k5n_522{flex-direction:column;gap:8px;height:100%;display:flex}._fieldLabelSpacer_j9k5n_529{flex:0 0 18px}._fieldAlignedButton_j9k5n_522>._primaryButton_j9k5n_494,._fieldAlignedButton_j9k5n_522>._secondaryButton_j9k5n_508{flex:auto;align-self:stretch;height:auto}._primaryButton_j9k5n_494:disabled,._secondaryButton_j9k5n_508:disabled{cursor:not-allowed;opacity:.55}._text_j9k5n_546{color:var(--text-2);margin:0;line-height:1.55}._placeholder_j9k5n_552{max-width:420px;color:var(--text-3);text-align:center;margin:auto;padding:32px}._placeholderTitle_j9k5n_560{color:var(--text-2);font-size:20px;font-weight:700}._placeholderHint_j9k5n_566{margin-top:8px;font-size:13px;line-height:1.55}._appFooter_j9k5n_572{z-index:4;box-sizing:border-box;border-top:1px solid var(--separator);min-height:44px;color:var(--text-3);background:color-mix(in srgb, var(--content) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex:0 0 44px;justify-content:space-between;align-items:center;gap:16px;padding:0 18px;font-size:12px;display:flex;position:relative}._footerActions_j9k5n_590{justify-content:flex-end;align-items:center;gap:14px;min-width:0;display:flex}._footerStatus_j9k5n_598{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;animation:1.2s ease-in-out infinite _running-pulse_j9k5n_1;overflow:hidden}._footerButton_j9k5n_606,._activityActions_j9k5n_607 button{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-weight:650}._footerButton_j9k5n_606:hover:not(:disabled),._activityActions_j9k5n_607 button:hover{color:var(--text);background:var(--separator-soft)}._footerButton_j9k5n_606:disabled{cursor:not-allowed;opacity:.45}._activityButtonError_j9k5n_629{color:var(--danger)}._activityDrawer_j9k5n_633{z-index:3;border-top:1px solid var(--separator);background:var(--surface);flex-direction:column;max-height:min(50%,420px);animation:.14s ease-out _activity-enter_j9k5n_1;display:flex;position:absolute;bottom:44px;left:0;right:0;box-shadow:0 -12px 30px var(--lightningcss-light,#00000017)var(--lightningcss-dark,#00000059)}._activityHeader_j9k5n_648{box-sizing:border-box;border-bottom:1px solid var(--separator-soft);justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:12px 18px;display:flex}._activityHeader_j9k5n_648 h2{color:var(--text);margin:0;font-size:14px}._activityHeader_j9k5n_648 p{color:var(--text-3);margin:3px 0 0;font-size:11px}._activityActions_j9k5n_607{align-items:center;gap:4px;display:flex}._activityList_j9k5n_677{min-height:84px;padding:4px 18px 14px;overflow-y:auto}._activityEntry_j9k5n_683{border-bottom:1px solid var(--separator-soft);grid-template-columns:8px minmax(0,1fr);gap:10px;padding:11px 0;display:grid}._activityEntry_j9k5n_683:last-child{border-bottom:0}._activityDot_j9k5n_695{background:var(--text-3);border-radius:50%;width:7px;height:7px;margin-top:5px}._activity_success_j9k5n_703 ._activityDot_j9k5n_695{background:var(--ok)}._activity_warning_j9k5n_704 ._activityDot_j9k5n_695{background:#d99b20}._activity_error_j9k5n_705 ._activityDot_j9k5n_695{background:var(--danger)}._activityBody_j9k5n_707{min-width:0}._activityBody_j9k5n_707 p{white-space:pre-wrap}._activityTitleLine_j9k5n_715{justify-content:space-between;align-items:baseline;gap:16px;display:flex}._activityTitleLine_j9k5n_715 strong{color:var(--text-2);font-size:12px;font-weight:650}._activityTitleLine_j9k5n_715 time,._activityMetrics_j9k5n_729,._activityEmpty_j9k5n_730{color:var(--text-3);font-size:11px}._activityTitleLine_j9k5n_715 time{flex:none}._activityBody_j9k5n_707 p{color:var(--text-2);margin:5px 0 0;font-size:12px;line-height:1.45}._activity_error_j9k5n_705 ._activityBody_j9k5n_707 p{color:var(--danger)}._activityMetrics_j9k5n_729{margin-top:5px}._activityEmpty_j9k5n_730{text-align:center;padding:28px 0}@keyframes _activity-enter_j9k5n_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes _running-pulse_j9k5n_1{0%,to{opacity:.42}50%{opacity:1}}@media (prefers-reduced-motion:reduce){._activityDrawer_j9k5n_633,._footerStatus_j9k5n_598{animation:none}}@media (width<=760px){._scrollArea_j9k5n_12{overscroll-behavior-y:contain}._header_j9k5n_18,._appCanvas_j9k5n_19{width:calc(100% - 32px)}._header_j9k5n_18{padding:24px 0 18px}._header_j9k5n_18 h1{font-size:24px}._appCanvas_j9k5n_19{padding:20px 0 calc(40px + env(safe-area-inset-bottom))}._field_j9k5n_129 input,._field_j9k5n_129 select,._field_j9k5n_129 textarea{font-size:16px}._primaryButton_j9k5n_494,._secondaryButton_j9k5n_508{min-height:44px}}@container (width<=620px){._stackResponsive_j9k5n_809{flex-direction:column}._stackResponsive_j9k5n_809 ._fieldAlignedButton_j9k5n_522{gap:0;height:auto}._stackResponsive_j9k5n_809 ._fieldLabelSpacer_j9k5n_529{display:none}._stackResponsive_j9k5n_809 ._fieldAlignedButton_j9k5n_522>._primaryButton_j9k5n_494,._stackResponsive_j9k5n_809 ._fieldAlignedButton_j9k5n_522>._secondaryButton_j9k5n_508{flex:0 0 44px}}._pane_16mmi_1{background:var(--canvas);flex-direction:column;width:100%;height:100%;animation:.16s ease-out _sidebarPopIn_16mmi_1;display:flex;overflow:hidden}._header_16mmi_11{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;padding:14px 16px 8px;font-size:11px;font-weight:600;display:flex}._searchWrap_16mmi_23{height:30px;color:var(--text-3);background:var(--separator-soft);border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;margin:10px 10px 2px;padding:0 8px;display:flex}._searchWrap_16mmi_23:focus-within{border-color:var(--brand);background:var(--surface)}._searchInput_16mmi_41{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}._searchInput_16mmi_41::placeholder{color:var(--text-3)}._newButton_16mmi_55{width:22px;height:22px;color:var(--text-2);border-radius:6px;justify-content:center;align-items:center;font-size:15px;display:inline-flex}._newButton_16mmi_55:hover{background:var(--separator-soft);color:var(--text)}._list_16mmi_71{flex-direction:column;flex:1;gap:2px;min-height:0;padding:0 8px 12px;display:flex;overflow-y:auto}._empty_16mmi_81{color:var(--text-3);padding:10px;font-size:12px}._row_16mmi_87,._rowSelected_16mmi_88{border-radius:var(--radius-md);align-items:center;display:flex;position:relative}._row_16mmi_87:hover{background:var(--separator-soft)}._rowSelected_16mmi_88{background:var(--brand-tint)}._rowMain_16mmi_103{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 34px 6px 8px;display:flex}._meta_16mmi_113{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}._nameLine_16mmi_121{align-items:center;gap:4px;min-width:0;display:flex}._name_16mmi_121{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;overflow:hidden}._sub_16mmi_137,._working_16mmi_138{min-width:0;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}._working_16mmi_138{color:var(--brand-text)}._pinIndicator_16mmi_152{width:15px;height:15px;color:var(--text-3);flex:none;justify-content:center;align-items:center;display:inline-flex}._activityTime_16mmi_162{color:var(--text-3);white-space:nowrap;flex:none;margin-left:auto;font-size:11.5px;font-weight:400}._moreButton_16mmi_171{width:26px;height:26px;color:var(--text-2);opacity:0;border-radius:7px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}._row_16mmi_87:hover ._moreButton_16mmi_171,._rowSelected_16mmi_88 ._moreButton_16mmi_171,._moreButton_16mmi_171:focus-visible,._moreButton_16mmi_171[aria-expanded=true]{opacity:1}._moreButton_16mmi_171:hover{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}._actionMenu_16mmi_198{z-index:80;background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-md);width:168px;box-shadow:var(--shadow-sheet);padding:5px;position:fixed}._menuItem_16mmi_209{text-align:left;border-radius:7px;align-items:center;gap:9px;width:100%;min-height:34px;padding:6px 8px;font-size:13px;display:flex}._menuItem_16mmi_209:hover{background:var(--separator-soft)}._menuItem_16mmi_209:disabled{opacity:.55;cursor:default}@keyframes _sidebarPopIn_16mmi_1{0%{opacity:.7;transform:translate(-12px)}}@media (prefers-reduced-motion:reduce){._pane_16mmi_1{animation:none}}@media (width<=899px){._pane_16mmi_1{background:var(--content)}._searchWrap_16mmi_23{border-radius:11px;height:38px;margin:8px 16px 6px;padding:0 12px}._searchInput_16mmi_41{font-size:16px}._header_16mmi_11{min-height:40px;padding:10px 20px 6px;font-size:12px}._newButton_16mmi_55{width:36px;height:36px;color:var(--brand-text);margin:-8px -8px -8px 0;font-size:24px}._list_16mmi_71{gap:0;padding:0 0 12px}._row_16mmi_87,._rowSelected_16mmi_88{background:var(--content);border-radius:0;min-height:64px}._row_16mmi_87+._row_16mmi_87,._rowSelected_16mmi_88+._row_16mmi_87,._row_16mmi_87+._rowSelected_16mmi_88,._rowSelected_16mmi_88+._rowSelected_16mmi_88{border-top:1px solid var(--separator-soft)}._rowMain_16mmi_103{gap:12px;min-height:64px;padding:8px 50px 8px 16px}._name_16mmi_121{font-size:16px}._sub_16mmi_137,._working_16mmi_138,._activityTime_16mmi_162{font-size:13px}._moreButton_16mmi_171{opacity:1;width:40px;height:40px;right:8px}._empty_16mmi_81{padding:24px 20px;font-size:14px}}._rowMain_jrjsp_1{padding-right:8px}._banner_oi411_1{background:var(--brand-tint);border-radius:var(--radius-lg);align-items:flex-start;gap:10px;max-width:760px;margin:12px auto 0;padding:10px 14px;display:flex}._rows_oi411_12{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}._row_oi411_12{align-items:center;gap:10px;display:flex}._text_oi411_26{min-width:0;color:var(--text);flex:1;font-size:12.5px}._show_oi411_33{color:var(--brand-text);flex-shrink:0;font-size:12px;font-weight:700}._dismiss_oi411_40{color:var(--text-3);flex-shrink:0;padding:2px 4px;font-size:12px}._dismiss_oi411_40:hover{color:var(--text)}._backdrop_rwyn2_1{z-index:1000;cursor:zoom-out;background:#000000b8;justify-content:center;align-items:center;padding:48px 84px;display:flex;position:fixed;inset:0}._stage_rwyn2_13{cursor:default;max-width:min(92vw,1600px);max-height:min(88vh,100dvh - 180px);position:relative}._image_rwyn2_20{border-radius:var(--radius-md);object-fit:contain;max-width:100%;max-height:min(88vh,100dvh - 180px);display:block;box-shadow:0 20px 70px #00000073}._loading_rwyn2_29{color:#ffffffc7;place-items:center;min-width:220px;min-height:140px;font-size:14px;display:grid}._close_rwyn2_38,._arrow_rwyn2_39{z-index:1;color:#fff;background:#ffffff24;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}._close_rwyn2_38:hover,._close_rwyn2_38:focus-visible,._arrow_rwyn2_39:hover,._arrow_rwyn2_39:focus-visible{background:#ffffff42}._close_rwyn2_38{width:36px;height:36px;font-size:25px;line-height:1;position:fixed;top:18px;right:20px}._arrow_rwyn2_39{width:44px;height:44px;position:fixed;top:50%;transform:translateY(-50%)}._previous_rwyn2_74{left:22px}._next_rwyn2_78{right:22px}._counter_rwyn2_82{color:#fff;background:#0000008c;border-radius:999px;padding:4px 9px;font-size:12px;line-height:1.2;position:absolute;top:12px;left:50%;transform:translate(-50%)}@media (width<=640px){._backdrop_rwyn2_1{padding:56px 16px 72px}._arrow_rwyn2_39{top:auto;bottom:16px;transform:none}._previous_rwyn2_74{left:calc(50% - 54px)}._next_rwyn2_78{right:calc(50% - 54px)}}._download_rwyn2_115{z-index:1;color:#fff;background:#0009;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:calc(100% + 32px);left:50%;transform:translate(-50%)}._download_rwyn2_115:hover,._download_rwyn2_115:focus-visible{background:#000c}._download_rwyn2_115:disabled{opacity:.6;cursor:wait}._zoom_rwyn2_132{cursor:zoom-in;display:block}._zoomed_rwyn2_133{max-width:92vw;max-height:min(88vh,100dvh - 180px);overflow:auto}._zoomed_rwyn2_133 ._zoom_rwyn2_132{cursor:zoom-out}._zoomed_rwyn2_133 ._image_rwyn2_20{max-width:none;max-height:none}._wrap_142kx_1{padding:12px 20px 16px}._bar_142kx_8{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-lg);max-width:760px;box-shadow:var(--shadow-card);flex-direction:column;align-items:stretch;gap:6px;margin:0 auto;padding:10px 12px 10px 16px;display:flex}._bottomRow_142kx_22{align-items:center;gap:6px;display:flex}._bar_142kx_8:focus-within{border-color:var(--brand-fill)}._inputWrap_142kx_35{min-width:0;position:relative}._highlight_142kx_42,._input_142kx_35{letter-spacing:normal;word-spacing:normal;tab-size:4;margin:0;padding:3px 0;font-family:inherit;font-size:14px;font-weight:400;line-height:20px}._highlight_142kx_42{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;color:var(--text);pointer-events:none;position:absolute;inset:0;overflow:hidden}._input_142kx_35{appearance:none;resize:none;color:#0000;width:100%;max-height:160px;caret-color:var(--text);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;scrollbar-width:none;background:0 0;border:none;outline:none;display:block;position:relative}._input_142kx_35::-webkit-scrollbar{display:none}._input_142kx_35::placeholder{color:var(--text-3);-webkit-text-fill-color:var(--text-3)}._skillToken_142kx_98{color:var(--brand-text);font-weight:inherit}._menu_142kx_106{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-md);max-height:260px;box-shadow:var(--shadow-sheet);z-index:20;padding:4px;position:absolute;bottom:calc(100% + 10px);left:-8px;right:-8px;overflow-y:auto}._menuItem_142kx_121,._menuItemActive_142kx_122{border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:1px;padding:6px 10px;display:flex}._menuItemActive_142kx_122{background:var(--brand-tint)}._menuName_142kx_135{color:var(--brand-text);font-size:12.5px;font-weight:600;font-family:var(--font-mono,ui-monospace, monospace)}._menuDesc_142kx_142{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}._controls_142kx_150{align-items:center;gap:6px;margin-left:auto;display:flex}._pill_142kx_158,._pillActive_142kx_159{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}._pill_142kx_158{background:var(--surface-2);color:var(--text-2)}._pill_142kx_158:hover{color:var(--text)}._pillActive_142kx_159{background:var(--brand-tint);color:var(--brand-text)}._modelChip_142kx_180{background:var(--surface-2);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;max-width:180px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex;position:relative}._modelChip_142kx_180>span:first-child{text-overflow:ellipsis;overflow:hidden}._modelSelect_142kx_201{opacity:0;cursor:pointer;position:absolute;inset:0}._send_142kx_208,._stop_142kx_209{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}._send_142kx_208{background:var(--brand-fill);color:var(--on-brand);box-shadow:0 1px 3px var(--brand-shadow);font-size:15px;font-weight:700}._send_142kx_208:disabled{opacity:.45;cursor:default}._stop_142kx_209{background:var(--text);color:var(--surface);box-shadow:var(--shadow-card)}._stop_142kx_209:hover{opacity:.82}._stopIcon_142kx_241{background:currentColor;border-radius:2px;width:9px;height:9px}._attach_142kx_248{width:28px;height:28px;color:var(--text-2);background:var(--surface-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:inline-flex}._attach_142kx_248:hover{color:var(--text);background:var(--separator-soft)}@media (width<=899px){._wrap_142kx_1{padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--content) 94%, transparent);flex-shrink:0}._bar_142kx_8{border-radius:22px;width:100%;padding:9px 10px 9px 14px}._highlight_142kx_42,._input_142kx_35{font-size:16px;line-height:22px}._bottomRow_142kx_22,._controls_142kx_150{gap:4px}._pill_142kx_158,._pillActive_142kx_159,._modelChip_142kx_180{min-height:34px;padding:6px 10px;font-size:13px}._modelChip_142kx_180{max-width:min(132px,34vw)}._send_142kx_208,._stop_142kx_209,._attach_142kx_248{width:38px;height:38px}._menu_142kx_106{max-height:min(300px,42vh)}}@media (width<=360px){._pill_142kx_158,._pillActive_142kx_159{padding-inline:8px}._modelChip_142kx_180{max-width:108px;padding-inline:8px}}._fileInput_142kx_326{display:none}._chips_142kx_330{flex-wrap:wrap;gap:6px;max-width:760px;margin:0 auto 8px;display:flex}._chip_142kx_330{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--separator);color:var(--text-2);align-items:center;gap:6px;max-width:240px;padding:4px 6px 4px 4px;font-size:12px;display:inline-flex}._chipThumb_142kx_351{border-radius:var(--radius-sm);object-fit:cover;width:28px;height:28px}._officeFileIcon_142kx_358{width:22px;height:22px;color:var(--brand-text);background:var(--brand-tint);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}._chipPreviewButton_142kx_372{border-radius:var(--radius-sm);cursor:zoom-in;flex-shrink:0}._chipPreviewButton_142kx_372:focus-visible{outline:2px solid var(--brand-fill);outline-offset:2px}._chipName_142kx_383{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._chipRemove_142kx_389{color:var(--text-3);padding:0 2px;font-size:14px;line-height:1}._chipRemove_142kx_389:hover{color:var(--danger)}._pane_1kvbj_1{background:var(--canvas);flex-direction:column;width:100%;height:100%;animation:.16s ease-out _sidebarPushIn_1kvbj_1;display:flex;overflow:hidden}._profileHeader_1kvbj_11{align-items:center;gap:8px;min-height:52px;padding:8px 12px 6px 8px;display:flex}._profileHero_1kvbj_19{flex-direction:column;align-items:center;gap:8px;padding:10px 16px 12px;display:flex}._profileAvatarButton_1kvbj_27{cursor:pointer;border-radius:50%;display:inline-flex}._profileAvatarButton_1kvbj_27:focus-visible{outline:2px solid var(--brand-fill);outline-offset:3px}._backButton_1kvbj_38{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._backButton_1kvbj_38:hover{background:var(--separator-soft);color:var(--text)}._headerTitle_1kvbj_54{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:650;overflow:hidden}._profileName_1kvbj_63{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;font-weight:650;overflow:hidden}._header_1kvbj_54{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;padding:14px 16px 8px;font-size:11px;font-weight:600;display:flex}._archiveFilter_1kvbj_84,._archiveFilterActive_1kvbj_85{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;border-radius:6px;margin-left:-5px;padding:3px 5px}._archiveFilter_1kvbj_84:hover,._archiveFilterActive_1kvbj_85{color:var(--text-2);background:var(--separator-soft)}._searchWrap_1kvbj_101{height:30px;color:var(--text-3);background:var(--separator-soft);border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;margin:0 10px 8px;padding:0 8px;display:flex}._searchWrap_1kvbj_101:focus-within{border-color:var(--brand);background:var(--surface)}._searchInput_1kvbj_119{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}._searchInput_1kvbj_119::placeholder{color:var(--text-3)}._newButton_1kvbj_133{width:22px;height:22px;color:var(--text-2);border-radius:6px;justify-content:center;align-items:center;font-size:15px;display:inline-flex}._newButton_1kvbj_133:hover{background:var(--separator-soft);color:var(--text)}._list_1kvbj_149{flex-direction:column;flex:1;gap:2px;min-height:0;padding:0 8px 12px;display:flex;overflow-y:auto}._empty_1kvbj_159{color:var(--text-3);padding:10px;font-size:12px}._row_1kvbj_165,._rowSelected_1kvbj_166{border-radius:var(--radius-md);align-items:center;display:flex;position:relative}._row_1kvbj_165:hover{background:var(--separator-soft)}._rowSelected_1kvbj_166{background:var(--brand-tint)}._rowMain_1kvbj_181{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 34px 8px 10px;display:flex}._titleLine_1kvbj_191{align-items:center;gap:4px;min-width:0;display:flex}._title_1kvbj_191{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;overflow:hidden}._pinIndicator_1kvbj_207{width:15px;height:15px;color:var(--text-3);flex:none;justify-content:center;align-items:center;display:inline-flex}._sub_1kvbj_217{color:var(--text-3);font-size:11.5px}._moreButton_1kvbj_222{width:26px;height:26px;color:var(--text-2);opacity:0;border-radius:7px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}._row_1kvbj_165:hover ._moreButton_1kvbj_222,._rowSelected_1kvbj_166 ._moreButton_1kvbj_222,._moreButton_1kvbj_222:focus-visible,._moreButton_1kvbj_222[aria-expanded=true]{opacity:1}._moreButton_1kvbj_222:hover{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}._actionMenu_1kvbj_249{z-index:80;background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-md);width:184px;box-shadow:var(--shadow-sheet);padding:5px;position:fixed}._menuItem_1kvbj_260,._menuItemDanger_1kvbj_261{text-align:left;border-radius:7px;align-items:center;gap:9px;width:100%;min-height:34px;padding:6px 8px;font-size:13px;display:flex}._menuItem_1kvbj_260:hover{background:var(--separator-soft)}._menuItemDanger_1kvbj_261{color:var(--danger)}._menuItemDanger_1kvbj_261:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}._menuItem_1kvbj_260:disabled,._menuItemDanger_1kvbj_261:disabled{opacity:.55;cursor:default}._menuSeparator_1kvbj_291{background:var(--separator);height:1px;margin:4px 3px}._dialogBackdrop_1kvbj_297{z-index:90;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000005c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}._dialog_1kvbj_297{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-lg);width:min(380px,100%);box-shadow:var(--shadow-sheet);flex-direction:column;gap:14px;padding:18px;display:flex}._dialogTitle_1kvbj_320{font-size:16px;font-weight:700}._dialogDescription_1kvbj_325{color:var(--text-2);overflow-wrap:anywhere;font-size:13px;line-height:1.45}._renameInput_1kvbj_332{background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--radius-sm);width:100%;padding:8px 10px}._renameInput_1kvbj_332:focus{outline:2px solid var(--brand-tint);border-color:var(--brand-fill)}._dialogActions_1kvbj_345{justify-content:flex-end;gap:8px;display:flex}._dialogCancel_1kvbj_351,._dialogPrimary_1kvbj_352,._dialogDelete_1kvbj_353{border-radius:8px;min-width:76px;padding:7px 13px;font-weight:600}._dialogCancel_1kvbj_351{color:var(--text-2);background:var(--surface-2)}._dialogPrimary_1kvbj_352{color:var(--on-brand);background:var(--brand-fill)}._dialogDelete_1kvbj_353{color:#fff;background:var(--danger)}._dialogCancel_1kvbj_351:disabled,._dialogPrimary_1kvbj_352:disabled,._dialogDelete_1kvbj_353:disabled{opacity:.55;cursor:default}@keyframes _sidebarPushIn_1kvbj_1{0%{opacity:.7;transform:translate(12px)}}@media (prefers-reduced-motion:reduce){._pane_1kvbj_1{animation:none}}@media (width<=899px){._pane_1kvbj_1{background:var(--content)}._profileHeader_1kvbj_11{min-height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0 8px;border-bottom:1px solid var(--separator-soft);background:color-mix(in srgb, var(--content) 92%, transparent)}._backButton_1kvbj_38{width:44px;height:44px;color:var(--brand-text)}._headerTitle_1kvbj_54{font-size:16px}._profileHero_1kvbj_19{padding:14px 16px 12px}._header_1kvbj_54{min-height:40px;padding:8px 20px 4px;font-size:12px}._newButton_1kvbj_133{width:36px;height:36px;color:var(--brand-text);margin:-8px -8px -8px 0;font-size:24px}._searchWrap_1kvbj_101{border-radius:11px;height:38px;margin:4px 16px 8px;padding:0 12px}._searchInput_1kvbj_119{font-size:16px}._list_1kvbj_149{gap:0;padding:0 0 12px}._row_1kvbj_165,._rowSelected_1kvbj_166{background:var(--content);border-radius:0;min-height:58px}._row_1kvbj_165+._row_1kvbj_165,._rowSelected_1kvbj_166+._row_1kvbj_165,._row_1kvbj_165+._rowSelected_1kvbj_166,._rowSelected_1kvbj_166+._rowSelected_1kvbj_166{border-top:1px solid var(--separator-soft)}._rowMain_1kvbj_181{min-height:58px;padding:8px 50px 8px 18px}._title_1kvbj_191{font-size:16px}._sub_1kvbj_217{font-size:13px}._moreButton_1kvbj_222{opacity:1;width:40px;height:40px;right:8px}}._control_1m6ib_1{background:var(--separator-soft);border-radius:var(--radius-md);gap:2px;padding:2px;display:inline-flex}._segment_1m6ib_9,._selected_1m6ib_10{color:var(--text-2);border-radius:8px;padding:4px 16px;font-size:13px;transition:color .12s}@media (width<=899px){._control_1m6ib_1{width:100%;min-height:36px}._segment_1m6ib_9,._selected_1m6ib_10{flex:1;justify-content:center;align-items:center;min-height:32px;padding:6px 16px;font-size:14px;display:inline-flex}}._segment_1m6ib_9:hover{color:var(--text)}._selected_1m6ib_10{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card);font-weight:600}._bar_ghxay_1{border-bottom:1px solid var(--separator-soft);background:color-mix(in srgb, var(--content) 94%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:45px;padding:7px 14px;display:grid}._leading_ghxay_12,._trailing_ghxay_13{align-items:center;gap:12px;min-width:0;display:flex}._trailing_ghxay_13{justify-content:flex-end}._toggle_79vby_1{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._toggle_79vby_1:hover{background:var(--separator-soft);color:var(--text)}._session_79vby_17{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}._files_15szh_1{gap:12px;max-width:720px;margin-top:18px;display:grid}._file_15szh_1{border:1px solid var(--separator);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}._download_15szh_13{text-align:left;width:100%;color:var(--text);align-items:center;gap:14px;padding:14px 16px;display:flex}._download_15szh_13:hover:not(:disabled){background:var(--surface-2)}._download_15szh_13:disabled{cursor:default;color:var(--text-3)}._download_15szh_13:focus-visible,._preview_15szh_24:focus-visible{outline:2px solid var(--brand-fill);outline-offset:-3px}._label_15szh_25{flex:1;gap:4px;min-width:0;display:grid}._name_15szh_26{overflow-wrap:anywhere;font-size:14px}._detail_15szh_27{color:var(--text-3);font-size:12px}._preview_15szh_24{cursor:zoom-in;width:100%;display:block}._preview_15szh_24 img{object-fit:contain;width:100%;max-height:480px;display:block}._placeholder_15szh_30{min-height:180px;color:var(--text-3);place-items:center;font-size:13px;display:grid}._notice_15szh_31{color:var(--text-3);margin:0;padding:0 16px 12px;font-size:12px}._card_672op_1,._cardRunning_672op_2{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:12px 14px;display:flex}._cardRunning_672op_2{border-color:var(--brand-tint);outline:3px solid var(--brand-tint)}._statusLine_672op_18{align-items:center;gap:10px;font-size:13px;display:flex}._spinner_672op_25{border:2px solid var(--brand-tint);border-top-color:var(--brand-fill);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.9s linear infinite _spin_672op_25}@keyframes _spin_672op_25{to{transform:rotate(360deg)}}._statusText_672op_41{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}._elapsed_672op_50{font-variant-numeric:tabular-nums;color:var(--text-3);font-size:12px}._cancel_672op_56{color:var(--brand-text);font-size:12.5px;font-weight:600}._cancel_672op_56:hover{color:var(--danger)}._footerLine_672op_66{color:var(--text-2);text-align:left;align-items:center;gap:8px;font-size:12.5px;display:flex}._footerText_672op_75{flex:1;min-width:0}._footerToggle_672op_80{color:var(--text-3);font-size:12px}._glyphOk_672op_85{color:var(--ok);font-weight:700}._glyphError_672op_90{color:var(--danger);font-weight:700}._glyphNeutral_672op_95{color:var(--text-3);font-weight:700}._details_672op_100{flex-direction:column;gap:6px;display:flex}._plan_672op_106{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}._planStep_672op_115{color:var(--text-2);gap:8px;font-size:12.5px;display:flex}._stepDone_672op_122{color:var(--ok)}._stepPending_672op_126{color:var(--text-3)}._rows_672op_130{flex-direction:column;gap:2px;display:flex}._toolRow_672op_136{align-items:baseline;gap:8px;padding:2px 0;font-size:12.5px;display:flex}._rowRunning_672op_144{color:var(--brand-text)}._rowDone_672op_148{color:var(--ok)}._rowError_672op_152{color:var(--danger)}._rowTool_672op_156{font-family:var(--font-mono);color:var(--text-2);flex-shrink:0;font-size:11.5px}._rowSummary_672op_163{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._steeringPill_672op_171{color:var(--text-2);background:var(--surface-2);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:12px}._denial_672op_180{color:var(--brand-text);font-size:12.5px}._error_672op_185{color:var(--danger);font-size:12.5px;font-family:var(--font-mono)}._answers_672op_191{border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;gap:4px;padding:7px 9px;display:flex}._answerRow_672op_200{grid-template-columns:minmax(100px,1fr) minmax(100px,1fr);gap:10px;font-size:12px;display:grid}._answerQuestion_672op_207{color:var(--text-3)}._answerValue_672op_211{color:var(--text-2);font-weight:600}._scroll_h4j38_1{flex:1;min-height:0;overflow-y:auto}._thread_h4j38_7{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;padding:24px 20px 12px;font-size:16px;display:flex}._empty_h4j38_17{text-align:center;color:var(--text-3);margin:auto;padding-top:18vh}._emptyTitle_h4j38_24{color:var(--text-2);font-size:20px;font-weight:700}._emptyHint_h4j38_30{margin-top:6px;font-size:13px}._userTurn_h4j38_35{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:6px;max-width:78%;display:flex}._userTurnEditing_h4j38_44{align-self:stretch;width:100%;max-width:none}._userAttachments_h4j38_50{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}._userImage_h4j38_57{border-radius:var(--radius-md);border:1px solid var(--separator-soft);object-fit:cover;max-width:220px;max-height:160px;display:block}._userImagePlaceholder_h4j38_66{border:1px solid var(--separator-soft);border-radius:var(--radius-md);background:var(--separator-soft);width:160px;height:120px;display:block}._userImageButton_h4j38_75{border-radius:var(--radius-md);cursor:zoom-in}._userImageButton_h4j38_75:focus-visible{outline:2px solid var(--brand-fill);outline-offset:2px}._userFile_h4j38_85{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--separator);color:var(--text-2);align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}._userBubble_h4j38_97{background:var(--surface-3);border-radius:var(--radius-lg);white-space:pre-wrap;overflow-wrap:break-word;padding:9px 14px;font-size:16px}._userActions_h4j38_106{opacity:0;pointer-events:none;justify-content:flex-end;align-items:center;gap:2px;min-height:28px;transition:opacity .12s;display:flex}._userTurn_h4j38_35:hover ._userActions_h4j38_106,._userTurn_h4j38_35:focus-within ._userActions_h4j38_106{opacity:1;pointer-events:auto}._userActionButton_h4j38_123{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-3);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._userActionButton_h4j38_123:hover,._userActionButton_h4j38_123:focus-visible{background:var(--separator-soft);color:var(--text)}@media (hover:none){._userActions_h4j38_106{opacity:1;pointer-events:auto}}._userEditor_h4j38_147{border-radius:var(--radius-lg);background:var(--surface-3);width:100%;padding:16px 16px 12px}._userEditorInput_h4j38_154{resize:none;width:100%;min-height:24px;max-height:320px;color:var(--text);font:inherit;white-space:pre-wrap;overflow-wrap:break-word;background:0 0;border:0;outline:0;padding:0;font-size:16px;line-height:1.5;display:block;overflow-y:auto}._userEditorActions_h4j38_173{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}._editorCancel_h4j38_180,._editorSend_h4j38_181{border:1px solid var(--separator);border-radius:999px;min-height:34px;padding:6px 16px;font-size:14px;font-weight:600}._editorCancel_h4j38_180{background:var(--surface);color:var(--text)}._editorSend_h4j38_181{border-color:var(--text);background:var(--text);color:var(--surface)}._editorCancel_h4j38_180:hover:not(:disabled){background:var(--separator-soft)}._editorSend_h4j38_181:hover:not(:disabled){opacity:.82}._editorCancel_h4j38_180:disabled,._editorSend_h4j38_181:disabled{opacity:.45;cursor:default}._skillToken_h4j38_215{color:var(--brand-text);font-weight:600}._assistant_h4j38_220{align-self:stretch}._downloadError_h4j38_224{color:var(--danger);margin-top:4px;font-size:12px}._cursor_h4j38_230{vertical-align:text-bottom;background:var(--brand-fill);border-radius:2px;width:7px;height:14px;margin-left:3px;animation:1s step-end infinite _blink_h4j38_1;display:inline-block}@keyframes _blink_h4j38_1{50%{opacity:0}}._notice_h4j38_247{background:var(--surface-2);color:var(--text-2);border-radius:999px;align-self:center;padding:5px 12px;font-size:12px}._noticeBlock_h4j38_257{border-radius:var(--radius-md);white-space:pre-line;text-align:left;align-self:stretch;width:100%;max-width:760px;margin:0 auto;padding:10px 14px;line-height:1.55}._notice_warn_h4j38_269{color:var(--brand-text)}._notice_error_h4j38_273{color:var(--danger)}._notice_info_h4j38_277{color:var(--text-2)}._responseFooter_h4j38_282{justify-content:flex-start;align-items:center;gap:8px;min-height:28px;margin-top:6px;display:flex}._meta_h4j38_291{color:var(--text-3);font-size:12px}._responseCopyButton_h4j38_296{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-3);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._responseCopyButton_h4j38_296:hover,._responseCopyButton_h4j38_296:focus-visible{background:var(--separator-soft);color:var(--text)}._thinking_h4j38_314{align-items:center;gap:12px;font-size:13px;display:flex}._thinkingLabel_h4j38_321{background:linear-gradient(90deg, var(--text-3) 35%, var(--text) 50%, var(--text-3) 65%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite _shimmer_h4j38_1}@keyframes _shimmer_h4j38_1{to{background-position:-200% 0}}._cancelLink_h4j38_336{color:var(--brand-text);font-size:12px;font-weight:600}@media (width<=899px){._scroll_h4j38_1{overscroll-behavior-y:contain}._thread_h4j38_7{gap:16px;width:100%;padding:18px 13px 10px}._empty_h4j38_17{padding:18vh 24px 0}._userTurn_h4j38_35{max-width:88%}._userBubble_h4j38_97{padding:9px 13px}._userImage_h4j38_57{max-width:min(260px,72vw);height:auto}._userActions_h4j38_106{opacity:1;pointer-events:auto}._userActionButton_h4j38_123,._responseCopyButton_h4j38_296{width:40px;height:40px}}._layout_8mym6_1{flex:1;min-height:0;display:flex}._mobileNavigation_8mym6_7{flex:1;min-width:0;min-height:0}._threadPane_8mym6_13{background:var(--content);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}._threadPane_8mym6_13[hidden]{display:none}._appsPane_8mym6_26{flex:1;min-width:0;min-height:0;display:flex}._appsPane_8mym6_26[hidden]{display:none}._dropOverlay_8mym6_37{z-index:10;border:2px dashed var(--brand-fill);border-radius:var(--radius-lg);background:var(--brand-tint);color:var(--brand-text);pointer-events:none;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex;position:absolute;inset:8px}._chooseProfile_8mym6_53{text-align:center;max-width:380px;color:var(--text-3);margin:auto;padding:24px}._chooseTitle_8mym6_61{color:var(--text-2);font-size:20px;font-weight:700}._chooseHint_8mym6_67{margin-top:6px;font-size:13px;line-height:1.55}@media (width<=899px){._layout_8mym6_1,._mobileNavigation_8mym6_7,._threadPane_8mym6_13{width:100%}._layout_8mym6_1{background:var(--canvas);overflow:hidden}._mobileNavigation_8mym6_7,._threadPane_8mym6_13{animation:.18s ease-out _mobilePushIn_8mym6_1}._dropOverlay_8mym6_37{display:none}}@keyframes _mobilePushIn_8mym6_1{0%{opacity:.72;transform:translate(18px)}}@media (prefers-reduced-motion:reduce){._mobileNavigation_8mym6_7,._threadPane_8mym6_13{animation:none}}._backdrop_124u2_1{z-index:90;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000005c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}._sheet_124u2_12{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-lg);width:min(520px,100%);max-height:min(680px,100vh - 48px);box-shadow:var(--shadow-sheet);flex-direction:column;display:flex;overflow:hidden}._header_124u2_24{border-bottom:1px solid var(--separator-soft);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}._title_124u2_34{font-size:16px;font-weight:700}._subtitle_124u2_39{color:var(--text-3);margin-top:3px;font-size:12px}._close_124u2_45{width:28px;height:28px;color:var(--text-2);border-radius:7px;place-items:center;font-size:20px;line-height:1;display:grid}._close_124u2_45:hover{color:var(--text);background:var(--surface-2)}._close_124u2_45:disabled{opacity:.45}._catalog_124u2_65{min-height:0;padding:8px;overflow-y:auto}._providerOption_124u2_71{border-radius:var(--radius-md);text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:9px 12px;display:flex}._providerOption_124u2_71:hover:not(:disabled),._providerOption_124u2_71:focus-visible{background:var(--brand-tint)}._providerOption_124u2_71:disabled{cursor:default}._optionText_124u2_91{align-items:baseline;gap:9px;min-width:0;display:flex}._optionName_124u2_98{color:var(--text);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:0 0 126px;font-size:12.5px;font-weight:650;overflow:hidden}._optionLabel_124u2_109{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}._kind_124u2_118,._configured_124u2_119{color:var(--text-3);flex:none;font-size:11px}._configured_124u2_119{color:var(--brand-text)}._providerOption_124u2_71:disabled ._optionName_124u2_98,._providerOption_124u2_71:disabled ._optionLabel_124u2_109{color:var(--text-3)}._empty_124u2_134{color:var(--text-3);text-align:center;padding:28px 16px;font-size:13px}._setup_124u2_141{flex-direction:column;gap:14px;min-height:0;padding:18px 20px 20px;display:flex;overflow-y:auto}._back_124u2_1{color:var(--brand-text);align-self:flex-start;font-size:12.5px;font-weight:600}._metadata_124u2_157{color:var(--text-3);background:var(--surface-2);border-radius:var(--radius-md);grid-template-columns:110px minmax(0,1fr);gap:7px 14px;padding:11px 12px;font-size:12px;display:grid}._metadata_124u2_157 code,._metadata_124u2_157 span:nth-child(4){color:var(--text-2)}._field_124u2_173{color:var(--text-2);flex-direction:column;gap:6px;font-size:12.5px;font-weight:550;display:flex}._field_124u2_173 input{width:100%;color:var(--text);background:var(--content);border:1px solid var(--separator);border-radius:var(--radius-md);outline:none;padding:8px 10px;font-size:13px;font-weight:400}._field_124u2_173 input:focus{border-color:var(--brand-fill)}._field_124u2_173 small{color:var(--text-3);font-size:11px;font-weight:400}._field_124u2_173>small{color:var(--danger)}._hint_124u2_208{color:var(--text-3);font-size:11.5px;line-height:1.45}._problem_124u2_214{color:var(--danger);font-size:12.5px}._actions_124u2_219{justify-content:flex-end;gap:8px;display:flex}._cancel_124u2_225,._add_124u2_226{border-radius:var(--radius-md);padding:7px 14px;font-size:13px;font-weight:600}._cancel_124u2_225{color:var(--text-2);background:var(--surface-2)}._add_124u2_226{color:var(--on-brand);background:var(--brand-fill);box-shadow:0 1px 3px var(--brand-shadow)}._cancel_124u2_225:disabled,._add_124u2_226:disabled{cursor:default;opacity:.45}@media (width<=560px){._backdrop_124u2_1{align-items:flex-end;padding:0}._sheet_124u2_12{width:100%;max-height:calc(100dvh - 12px);padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}._optionName_124u2_98{flex-basis:108px}._kind_124u2_118,._configured_124u2_119{display:none}._sheet_124u2_12 input,._sheet_124u2_12 select{min-height:44px;font-size:16px}}._page_ulemx_4{flex-direction:column;gap:18px;max-width:620px;margin:0 auto;display:flex}._empty_ulemx_12{text-align:center;color:var(--text-3);margin-top:20vh}._pageHeader_ulemx_18{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}._pageTitle_ulemx_25{font-size:19px;font-weight:700}._pageSub_ulemx_30{color:var(--text-3);margin-top:2px;font-size:12.5px}._pageActions_ulemx_36{gap:14px;display:flex}._linkAction_ulemx_41{color:var(--brand-text);font-size:12.5px;font-weight:600}._linkAction_ulemx_41:disabled{opacity:.5;cursor:default}._note_ulemx_52{color:var(--text-3);font-size:12.5px}._problem_ulemx_57{color:var(--danger);font-size:12.5px}._card_ulemx_62{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--separator-soft);flex-direction:column;padding:4px 16px;display:flex}._cardTitle_ulemx_71{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:12px 0 4px;font-size:12px;font-weight:600}._fieldRow_ulemx_80{border-bottom:1px solid var(--separator-soft);justify-content:space-between;align-items:center;gap:16px;padding:11px 0;display:flex}._fieldRow_ulemx_80:last-child{border-bottom:none}._fieldLabel_ulemx_93{flex-shrink:0;font-size:13px;font-weight:500}._fieldEdit_ulemx_99{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}._fieldStatic_ulemx_108{color:var(--text-2);text-align:right;font-size:12.5px}._fieldHint_ulemx_114{color:var(--text-3)}._input_ulemx_118{border:1px solid var(--separator);border-radius:var(--radius-md);background:var(--content);max-width:340px;color:var(--text);outline:none;flex:1;padding:6px 10px;font-size:12.5px}._input_ulemx_118:focus{border-color:var(--brand-fill)}._select_ulemx_134{border:1px solid var(--separator);border-radius:var(--radius-md);background-color:var(--content);width:260px;max-width:260px;color:var(--text);padding:6px 34px 6px 8px;font-size:12.5px}._addProviderSelect_ulemx_145{width:min(340px,65%);max-width:none}._saveAction_ulemx_150{color:var(--brand-text);flex-shrink:0;font-size:12.5px;font-weight:600}._saveAction_ulemx_150:disabled{opacity:.5;cursor:default}._segmented_ulemx_162{background:var(--surface-2);border-radius:9px;padding:2px;display:inline-flex}._segment_ulemx_162,._segmentActive_ulemx_170{min-width:54px;color:var(--text-3);border-radius:7px;padding:5px 9px;font-size:12px}._segmentActive_ulemx_170{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}._segment_ulemx_162:disabled,._segmentActive_ulemx_170:disabled{opacity:.5;cursor:default}._optionRow_ulemx_190{border-bottom:1px solid var(--separator-soft);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}._optionRow_ulemx_190:last-child{border-bottom:none}._optionName_ulemx_203{font-size:13px;font-family:var(--font-mono)}._defaultTag_ulemx_208{color:var(--brand-text);font-size:11px;font-weight:700;font-family:var(--font-ui)}._removeAction_ulemx_215{color:var(--text-3);font-size:15px;line-height:1}._removeAction_ulemx_215:hover{color:var(--danger)}._removeAction_ulemx_215:disabled{opacity:.5;cursor:default}._modelList_ulemx_230{flex-wrap:wrap;gap:6px;padding:8px 0 12px;display:flex}._modelChipStatic_ulemx_237{font-size:11.5px;font-family:var(--font-mono);background:var(--surface-2);color:var(--text-2);border-radius:999px;padding:3px 10px}._formActions_ulemx_246{justify-content:flex-end;gap:8px;display:flex}._cancelAction_ulemx_252{border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-2);padding:7px 14px;font-size:13px;font-weight:600}._primaryAction_ulemx_261{border-radius:var(--radius-md);background:var(--brand-fill);color:var(--on-brand);box-shadow:0 1px 3px var(--brand-shadow);padding:7px 14px;font-size:13px;font-weight:600}._primaryAction_ulemx_261:disabled,._cancelAction_ulemx_252:disabled{opacity:.5;cursor:default}._dangerCard_ulemx_277{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 24%, var(--separator-soft));justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}._dangerTitle_ulemx_288{font-size:13px;font-weight:650}._dangerDescription_ulemx_293,._dangerHint_ulemx_294{color:var(--text-3);margin-top:3px;font-size:11.5px;line-height:1.4}._dangerAction_ulemx_301{color:#fff;background:var(--danger);border-radius:8px;flex:none;padding:6px 12px;font-size:12px;font-weight:650}._dangerAction_ulemx_301:disabled{opacity:.45;cursor:default}._removeBackdrop_ulemx_316{z-index:90;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000005c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}._removeDialog_ulemx_327{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-lg);width:min(400px,100%);box-shadow:var(--shadow-sheet);flex-direction:column;gap:14px;padding:20px;display:flex}._removeDialogTitle_ulemx_339{font-size:16px;font-weight:700}._removeDialogDescription_ulemx_344{color:var(--text-2);font-size:13px;line-height:1.5}._commandBox_ulemx_350{min-width:0;color:var(--text);background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:9px 10px;display:flex}._commandBox_ulemx_350 code{overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}._commandCopy_ulemx_369{width:28px;height:28px;color:var(--text-2);border-radius:7px;flex:none;place-items:center;display:grid}._commandCopy_ulemx_369:hover{color:var(--text);background:var(--surface)}._reauthHint_ulemx_384{color:var(--text-3);font-size:11.5px;line-height:1.4}._removeConfirmLabel_ulemx_390{color:var(--text-2);flex-direction:column;gap:7px;font-size:12.5px;display:flex}._removeConfirmInput_ulemx_398{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--radius-sm);padding:8px 10px}._removeConfirmInput_ulemx_398:focus{outline:2px solid color-mix(in srgb, var(--danger) 24%, transparent);border-color:var(--danger)}._removeDialogActions_ulemx_412{justify-content:flex-end;gap:8px;display:flex}._removeDialogCancel_ulemx_418,._removeDialogDelete_ulemx_419{border-radius:8px;min-width:88px;padding:7px 13px;font-size:12.5px;font-weight:650}._removeDialogCancel_ulemx_418{color:var(--text-2);background:var(--surface-2)}._removeDialogDelete_ulemx_419{color:#fff;background:var(--danger)}._removeDialogCancel_ulemx_418:disabled,._removeDialogDelete_ulemx_419:disabled{opacity:.45;cursor:default}@media (width<=560px){._page_ulemx_4{gap:16px}._pageHeader_ulemx_18{align-items:center}._pageTitle_ulemx_25{font-size:18px}._card_ulemx_62{padding-inline:14px}._fieldRow_ulemx_80{flex-direction:column;align-items:stretch;gap:8px;padding:12px 0}._fieldLabel_ulemx_93,._optionName_ulemx_203{font-size:14px}._fieldEdit_ulemx_99{justify-content:stretch;width:100%}._fieldStatic_ulemx_108{text-align:left}._input_ulemx_118,._select_ulemx_134{width:100%;max-width:none;min-height:44px;font-size:16px}._saveAction_ulemx_150,._linkAction_ulemx_41,._removeAction_ulemx_215{min-width:44px;min-height:44px}._segmented_ulemx_162{width:100%}._segment_ulemx_162,._segmentActive_ulemx_170{flex:1;min-height:38px}._dangerCard_ulemx_277{flex-direction:column;align-items:stretch}._dangerAction_ulemx_301{min-height:44px}._removeBackdrop_ulemx_316{align-items:end;padding:0}._removeDialog_ulemx_327{width:100%;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}._removeConfirmInput_ulemx_398,._removeDialogCancel_ulemx_418,._removeDialogDelete_ulemx_419{min-height:44px;font-size:16px}}._backdrop_1vpt8_1{z-index:50;background:#00000052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._modal_1vpt8_11{background:var(--surface);border-radius:var(--radius-lg);width:min(360px,100vw - 48px);box-shadow:var(--shadow-sheet);flex-direction:column;align-items:center;gap:14px;padding:20px;display:flex}._title_1vpt8_23{align-self:flex-start;font-size:15px;font-weight:700}._hint_1vpt8_29{color:var(--text-3);align-self:flex-start;margin-top:-8px;font-size:12px}._viewport_1vpt8_36{background:var(--surface-2);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:50%;position:relative;overflow:hidden}._viewport_1vpt8_36:active{cursor:grabbing}._image_1vpt8_50{transform-origin:0 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;position:absolute;top:0;left:0}._mask_1vpt8_61{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000026}._zoomRow_1vpt8_69{width:100%;color:var(--text-3);align-items:center;gap:10px;font-size:15px;display:flex}._zoom_1vpt8_69{accent-color:var(--brand-fill);flex:1}._actions_1vpt8_83{justify-content:flex-end;gap:10px;width:100%;display:flex}._cancel_1vpt8_90,._save_1vpt8_91{border-radius:var(--radius-md,8px);cursor:pointer;padding:8px 14px;font-size:13px;font-weight:600}._cancel_1vpt8_90{color:var(--text-2);background:var(--surface-2)}._save_1vpt8_91{color:var(--on-brand);background:var(--brand-fill)}._cancel_1vpt8_90:disabled,._save_1vpt8_91:disabled{opacity:.5;cursor:default}._page_1by9r_1{flex-direction:column;gap:22px;max-width:620px;margin:0 auto;display:flex}._identity_1by9r_9{text-align:center;flex-direction:column;align-items:center;gap:10px;padding-top:4px;display:flex}._avatarButton_1by9r_19{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:inline-flex;position:relative;overflow:hidden}button._avatarButton_1by9r_19:disabled{cursor:default}._avatarOverlay_1by9r_35{color:#fff;opacity:0;background:#00000070;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;transition:opacity .12s;display:flex;position:absolute;inset:0}._avatarButton_1by9r_19:hover ._avatarOverlay_1by9r_35,._avatarButton_1by9r_19:focus-visible ._avatarOverlay_1by9r_35{opacity:1}._avatarOverlayIcon_1by9r_56{font-size:20px;line-height:1}._avatar_1by9r_19{background:var(--brand-fill);width:120px;height:120px;color:var(--on-brand);border-radius:50%;justify-content:center;align-items:center;font-size:50px;font-weight:700;display:inline-flex}._identityText_1by9r_74{flex-direction:column;gap:2px;display:flex}._avatarRemove_1by9r_80{color:var(--danger);font-size:12.5px;font-weight:600}._avatarRemove_1by9r_80:disabled{opacity:.5;cursor:default}._name_1by9r_91{letter-spacing:-.01em;font-size:20px;font-weight:700}._identitySub_1by9r_97{color:var(--text-3);font-size:12.5px}._group_1by9r_102{flex-direction:column;gap:8px;display:flex}._groupTitle_1by9r_108{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding-left:4px;font-size:11px;font-weight:600}._groupHint_1by9r_117{color:var(--text-3);padding-left:4px;font-size:11.5px}._advancedToggle_1by9r_123{width:100%;color:var(--text);text-align:left;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--separator-soft);justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}._advancedTitle_1by9r_137,._advancedHint_1by9r_138{display:block}._advancedTitle_1by9r_137{font-size:13px;font-weight:600}._advancedHint_1by9r_138{color:var(--text-3);margin-top:2px;font-size:11.5px}._advancedChevron_1by9r_153{color:var(--text-3);flex:none}._advancedGroups_1by9r_158{flex-direction:column;gap:22px;display:flex}._card_1by9r_164{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--separator-soft);overflow:hidden}._rowLine_1by9r_171{justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}._rowLine_1by9r_171+._rowLine_1by9r_171{border-top:1px solid var(--separator-soft)}._rowLabel_1by9r_183{font-size:13px}._rowValue_1by9r_187{color:var(--text-2);font-size:13px}._profileName_1by9r_192{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}._fieldEdit_1by9r_201{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}._fieldEdit_1by9r_201 ._input_1by9r_210{text-align:right;flex:1;max-width:340px}._saveAction_1by9r_216{color:var(--brand-text);flex-shrink:0;font-size:12.5px;font-weight:600}._saveAction_1by9r_216:disabled{cursor:default;opacity:.5}._segments_1by9r_228{background:var(--separator-soft);border-radius:8px;padding:2px;font-size:12px;display:inline-flex}._segment_1by9r_228,._segmentSelected_1by9r_237{color:var(--text-3);border-radius:6px;padding:3px 12px}._segmentSelected_1by9r_237{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card);font-weight:600}._memoryRow_1by9r_250{justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}._memoryBody_1by9r_258{flex-direction:column;gap:3px;min-width:0;display:flex}._memoryActions_1by9r_265{flex-shrink:0;gap:6px;display:inline-flex}._memoryRow_1by9r_250+._memoryRow_1by9r_250{border-top:1px solid var(--separator-soft)}._memoryText_1by9r_275{font-size:13px}._memoryMeta_1by9r_279{color:var(--text-3);font-size:11.5px}._emptyRow_1by9r_284{color:var(--text-3);padding:12px 16px;font-size:12.5px}._folderRow_1by9r_290{justify-content:space-between;align-items:center;gap:12px;padding:6px 16px 10px;font-size:12px;display:flex}._folderAdd_1by9r_299{border-top:1px solid var(--separator-soft);gap:8px;padding:10px 16px 12px;display:flex}._select_1by9r_306,._input_1by9r_210{font:inherit;color:var(--text);background-color:var(--surface);border:1px solid var(--separator-soft);border-radius:8px;padding:4px 8px;font-size:12.5px}._select_1by9r_306{padding-right:34px}._input_1by9r_210{flex:1;min-width:0}._smallButton_1by9r_326,._smallButtonPrimary_1by9r_327,._smallButtonDanger_1by9r_328{font:inherit;border:1px solid var(--separator-soft);background:var(--surface);color:var(--text-2);cursor:pointer;border-radius:7px;padding:3px 10px;font-size:11.5px}._smallButton_1by9r_326:disabled,._smallButtonPrimary_1by9r_327:disabled,._smallButtonDanger_1by9r_328:disabled{opacity:.5;cursor:default}._smallButtonPrimary_1by9r_327{background:var(--brand-fill);color:var(--on-brand);border-color:#0000;font-weight:600}._smallButtonDanger_1by9r_328{color:var(--danger,#c33)}._inheritButton_1by9r_357{font:inherit;border:1px solid var(--separator-soft);color:var(--text-3);cursor:pointer;background:0 0;border-radius:6px;margin-left:8px;padding:1px 7px;font-size:10.5px}._inheritedTag_1by9r_369,._dirtyTag_1by9r_370{color:var(--text-3);margin-left:8px;font-size:10.5px}._fileEditor_1by9r_376{flex-direction:column;gap:8px;padding:12px 16px;display:flex}._textarea_1by9r_383{font-family:var(--font-mono,ui-monospace, monospace);color:var(--text);background:var(--surface-2,var(--surface));border:1px solid var(--separator-soft);resize:vertical;white-space:pre-wrap;border-radius:8px;padding:8px 10px;font-size:12px}._editorActions_1by9r_395{justify-content:flex-end;gap:8px;display:flex}._fileBlock_1by9r_401{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--separator-soft);overflow:hidden}._fileContent_1by9r_408{color:var(--text-2);white-space:pre-wrap;overflow-wrap:break-word;margin:0;padding:0 16px 12px;font-size:12px}._avatarInput_1by9r_417{display:none}._dangerCard_1by9r_421{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 24%, var(--separator-soft));justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}._dangerTitle_1by9r_432{font-size:13px;font-weight:650}._dangerDescription_1by9r_437{color:var(--text-3);margin-top:3px;font-size:11.5px;line-height:1.4}._removeProfileButton_1by9r_444{color:#fff;background:var(--danger);border-radius:8px;flex:none;padding:6px 12px;font-size:12px;font-weight:650}._removeProfileButton_1by9r_444:disabled{opacity:.45;cursor:default}._removeBackdrop_1by9r_459{z-index:90;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000005c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}._removeDialog_1by9r_470{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-lg);width:min(400px,100%);box-shadow:var(--shadow-sheet);flex-direction:column;gap:14px;padding:20px;display:flex}._removeDialogTitle_1by9r_482{font-size:16px;font-weight:700}._removeDialogDescription_1by9r_487{color:var(--text-2);font-size:13px;line-height:1.5}._removeConfirmLabel_1by9r_493{color:var(--text-2);flex-direction:column;gap:7px;font-size:12.5px;display:flex}._removeConfirmInput_1by9r_501{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--radius-sm);padding:8px 10px}._removeConfirmInput_1by9r_501:focus{outline:2px solid color-mix(in srgb, var(--danger) 24%, transparent);border-color:var(--danger)}._removeDialogActions_1by9r_515{justify-content:flex-end;gap:8px;display:flex}._removeDialogCancel_1by9r_521,._removeDialogDelete_1by9r_522{border-radius:8px;min-width:88px;padding:7px 13px;font-size:12.5px;font-weight:650}._removeDialogCancel_1by9r_521{color:var(--text-2);background:var(--surface-2)}._removeDialogDelete_1by9r_522{color:#fff;background:var(--danger)}._removeDialogCancel_1by9r_521:disabled,._removeDialogDelete_1by9r_522:disabled{opacity:.45;cursor:default}@media (width<=560px){._page_1by9r_1{gap:18px}._identity_1by9r_9{padding-top:0}._rowLine_1by9r_171{flex-wrap:wrap;min-height:48px;padding:11px 14px}._rowLabel_1by9r_183,._rowValue_1by9r_187,._profileName_1by9r_192,._memoryText_1by9r_275{font-size:14px}._fieldEdit_1by9r_201{flex-basis:100%;width:100%}._fieldEdit_1by9r_201 ._input_1by9r_210{text-align:left;max-width:none;min-height:44px}._select_1by9r_306,._input_1by9r_210,._textarea_1by9r_383,._removeConfirmInput_1by9r_501{min-height:44px;font-size:16px}._segments_1by9r_228{width:100%}._segment_1by9r_228,._segmentSelected_1by9r_237{flex:1;min-height:38px}._smallButton_1by9r_326,._smallButtonPrimary_1by9r_327,._smallButtonDanger_1by9r_328,._saveAction_1by9r_216{min-height:40px;padding-inline:12px;font-size:13px}._memoryRow_1by9r_250,._folderRow_1by9r_290{flex-direction:column;align-items:stretch}._memoryActions_1by9r_265{justify-content:flex-end}._folderAdd_1by9r_299{flex-direction:column}._dangerCard_1by9r_421{flex-direction:column;align-items:stretch}._removeProfileButton_1by9r_444{min-height:44px}._removeBackdrop_1by9r_459{align-items:end;padding:0}._removeDialog_1by9r_470{width:100%;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}._removeDialogCancel_1by9r_521,._removeDialogDelete_1by9r_522{min-height:44px;font-size:16px}._avatarOverlay_1by9r_35{opacity:1}}._layout_12z4p_1{flex:1;min-height:0;display:flex}._mobileLevel_12z4p_7{flex:1;min-width:0;min-height:0}._sections_12z4p_14{background:var(--canvas);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._settingsHeader_12z4p_23{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;font-weight:600;display:flex}._doneButton_12z4p_35{color:var(--brand-text);letter-spacing:normal;text-transform:none;font-size:12px;font-weight:500}._doneButton_12z4p_35:hover{color:var(--text)}._sectionRows_12z4p_47{flex-direction:column;flex:1;min-height:0;padding:0 8px 12px;display:flex;overflow-y:auto}._row_12z4p_56,._rowSelected_12z4p_57{border-radius:var(--radius-md);text-align:left;padding:7px 10px;font-size:13px;font-weight:500}._row_12z4p_56:hover{background:var(--separator-soft)}._rowSelected_12z4p_57{background:var(--brand-tint);font-weight:600}._items_12z4p_75{border-right:1px solid var(--separator-soft);background:var(--canvas);flex-direction:column;flex-shrink:0;width:220px;padding:0 8px 12px;display:flex;overflow-y:auto}._itemsHeader_12z4p_86{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;padding:14px 8px 8px;font-size:11px;font-weight:600;display:flex}._newButton_12z4p_98{width:22px;height:22px;color:var(--text-2);border-radius:6px;justify-content:center;align-items:center;font-size:15px;display:inline-flex}._newButton_12z4p_98:hover{background:var(--separator-soft);color:var(--text)}._itemRow_12z4p_114,._itemRowSelected_12z4p_115{border-radius:var(--radius-md);text-align:left;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:flex}._itemRow_12z4p_114:hover{background:var(--separator-soft)}._itemRowSelected_12z4p_115{background:var(--brand-tint);font-weight:600}._itemName_12z4p_134{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._itemSub_12z4p_141{color:var(--text-3);flex-shrink:0;margin-left:auto;font-size:11px}._dotOk_12z4p_148,._dotBad_12z4p_149,._dotUnknown_12z4p_150{border-radius:50%;flex-shrink:0;width:8px;height:8px}._dotOk_12z4p_148{background:var(--ok)}._dotBad_12z4p_149{background:var(--danger)}._dotUnknown_12z4p_150{background:var(--text-3)}._page_12z4p_170{background:var(--content);flex:1;min-width:0;padding:24px;overflow-y:auto}._pageBody_12z4p_178{min-width:0}._mobileAddButton_12z4p_182{width:44px;height:44px;color:var(--brand-text);justify-content:flex-end;align-items:center;font-size:28px;font-weight:300;display:inline-flex}._problem_12z4p_193{max-width:620px;color:var(--danger);margin:0 auto 16px;font-size:13px}._empty_12z4p_200{text-align:center;color:var(--text-3);margin-top:20vh}@media (width<=899px){._layout_12z4p_1,._mobileLevel_12z4p_7,._sections_12z4p_14,._items_12z4p_75,._page_12z4p_170{width:100%}._layout_12z4p_1{background:var(--canvas);overflow:hidden}._mobileLevel_12z4p_7,._items_12z4p_75,._page_12z4p_170{animation:.18s ease-out _mobileConfigPushIn_12z4p_1}._sections_12z4p_14{background:var(--canvas)}._sectionRows_12z4p_47{border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 1px var(--separator-soft);flex:0 auto;margin:18px 12px;padding:0;overflow:hidden}._row_12z4p_56,._rowSelected_12z4p_57{background:var(--surface);min-height:48px;color:var(--text);letter-spacing:normal;text-transform:none;border-radius:0;justify-content:space-between;align-items:center;padding:0 14px;font-size:16px;font-weight:500;display:flex}._row_12z4p_56+._row_12z4p_56,._rowSelected_12z4p_57+._row_12z4p_56,._row_12z4p_56+._rowSelected_12z4p_57,._rowSelected_12z4p_57+._rowSelected_12z4p_57{border-top:1px solid var(--separator-soft)}._row_12z4p_56 svg,._rowSelected_12z4p_57 svg{color:var(--text-3)}._items_12z4p_75{height:100%;padding:0 0 calc(16px + env(safe-area-inset-bottom));background:var(--content);border-right:0}._itemRow_12z4p_114,._itemRowSelected_12z4p_115{border-bottom:1px solid var(--separator-soft);background:var(--content);border-radius:0;min-height:56px;padding:8px 16px;font-size:16px}._itemRowSelected_12z4p_115{color:var(--text);font-weight:600}._page_12z4p_170{background:var(--canvas);height:100%;padding:0}._pageBody_12z4p_178{padding:20px 16px calc(36px + env(safe-area-inset-bottom))}}@keyframes _mobileConfigPushIn_12z4p_1{0%{opacity:.72;transform:translate(18px)}}@media (prefers-reduced-motion:reduce){._mobileLevel_12z4p_7,._items_12z4p_75,._page_12z4p_170{animation:none}}._shell_1n4bm_1{height:var(--marifold-viewport-height,100%);flex-direction:column;display:flex}._content_1n4bm_7{flex:1;min-height:0;display:flex}._placeholder_1n4bm_13{text-align:center;color:var(--text-3);margin:auto}._placeholderTitle_1n4bm_19{color:var(--text-2);text-transform:capitalize;font-size:22px;font-weight:700}._placeholderHint_1n4bm_26{margin-top:6px;font-size:13px}@media (width<=899px){._shell_1n4bm_1{width:100%;min-width:0;transform:translateY(var(--marifold-viewport-offset-top,0));overflow:hidden}._content_1n4bm_7{width:100%;min-width:0;overflow:hidden}}._workspaceNotice_1n4bm_46{background:var(--surface-2);color:var(--text-2);justify-content:space-between;gap:16px;padding:8px 16px;font-size:12px;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-fill:#eaa221;--on-brand:#2e2205;--brand-text:var(--lightningcss-light,#c08110)var(--lightningcss-dark,#f0af3a);--brand-deep:#d98e08;--brand-tint:var(--lightningcss-light,#eaa2211f)var(--lightningcss-dark,#f0af3a26);--brand-shadow:#eaa22166;--canvas:var(--lightningcss-light,#f0f0ee)var(--lightningcss-dark,#242426);--content:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1c1c1e);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2c2c2e);--surface-2:var(--lightningcss-light,#f5f5f7)var(--lightningcss-dark,#323235);--surface-3:var(--lightningcss-light,#e9e9eb)var(--lightningcss-dark,#3a3a3c);--text:var(--lightningcss-light,#1d1d1f)var(--lightningcss-dark,#f5f5f7);--text-2:var(--lightningcss-light,#515154)var(--lightningcss-dark,#b0b0b5);--text-3:var(--lightningcss-light,#86868b)var(--lightningcss-dark,#98989d);--separator:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff1a);--separator-soft:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff0f);--ok:var(--lightningcss-light,#28a745)var(--lightningcss-dark,#34c759);--danger:var(--lightningcss-light,#d2402e)var(--lightningcss-dark,#ff6b5e);--shadow-card:0 1px 3px var(--lightningcss-light,#00000014)var(--lightningcss-dark,#00000080);--shadow-sheet:0 8px 32px var(--lightningcss-light,#00000024)var(--lightningcss-dark,#0009);--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:13px;line-height:1.45}@media (width<=899px){html,body,#root{width:100%;overflow:hidden}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input,textarea,select{touch-action:manipulation}}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23515154' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:10px 6px}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23b0b0b5' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme]) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23b0b0b5' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}input,textarea{font:inherit;color:inherit}code,pre{font-family:var(--font-mono);font-size:12px}::selection{background:var(--brand-tint)}
|