@gitroll/tacitt-cli 0.4.1 → 0.5.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/{agent-setup-Cb_spmGb.mjs → agent-setup-BZbgLgHg.mjs} +2 -2
- package/dist/agent-setup-worker.mjs +5 -5
- package/dist/cli.mjs +37 -10
- package/dist/codex-title-worker.mjs +1 -1
- package/dist/configured-preview-worker.mjs +5 -5
- package/dist/configured-session-worker.mjs +5 -5
- package/dist/{frame-waS5FnN5.mjs → frame-DGun31Uc.mjs} +1 -1
- package/dist/{heap-eZTo0VYj.mjs → heap-NDnGBXH6.mjs} +6 -6
- package/dist/inspection-worker.mjs +4 -4
- package/dist/{job-Bi57uRU-.mjs → job-BO0a67HQ.mjs} +383 -8
- package/dist/{locate-U3-nkird.mjs → locate-JYtFmKu-.mjs} +120 -3
- package/dist/{model-BDrntocp.mjs → model-CmHypB0p.mjs} +1 -1
- package/dist/operation-executor.mjs +3 -3
- package/dist/preview-worker.mjs +1 -1
- package/dist/privacy-validator.mjs +1 -1
- package/dist/{query-7uY266qY.mjs → query-BZvNsP1u.mjs} +1272 -265
- package/dist/{run-CV6Io7CS.mjs → run-DvRM-NR8.mjs} +4 -4
- package/dist/{src-DSDRF7i6.mjs → src-C1SjCDx0.mjs} +65 -4
- package/dist/{src-DIuh0LHk.mjs → src-CQeUBG2Y.mjs} +168 -7
- package/dist/{src-BESjwh7X.mjs → src-xidy0yF7.mjs} +5 -4
- package/dist/store-database-worker.mjs +1 -1
- package/dist/web/assets/index-Bbck2aOB.css +1 -0
- package/dist/web/assets/index-D0j-mvf1.js +69 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/skills/tacitt/SKILL.md +4 -4
- package/skills/tacitt/references/INDEX.md +11 -10
- package/skills/tacitt/references/commands.md +13 -0
- package/skills/tacitt/references/journey.md +4 -4
- package/skills/tacitt/references/remote-workers.md +46 -0
- package/skills/tacitt/references/send.md +41 -11
- package/skills/tacitt/scripts/INDEX.md +36 -36
- package/skills/tacitt/scripts/journey-card-consolidation.mjs +2 -4
- package/skills/tacitt/scripts/journey-state.d.mts +30 -0
- package/skills/tacitt/scripts/journey-state.mjs +56 -3
- package/skills/tacitt/scripts/journey-tasks.d.mts +8 -0
- package/skills/tacitt/scripts/journey-tasks.mjs +4 -1
- package/skills/tacitt/scripts/privacy-validator.mjs +78 -3
- package/skills/tacitt/scripts/review.mjs +36 -5
- package/dist/web/assets/index-D5DEG5Ue.css +0 -1
- package/dist/web/assets/index-Dh4iG6x2.js +0 -69
|
@@ -15,6 +15,14 @@ export function task(
|
|
|
15
15
|
format?: (value: unknown) => string,
|
|
16
16
|
): Promise<JourneyTask>
|
|
17
17
|
|
|
18
|
+
export function createTasks(
|
|
19
|
+
directory: string,
|
|
20
|
+
stage: string,
|
|
21
|
+
view: { journeyId: string; works: readonly { id: string; title: string }[] },
|
|
22
|
+
call: (method: string, input: unknown) => Promise<unknown>,
|
|
23
|
+
options?: { batch?: boolean },
|
|
24
|
+
): Promise<(JourneyTask & { termKeys: string[] })[]>
|
|
25
|
+
|
|
18
26
|
export function answers(tasks: readonly JourneyTask[], key: string): Promise<unknown[]>
|
|
19
27
|
|
|
20
28
|
export function taskTokens(
|
|
@@ -3,7 +3,7 @@ import { readFile } from 'node:fs/promises'
|
|
|
3
3
|
import { createHash } from 'node:crypto'
|
|
4
4
|
import { fileURLToPath } from 'node:url'
|
|
5
5
|
import { readPlan, parseReply, estimateTokens } from './review.mjs'
|
|
6
|
-
import { hash, save } from './journey-state.mjs'
|
|
6
|
+
import { cardBatchHeldValues, hash, save } from './journey-state.mjs'
|
|
7
7
|
|
|
8
8
|
const shellQuote = (value) => `'${value.replaceAll("'", "'\\''")}'`
|
|
9
9
|
const cardFormat = ({ works, terms }) =>
|
|
@@ -86,9 +86,12 @@ export async function createTasks(directory, stage, view, call, { batch = false
|
|
|
86
86
|
const guidance = stage === 'resolution' ? await call('review.guidance', { journeyId }) : null
|
|
87
87
|
// A card batch drafts only values no published card covers yet (D3).
|
|
88
88
|
const covered = new Set(batch ? cards.cards.flatMap((card) => card.termKeys) : [])
|
|
89
|
+
// ADR 0234: a batch drafts at most `cardBatchHeldValues` values, so its global consolidation
|
|
90
|
+
// stays under the 90,000-token bound; the rest stay uncovered for the next batch.
|
|
89
91
|
const pending = cards.terms
|
|
90
92
|
.filter((term) => term.disposition === 'pending' && !covered.has(term.key))
|
|
91
93
|
.sort((a, b) => a.type.localeCompare(b.type))
|
|
94
|
+
.slice(0, batch ? cardBatchHeldValues : undefined)
|
|
92
95
|
// Card drafting groups by meaning: a short ref replaces the long key, one excerpt replaces
|
|
93
96
|
// full source evidence. The publisher maps refs back to exact keys.
|
|
94
97
|
const compact = (term, index) => {
|
|
@@ -877,7 +877,7 @@ const uuid$1 = (version) => {
|
|
|
877
877
|
return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
|
|
878
878
|
};
|
|
879
879
|
/** Practical email validation */
|
|
880
|
-
const email = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
|
|
880
|
+
const email$1 = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
|
|
881
881
|
const _emoji$1 = `^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;
|
|
882
882
|
function emoji() {
|
|
883
883
|
return new RegExp(_emoji$1, "u");
|
|
@@ -1471,7 +1471,7 @@ const $ZodUUID = /*@__PURE__*/ $constructor("$ZodUUID", (inst, def) => {
|
|
|
1471
1471
|
$ZodStringFormat.init(inst, def);
|
|
1472
1472
|
});
|
|
1473
1473
|
const $ZodEmail = /*@__PURE__*/ $constructor("$ZodEmail", (inst, def) => {
|
|
1474
|
-
def.pattern ?? (def.pattern = email);
|
|
1474
|
+
def.pattern ?? (def.pattern = email$1);
|
|
1475
1475
|
$ZodStringFormat.init(inst, def);
|
|
1476
1476
|
});
|
|
1477
1477
|
/** Parses a URL for `$ZodURL`, applying the one guard the URL constructor cannot express. Returns the parsed URL, or a code naming the stage that rejected it — the runtime needs that distinction to pick an issue note, and compiled code only needs to know it is not a URL. */
|
|
@@ -4599,6 +4599,9 @@ const ZodEmail = /*@__PURE__*/ $constructor("ZodEmail", (inst, def) => {
|
|
|
4599
4599
|
$ZodEmail.init(inst, def);
|
|
4600
4600
|
ZodStringFormat.init(inst, def);
|
|
4601
4601
|
});
|
|
4602
|
+
function email(params) {
|
|
4603
|
+
return /* @__PURE__ */ _email(ZodEmail, params);
|
|
4604
|
+
}
|
|
4602
4605
|
const ZodGUID = /*@__PURE__*/ $constructor("ZodGUID", (inst, def) => {
|
|
4603
4606
|
$ZodGUID.init(inst, def);
|
|
4604
4607
|
ZodStringFormat.init(inst, def);
|
|
@@ -4877,6 +4880,14 @@ function object(shape, params) {
|
|
|
4877
4880
|
};
|
|
4878
4881
|
return new ZodObject(def);
|
|
4879
4882
|
}
|
|
4883
|
+
function looseObject(shape, params) {
|
|
4884
|
+
return new ZodObject({
|
|
4885
|
+
type: "object",
|
|
4886
|
+
shape,
|
|
4887
|
+
catchall: unknown(),
|
|
4888
|
+
...normalizeParams(params)
|
|
4889
|
+
});
|
|
4890
|
+
}
|
|
4880
4891
|
const ZodUnion = /*@__PURE__*/ $constructor("ZodUnion", (inst, def) => {
|
|
4881
4892
|
$ZodUnion.init(inst, def);
|
|
4882
4893
|
ZodType.init(inst, def);
|
|
@@ -5182,6 +5193,64 @@ const classificationTitleMaskSchema = object({
|
|
|
5182
5193
|
}).strict()
|
|
5183
5194
|
}).strict();
|
|
5184
5195
|
//#endregion
|
|
5196
|
+
//#region packages/application/src/journey/profile.ts
|
|
5197
|
+
/**
|
|
5198
|
+
* Passport's own rules (talent-platform `profile-settings.ts`): 1 to 39 letters and digits with
|
|
5199
|
+
* single hyphens between them, matched case-insensitively; the typed case is kept.
|
|
5200
|
+
*/
|
|
5201
|
+
const passportAddressSchema = string().min(1).max(39).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/i);
|
|
5202
|
+
const passportLinksSchema = array(string().max(2048).refine((value) => {
|
|
5203
|
+
if (value.startsWith("mailto:")) return email().max(254).safeParse(value.slice(7)).success;
|
|
5204
|
+
if (!URL.canParse(value)) return false;
|
|
5205
|
+
const url = new URL(value);
|
|
5206
|
+
return ["https:", "http:"].includes(url.protocol) && !!url.hostname && !url.username && !url.password && !/\s/.test(value);
|
|
5207
|
+
})).max(5);
|
|
5208
|
+
/**
|
|
5209
|
+
* The address and links the person chose in this Journey (ADR 0246). Nothing here reaches
|
|
5210
|
+
* Passport before Send; the Send writes it before the first Work upload.
|
|
5211
|
+
*/
|
|
5212
|
+
const journeyProfileSchema = object({
|
|
5213
|
+
/** The kept address; null until the person keeps one. */
|
|
5214
|
+
address: passportAddressSchema.nullable(),
|
|
5215
|
+
/** The complete list of links the profile should show. */
|
|
5216
|
+
links: passportLinksSchema,
|
|
5217
|
+
/** `later` comes back once on the Sent page; `declined` is that second Later. */
|
|
5218
|
+
linksChoice: _enum([
|
|
5219
|
+
"added",
|
|
5220
|
+
"later",
|
|
5221
|
+
"declined"
|
|
5222
|
+
]).nullable()
|
|
5223
|
+
}).strict();
|
|
5224
|
+
object({
|
|
5225
|
+
kind: literal("profile-address"),
|
|
5226
|
+
address: passportAddressSchema
|
|
5227
|
+
}).strict();
|
|
5228
|
+
object({
|
|
5229
|
+
kind: literal("profile-links"),
|
|
5230
|
+
links: passportLinksSchema,
|
|
5231
|
+
/** `later` comes back once on the Sent page; `declined` is that page's final Later. */
|
|
5232
|
+
choice: _enum([
|
|
5233
|
+
"added",
|
|
5234
|
+
"later",
|
|
5235
|
+
"declined"
|
|
5236
|
+
])
|
|
5237
|
+
}).strict();
|
|
5238
|
+
object({
|
|
5239
|
+
publicId: string().min(1).max(64),
|
|
5240
|
+
/** Loose, so a setting Passport adds later goes back unchanged with the next save. */
|
|
5241
|
+
profile: looseObject({
|
|
5242
|
+
address: union([literal(""), passportAddressSchema]),
|
|
5243
|
+
links: passportLinksSchema,
|
|
5244
|
+
contact: _enum([
|
|
5245
|
+
"account",
|
|
5246
|
+
"other",
|
|
5247
|
+
"hidden"
|
|
5248
|
+
]),
|
|
5249
|
+
contactEmail: string().max(254)
|
|
5250
|
+
}),
|
|
5251
|
+
accountEmail: string().max(254)
|
|
5252
|
+
});
|
|
5253
|
+
//#endregion
|
|
5185
5254
|
//#region packages/processing/src/errors.ts
|
|
5186
5255
|
var ProcessingError = class extends Error {
|
|
5187
5256
|
code;
|
|
@@ -9195,6 +9264,8 @@ const sourcePartSchema = object({
|
|
|
9195
9264
|
id: string(),
|
|
9196
9265
|
path: string(),
|
|
9197
9266
|
root: string(),
|
|
9267
|
+
/** Original harness-home-relative name, preserved before resolving a linked discovery root. */
|
|
9268
|
+
harnessRelativePath: string().min(1).max(16384).optional(),
|
|
9198
9269
|
representation: _enum(["jsonl", "jsonl.zst"]),
|
|
9199
9270
|
snapshot: fileSnapshotSchema,
|
|
9200
9271
|
nativeEvidence: nativeSourceEvidenceSchema.optional()
|
|
@@ -9229,6 +9300,8 @@ const sessionSchema = object({
|
|
|
9229
9300
|
harness: _enum(["claude", "codex"]),
|
|
9230
9301
|
sourceKey: string(),
|
|
9231
9302
|
sourceSessionId: string().nullable(),
|
|
9303
|
+
/** Journey-private remote import association, never inferred from a worker log. */
|
|
9304
|
+
remoteParentSessionId: string().optional(),
|
|
9232
9305
|
title: string(),
|
|
9233
9306
|
createdAt: string().nullable(),
|
|
9234
9307
|
lastInteractionAt: string().nullable().optional(),
|
|
@@ -9975,7 +10048,9 @@ object({
|
|
|
9975
10048
|
/** Set when the person abandoned this Journey in chat; a new start may then replace it. */
|
|
9976
10049
|
abandonedAt: datetime().optional(),
|
|
9977
10050
|
/** Sessions whose last activity lies in this period (ADR 0206); absent means all. */
|
|
9978
|
-
period: sessionPeriodSchema.optional()
|
|
10051
|
+
period: sessionPeriodSchema.optional(),
|
|
10052
|
+
/** The Passport address and links chosen in this Journey (ADR 0246); absent means none yet. */
|
|
10053
|
+
profile: journeyProfileSchema.optional()
|
|
9979
10054
|
}).strict();
|
|
9980
10055
|
//#endregion
|
|
9981
10056
|
//#region packages/application/src/journey/b/model.ts
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
cardBatch,
|
|
3
|
+
cardBatchDue,
|
|
4
|
+
cardBatchDueAt,
|
|
5
|
+
nextCardsWait,
|
|
6
|
+
phaseOf,
|
|
7
|
+
uncoveredPending,
|
|
8
|
+
} from './journey-state.mjs'
|
|
2
9
|
import { startReviewStream } from './review-stream-client.mjs'
|
|
3
10
|
import { createHash, randomUUID } from 'node:crypto'
|
|
4
11
|
import {
|
|
@@ -1071,17 +1078,22 @@ async function outstandingPacks(ctx) {
|
|
|
1071
1078
|
*/
|
|
1072
1079
|
async function autoRefill(ctx, options) {
|
|
1073
1080
|
const until = Math.min(Date.now() + Number(options['wait-ms'] ?? 0), ctx.readDeadline)
|
|
1081
|
+
// ADR 0234: a card batch can come due on time alone; neither gathering slots nor waiting for a
|
|
1082
|
+
// child holds it back past that time.
|
|
1083
|
+
await progressOf(ctx)
|
|
1084
|
+
const wake = () => Math.min(until, ctx.cardsDueAt ?? until)
|
|
1074
1085
|
// A slow pass can outlast the wait while a child publishes; ingest that answer once more
|
|
1075
1086
|
// rather than returning idle and leaving its slot unused until the next call.
|
|
1076
1087
|
let lastPass = false
|
|
1077
1088
|
for (;;) {
|
|
1078
|
-
if (!lastPass) await gatherSlots(ctx,
|
|
1089
|
+
if (!lastPass) await gatherSlots(ctx, wake())
|
|
1079
1090
|
const result = await ingestAndRefill(ctx, options)
|
|
1080
1091
|
const idle =
|
|
1081
1092
|
!result.ingested.length &&
|
|
1082
1093
|
!result.packs.length &&
|
|
1083
1094
|
!result.paused &&
|
|
1084
1095
|
!result.continue &&
|
|
1096
|
+
!result.cardBatch.ready &&
|
|
1085
1097
|
(result.next === 'wait-for-children' || result.next.startsWith('next-packs'))
|
|
1086
1098
|
if (!idle || lastPass) return result
|
|
1087
1099
|
if (Date.now() >= until) {
|
|
@@ -1089,7 +1101,7 @@ async function autoRefill(ctx, options) {
|
|
|
1089
1101
|
lastPass = true
|
|
1090
1102
|
continue
|
|
1091
1103
|
}
|
|
1092
|
-
const recheck = Math.min(
|
|
1104
|
+
const recheck = Math.min(wake(), Date.now() + AUTO_RECHECK_MS)
|
|
1093
1105
|
while (Date.now() < recheck && !(await answerPublished(ctx)))
|
|
1094
1106
|
await new Promise((done) =>
|
|
1095
1107
|
setTimeout(done, Math.max(1, Math.min(LOCK_POLL_MS, recheck - Date.now()))),
|
|
@@ -1411,11 +1423,30 @@ export function questionsReady(view) {
|
|
|
1411
1423
|
async function progressOf(ctx) {
|
|
1412
1424
|
const view = await call(ctx, 'journey.get', { journeyId: ctx.journeyId })
|
|
1413
1425
|
const uncovered = uncoveredPending(view).length
|
|
1426
|
+
const { directory, open } = await cardBatch(ctx.run)
|
|
1427
|
+
const now = Date.now()
|
|
1428
|
+
// ADR 0234: the wait clock restarts after every batch, even one no call saw open.
|
|
1429
|
+
const wait = nextCardsWait(ctx.state.cardsWait, { uncovered, open, batch: directory, now })
|
|
1430
|
+
const previous = ctx.state.cardsWait
|
|
1431
|
+
if (wait.since !== previous?.since || wait.batch !== previous?.batch) {
|
|
1432
|
+
ctx.state.cardsWait = wait
|
|
1433
|
+
await saveState(ctx)
|
|
1434
|
+
}
|
|
1435
|
+
const input = {
|
|
1436
|
+
uncovered,
|
|
1437
|
+
open,
|
|
1438
|
+
readingComplete: view.readingComplete,
|
|
1439
|
+
cards: view.privacy.cards.length,
|
|
1440
|
+
waitingSince: wait.since,
|
|
1441
|
+
now,
|
|
1442
|
+
}
|
|
1443
|
+
const ready = cardBatchDue(input)
|
|
1444
|
+
// `--agents auto` ends its wait when the clock alone makes the batch due.
|
|
1445
|
+
ctx.cardsDueAt = cardBatchDueAt(input)
|
|
1414
1446
|
return {
|
|
1415
1447
|
readingComplete: view.readingComplete,
|
|
1416
1448
|
questionsReady: questionsReady(view),
|
|
1417
|
-
|
|
1418
|
-
cardBatch: { uncovered, ready: uncovered > 0 && !(await cardBatchOpen(ctx.run)) },
|
|
1449
|
+
cardBatch: { uncovered, ready },
|
|
1419
1450
|
works: workProgress(view),
|
|
1420
1451
|
blockedWorks: blockedWorks(view),
|
|
1421
1452
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2)format("woff2"),url(./ibm-plex-sans-greek-700-normal-CkZN0sRy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(./ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:is(html:has(.native-panel),body:has(.native-panel)){background:#fff;margin:0}:is(html:has(.native-panel[data-scaled]),body:has(.native-panel[data-scaled])){height:100%;overflow:hidden}#root:has(>.native-panel[data-scaled]){height:100dvh;overflow:hidden}.native-panel[data-scaled]{scrollbar-gutter:stable;transform-origin:0 0;overflow:auto}.native-panel:focus{outline:0}.native-panel{--ink:#111;--body:#3d3d3d;--muted:#6f6f6f;--faint:#a3a3a3;--orange:#fe7445;--orange-ink:#b8451e;--panel:#f7f6f4;--line:#e6e4df;--dash:#d6d3ce;--ease:cubic-bezier(.2, .7, .2, 1);--hero-accent:#a84b2b;--hero-sub:#595b59;--check:#686e66;--rule:#e4e5e2;--provider-line:#dcded9;--provider-ink:#343834;--note:#656965;--badge:#ecebe6;--skeleton:#e9e9e6;--card-line:#1b293e1a;--card-shadow:0 6px 24px #1b293e0d;--btn-ink:#181b20;--btn-ink-hover:#303945;--btn-line:#cfd5dd;--kicker:#626760;--source:#4d5662;--source-context:#69737f;--count:#6b7380;--chip-count:#8a919c;--chip-line:#e3e6ea;--search:#f3f4f6;--struck-ink:#555b63;--struck-bg:#eeeff1;--pill-ink:#2b2b2b;--ready:#d9643a;--send-bar:#ed8058;--send-track:#f1f1ee;--alert:#a33e29;--menu-ink:#18181b;--menu-option:#27272a;--menu-checked:#f4f3ef;--menu-line:#e4e4df;--trigger-hover:#f2f1ec;--chevron:#71717a;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--t:.45s;--sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;color:var(--body);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}.native-panel,.native-panel *{box-sizing:border-box}.native-panel section{background:0 0;border:0;border-radius:0;margin:0;padding:0}.native-panel :is(h1,h2,h3,p,ul,ol){margin:0}.native-panel :is(h1,h2,h3){color:var(--ink);font-weight:600}.native-panel :is(button,summary,a,input,[tabindex]):focus-visible{outline:2px solid var(--orange-ink);outline-offset:2px}.native-panel button{font:500 13px/1.4 var(--sans);color:var(--ink);cursor:pointer;border:1px solid var(--dash);background:#fff;border-radius:999px;min-height:30px;padding:5px 16px}.native-panel ::selection{color:#111;background:#ffc4ad}.native-panel [data-kind=identity]{--kc:#4f74b8}.native-panel [data-kind=credentials]{--kc:#c2455c}.native-panel [data-kind=internal]{--kc:#c4921a}.native-panel [data-kind=private]{--kc:#2e8a82}.native-panel .tc-head{border-bottom:1px solid var(--line);align-items:center;max-width:none;height:48px;margin:0;padding:12px max(16px,50% - 264px);display:flex}.native-panel .tc-logo{color:var(--ink);letter-spacing:-.05em;align-items:center;gap:7px;font-size:21px;font-weight:700;line-height:1;display:inline-flex}.native-panel .tc-logo:before{content:"";background:linear-gradient(var(--ink) 0 42%, var(--orange) 42%);border-radius:50%;width:18px;height:18px}.native-panel .native-journey{max-width:560px;margin:0 auto;padding:24px 16px 56px}.native-panel .journey-muted{color:var(--muted);font-size:13px}.native-panel .journey-chat-hint{color:var(--muted);font-size:12.5px;font-weight:400}.native-panel .kicon{fill:var(--kc,var(--faint));opacity:.85;flex:none;display:inline-block}.native-panel .vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.native-panel button:hover:not(:disabled){background:var(--panel)}.native-panel button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.native-panel button.primary:hover:not(:disabled){background:#333}.native-panel .journey-stage .say{font-size:13px}.native-panel .now .journey-fold{font-size:12.5px}.native-panel :is(.now,.finish) [role=alert]{color:var(--alert);margin-top:8px;font-size:13px;line-height:20px}.native-panel .now .account-summary{margin-block:10px}.native-panel .tc-agent{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin:0 0 0 auto;font-size:12px;line-height:19.2px;display:inline-flex}.native-panel .tc-agent:before{content:"";background:var(--muted);border-radius:50%;width:7px;height:7px}.native-panel .tc-agent[data-state=connected]:before{background:#2e8a82;animation:1.4s ease-out infinite pg-pulse-dot}.native-panel .tc-agent[data-state=stopped]{color:var(--ink)}@keyframes pg-pulse-dot{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.native-panel .tc-agent:before{animation:none}}.native-panel :is(h1,h2,h3)[tabindex="-1"]:focus-visible{outline:0}.native-panel .native-journey:has(>.journey-welcome){padding-top:16px}.native-panel .ob-hero{margin:0 0 12px;padding:8px 16px 0;position:relative}.native-panel .ob-hero:after{content:"";z-index:-1;background:radial-gradient(var(--dash) .9px, transparent 1.1px) 0 0 / 4px 4px;pointer-events:none;width:190px;height:150px;position:absolute;top:-24px;right:0;-webkit-mask-image:radial-gradient(closest-side,#000 20%,#0000);mask-image:radial-gradient(closest-side,#000 20%,#0000)}.native-panel .ob-hero h1{letter-spacing:-1.26px;font-size:36px;font-weight:600;line-height:40.32px}.native-panel .welcome-accent{color:var(--hero-accent)}.native-panel .tag-sub{color:var(--hero-sub);margin-top:16px;font-size:15px;line-height:24px}.native-panel .f-prom{margin:0 16px;padding:0;list-style:none}.native-panel .f-prom>li{border-bottom:1px solid var(--rule);color:var(--ink);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:12px;padding:14px 0;font-size:14px;line-height:22px;display:grid}.native-panel .f-prom>li:last-child{border-bottom:0;padding-bottom:6px}.native-panel .f-prom>li>span{font-weight:500}.native-panel .f-tk{fill:none;width:16px;height:16px;stroke:var(--check);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}.native-panel .kk-w{grid-column:2}.native-panel .kk{padding:0;font-size:13px;line-height:19.5px;list-style:none}.native-panel .kk li{border:0;flex-wrap:wrap;align-items:center;gap:0 6px;padding:0;display:flex}.native-panel .kk b{font-weight:500}.native-panel .kk span{color:var(--muted)}.native-panel .kk.compact{flex-wrap:wrap;gap:6px;display:flex}.native-panel .kk.compact li{background:color-mix(in srgb, var(--kc) 12%, #fff);min-height:26px;color:var(--ink);white-space:nowrap;border-radius:999px;gap:5px;padding:3px 9px;font-size:12px;line-height:18px}.native-panel .f-how{width:calc(100% - 32px);min-height:44px;color:var(--ink);font:500 14px/22px var(--sans);text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:10px;margin:0 16px;padding:12px 0;display:flex}.native-panel .f-how:hover:not(:disabled){background:0 0}.native-panel .f-how i{width:11px;height:11px;position:relative}.native-panel .f-how i:before,.native-panel .f-how i:after{content:"";background:var(--ink);width:11px;height:1px;transition:transform .45s var(--ease);position:absolute;top:5px;left:0}.native-panel .f-how i:after{transform:rotate(90deg)}.native-panel .f-how[aria-expanded=true] i:after{transform:none}.native-panel .f-more{transition:grid-template-rows .45s var(--ease), opacity .3s var(--ease);grid-template-rows:1fr;margin:0 16px;display:grid}.native-panel .f-more>div{min-height:0;overflow:hidden}.native-panel .f-more[aria-hidden=true]{opacity:0;grid-template-rows:0fr}.native-panel .f-more[aria-hidden=true]>div{visibility:hidden;transition:visibility 0s .45s}.native-panel .flist{padding:0;list-style:none}.native-panel .flist li{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:7px 0;display:grid}.native-panel .no{color:var(--note);font:500 12px/20px var(--mono);font-variant-numeric:tabular-nums;padding-top:2px}.native-panel .f-line{color:var(--ink);flex-direction:column;font-size:14px;line-height:22px;display:flex}.native-panel .f-line small{color:var(--note);margin-top:2px;font-size:12px;line-height:20px}.native-panel .ob-start{margin:0 16px;padding-top:16px}.native-panel .ob-start .btns{align-items:center;gap:10px;display:flex}.native-panel .tc-btn.welcome-go{min-height:42px;font:500 14px/20px var(--sans);background:#171917;border-color:#171917;padding:10px 20px}.native-panel .f-disc{color:var(--note);text-wrap:pretty;margin-top:10px;font-size:12px;line-height:20px}.native-panel .welcome-message{color:var(--note);margin:8px 0 12px;font-size:12px;line-height:20px}.native-panel .welcome-message[role=alert]{color:var(--alert)}.native-panel .ob-start .journey-connection{color:var(--note);border:0;margin:0 0 12px;padding:0;font-size:12px;line-height:20px}.native-panel .welcome-providers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.native-panel .tc-btn.welcome-provider{border:1px solid var(--provider-line);min-height:44px;color:var(--provider-ink);font:500 14px/20px var(--sans);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;display:flex;position:relative}.native-panel .tc-btn.welcome-provider:hover:not(:disabled){background:#f5f5f3;border-color:#b7bbb5}.native-panel .tc-btn.welcome-provider:disabled{opacity:1;color:#777d75;background:#fafaf9}.native-panel .tc-btn.welcome-provider[data-pending]{border-color:var(--provider-ink);background:var(--provider-ink);color:#0000;cursor:wait}.native-panel .welcome-spinner{border:2px solid #dedad9;border-top-color:var(--kicker);border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;animation:.8s linear infinite welcome-spin;position:absolute;top:50%;left:50%}@keyframes welcome-spin{to{transform:rotate(360deg)}}.native-panel .welcome-auth>.f-disc{margin-top:12px}.native-panel .welcome-auth>.btns+.f-disc{margin-top:10px}.native-panel .welcome-auth>.welcome-message{margin:8px 0 12px}.native-panel .welcome-message a{color:var(--ink);text-underline-offset:3px}.native-panel .welcome-text-action{min-height:44px;color:var(--note);font:400 14px/22px var(--sans);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:10px 8px;display:flex}.native-panel .welcome-text-action:hover:not(:disabled){color:var(--ink);background:0 0}.native-panel .welcome-cancel{margin:4px auto 0}.native-panel .welcome-account{justify-content:space-between;align-items:center;gap:0 8px;display:flex}.native-panel .welcome-account>p{color:var(--note);align-items:center;gap:6px;font-size:14px;line-height:22px;display:flex}.native-panel .welcome-account strong{color:var(--provider-ink);font-weight:500}.native-panel .welcome-avatar{color:#5b1f0a;width:22px;height:22px;font:600 10px/10px var(--sans);letter-spacing:.2px;background:#efc4b1;border-radius:50%;place-items:center;margin-left:2px;display:grid;overflow:hidden}.native-panel .welcome-avatar img{object-fit:cover;width:100%;height:100%}.native-panel .welcome-auth .btns{margin-top:16px}.native-panel .welcome-auth .say.quiet{font-size:14px;line-height:22px}.native-panel .o-deck{margin:0 0 24px}.native-panel .o-stack{padding-bottom:10px;display:grid;position:relative}.native-panel .o-stack>*{grid-area:1/1}.native-panel .o-back{height:200px;transition:opacity .25s var(--ease), transform .25s var(--ease);border:1px solid #e7eaee;border-radius:18px;align-self:start}.native-panel .o-back[data-p="1"]{z-index:1;background:#ffffff80;transform:translateY(6px)scaleX(.955)}.native-panel .o-back[data-p="2"]{z-index:0;background:#ffffff59;transform:translateY(11px)scaleX(.91)}.native-panel .o-top{z-index:2;border:1px solid var(--card-line);min-width:0;min-height:200px;box-shadow:var(--card-shadow);color:var(--btn-ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:card-in .26s var(--ease);background:#ffffffc7;border-radius:18px;flex-direction:column;padding:12px 16px;display:flex;position:relative;overflow:hidden}@keyframes card-in{0%{opacity:.6;transform:translateY(5px)scale(.96)}}.native-panel .o-leave{z-index:3;pointer-events:none}.native-panel .o-leave>.o-top{height:100%;animation:card-out-hide .22s var(--ease-in) forwards}.native-panel .o-leave[data-side=keep]>.o-top{animation-name:card-out-keep}@keyframes card-out-hide{to{opacity:0;transform:translate(56px)rotate(4deg)}}@keyframes card-out-keep{to{opacity:0;transform:translate(-56px)rotate(-4deg)}}.native-panel .o-k{align-items:center;gap:4px 8px;display:flex}.native-panel .o-kick{color:var(--kicker);letter-spacing:.18px;font-size:12px;font-weight:500;line-height:18px}.native-panel .o-head{color:var(--ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:15px;font-weight:500;line-height:22px}.native-panel .o-head:focus:not(:focus-visible){outline:0}.native-panel .o-evidence{flex-direction:column;gap:6px;margin-top:8px;display:flex}.native-panel .o-body{color:var(--body);overflow-wrap:anywhere;font-size:13px;line-height:20px}.native-panel .o-body mark{background:var(--struck-bg);color:var(--struck-ink);border-radius:4px;padding:1px 5px;font-weight:600;text-decoration:underline}.native-panel .o-src{color:var(--source);margin-top:8px;font-size:12px;line-height:18px}.native-panel .o-src button{min-height:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:0;padding:0;display:inline}.native-panel .o-src button:hover:not(:disabled){background:0 0;text-decoration:underline}.native-panel .o-src button:disabled{opacity:1;cursor:default}.native-panel .o-source-context{color:var(--source-context)}.native-panel .o-source-context:before{content:" · "}.native-panel .o-terms{align-items:center;gap:8px;padding-top:8px;display:flex}.native-panel .o-tsearch{background:var(--search);cursor:text;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:8px;width:124px;height:28px;padding:0 10px;transition:width .18s;display:flex}.native-panel .o-tsearch:focus-within{border-color:var(--ink);background:#fff;width:168px;box-shadow:0 0 0 3px #4f74b82e}.native-panel .o-tsearch svg{fill:none;stroke:var(--count);stroke-width:1.6px;flex:none}.native-panel .o-tsearch input{width:100%;min-width:0;color:var(--ink);font:13px/18px var(--sans);background:0 0;border:0;outline:0;padding:0}.native-panel .o-tsearch input::-webkit-search-cancel-button{display:none}.native-panel .o-trule{background:var(--chip-line);flex:none;width:1px;height:16px}.native-panel .o-tchips{scrollbar-width:none;flex:1;gap:6px;min-width:0;padding:2px 24px 2px 0;display:flex;overflow-x:auto}.native-panel .o-tchip{border:1px solid var(--chip-line);min-height:26px;color:var(--ink);font:400 12.5px/16px var(--sans);white-space:nowrap;opacity:.45;background:#fff;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 10px;transition:opacity .12s,background-color .12s;display:inline-flex}.native-panel .o-tchip[aria-pressed=true]{background:var(--badge);opacity:1;border-color:#0000}.native-panel .o-tchip:hover:not(:disabled){background:var(--badge)}.native-panel .o-tchip:disabled{opacity:.45}.native-panel .o-tnone{color:var(--count);font-size:12.5px;line-height:26px}.native-panel .o-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.native-panel .o-sel{color:var(--count);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12.5px;line-height:16px;display:flex}.native-panel .o-tall{min-height:0;color:var(--ink);font:500 12.5px/16px var(--sans);background:0 0;border:0;padding:4px 0;text-decoration:underline}.native-panel .o-tall:hover:not(:disabled){background:0 0}.native-panel .o-acts{justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.native-panel .o-btn{border:1px solid var(--btn-line);min-width:64px;min-height:30px;color:var(--btn-ink-hover);font:500 13px/20px var(--sans);background:#ffffffa6;border-radius:999px;padding:4px 12px}.native-panel .o-btn:hover:not(:disabled){background:#f1f4f8;border-color:#8b98a9}.native-panel .o-btn[data-suggested]{border-color:var(--btn-ink);background:var(--btn-ink);color:#fff}.native-panel .o-btn[data-suggested]:hover:not(:disabled){border-color:var(--btn-ink-hover);background:var(--btn-ink-hover)}.native-panel .o-btn:disabled{opacity:.4}.native-panel .o-btn[aria-pressed=true]:not([data-suggested]){border-color:var(--btn-ink-hover)}.native-panel .journey-decision [role=alert]{color:var(--alert);margin-top:8px;font-size:12px;line-height:20px}.native-panel .o-toasts{z-index:30;pointer-events:none;margin:0;padding:0;list-style:none;display:grid;position:fixed;top:60px;right:max(56px,50% - 264px)}.native-panel .o-toast{border:1px solid var(--card-line);color:var(--muted);transform-origin:top;animation:toast-fade .18s ease-out, toast-in .22s var(--ease-out-expo);background:#fff;border-radius:12px;grid-area:1/1;justify-self:end;align-items:center;gap:8px;padding:10px 14px;font-size:13px;line-height:20px;display:flex;box-shadow:0 8px 28px #1b293e1f,0 1px 3px #1b293e0f}.native-panel .o-toast b{color:var(--ink);font-weight:500}.native-panel .o-toast svg{fill:none;stroke:var(--muted);stroke-width:1.4px;flex:none}.native-panel .o-toast[data-option=hide] svg{stroke:var(--ink)}.native-panel .o-toast[data-depth="1"]{z-index:-1;transform:translateY(12px)scale(.95)}.native-panel .o-toast[data-depth="2"]{z-index:-2;transform:translateY(24px)scale(.9)}@keyframes toast-fade{0%{opacity:0}}@keyframes toast-in{0%{transform:translateY(-8px)scale(.98)}}.native-panel .o-tsearch input:focus-visible{outline:0}.native-panel .o-uns{color:var(--ink);gap:10px;margin:0;padding:0;font-size:13px;line-height:20px;list-style:none;display:grid}.native-panel .o-uns li{justify-content:space-between;gap:6px 16px;display:flex}.native-panel .o-uns .kf{color:var(--body)}.native-panel .o-quiet{color:#626b76}.native-panel .o-hint{color:var(--muted);margin-top:12px;font-size:13px;line-height:20px}.native-panel .o-foot-uns{margin-top:auto;padding-top:12px}.native-panel .o-btn[data-suggested][aria-expanded=true]{border-color:var(--btn-ink-hover);background:var(--btn-ink-hover)}.native-panel .o-toast[data-leaving]{animation:toast-out .14s var(--ease-in) forwards}@keyframes toast-out{to{opacity:0}}.native-panel .now{border:1px solid var(--card-line);box-shadow:var(--card-shadow);background:#fff;border-radius:18px;margin:0 0 24px;padding:16px}.native-panel .now-k{color:var(--muted);align-items:center;gap:8px;margin:0 0 4px;font-size:12px;font-weight:400;line-height:18px;display:flex}.native-panel .now-t{color:var(--ink);letter-spacing:0;margin:4px 0 8px;font-size:15px;font-weight:500;line-height:22px}.native-panel .now-b{animation:ob-rise .35s var(--ease)}.native-panel .now .now-b .say{color:var(--muted);font-size:13px;line-height:20px}.native-panel .now :is(p,li,h3){overflow-wrap:anywhere}.native-panel .now :is(ul,h3){font-size:13px}.native-panel .now ul{padding-left:20px}.native-panel .now a{color:var(--ink);text-underline-offset:3px}.native-panel .journey-send-scope{margin-top:8px}.native-panel .journey-fold{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.native-panel .prog{margin:0 0 16px;padding:0 16px;font-size:13px;line-height:20px}.native-panel .now-cap{min-width:0;color:var(--muted);white-space:nowrap;gap:4px;display:flex}.native-panel .barline+.now-cap{margin-top:8px}.native-panel .now-cap>*{text-overflow:ellipsis;overflow:hidden}.native-panel .now-cap>.now-v{flex:none}.native-panel .now-w{color:var(--ink);font-weight:500}.native-panel .barline{align-items:center;gap:10px;min-height:20px;display:flex}.native-panel .barline>span{white-space:nowrap;color:var(--muted);font:500 13px/20px var(--sans);font-variant-numeric:tabular-nums;flex:none}.native-panel .tc-bar{appearance:none;background:var(--panel);width:100%;min-width:0;height:4px;accent-color:var(--orange);border:0;border-radius:2px;flex:auto;margin:0;display:block}.native-panel .tc-bar::-webkit-progress-bar{background:var(--panel);border-radius:2px}.native-panel .tc-bar::-webkit-progress-value{background:var(--orange);border-radius:2px}.native-panel .tc-bar::-moz-progress-bar{background:var(--orange)}.native-panel .hid{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 12px;padding:0 16px;display:flex;position:relative}.native-panel .hid-h{color:var(--muted);font-size:13px;line-height:19.5px}.native-panel .hid-h b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:500}.native-panel .kinds.hid-t{min-height:22px;font:500 13px/19.5px var(--sans);background:0 0;border:0;border-radius:999px;align-items:center;gap:12px;margin:0 -6px;padding:1px 6px;display:flex}.native-panel .kinds.hid-t:hover:not(:disabled),.native-panel .kinds.hid-t[aria-expanded=true]{background:var(--panel)}.native-panel .kinds:after{content:"";border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);width:5px;height:5px;margin-left:-4px;transform:translateY(-2px)rotate(45deg)}.native-panel .kc{color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex;position:relative}.native-panel .kc b{font-weight:500}.native-panel .hid-pop{z-index:3;border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px;position:absolute;top:27.5px;left:16px;right:16px;box-shadow:0 8px 24px #1111111a}.native-panel .hid-pop .kk{color:var(--body);gap:12px;display:grid}.native-panel .hid-pop .kk li{grid-template-columns:14px minmax(0,1fr);align-items:center;gap:2px 8px;display:grid}.native-panel .hid-pop .kk b{color:var(--ink);font-weight:500;line-height:20px}.native-panel .hid-pop .kk span{color:var(--muted);grid-column:2;line-height:20px}.native-panel .o-rules{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.native-panel .o-rules-h{color:var(--ink);margin:0 0 6px;font-size:13px;font-weight:500;line-height:20px}.native-panel .o-rule-w{border-left:2px solid var(--line);color:var(--source);flex-direction:column;gap:4px;margin:0;padding:0 0 0 12px;font-size:13px;line-height:20px;list-style:none;display:flex}.native-panel .o-rule-w li{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.native-panel .o-rule-change{min-height:0;color:var(--ink);font:500 12.5px/20px var(--sans);text-underline-offset:3px;background:0 0;border:0;flex:none;padding:0;text-decoration:underline}.native-panel .o-rule-change:hover:not(:disabled){background:0 0}.native-panel .ktip{z-index:5;color:#333;width:260px;font:400 13px/19.5px var(--sans);text-align:left;white-space:normal;pointer-events:none;background:#fff;border:1px solid #dedfd8;border-radius:10px;padding:13px 15px;display:none;position:absolute;top:calc(100% + 8px);left:-8px;box-shadow:0 6px 24px #1112}.native-panel :is(.kc,.kf):is(:hover,:focus-visible)>.ktip{display:block}.native-panel .kinds[aria-expanded=true] .ktip{display:none}.native-panel .ktip-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.native-panel .ktip-head strong{font-weight:500}.native-panel .ktip-line{margin:3px 0;display:block}.native-panel .ktip-desc{color:var(--muted)}.native-panel .kf{position:relative}.native-panel .kf:focus-visible{outline:2px solid var(--orange-ink);outline-offset:2px;border-radius:4px}.native-panel .now .btns{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.native-panel .now .btns button{min-height:30px;font:500 13px/20px var(--sans);padding:4px 12px}.native-panel .now-t[data-ready]{align-items:center;gap:10px;animation:.3s ease-out .16s both now-text-slide;display:flex}.native-panel .now-t[data-ready]:before{content:"";background:var(--ready) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7.5 12.5 3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 24px no-repeat;border-radius:50%;flex:none;width:24px;height:24px;animation:.38s cubic-bezier(.22,1,.36,1) now-pop-in}.native-panel .now-t[data-ready]~*{animation:.3s ease-out .16s both now-text-slide}@keyframes now-pop-in{0%{transform:scale(.55)}60%{transform:scale(1.16)}}@keyframes now-text-slide{0%{opacity:.35;transform:translateY(2px)}}.native-panel .now a.tc-btn{border:1px solid var(--ink);background:var(--ink);color:#fff;min-height:36px;font:500 14px/1 var(--sans);border-radius:999px;align-items:center;gap:6px;padding:0 18px;text-decoration:none;display:inline-flex}.native-panel .now>a.tc-btn{vertical-align:top;margin-top:8px}.native-panel .now a.tc-btn:hover{background:#2b2b2b}.native-panel .now .say{color:var(--muted);font-size:13px;line-height:20px}.native-panel .now .barline{margin:6px 0 4px}.native-panel .now .tc-bar{background:#fff}.native-panel .now .tc-bar::-webkit-progress-bar{background:#fff}.native-panel .journey-send[data-send-state=prepared]>.journey-chat-hint{align-items:center;min-height:36px;margin-top:8px;display:flex}.native-panel .journey-send[data-send-state=sending]>.say{min-height:45.125px}.native-panel .journey-send-account{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;display:inline-flex}.native-panel .journey-send-account .account-control{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;padding:0;font-size:12.5px;display:flex}.native-panel .journey-send-account button.primary{color:var(--ink);border-color:var(--dash);background:#fff}.native-panel .journey-send .account-panel{background:0 0;border:0;margin:0;padding:8px 0 0;font-size:13px}.native-panel .journey-send .account-panel h2{margin-bottom:4px;font-size:14px}.native-panel .journey-send-details{margin-block:8px;font-size:13px}.native-panel .journey-send-details summary{font-size:12.5px}.native-panel .journey-send-work{border-bottom:1px solid var(--line);padding-block:8px}.native-panel .journey-send-work h3{font-size:13.5px}.native-panel .journey-send-work:last-child{border-bottom:0}.native-panel .journey-send .actions{flex-wrap:wrap;gap:8px;display:flex}.native-panel .journey-send-account+.btns{vertical-align:middle;margin-left:8px;display:inline-flex}.native-panel .journey-send-account .journey-send-details{flex-basis:100%}.native-panel .journey-reading-caption{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12.5px}.native-panel .journey-send-sign-in .account-code{font:600 22px/1.4 var(--mono);color:var(--ink);margin:6px 0}.native-panel .journey-send-sign-in .actions{margin-top:8px;display:flex}.native-panel .journey-send-sign-in .actions button{width:auto}.native-panel .journey-send-sign-in .metadata{color:var(--muted);font-size:12.5px}.native-panel .tc-bar:indeterminate{background-image:linear-gradient(var(--orange), var(--orange));animation:tc-sweep 1.4s var(--ease) infinite;background-position:50% 0;background-repeat:no-repeat;background-size:40% 100%}.native-panel .tc-bar:indeterminate::-webkit-progress-bar{background:0 0}.native-panel .tc-bar:indeterminate::-moz-progress-bar{background:0 0}@keyframes tc-sweep{0%{background-position:-67% 0}to{background-position:167% 0}}.native-panel .statline{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:2px 16px;margin:0;padding:0 16px 6px;font-size:12px;line-height:18px;display:flex}.native-panel .review-heading{color:var(--body);letter-spacing:.12px;white-space:nowrap;align-items:center;gap:5px;font-weight:500;display:flex}.native-panel .review-heading-count{background:var(--badge);min-width:18px;color:var(--body);letter-spacing:0;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;padding:0 5px;font-size:11px;font-weight:400;line-height:16px;display:inline-flex}.native-panel .wh-sort{align-items:center;gap:4px;display:flex}.native-panel .wh-sort-k:after{content:"·";color:var(--dash);margin-left:4px}.native-panel .pr-note{padding:12px 16px}.native-panel .plist{margin:0;padding:0;list-style:none}.native-panel .plist>li{border-bottom:1px solid var(--line);position:relative}.native-panel .pr-head{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:12px 16px;display:grid}.native-panel .plist>li:hover>.pr-head,.native-panel .plist>li[data-reading]>.pr-head{background:var(--panel)}.native-panel .pr-tw{align-items:center;min-width:0;min-height:28px;display:flex}.native-panel .pr-t{min-width:0;min-height:0;color:var(--ink);font:500 15px/22px var(--sans);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0 3px 0 0;overflow:hidden}.native-panel .pr-t:hover:not(:disabled){background:0 0}.native-panel button.pr-t:after{content:"";border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);width:5px;height:5px;margin:0 3px 0 8px;display:inline-block;transform:translateY(-2px)rotate(-45deg)}.native-panel .pr-t:not(.raw){animation:.18s ease-out work-reveal}@keyframes work-reveal{0%{opacity:.35}}.native-panel .pr-r{justify-content:flex-end;align-items:flex-start;gap:10px;padding-top:3px;display:flex}.native-panel .pr-r>section{min-width:0}.native-panel .pr-c{background:var(--panel);min-width:96px;min-height:28px;color:var(--faint);font:500 12px/20px var(--sans);white-space:nowrap;animation:ob-rise .3s var(--ease);border-radius:999px;justify-content:center;align-items:center;margin-top:-3px;padding:4px 10px;display:inline-flex}.native-panel .pr-c[data-s=waiting]{min-width:0}.native-panel .pr-c[data-s=reading],.native-panel .pr-c[data-s=attention]{color:var(--orange-ink);background:#fff}.native-panel .pr-c[data-s=sorting]{min-width:0;min-height:0;color:var(--orange-ink);background:#fff;margin-top:1px;padding:1px 8px}.native-panel .pr-d{color:var(--muted);grid-column:1/-1;font-size:13px;line-height:18px;animation:.18s ease-out work-reveal}.native-panel .pr-d.sk{background:var(--skeleton);border-radius:4px;width:260px;max-width:100%;height:10px;margin:4px 0;animation:none}.native-panel .pr-m{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px 14px;min-height:21px;margin-top:6px;display:flex}.native-panel .pr-f{flex-wrap:wrap;gap:6px 14px;animation:.18s ease-out work-reveal;display:inline-flex}.native-panel .pr-f.sk{background:linear-gradient(to right, var(--skeleton) 0 28%, transparent 28% 36%, var(--skeleton) 36% 64%, transparent 64% 72%, var(--skeleton) 72%);border-radius:4px;width:150px;height:12px;animation:none}.native-panel .kf{font:500 12px/19.2px var(--sans);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.native-panel .kf b{color:var(--ink);font-size:13px;font-weight:500;line-height:20.8px}.native-panel .c-n{color:var(--ink);font:500 13px/20px var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto}.native-panel .pr-grouping .pr-head{cursor:default}.native-panel .journey-left-out{color:var(--muted);margin:4px 16px 0;font-size:13px}.native-panel .journey-left-out ul{margin:6px 0 0;padding:0;list-style:none}.native-panel .journey-left-out button{color:var(--body);font:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0;text-decoration:underline}.native-panel .sh-select{display:inline-flex;position:relative}.native-panel .sh-select-trigger{min-height:22px;color:var(--body);font:500 12px/16px var(--sans);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:space-between;align-items:center;gap:4px;margin-right:-5px;padding:0 5px;transition:background-color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.native-panel .sh-select-trigger:hover:not(:disabled),.native-panel .sh-select[data-state=open]>.sh-select-trigger{background:var(--trigger-hover)}.native-panel .sh-select-trigger:disabled{opacity:1;color:var(--muted)}.native-panel .sh-select-trigger svg{fill:none;stroke:var(--chevron);stroke-width:1.6px;transition:transform .12s}.native-panel .sh-select[data-state=open]>.sh-select-trigger svg{transform:rotate(180deg)}.native-panel .sh-select-menu{z-index:20;border:1px solid var(--menu-line);min-width:148px;color:var(--menu-ink);transform-origin:100% 0;animation:menu-in .12s var(--ease-out-expo);background:#fff;border-radius:8px;gap:1px;margin:0;padding:4px;list-style:none;display:grid;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 24px -4px #1111111a,0 2px 6px -1px #1111110d}.native-panel .sh-select-menu:focus{outline:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-2px)scale(.96)}}.native-panel .sh-select-menu>li{min-height:28px;color:var(--menu-option);font:400 12.5px/18px var(--sans);white-space:nowrap;cursor:pointer;border-radius:5px;align-items:center;padding:5px 26px 5px 8px;display:flex;position:relative}.native-panel .sh-select-menu>li[data-active]{background:var(--trigger-hover)}.native-panel .sh-select-menu>li[aria-selected=true]{background:var(--menu-checked);color:var(--ink);font-weight:500}.native-panel .sh-select-menu>li svg{fill:none;stroke:currentColor;stroke-width:1.8px;position:absolute;right:8px}.native-panel .pr-c[data-s=left]{border:1px dashed var(--muted);min-width:0;min-height:0;color:var(--body);background:#fff;margin-top:1px;padding:0 7px}.native-panel .plist>li[data-flash=a]{animation:1.5s ease-out row-flash}.native-panel .plist>li[data-flash=b]{animation:1.5s ease-out row-flash-again}.native-panel b[data-flash]{border-radius:4px;animation:2s ease-out row-flash}@keyframes row-flash{0%{background-color:#fff0e3}to{background-color:#0000}}@keyframes row-flash-again{0%{background-color:#fff0e3}to{background-color:#0000}}.native-panel .d-page{animation:page-forward .26s var(--ease)}.native-panel .page-back{animation:page-back .26s var(--ease)}@keyframes page-forward{0%{opacity:0;transform:translate(28px)}}@keyframes page-back{0%{opacity:0;transform:translate(-28px)}}.native-panel .d-body{grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:24px;display:grid}.native-panel .d-body>*{min-width:0}.native-panel .d-head{z-index:3;background:#fff;justify-content:space-between;align-items:center;gap:10px;margin:-24px -16px 0;padding:10px 16px;display:flex;position:sticky;top:0}.native-panel .d-back{background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;min-height:32px;margin:0 -4px 0 -11px;padding:0 0 0 3px;display:grid}.native-panel .d-back:before{content:"";border-left:1px solid var(--ink);border-bottom:1px solid var(--ink);width:7px;height:7px;transform:rotate(45deg)}.native-panel .d-back:hover:not(:disabled){background:var(--panel)}.native-panel .d-head h1{min-width:0;color:var(--ink);letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:17px;font-weight:600;line-height:22.95px;overflow:hidden}.native-panel .d-head h1:focus:not(:focus-visible){outline:0}.native-panel .pv-head .sh-select-trigger{min-height:32px;margin-right:-8px;padding:0 8px;font-size:14px;line-height:20px}.native-panel .d-head>section [role=alert],.native-panel .d-head>section [role=status]:not(.vh){color:var(--alert);font-size:12px;position:absolute;top:100%;right:16px}.native-panel .d-desc{color:var(--muted);margin-top:-4px;font-size:14px;line-height:21px}.native-panel .d-dec{margin-top:4px;padding-bottom:16px;display:grid}.native-panel .d-dec:empty{display:none}.native-panel :is(.pr-sug,.d-note){background:var(--panel);color:var(--body);border-radius:8px;padding:10px 12px;font-size:13px;line-height:19.5px}.native-panel .cv-h{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:20px 0 10px;font-size:15px;line-height:22px;display:flex}.native-panel .cv-h b{color:var(--ink);font-weight:600}.native-panel .o-by{background:var(--badge);border-radius:999px;flex:none;padding:2px;display:flex}.native-panel .o-by button{min-height:0;color:var(--body);font:500 12px/18px var(--sans);background:0 0;border:0;border-radius:999px;padding:3px 12px}.native-panel .o-by button:hover:not(:disabled){color:var(--ink);background:0 0}.native-panel .o-by button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 1px 2px #1b293e1f}.native-panel .o-items{padding:2px 0 6px;display:grid}.native-panel .o-g{margin:0}.native-panel .o-g+.o-g>.o-gh{border-top:1px solid var(--line)}.native-panel .o-g:last-child{border-bottom:1px solid var(--line)}.native-panel .o-gh{color:var(--ink);cursor:pointer;align-items:center;gap:7px;padding:8px 0;font-size:14px;font-weight:500;line-height:21px;list-style:none;display:flex}.native-panel .o-gh::-webkit-details-marker{display:none}.native-panel .o-gh b{background:var(--badge);min-width:18px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;padding:0 5px;font-size:11px;font-weight:400;line-height:16px;display:inline-flex}.native-panel .o-gh:after{content:"";border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);width:5px;height:5px;transition:transform .2s var(--ease);margin:0 4px 0 auto;transform:rotate(45deg)}.native-panel .o-g[open]>.o-gh:after{transform:rotate(-135deg)}.native-panel .o-g ul{margin:0 0 0 16px;padding:0;list-style:none}.native-panel .o-g li{border-top:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;padding:7px 0 8px;font-size:13px;line-height:21.45px}.native-panel .o-g s{background:var(--struck-bg);color:var(--struck-ink);border-radius:6px;padding:2px 6px;line-height:20px}.native-panel .pl{background:color-mix(in srgb, var(--kc) 12%, #fff);color:var(--pill-ink);font:500 13px/20px var(--sans);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:0 7px 0 5px;display:inline-flex}.native-panel .o-sess{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:17.25px;display:block;overflow:hidden}.native-panel .o-more{min-height:0;color:var(--ink);font:500 12.5px/20px var(--sans);background:0 0;border:0;margin:0 0 10px 16px;padding:0;text-decoration:underline}.native-panel .o-more:hover:not(:disabled){background:0 0}.native-panel .d-body>.pr-tip{color:var(--muted);font-size:12.5px;line-height:18.1px}.native-panel .o-gd{color:var(--muted);font-weight:400}.native-panel .tc-head{justify-content:space-between;gap:12px}.native-panel .tc-head .account-control{margin:0;padding:0;font-size:12px}.native-panel .journey-account-menu{flex:none;margin:0;position:relative}.native-panel .journey-account-menu>summary{border:1px solid var(--line);color:#5b1f0a;width:24px;height:24px;font:600 10px/10px var(--sans);background:#efc4b1;border-radius:50%;justify-content:center;align-items:center;list-style:none;display:flex;overflow:hidden}.native-panel .journey-account-menu>summary::-webkit-details-marker{display:none}.native-panel .journey-account-menu img{object-fit:cover;width:100%;height:100%}.native-panel .journey-account-popover{z-index:10;border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:8px;width:min(240px,100vw - 48px);padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 6px 20px #1111111a}.native-panel .journey-account-name{color:var(--ink);font-weight:600}.native-panel .journey-account-popover a{color:var(--body);text-underline-offset:3px;margin:12px 0;font-size:13px;display:block}.native-panel .journey-account-popover button{width:100%}.native-panel .journey-auth .account-panel{border:1px solid var(--card-line);box-shadow:var(--card-shadow);color:var(--note);background:#fff;border-radius:18px;margin:0 0 24px;padding:16px;font-size:13px;line-height:20px}.native-panel .journey-auth h2{color:var(--ink);letter-spacing:0;margin:4px 0 8px;font-size:15px;font-weight:500;line-height:22px}.native-panel .journey-auth .error{color:var(--alert);background:0 0;border:0;padding:0}.native-panel .journey-auth p+p{margin-top:12px}.native-panel .journey-auth .account-code{font:600 24px/1.4 var(--mono);color:var(--ink)}.native-panel .journey-auth .actions{margin-top:16px}.native-panel .tc-head .account-control{color:var(--muted);align-items:center;gap:8px;font-size:12px;line-height:19.2px;display:flex}.native-panel .tc-head .account-control button,.native-panel .tc-head .account-control button.primary{border:1px solid var(--dash);min-height:0;color:var(--muted);font:400 12px/19.2px var(--sans);background:0 0;border-radius:999px;padding:1px 10px}.native-panel .tc-head .account-control button.primary:hover:not(:disabled){background:var(--panel)}.native-panel .finish{padding:0 16px 48px;font-size:14px;line-height:21px}.native-panel .finish-kicker{color:var(--muted);margin:16px 0 4px;font-size:12px;font-weight:500;line-height:18px}.native-panel .finish-title{color:var(--ink);letter-spacing:-.3px;margin:4px 0 8px;font-size:20px;font-weight:600;line-height:28px}.native-panel .finish .finish-say{color:#61645f;margin:0 0 16px;font-size:13px;line-height:20px}.native-panel .finish-progress{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:16px 0;display:flex}.native-panel .finish-progress>p{min-width:0;color:var(--provider-ink);flex:1;font-size:13px;font-weight:500;line-height:20px}.native-panel .finish-progress>strong{color:var(--ink);font:500 13px/20px var(--sans);font-variant-numeric:tabular-nums}.native-panel .finish-progress>.tc-bar{background:var(--send-track);border-radius:999px;flex:0 0 100%}.native-panel .finish-progress>.tc-bar::-webkit-progress-bar{background:var(--send-track);border-radius:999px}.native-panel .finish-progress>.tc-bar::-webkit-progress-value{background:var(--send-bar);border-radius:999px}.native-panel .finish-progress>.tc-bar::-moz-progress-bar{background:var(--send-bar)}.native-panel .finish-stages{margin:20px 0 16px;padding:0;list-style:none}.native-panel .finish-stages>li{color:#77736c;align-items:flex-start;gap:16px;min-height:32px;padding-bottom:20px;font-size:14px;font-weight:400;line-height:22px;display:flex;position:relative}.native-panel .finish-stages>li:last-child{padding-bottom:0}.native-panel .finish-stages>li:not(:last-child):before{content:"";background:#e5e3df;width:1px;height:35px;position:absolute;top:32px;left:16px}.native-panel .finish-stages>li[data-state=done]:before{background:var(--orange)}.native-panel .finish-mark{width:32px;height:32px;color:var(--body);font:500 13px/13px var(--sans);background:#fff;border:1px solid #dedbd6;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.native-panel .finish-stages>[data-state=done]{color:#555b55;font-weight:500}.native-panel .finish-stages>[data-state=done]>.finish-mark{border-color:var(--orange);background:var(--orange);color:#fff}.native-panel .finish-stages>[data-state=active]{color:#171917;font-weight:600}.native-panel .finish-stages>[data-state=active]>.finish-mark{border-color:var(--orange);color:var(--orange-ink)}.native-panel .finish-stage{flex-direction:column;min-width:0;padding-top:5px;display:flex}.native-panel .finish-stage small{color:#8a877f;overflow-wrap:anywhere;min-height:20px;font-size:13px;font-weight:400;line-height:20px}.native-panel [data-state=active] .finish-stage small{color:var(--body)}.native-panel .finish-summary{border-top:1px solid var(--line);color:var(--muted);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 0;padding:18px 0 16px;font-size:12px;line-height:16px;display:grid}.native-panel .finish-summary>span{flex-direction:column;align-items:center;gap:4px;display:flex}.native-panel .finish-summary>span+span{border-left:1px solid #e4e5df}.native-panel .finish-summary b{color:var(--ink);letter-spacing:-.2px;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:24px}.native-panel .finish-timing{color:var(--muted);margin:0 0 4px;font-size:13px;line-height:20px}.native-panel .finish .btns{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.native-panel .finish .finish-go{color:#fff;min-height:42px;font:500 14px/20px var(--sans);background:#171917;border-color:#171917;flex:1 0 100%;padding:10px 20px}.native-panel .finish .btns button:not(.finish-go){min-height:30px;font:500 13px/20px var(--sans);padding:4px 12px}.native-panel .journey-auth .journey-sign-in-message{background:0 0;flex-wrap:wrap;align-items:center;gap:0 12px;padding:0;display:flex}.native-panel .journey-sign-in-message .welcome-message{margin:0}.native-panel .journey-sign-in-message button{min-height:0;font:500 12px/20px var(--sans);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.native-panel .tc-head .account-control .metadata{color:var(--muted);font-size:12px;line-height:19.2px}.native-panel :is(.journey-send-sign-in,.journey-auth) .actions button{width:auto;min-height:0;color:var(--note);font:400 13px/20px var(--sans);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.native-panel :is(.journey-send-sign-in,.journey-auth) p>button.primary{min-height:30px;font:500 13px/20px var(--sans);padding:4px 12px}@keyframes ob-rise{0%{opacity:0;transform:translateY(3px)}}@keyframes ob-pop{0%{transform:scale(.6)}}.native-panel :is(.plist>li,.finish-stage small){animation:ob-rise .35s var(--ease)}.native-panel .kf .kicon{animation:ob-pop .3s var(--ease)}.native-panel .tc-bar::-webkit-progress-value{transition:width .3s var(--ease)}@media (prefers-reduced-motion:reduce){.native-panel *,.native-panel :before,.native-panel :after{transition:none!important;animation:none!important}.native-panel .tc-bar::-webkit-progress-value{transition:none!important;animation:none!important}}.native-panel .journey-question h2{margin-bottom:10px;font-size:19px;line-height:1.35}.native-panel .journey-question p{margin-block:10px}.native-panel .journey-scope{padding:0;list-style:none}.native-panel .journey-scope li{border-bottom:1px solid var(--line);padding-block:8px}.native-panel .journey-scope li span{display:block}.native-panel textarea{resize:vertical;width:100%;min-height:72px;font:inherit;border:1px solid var(--dash);border-radius:6px;padding:8px}.native-panel input{accent-color:var(--orange-ink)}.native-panel button:disabled{cursor:default;opacity:.55}.native-panel details{margin-block:10px}.native-panel summary{cursor:pointer;font-weight:500}.native-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 var(--mono);background:var(--panel);border-radius:6px;padding:10px}.native-panel .journey-source-location{overflow-wrap:anywhere;font:11px/1.6 var(--mono);color:var(--muted)}.native-panel .journey-findings ul{overflow-wrap:anywhere;padding-left:20px}.native-panel .journey-findings li{margin-block:12px}.native-panel .pr-m{flex-wrap:wrap}.native-panel .journey-connection{border:1px solid var(--card-line);box-shadow:var(--card-shadow);color:var(--note);background:#fff;border-radius:18px;margin:0 0 24px;padding:16px;font-size:13px;line-height:20px}.native-panel [role=alert]{color:var(--alert);font-size:13px;line-height:20px}.native-panel :is(.journey-findings,.journey-fold){overflow-wrap:anywhere}.native-panel .fold{display:grid}.native-panel .fold>*{min-height:0;overflow:hidden}.native-panel .fold[data-fold=out]{animation:fold-close .45s var(--ease) forwards, fade-out .3s var(--ease) forwards}.native-panel .fold[data-fold=in]{animation:fold-open .45s var(--ease), fade-in .3s var(--ease)}@keyframes fold-close{0%{grid-template-rows:1fr}to{grid-template-rows:0fr}}@keyframes fold-open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}:root{color:#20252c;font-synthesis:none;background:#f4f6f8;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1100px;margin:auto;padding:1.5rem}header{justify-content:space-between;align-items:center;gap:1rem;display:flex}header p{color:#535d6b;margin:.25rem 0 0}.brand{font-size:1.5rem;font-weight:750}.local,.badge{background:#e7edf6;border-radius:.35rem;padding:.2rem .5rem;font-size:.85rem}.badge{color:#654a00;background:#fff0c7;margin-left:.7rem}h1{margin:0 0 .5rem;font-size:2rem}h2{margin-top:0;font-size:1.3rem}h3,h4,h5{margin:0 0 .65rem;font-size:1rem}p{margin:.7rem 0}section{background:#fff;border:1px solid #dbe1e8;border-radius:.65rem;margin:1rem 0;padding:1.5rem}button,input,select{font:inherit}select,input[type=number],input[type=search]{max-width:100%;color:inherit;background:#fff;border:1px solid #aab5c2;border-radius:.35rem;padding:.45rem .6rem}.bundle-library-settings form{gap:.65rem;display:grid}.bundle-library-settings input[type=text]{width:min(100%,42rem);color:inherit;background:#fff;border:1px solid #aab5c2;border-radius:.35rem;padding:.45rem .6rem}.bundle-library-settings .bundle-library-path{overflow-wrap:anywhere}.method{margin:.65rem 0;display:flex}.processing-settings,.inspection-panel{background:#fff;border:1px solid #dbe1e8;border-radius:.45rem;min-width:0;margin:.8rem 0;padding:1rem}.processing-settings>summary,.inspection-panel>summary{font-weight:650}.processing-control{margin:1rem 0}.processing-control label{flex-wrap:wrap}.processing-settings fieldset{border:1px solid #dbe1e8;border-radius:.35rem;min-width:0;margin:1rem 0;padding:.85rem}.source-change-policy{border:1px solid #dbe1e8;border-radius:.35rem;gap:.65rem;margin:1rem 0;padding:.85rem;display:grid}.source-change-policy legend,.processing-settings legend{font-weight:650}.agent-setup-files{gap:.85rem;padding:0;list-style:none;display:grid}.agent-setup-path{overflow-wrap:anywhere}.agent-setup-files pre{max-height:18rem;overflow:auto}.processing-example{overflow-wrap:anywhere;background:#f4f6f8;padding:.65rem;display:block}.table-scroll{max-width:100%;overflow-x:auto}.inspection-counts{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.inspection-counts th,.inspection-counts td{text-align:right;border:1px solid #dbe1e8;padding:.45rem .55rem}.inspection-counts th[scope=row],.inspection-counts th[rowspan]{text-align:left}.inspection-counts caption{text-align:left;margin:.5rem 0}button{color:#20252c;cursor:pointer;background:#fff;border:1px solid #aab5c2;border-radius:.35rem;padding:.55rem .85rem;line-height:1.35}button:hover:not(:disabled){background:#edf2f8}button:disabled{opacity:.55;cursor:not-allowed}button.primary{color:#fff;background:#2455a4;border-color:#2455a4}button.primary:hover:not(:disabled){background:#1b4489}:focus-visible{outline-offset:3px;outline:3px solid #457dd0}input[type=checkbox],input[type=radio]{accent-color:#2455a4;flex-shrink:0;width:1.1rem;height:1.1rem}label{overflow-wrap:anywhere;align-items:center;gap:.6rem;font-weight:650;display:inline-flex}.actions,.item-heading,.section-heading{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.main-views{margin:1rem 0}.main-views button[aria-current=page]{color:#fff;background:#2455a4;border-color:#2455a4}.bundle-results{min-width:0}.bundle-results-table{border-collapse:collapse;width:100%;margin-top:1rem}.bundle-results-table th,.bundle-results-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #dbe1e8;padding:.75rem .5rem}.bundle-results-table th[scope=row]{overflow-wrap:anywhere;min-width:16rem}.bundle-results-table td:nth-child(3),.bundle-results-table td:nth-child(4){white-space:nowrap;font-variant-numeric:tabular-nums}.item-heading,.section-heading{justify-content:space-between}.item-heading label{flex:250px}.item-list{padding:0;list-style:none}.workspace,.session{border-top:1px solid #dbe1e8;padding:1rem 0}.sessions{background:#f7f9fc;padding:1rem}.metadata,.connection,small{color:#535d6b;font-size:.9rem}.path{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.9rem}.header-actions,.account-control{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.account-identity{overflow-wrap:anywhere;color:#1f6b3a;align-items:center;gap:.5rem;font-weight:650;display:inline-flex}.account-summary{align-items:center;gap:.6rem;display:flex}.account-avatar{object-fit:cover;border-radius:50%;flex:none;width:1.8rem;height:1.8rem}.account-code{letter-spacing:.15em;margin:.6rem 0;font-family:ui-monospace,monospace;font-size:1.7rem}.title-context{color:#535d6b;font-family:ui-monospace,monospace;font-size:.9rem;font-weight:400}.workspace-search{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.workspace-search input{flex:16rem;width:min(100%,32rem)}.notice,.error,.completion{background:#fff6dc;border:1px solid #e7cc86;border-radius:.4rem;padding:.9rem 1rem}.error{background:#fff0ee;border-color:#dea79f}.completion{background:#eaf6ee;border-color:#add1ba}.warnings{color:#74551b;overflow-wrap:anywhere}.operation-timings{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.6rem 2rem;display:flex}.operation-timings>div{gap:.5rem;display:flex}.operation-timings dt{font-weight:600}.operation-timings dd{margin:0}.counts{font-weight:650}.preview{background:#fff}.preview-unit{border-top:1px solid #dbe1e8;padding:.8rem 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9rem}summary{cursor:pointer}.comparison{max-height:18rem;overflow:auto}.pagination{margin-top:1rem}.output-path{font-weight:650}progress{width:100%;margin:1rem 0;display:block}dialog{max-width:min(620px,100vw - 2rem);max-height:calc(100vh - 2rem);color:inherit;border:1px solid #aab5c2;border-radius:.65rem;padding:1.5rem;overflow:auto}dialog::backdrop{background:#19233273}dialog .actions{justify-content:flex-end;margin-top:1.2rem}footer{color:#535d6b;font-size:.9rem}@media (width<=650px){header,main,footer{padding:1rem}header{align-items:flex-start}header .local{display:none}section{padding:1rem}.actions button{flex-grow:1}}.preview-message{border-radius:8px;margin:12px 0;padding:12px 16px}.preview-user{background:#eff6ff;border-left:3px solid #2563eb}.preview-assistant{background:#f8fafc;border-left:3px solid #94a3b8}.preview-message pre{margin:0;font-family:inherit;line-height:1.6}.preview-message h6{color:#475569;margin:0 0 8px;font-size:.9rem}.preview-activity{color:#64748b;margin:8px 16px;font-size:.85rem}.preview-details{color:#475569;margin:12px 0;font-size:.85rem}.preview-details summary{cursor:pointer}.preview-records pre{max-height:24rem;overflow:auto}.connection,.journey-connection,.error p{white-space:pre-line}
|