@rubytech/create-maxy-code 0.1.419 → 0.1.427
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/package.json +1 -1
- package/payload/platform/neo4j/schema.cypher +13 -0
- package/payload/platform/package-lock.json +5158 -2922
- package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +5 -1
- package/payload/platform/plugins/admin/hooks/__tests__/datetime-inject.test.sh +119 -0
- package/payload/platform/plugins/admin/hooks/__tests__/prompt-optimiser-compliance.test.sh +22 -0
- package/payload/platform/plugins/admin/hooks/datetime-inject.sh +115 -0
- package/payload/platform/plugins/admin/hooks/prompt-optimiser-compliance.sh +14 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js +62 -4
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts +44 -0
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js +96 -0
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js.map +1 -1
- package/payload/platform/plugins/admin/skills/datetime/SKILL.md +9 -2
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +16 -2
- package/payload/platform/plugins/docs/references/cross-account-authority.md +8 -0
- package/payload/platform/plugins/docs/references/internals.md +4 -0
- package/payload/platform/plugins/docs/references/memory-guide.md +2 -0
- package/payload/platform/plugins/docs/references/plugins-guide.md +1 -1
- package/payload/platform/plugins/email/PLUGIN.md +2 -2
- package/payload/platform/plugins/email/mcp/dist/__tests__/imap-drafts.test.js +73 -4
- package/payload/platform/plugins/email/mcp/dist/__tests__/imap-drafts.test.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js +42 -1
- package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/index.js +1 -0
- package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +4 -0
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +5 -0
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +25 -3
- package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/imap.js +67 -12
- package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts +1 -0
- package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js +1 -0
- package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js.map +1 -1
- package/payload/platform/plugins/email/references/email-reference.md +8 -0
- package/payload/platform/plugins/memory/PLUGIN.md +3 -0
- package/payload/platform/plugins/memory/skills/conversational-memory/SKILL.md +30 -1
- package/payload/platform/plugins/memory/skills/preference-audit/SKILL.md +50 -0
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +5 -2
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js +50 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js +22 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts +35 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js +36 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts +11 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js +19 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +85 -3
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.js +32 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +14 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +94 -4
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +23 -7
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.js +30 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts +29 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +47 -2
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -1
- package/payload/platform/plugins/whatsapp/PLUGIN.md +5 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.d.ts +2 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.js +20 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.js.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.d.ts +2 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.js +15 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.js.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.d.ts +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.d.ts.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.js +5 -2
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.js.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.d.ts +9 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.js +18 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.js.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js +17 -14
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.d.ts +7 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.js +13 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.js.map +1 -0
- package/payload/platform/plugins/work/PLUGIN.md +1 -1
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.d.ts +2 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.d.ts.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.js +72 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.js.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.d.ts +2 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.d.ts.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.js +67 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.js.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.d.ts +2 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.d.ts.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.js +66 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.js.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/index.js +3 -0
- package/payload/platform/plugins/work/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/work/mcp/dist/tools/work-create.d.ts +6 -0
- package/payload/platform/plugins/work/mcp/dist/tools/work-create.d.ts.map +1 -1
- package/payload/platform/plugins/work/mcp/dist/tools/work-create.js +41 -1
- package/payload/platform/plugins/work/mcp/dist/tools/work-create.js.map +1 -1
- package/payload/platform/scripts/lib/provision-account-dir.sh +2 -1
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts +39 -0
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.js +122 -0
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/account-timezone.d.ts +40 -0
- package/payload/platform/services/claude-session-manager/dist/account-timezone.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/account-timezone.js +126 -0
- package/payload/platform/services/claude-session-manager/dist/account-timezone.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +53 -2
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +52 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.d.ts +37 -0
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.js +80 -0
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.d.ts +70 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.js +129 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +17 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +40 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.js +37 -50
- package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/notification.d.ts +22 -0
- package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/notification.js +22 -1
- package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/instructions.js +44 -78
- package/payload/platform/services/webchat-channel/dist/instructions.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/notification.d.ts +22 -0
- package/payload/platform/services/webchat-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/notification.js +22 -1
- package/payload/platform/services/webchat-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +42 -38
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.js +66 -82
- package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
- package/payload/platform/templates/account.json +2 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +3 -2
- package/payload/platform/templates/specialists/agents/content-producer.md +4 -0
- package/payload/server/public/assets/{AdminLoginScreens-B1PkOF66.js → AdminLoginScreens-yAIhWcGc.js} +1 -1
- package/payload/server/public/assets/AdminShell-Bk1AFQ4D.js +2 -0
- package/payload/server/public/assets/{Checkbox-Bm9Er726.js → Checkbox-B_lfjsqd.js} +1 -1
- package/payload/server/public/assets/Transcript-D67OZnVM.js +2 -0
- package/payload/server/public/assets/admin-DuOhkvrZ.js +1 -0
- package/payload/server/public/assets/{arc-DyzjCWmw.js → arc-dVLpR-ec.js} +1 -1
- package/payload/server/public/assets/architecture-YZFGNWBL-CgeA3HPD.js +1 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-qWfElD16.js → architectureDiagram-Q4EWVU46-C6u_CVzb.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DO2fFHC3.js → blockDiagram-DXYQGD6D-Cy8F5b8O.js} +1 -1
- package/payload/server/public/assets/browser-CCWufeXr.js +1 -0
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-Ca-q5gDe.js → c4Diagram-AHTNJAMY-DRXrlepj.js} +1 -1
- package/payload/server/public/assets/calendar-CNk1iPrA.js +1 -0
- package/payload/server/public/assets/channel-B04VBWf7.js +1 -0
- package/payload/server/public/assets/chat-7qB-dwBq.js +1 -0
- package/payload/server/public/assets/chevron-left-CpcDbHIz.js +1 -0
- package/payload/server/public/assets/{chunk-2KRD3SAO-CX2PxuDw.js → chunk-2KRD3SAO-fEyfhRLz.js} +1 -1
- package/payload/server/public/assets/{chunk-336JU56O-D8l6U4Ne.js → chunk-336JU56O-NUWO4y7q.js} +2 -2
- package/payload/server/public/assets/chunk-426QAEUC-DZkHcXRA.js +1 -0
- package/payload/server/public/assets/{chunk-4BX2VUAB-CG32Lkbh.js → chunk-4BX2VUAB-BnfiNR3l.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-BnAQbO-v.js → chunk-4TB4RGXK-Bj_aJOz8.js} +1 -1
- package/payload/server/public/assets/{chunk-55IACEB6-ejqRH2M5.js → chunk-55IACEB6-aK0DNSKb.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-ClkicQ-T.js → chunk-5FUZZQ4R-DeqAkq5C.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-Be-mE_rx.js → chunk-5PVQY5BW-SShlujAQ.js} +1 -1
- package/payload/server/public/assets/{chunk-67CJDMHE-DPsemed2.js → chunk-67CJDMHE-CZpzQ0DL.js} +1 -1
- package/payload/server/public/assets/{chunk-7N4EOEYR-BQRQJETl.js → chunk-7N4EOEYR-COnjO6jy.js} +1 -1
- package/payload/server/public/assets/{chunk-AA7GKIK3-B1wcAVCK.js → chunk-AA7GKIK3-C9V31L2z.js} +1 -1
- package/payload/server/public/assets/{chunk-BSJP7CBP-DIua053h.js → chunk-BSJP7CBP-DSwnSGe3.js} +1 -1
- package/payload/server/public/assets/{chunk-CIAEETIT-C9GHSCS9.js → chunk-CIAEETIT-CnRUTuta.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-C1T3l1xj.js → chunk-EDXVE4YY-BexiL2LH.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-8kPcXEQC.js → chunk-ENJZ2VHE-aTklWdJQ.js} +1 -1
- package/payload/server/public/assets/{chunk-FMBD7UC4-Bhoeq9sD.js → chunk-FMBD7UC4-svcEBQzs.js} +1 -1
- package/payload/server/public/assets/{chunk-FOC6F5B3-BIBpJi8I.js → chunk-FOC6F5B3-CG7R7Xri.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-DELXp6fj.js → chunk-ICPOFSXX-CGN7Z4x9.js} +2 -2
- package/payload/server/public/assets/{chunk-K5T4RW27-DdckXldP.js → chunk-K5T4RW27-CWBh78jw.js} +1 -1
- package/payload/server/public/assets/{chunk-KGLVRYIC-BJhXejKT.js → chunk-KGLVRYIC-Ctiq4q-5.js} +1 -1
- package/payload/server/public/assets/{chunk-LIHQZDEY-BSd8nyM2.js → chunk-LIHQZDEY-BII77Q7K.js} +1 -1
- package/payload/server/public/assets/{chunk-ORNJ4GCN-CBi55uxq.js → chunk-ORNJ4GCN-DT7R01H8.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-Dfbzl8xh.js → chunk-OYMX7WX6-y-Jkbd4C.js} +1 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-D9Mwgzti.js +1 -0
- package/payload/server/public/assets/{chunk-U2HBQHQK-BN1w8_Cq.js → chunk-U2HBQHQK-DzFo6KbQ.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-CrRay1NJ.js → chunk-X2U36JSP-CYSwgtLV.js} +1 -1
- package/payload/server/public/assets/{chunk-XPW4576I-C_ZE776O.js → chunk-XPW4576I-DHlM4tOn.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-CUSlqWBY.js → chunk-YZCP3GAM-B20rTmLl.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-BdPUfSiD.js → chunk-ZZ45TVLE-C7hP4J8m.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-CIo_TzfF.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-SzQYvAUZ.js +1 -0
- package/payload/server/public/assets/clone-BVjcjsBA.js +1 -0
- package/payload/server/public/assets/{cose-bilkent-S5V4N54A-D4E9htTz.js → cose-bilkent-S5V4N54A-nKjTv9sR.js} +1 -1
- package/payload/server/public/assets/{dagre-D1B5TQL1.js → dagre-Cx8LiiUZ.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-ByuvYV7N.js → dagre-KV5264BT-BNJYTnls.js} +1 -1
- package/payload/server/public/assets/data-BnHcS27X.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-B-0KduTa.js → diagram-5BDNPKRD-CoAN5_f9.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-CSQmo3eB.js → diagram-G4DWMVQ6-pRmsN4_x.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-DK0kWiB3.js → diagram-MMDJMWI5-CRoylyp4.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-CYbK2reZ.js → diagram-TYMM5635-BT3ZtG5b.js} +1 -1
- package/payload/server/public/assets/{dist-CADCHk0t.js → dist-CRpLAnCP.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-C-JQHvJF.js → erDiagram-SMLLAGMA-DSKws1ZV.js} +1 -1
- package/payload/server/public/assets/file-download-Hf_UILaA.js +1 -0
- package/payload/server/public/assets/{flatten-ROVzlo1u.js → flatten-jn8bZgcI.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-OTOd2czg.js → flowDiagram-DWJPFMVM-C2L38ZE5.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-BWJ778ou.js → ganttDiagram-T4ZO3ILL-Bm2h-vjm.js} +1 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-DzQ18i0T.js +1 -0
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CkNcyISe.js → gitGraphDiagram-UUTBAWPF-BoowbF7u.js} +1 -1
- package/payload/server/public/assets/graph-klLugHEK.js +51 -0
- package/payload/server/public/assets/{graph-labels-BFG4bjXQ.js → graph-labels-BLx-0vyT.js} +1 -1
- package/payload/server/public/assets/{graphlib-8z59Ng6C.js → graphlib-BvT2s_o1.js} +1 -1
- package/payload/server/public/assets/info-OMHHGYJF-CwsoaVzV.js +1 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-ieNsH2bV.js +2 -0
- package/payload/server/public/assets/{isEmpty-DXf_sApt.js → isEmpty-Dkk6_L-B.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-Cg7pRRGp.js → ishikawaDiagram-UXIWVN3A-nxcmj-IX.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CZT_4r_Z.js → journeyDiagram-VCZTEJTY-q5SNIvmS.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Dp1Vd5YM.js → kanban-definition-6JOO6SKY-BugG9Q1o.js} +1 -1
- package/payload/server/public/assets/{line-UPAcwY66.js → line-MZCQLR-q.js} +1 -1
- package/payload/server/public/assets/{linear-BeeahLKw.js → linear-DmQGNk-g.js} +1 -1
- package/payload/server/public/assets/{maximize-2-DkZ40lSl.js → maximize-2-CnNQnj_v.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-CLKle8df.js → mermaid-parser.core-DvoeqLxw.js} +2 -2
- package/payload/server/public/assets/{mermaid.core-CwRj5rL5.js → mermaid.core-BLaw7iG4.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CNQUY9UJ.js → mindmap-definition-QFDTVHPH-DMkt10Vc.js} +1 -1
- package/payload/server/public/assets/operator-CRcySYv9.js +1 -0
- package/payload/server/public/assets/{ordinal-B2r5L1v4.js → ordinal-DuJYM7p1.js} +1 -1
- package/payload/server/public/assets/packet-4T2RLAQJ-DxB-bO4L.js +1 -0
- package/payload/server/public/assets/page-CVo3CWIY.js +1 -0
- package/payload/server/public/assets/page-DPTbZRwl.js +32 -0
- package/payload/server/public/assets/{pdf-render-m08Xm2Nm.js → pdf-render-riHufgrn.js} +1 -1
- package/payload/server/public/assets/pie-ZZUOXDRM-PSdKvB8-.js +1 -0
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-Scnq58FX.js → pieDiagram-DEJITSTG-DRp4lD2B.js} +1 -1
- package/payload/server/public/assets/play-yEkd7ouW.js +1 -0
- package/payload/server/public/assets/public-Fi6ccYaE.js +1 -0
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-wPfZo_vs.js → quadrantDiagram-34T5L4WZ-DkT63Dn4.js} +1 -1
- package/payload/server/public/assets/radar-PYXPWWZC-D8FqRiWq.js +1 -0
- package/payload/server/public/assets/{reduce-CFlDlJf5.js → reduce-COyotL2V.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-yYkH12K2.js → requirementDiagram-MS252O5E-65GGtDkc.js} +1 -1
- package/payload/server/public/assets/rotate-ccw-xHksz9mr.js +1 -0
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-fVWRBzzV.js → sankeyDiagram-XADWPNL6-D1vRwLWd.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-Dbap3X6h.js → sequenceDiagram-FGHM5R23-Bp47ZSN2.js} +1 -1
- package/payload/server/public/assets/square-BZqaxg7D.js +1 -0
- package/payload/server/public/assets/{src-Bi0fLV9t.js → src-xN1oULc8.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DkPLAqIh.js → stateDiagram-FHFEXIEX-BZHHcP_e.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-qVtoGx56.js +1 -0
- package/payload/server/public/assets/tasks-COWmfts8.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-DabKBJyd.js → timeline-definition-GMOUNBTQ-DZ1wUyj-.js} +1 -1
- package/payload/server/public/assets/treeView-SZITEDCU-i-w4rJmQ.js +1 -0
- package/payload/server/public/assets/treemap-W4RFUUIX-Dij6AlAj.js +1 -0
- package/payload/server/public/assets/useSubAccountSwitcher-DADvGnr1.js +9 -0
- package/payload/server/public/assets/useSubAccountSwitcher-ayajZz8T.css +1 -0
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-CaKT7c-c.js → vennDiagram-DHZGUBPP-CttBahsn.js} +1 -1
- package/payload/server/public/assets/wardley-RL74JXVD-BJhOQVqW.js +1 -0
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BZ5TTSOL.js → wardleyDiagram-NUSXRM2D-Y5tWieZg.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CLfeklJ9.js → xychartDiagram-5P7HB3ND-C78A9qbe.js} +1 -1
- package/payload/server/public/browser.html +7 -5
- package/payload/server/public/calendar.html +8 -6
- package/payload/server/public/chat.html +15 -12
- package/payload/server/public/data.html +11 -10
- package/payload/server/public/graph.html +12 -10
- package/payload/server/public/index.html +16 -14
- package/payload/server/public/operator.html +17 -14
- package/payload/server/public/public.html +15 -12
- package/payload/server/public/tasks.html +18 -0
- package/payload/server/server.js +775 -287
- package/payload/server/public/assets/AdminShell-D8wNArGQ.js +0 -2
- package/payload/server/public/assets/Transcript-CBIyQ8T5.js +0 -2
- package/payload/server/public/assets/admin-CWM9G_yA.js +0 -1
- package/payload/server/public/assets/architecture-YZFGNWBL-XiVs-N7Z.js +0 -1
- package/payload/server/public/assets/browser-D8QhNffV.js +0 -1
- package/payload/server/public/assets/calendar-qob5K4t_.js +0 -1
- package/payload/server/public/assets/channel-CYBkRz7E.js +0 -1
- package/payload/server/public/assets/chat-BNrxVUF6.js +0 -1
- package/payload/server/public/assets/chevron-left-BQThFVrd.js +0 -1
- package/payload/server/public/assets/chunk-426QAEUC-CPhOHriU.js +0 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-CDnAAZVJ.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BdXUKVrS.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DAq-uJr_.js +0 -1
- package/payload/server/public/assets/clone-DQl28-jK.js +0 -1
- package/payload/server/public/assets/data-C-EqNbRi.js +0 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-BM-KaDZy.js +0 -1
- package/payload/server/public/assets/graph-DZ2HMpIB.js +0 -51
- package/payload/server/public/assets/info-OMHHGYJF-CtZajyAB.js +0 -1
- package/payload/server/public/assets/infoDiagram-42DDH7IO-C-_WYlmI.js +0 -2
- package/payload/server/public/assets/operator-FrXrSsBj.js +0 -1
- package/payload/server/public/assets/packet-4T2RLAQJ-T-SYedp7.js +0 -1
- package/payload/server/public/assets/page-CHWMI9Tm.js +0 -32
- package/payload/server/public/assets/page-CXKV01gT.js +0 -1
- package/payload/server/public/assets/pie-ZZUOXDRM-BWECFVVd.js +0 -1
- package/payload/server/public/assets/public-2p1pJ4WF.js +0 -1
- package/payload/server/public/assets/radar-PYXPWWZC-Dx0YUklX.js +0 -1
- package/payload/server/public/assets/rotate-ccw-D3o_bMBA.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DceWO1u6.js +0 -1
- package/payload/server/public/assets/treeView-SZITEDCU-C3197Rac.js +0 -1
- package/payload/server/public/assets/treemap-W4RFUUIX-BPrpx29h.js +0 -1
- package/payload/server/public/assets/useSubAccountSwitcher-8dLvF3Ux.js +0 -9
- package/payload/server/public/assets/useSubAccountSwitcher-BUvlETHN.css +0 -1
- package/payload/server/public/assets/wardley-RL74JXVD-DW4Jlbhw.js +0 -1
- /package/payload/server/public/assets/{_baseFor-BVuIxZJh.js → _baseFor-Bjj9It3Q.js} +0 -0
- /package/payload/server/public/assets/{admin-types-hioowVct.js → admin-types-ClHBm0ni.js} +0 -0
- /package/payload/server/public/assets/{array-B9UHiPd-.js → array-BrrxEo12.js} +0 -0
- /package/payload/server/public/assets/{chunk-CAM3fms7.js → chunk-Ck5AOu5v.js} +0 -0
- /package/payload/server/public/assets/{cytoscape.esm-D5_TRwB-.js → cytoscape.esm-CTWJxUxo.js} +0 -0
- /package/payload/server/public/assets/{defaultLocale-5eAKkKJC.js → defaultLocale-CFDbRV4k.js} +0 -0
- /package/payload/server/public/assets/{init-DlZdxViB.js → init-dXCzGgLP.js} +0 -0
- /package/payload/server/public/assets/{katex-Xo0SyWvP.js → katex-CHA1JFYJ.js} +0 -0
- /package/payload/server/public/assets/{path-6uRLdFF7.js → path-CCRpdXhK.js} +0 -0
- /package/payload/server/public/assets/{preload-helper-CvXuAEud.js → preload-helper-CH6UZRzu.js} +0 -0
- /package/payload/server/public/assets/{rough.esm-Djo4Abte.js → rough.esm-Bud4g4fh.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Cormorant;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-cyrillic-ext-300-normal-BXl3lXsi.woff2)format("woff2"),url(/assets/cormorant-cyrillic-ext-300-normal-DmxSOTe3.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:Cormorant;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-cyrillic-300-normal-DFUoTmrg.woff2)format("woff2"),url(/assets/cormorant-cyrillic-300-normal-CzPHYadL.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-vietnamese-300-normal-BVqIp_mg.woff2)format("woff2"),url(/assets/cormorant-vietnamese-300-normal-CEMS9Pw-.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:Cormorant;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-latin-ext-300-normal-De3D72RL.woff2)format("woff2"),url(/assets/cormorant-latin-ext-300-normal-CkiUx0UG.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:Cormorant;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-latin-300-normal-CJ5dfen0.woff2)format("woff2"),url(/assets/cormorant-latin-300-normal-DQZObO_3.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:Cormorant;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-cyrillic-ext-400-normal-BlcaxZtM.woff2)format("woff2"),url(/assets/cormorant-cyrillic-ext-400-normal-Bgrpe4p1.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:Cormorant;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-cyrillic-400-normal-C8QS47vb.woff2)format("woff2"),url(/assets/cormorant-cyrillic-400-normal-D3EsxgFc.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-vietnamese-400-normal-C-RiYxEf.woff2)format("woff2"),url(/assets/cormorant-vietnamese-400-normal-DmUuA7Y2.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:Cormorant;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-latin-ext-400-normal-DuQ88yz3.woff2)format("woff2"),url(/assets/cormorant-latin-ext-400-normal-DuXFa1Dr.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:Cormorant;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-latin-400-normal-BGH8Vunh.woff2)format("woff2"),url(/assets/cormorant-latin-400-normal-C3_-2Ua-.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:Cormorant;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-cyrillic-ext-500-normal-pZw22qtS.woff2)format("woff2"),url(/assets/cormorant-cyrillic-ext-500-normal-CdQuyvtc.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:Cormorant;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-cyrillic-500-normal-BLlg2W5x.woff2)format("woff2"),url(/assets/cormorant-cyrillic-500-normal-B7dJQtg-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-vietnamese-500-normal-DsPuwQHi.woff2)format("woff2"),url(/assets/cormorant-vietnamese-500-normal-tGBW_mI7.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:Cormorant;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-latin-ext-500-normal-AH9qog1s.woff2)format("woff2"),url(/assets/cormorant-latin-ext-500-normal-DAuUCO41.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:Cormorant;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-latin-500-normal-EBdSCOD3.woff2)format("woff2"),url(/assets/cormorant-latin-500-normal-Dj3SQ6fR.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.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}:root{--color-global-neutral-0:#fff;--color-global-neutral-50:#fafaf7;--color-global-neutral-100:#f2efe9;--color-global-neutral-200:#e6e2da;--color-global-neutral-400:#b8b3a8;--color-global-neutral-500:#8a857a;--color-global-neutral-700:#3a3936;--color-global-neutral-900:#1a1a18;--color-global-brand-claudeOrange:#d97757;--color-global-accent-blue-100:#e7edfb;--color-global-accent-blue-500:#2563eb;--color-global-semantic-danger-100:#fee2e2;--color-global-semantic-danger-500:#b91c1c;--color-alias-surface-canvas:#fff;--color-alias-surface-chrome:#fafaf7;--color-alias-surface-raisedSubtle:#f2efe9;--color-alias-text-primary:#1a1a18;--color-alias-text-body:#3a3936;--color-alias-text-muted:#8a857a;--color-alias-text-disabled:#b8b3a8;--color-alias-text-link:#2563eb;--color-alias-text-onAccent:#2563eb;--color-alias-border-subtle:#e6e2da;--color-alias-action-primaryBg:#e7edfb;--color-alias-action-primaryFg:#2563eb;--color-alias-action-dangerBg:#b91c1c;--color-alias-action-dangerFg:#fff;--color-alias-action-dangerWash:#fee2e2;--color-alias-status-activity:#d97757;--color-component-sidebar-background:#fafaf7;--color-component-sidebar-itemRest:transparent;--color-component-sidebar-itemSelected:#f2efe9;--color-component-sidebar-itemText:#3a3936;--color-component-sidebar-sectionLabel:#8a857a;--color-component-tab-rest:transparent;--color-component-tab-active:#f2efe9;--color-component-codeInline-text:#2563eb;--color-component-taskItem-completedText:#b8b3a8;--color-component-taskItem-pendingText:#3a3936;--color-component-input-background:#fff;--color-component-input-border:#e6e2da;--color-component-input-placeholder:#8a857a;--typography-fontFamily-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--typography-fontFamily-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--typography-fontSize-xs:11px;--typography-fontSize-sm:13px;--typography-fontSize-base:15px;--typography-fontSize-lg:17px;--typography-fontWeight-regular:400;--typography-fontWeight-medium:500;--typography-fontWeight-semibold:600;--typography-fontWeight-display:500;--typography-lineHeight-tight:1.3;--typography-lineHeight-normal:1.5;--typography-lineHeight-relaxed:1.7;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:9999px;--borderWidth-hairline:1px;--layout-sidebarWidth:240px;--elevation-0:none;--icon-size-sm:14px;--icon-size-md:16px;--icon-size-lg:20px;--icon-strokeWidth-default:1.75}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafaf8;--bg-chat:#fff;--surface:#f5f2ed;--surface-cool:#eef1f4;--text:#1a1a1a;--text-primary:var(--text);--text-secondary:#6b6b6b;--text-tertiary:#9a9a9a;--border:#0000000f;--border-strong:#0000001a;--sage:#7c8c72;--sage-hover:#6a7a62;--sage-deep:#5a6b52;--sage-subtle:#7c8c7214;--sage-glow:#7c8c7226;--session-live:#22c55e;--maxy-bubble:#f5f2ed;--visitor-bubble:#e8ecf0;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 4px 16px #00000014;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--danger:#b44;--danger-hover:#c44;--accent:#e8e8e8;--surface-hover:#ffffff0d;--hover:#0000000a;--copper:#b87333;--copper-deep:#8e5520;--copper-wash:#b873331a;--font-display:"Cormorant", Georgia, serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--ink-900:#2a2d38;--ink-700:#4a4d58;--ink-400:#9ea0a8;--paper-100:#fff;--paper-200:#f6f5f2;--rule-100:#e4e3de;--measure:36rem;--container:84rem;--gutter:clamp(1.5rem, 4vw, 5rem);--chat-measure:48rem}.public-shell{flex-direction:column;height:100dvh;display:flex}.public-loading{height:100dvh;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.public-surface{--bg:var(--paper-200);--bg-chat:var(--paper-100);--surface:var(--paper-200);--surface-cool:var(--paper-200);--text:var(--ink-900);--text-secondary:var(--ink-700);--text-tertiary:var(--ink-400);--border:var(--rule-100);--border-strong:var(--rule-100);--sage:var(--ink-900);--sage-hover:var(--ink-700);--sage-deep:var(--ink-900);--sage-subtle:#2a2d380f;--sage-glow:#2a2d381f;--color-alias-text-link:var(--ink-900);--color-alias-action-primaryFg:var(--ink-900);--color-alias-action-primaryBg:#2a2d380f;--color-alias-border-subtle:var(--ink-900);--maxy-bubble:var(--paper-100);--visitor-bubble:var(--paper-200);--font-display:"Newsreader", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;background:var(--paper-200);color:var(--ink-900)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text);background:var(--bg);font-size:16px;line-height:1.6;overflow-x:hidden}a{color:var(--color-alias-text-link);text-decoration:none;transition:color .2s}a:hover{color:var(--color-alias-text-link)}.chat-page{flex-direction:column;height:100dvh;display:flex}.chat-page:not(.admin-page){max-width:calc(var(--chat-measure) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto}.chat-content{min-height:0;max-width:var(--chat-measure);flex-direction:column;flex:1;width:100%;margin:0 auto;padding:0;display:flex}.chat-header{text-align:center;flex-shrink:0;padding:48px 0 24px;position:relative}.chat-header-actions{gap:4px;display:flex;position:absolute;top:16px;right:16px}.chat-header-action{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;transition:color .15s,background .15s}.chat-header-action:hover:not(:disabled){color:var(--text);background:var(--hover)}.chat-header-action:disabled{opacity:.35;cursor:default}.chat-logo{object-fit:contain;width:auto;height:64px;margin-bottom:16px}.chat-logo--circle{object-fit:cover;border-radius:50%;width:64px;height:64px}.chat-logo--rounded{object-fit:cover;border-radius:12px}.chat-tagline{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin-bottom:12px;font-size:clamp(28px,5vw,42px);font-weight:300;line-height:1.2}.chat-tagline-wrap{display:inline-flex;position:relative}button.chat-tagline-clickable{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.chat-intro{color:var(--text-secondary);margin:0 0 12px;font-size:15px;line-height:1.6}.chat-ai-indicator{color:var(--text-secondary);opacity:.7;margin:0;font-size:11px;line-height:1.3}.chat-trust{color:var(--text-tertiary);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.chat-trust-sep{opacity:.4}.chat-messages-wrap{flex:1;min-height:0;position:relative}@keyframes scrollBounce{0%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(4px)}}.scroll-to-bottom{background:var(--bg);border:1px solid var(--border-strong);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);opacity:.5;z-index:10;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,color .15s,box-shadow .15s;animation:1.4s ease-in-out infinite scrollBounce;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.scroll-to-bottom:hover{color:var(--color-alias-action-primaryFg);opacity:1;animation:none;box-shadow:0 2px 8px #00000014}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;gap:12px;height:100%;padding:16px 0;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.session-error{text-align:center;color:var(--text-secondary);flex:1;justify-content:center;align-items:center;padding:2rem;font-size:.95rem;line-height:1.5;display:flex}.idle-tips{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:2rem;animation:.3s ease-out idle-tips-in;display:flex}@keyframes idle-tips-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.idle-tips-hint{color:var(--text-secondary);font-size:.95rem}.idle-tips-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.idle-tip-chip{font-family:var(--font-body);border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;background:0 0;padding:8px 16px;font-size:.85rem;transition:border-color .15s,color .15s,background .15s}.idle-tip-chip:hover,.idle-tip-chip:focus-visible{border-color:var(--color-alias-border-subtle);color:var(--color-alias-action-primaryFg);background:var(--color-alias-action-primaryBg)}.message-historical{opacity:.6}.resume-divider{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;padding:12px 16px;font-size:.75rem;display:flex}.resume-divider:before,.resume-divider:after{content:"";background:var(--border-default);flex:1;height:1px}body[data-drag-popout-active] .chat-messages{outline:2px dashed var(--color-alias-border-subtle);outline-offset:-2px;border-radius:8px;transition:outline-color .15s}.message{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;animation:.3s ease-out messageIn;display:flex;position:relative}.admin-page .message,.chat-page .message{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.message.maxy{flex-direction:column;align-items:flex-start}.message.visitor{justify-content:flex-end}.bubble{border-radius:var(--radius-lg);word-wrap:break-word;white-space:pre-wrap;max-width:85%;padding:12px 16px;font-size:15px;line-height:1.55;position:relative}.maxy-content-wrap{width:100%;min-width:0;position:relative}.message.maxy .bubble{background:var(--maxy-bubble);color:var(--text);border-bottom-left-radius:var(--radius-sm)}.message.visitor .bubble{background:var(--visitor-bubble);color:var(--text);border-bottom-right-radius:var(--radius-sm)}.public-surface .message.visitor .bubble{border:1px solid var(--border)}.public-surface .message.maxy .bubble{background:0 0;border-radius:0;width:100%;max-width:none;padding:0}.public-surface .message.maxy .markdown-message{font-family:var(--font-display);font-size:18px;line-height:1.75}.public-surface .message.maxy .md-heading{font-family:var(--font-display)}.public-surface .message.maxy h1.md-heading{font-size:25px}.public-surface .message.maxy h2.md-heading{font-size:21px}.public-surface .message.maxy h3.md-heading{font-size:19px}.public-surface .message.maxy .md-list-item{font-size:18px;line-height:1.75}.bubble-sender{color:var(--color-alias-action-primaryFg);opacity:.85;margin-bottom:2px;font-size:11px;font-weight:600;display:block}.bubble-content{position:relative}.bubble-content.clamped{max-height:4.65em;overflow:hidden}.bubble-content.clamped.overflowing:after{content:"";background:linear-gradient(to bottom, transparent, var(--visitor-bubble));pointer-events:none;height:1.55em;position:absolute;bottom:0;left:0;right:0}.bubble-expand{justify-content:center;padding-top:4px;display:flex}.bubble-expand .btn{transition:background .15s,opacity .15s,color .15s,transform .2s}.bubble-expand .btn.expanded{transform:rotate(180deg)}.typing-indicator{align-items:center;gap:4px;padding:14px 18px;display:flex}.typing-dot{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typingPulse}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-suggestions{flex-wrap:wrap;gap:8px;padding:4px 0 8px;animation:.3s ease-out messageIn;display:flex}.chat-input-area{flex-shrink:0;padding:16px 0 24px}.chat-actions{align-items:center;gap:16px;padding:8px 4px 0;display:flex;position:relative}.chat-action{font-family:var(--font-body);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12px;transition:color .15s;display:inline-flex}.chat-action:hover{color:var(--text-secondary)}.chat-action-icon{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.chat-action-icon:hover:not(:disabled){color:var(--text-secondary);background:var(--hover)}.chat-action-icon:disabled{opacity:.4;cursor:not-allowed}.burger-trigger{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;transition:color .15s;display:flex}.burger-trigger:hover{color:var(--text-secondary)}.actions-menu-items{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm,6px);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;gap:2px;min-width:170px;padding:4px 0;transition:opacity .15s,transform .15s,visibility .15s;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;transform:translateY(4px);box-shadow:0 2px 8px #00000026}.actions-menu-items.actions-menu-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.actions-menu-items .chat-action{width:100%;padding:8px 12px;font-size:13px}.actions-menu-items .chat-action:hover{background:var(--hover)}.actions-menu-items .action-label{display:inline}.chat-resize-handle{cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:12px;display:flex}.chat-resize-handle-bar{background:var(--border-strong);opacity:0;border-radius:2px;width:36px;height:3px;transition:opacity .15s}.chat-resize-handle:hover .chat-resize-handle-bar{opacity:1}.chat-form{background:var(--bg-chat);border:1px solid var(--border-strong);border-radius:var(--radius-full);align-items:end;gap:8px;padding:6px 6px 6px 20px;transition:border-color .2s,box-shadow .2s,border-radius .2s;display:flex}.chat-form[data-expanded=true]{border-radius:var(--radius-lg)}.chat-form>.btn--icon{margin:10px 0}.chat-form:focus-within{border-color:var(--color-alias-border-subtle);box-shadow:0 0 0 3px var(--color-alias-action-primaryFg)}.chat-input{min-width:0;font-family:var(--font-body);color:var(--text);resize:none;word-wrap:break-word;background:0 0;border:none;outline:none;flex:1;padding-block:8px;font-size:15px;line-height:1.4;overflow-y:hidden}.chat-input::placeholder{color:var(--text-tertiary)}.chat-footer{text-align:center;flex-shrink:0;padding:0 0 20px}.chat-footer a{color:var(--text-tertiary);font-size:13px;transition:color .2s}.chat-footer a:hover{color:var(--color-alias-text-link)}.auth-retry-link{font-family:var(--font-body);color:var(--text-tertiary);margin-top:12px;font-size:13px;text-decoration:none}.auth-retry-link:hover{color:var(--color-alias-text-link)}.gate-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:0 20px 40px;display:flex}.gate-card{text-align:center;width:100%;max-width:400px}.gate-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(22px,4vw,30px);font-weight:300;line-height:1.3}.gate-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:15px;line-height:1.5}.gate-expiry-badge{color:var(--color-alias-action-primaryFg);background:var(--color-alias-action-primaryBg);border-radius:var(--radius-full);margin-bottom:20px;padding:4px 10px;font-size:12px;display:inline-block}.gate-form{text-align:left}.gate-field{margin-bottom:14px}.gate-field label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.gate-field input{border:1px solid var(--border-strong);width:100%;font-family:var(--font-body);color:var(--text);background:var(--bg);border-radius:8px;outline:none;padding:10px 12px;font-size:15px;transition:border-color .15s,box-shadow .15s}.gate-field input:focus{border-color:var(--color-alias-border-subtle);box-shadow:0 0 0 2px var(--color-alias-action-primaryFg)}.gate-field input::placeholder{color:var(--text-tertiary)}.gate-pw-row{position:relative}.gate-pw-toggle{position:absolute;top:0;right:0}.gate-strength{color:var(--text-tertiary);flex-direction:column;gap:4px;margin-top:8px;font-size:12px;display:flex}.gate-strength-item{align-items:center;gap:6px;display:flex}.gate-strength-item.met{color:var(--color-alias-action-primaryFg)}.gate-submit{margin-top:20px}.gate-submit .btn{border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:500}.gate-error{color:var(--danger);text-align:center;margin-top:8px;font-size:13px}.gate-success{color:var(--color-alias-action-primaryFg);text-align:center;margin-top:8px;font-size:13px}.gate-link{color:var(--text-tertiary);cursor:pointer;font-size:13px;font-family:var(--font-body);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline;display:inline}.gate-link:hover{color:var(--color-alias-text-link)}.gate-hint{color:var(--text-tertiary);text-align:center;margin-top:16px;font-size:13px}.gate-actions{text-align:center;margin-top:16px}.gate-actions .btn{min-width:200px}.gate-icon{margin-bottom:12px;font-size:36px}.access-gate{justify-content:center;align-items:center;min-height:60vh;padding:24px;display:flex}.access-gate-message,.access-gate-form{text-align:center;flex-direction:column;gap:12px;width:100%;max-width:420px;display:flex}.access-gate-form{text-align:left}.access-gate-form label{color:var(--text-secondary);font-size:14px}.access-gate-form input[type=email]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:16px}.access-gate-form input[type=email]:focus{border-color:var(--color-alias-border-subtle);box-shadow:0 0 0 2px var(--color-alias-action-primaryFg);outline:none}.access-gate-error{color:var(--danger,#c0392b);margin:0;font-size:14px}.gate-otp-field{justify-content:center;align-items:center;gap:10px;margin:20px 0;display:flex}.gate-otp-field .pin-box{border-radius:8px;width:42px;height:48px;font-size:20px}.gate-otp-field .pin-box:focus{border-color:var(--color-alias-border-subtle);box-shadow:0 0 0 2px var(--color-alias-action-primaryFg)}.gate-otp-field .pin-box-filled{border-color:var(--border-strong)}.gate-resend{text-align:center;margin-top:4px}.gate-divider{color:var(--text-tertiary);align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.gate-divider:before,.gate-divider:after{content:"";background:var(--border);flex:1;height:1px}.gate-loading{color:var(--text-tertiary);justify-content:center;align-items:center;gap:8px;padding:20px 0;font-size:14px;display:flex}.gate-loading .spinner{border:2px solid var(--border);border-top-color:var(--color-alias-border-subtle);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-page .chat-header{text-align:left;border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 24px;display:grid}.admin-page .chat-logo{border-radius:6px;flex-shrink:0;width:36px;height:36px;margin-bottom:0}.admin-page .chat-header-label{justify-self:center;align-items:center;gap:8px;min-width:0;display:inline-flex}.admin-page .chat-sidebar-toggle{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.admin-page .chat-sidebar-toggle:hover{color:var(--color-alias-action-primaryFg)}.chat-burger-wrap{flex:none;position:relative}.chat-burger{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:color .15s;animation:2.4s ease-in-out 3 iconHeartbeat;display:flex}.chat-burger:hover{color:var(--color-alias-action-primaryFg);animation:none}.chat-menu{background:var(--bg);border:1px solid var(--border);z-index:100;border-radius:8px;min-width:160px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000014}.chat-menu-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:8px;padding:9px 12px;font-size:13px;text-decoration:none;transition:background .12s,color .12s;display:flex}.chat-menu-item:hover{background:var(--surface);color:var(--text)}.chat-menu-item:focus-visible{background:var(--surface);color:var(--text);outline:none}.chat-menu-disconnect{color:var(--danger)}div.chat-menu-disconnect{justify-content:space-between}.chat-menu-disconnect svg{color:var(--danger)}.chat-menu-disconnect:hover{color:var(--danger-hover)}.chat-menu-changepin{flex-direction:column;align-items:stretch;gap:6px}.chat-menu-pin-input{width:100%;font:inherit;padding:6px 8px}.chat-menu-divider{background:var(--border);height:1px;margin:2px 0}.chat-menu-agents{border-top:1px solid var(--border);max-height:264px;padding:4px 0;overflow-y:auto}.chat-menu .chat-menu-agent-item{align-items:flex-start;padding-left:20px}.chat-menu-agent-item .agent-status-dot{background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.chat-menu-agent-item .agent-status-dot.active{background:var(--session-live)}.chat-menu-agent-item .agent-text{flex-direction:column;flex:1;min-width:0;display:flex}.chat-menu-agent-item .agent-display-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-menu-agent-item .agent-slug{opacity:.5;font-size:11px}.chat-menu-agent-empty,.chat-menu-agent-error{color:var(--text-tertiary);padding:9px 20px;font-size:12px;display:block}.chat-menu-agent-error{color:var(--danger)}.agent-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.agent-action-btn{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex}.agent-action-btn:hover{background:var(--surface);color:var(--text)}.agent-delete-btn:hover,.agent-confirm-yes{color:var(--danger)}.agent-confirm-yes:hover{background:var(--danger);color:#fff}.agent-confirm-no:hover{color:var(--text)}.chat-menu-version{width:100%;color:var(--text-tertiary);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:8px;padding:9px 12px;font-size:12px;transition:background .12s,color .12s;display:flex}.chat-menu-version:hover{background:var(--surface);color:var(--text-secondary)}.chat-menu-version-passive{cursor:default}.chat-menu-version-passive:hover{color:var(--text-tertiary);background:0 0}.version-installed{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.version-update-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.version-uptodate-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.claude-info-modal.update-modal{width:720px;min-width:300px;max-width:min(720px,100% - 28px)}.update-modal-body{padding:12px 14px}.update-modal-versions{margin-bottom:12px}.update-modal-versions .claude-info-row{padding:8px 0;font-size:11.5px}.update-modal-versions .claude-info-label{font-weight:500}.update-modal-versions .claude-info-value{font-size:11.5px}.update-version-new{color:var(--color-alias-action-primaryFg);font-weight:500}.update-modal-btn{background:var(--color-alias-action-primaryFg);color:#fff;letter-spacing:.01em;cursor:pointer;width:100%;box-shadow:var(--shadow-sm);border:none;border-radius:6px;margin:14px 0 0;padding:10px 0;font-size:12px;font-weight:600;transition:background .12s,box-shadow .12s,transform .12s}.update-modal-btn:hover{background:var(--color-alias-action-primaryFg);box-shadow:var(--shadow-md)}.update-modal-btn:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}.update-modal-btn[disabled]{cursor:not-allowed;background:var(--surface);color:var(--text-tertiary);box-shadow:none;font-weight:500}.update-modal-btn[disabled]:hover{background:var(--surface);box-shadow:none}.update-modal-launch-error{color:var(--danger);word-break:break-word;background:#ef444414;border:1px solid #ef444440;border-radius:6px;margin:0 0 10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.update-modal-result{align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex}.update-success-icon{color:var(--color-alias-action-primaryFg);flex-shrink:0}.update-error-icon{color:var(--danger);flex-shrink:0}.admin-page .chat-tagline{-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;margin:0;font-size:16px;line-height:1.2;display:-webkit-box;overflow:hidden}.admin-page .chat-intro{margin:0;font-size:12px;line-height:1.3}.admin-activity{flex-direction:column;gap:6px;max-width:100%;display:flex}.spin{animation:1s linear infinite spin}.tl-spinner{animation:1.2s linear infinite spin}.star-loader{color:var(--text-tertiary)}.star-frame-0{opacity:.5;transform:scale(.85)}.star-frame-1{opacity:.8;transform:scale(1)}.star-frame-2{opacity:1;transform:scale(1.15)}.star-frame-3{opacity:.9;transform:scale(1.05)}.tl-loading{color:var(--text-tertiary);align-items:center;gap:6px;padding:2px 0 4px;display:flex}.tl-elapsed{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.tl-thinking-typewriter{min-width:8.5em;font-size:12px;display:inline-block}.tl-steps{flex-direction:column;display:flex}.tl-step{align-items:stretch;gap:0;display:flex;position:relative}.tl-col{flex-direction:column;flex-shrink:0;align-items:center;width:20px;display:flex}.tl-line{background:var(--border-strong);flex-shrink:0;width:1px;min-height:6px}.tl-line-grow{flex:1}.tl-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.tl-icon.tl-pending{color:var(--color-alias-action-primaryFg)}.tl-icon.tl-done{color:var(--text-tertiary)}.tl-icon.tl-success{color:#4d8c63}.tl-icon.tl-error{color:#c44}.tl-icon.tl-dim{color:var(--color-alias-action-primaryFg);opacity:.8}.tl-body{flex:1;min-width:0;padding:0 0 0 6px}.tl-row{align-items:center;gap:6px;min-height:22px;padding:2px 0;display:flex}.tl-summary{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;line-height:1.4;overflow:hidden}.tl-thinking-label{color:var(--text-tertiary);font-style:italic}.tl-step-tokens{color:var(--text-tertiary);font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0;align-items:center;gap:2px;font-size:11px;display:inline-flex}.tl-step-elapsed{color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.tl-chevron{color:var(--text-tertiary);flex-shrink:0;align-items:center;display:flex}.tl-summary-row{cursor:pointer}.tl-summary-row .tl-summary{color:var(--text-tertiary);font-size:11px}.tl-summary-row .tl-icon{color:var(--text-tertiary)}.tl-detail{white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);background:#00000008;border-radius:4px;margin:2px 0 6px;padding:7px 9px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11.5px;line-height:1.5;overflow-x:auto}.tl-row.tl-row-top{align-items:flex-start}.tl-thinking-col{flex-direction:column;flex:1;min-width:0;display:flex}.tl-thinking-body{color:var(--text-tertiary);word-break:break-word;border:1px solid var(--color-alias-border-subtle);border-radius:6px;max-height:90px;margin:0 0 4px;padding:4px 8px;font-size:12px;font-style:italic;line-height:1.5;overflow-y:auto}.tl-status{color:var(--text-tertiary);text-align:center;padding:2px 0 2px 4px;font-size:11px;font-style:italic}.tl-script-stream{color:var(--text-secondary);flex-direction:column;gap:4px;padding:2px 0 2px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5;display:flex}.tl-script-stream-line{overflow-wrap:anywhere;align-items:baseline;gap:6px;display:flex}.tl-script-stream-source{color:var(--text-tertiary);letter-spacing:.02em;opacity:.85;flex-shrink:0;font-size:10px}.tl-script-stream-content{white-space:pre-wrap;flex:auto}.tl-post-components{flex-direction:column;gap:12px;margin-top:12px;display:flex}.tl-footer{color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0 2px;font-size:11px;display:flex}.tl-footer-sep{opacity:.5}.tl-footer-icon-stat{align-items:center;gap:3px;display:inline-flex}.tl-footer-est{opacity:.6}.tl-ctx-pct{font-variant-numeric:tabular-nums}.tl-ctx-pct.tl-ctx-mid{color:var(--warning,#b8860b)}.tl-ctx-pct.tl-ctx-high{color:var(--error,#c33)}.tl-ctx-compacted{opacity:.45;font-style:italic}.tl-footer-status{align-items:center;gap:4px;margin-left:6px;display:inline-flex}.expand-toggle{cursor:pointer;-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-strong);z-index:10;background:#fafaf8bf;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;animation:2.4s ease-in-out .4s 3 iconHeartbeat;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 2px 8px #00000014}.expand-toggle-default{color:var(--color-alias-action-primaryFg)}.expand-toggle-default:hover{color:var(--color-alias-action-primaryFg);background:var(--color-alias-action-primaryBg);animation:none}.expand-toggle-all{color:#4a8fc4}.expand-toggle-all:hover{color:#2e6fa0;background:#4a8fc414;animation:none}.expand-toggle-off{color:var(--text-tertiary)}.expand-toggle-off:hover{color:var(--text-secondary);background:var(--surface);animation:none}.select-toggle{color:var(--text-tertiary);animation:none;right:52px}.select-toggle:hover{color:var(--text-secondary);background:var(--surface)}.markdown-message{color:var(--text);word-wrap:break-word;background:var(--maxy-bubble);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm);max-width:85%;padding:12px 16px;font-size:15px;line-height:1.65;position:relative}.bubble>.markdown-message{white-space:normal;background:0 0;border-radius:0;max-width:none;padding:0}.markdown-message .md-p{margin:0 0 10px}.markdown-message .md-p:last-child{margin-bottom:0}.markdown-message .md-heading{font-family:var(--font-body);color:var(--text);margin:14px 0 5px;font-weight:500;line-height:1.3}.markdown-message h1.md-heading{font-size:17px}.markdown-message h2.md-heading{font-size:15.5px}.markdown-message h3.md-heading{font-size:14.5px}.markdown-message .md-pre{border:1px solid var(--border);background:#0000000a;border-radius:5px;margin:8px 0;padding:10px 12px;overflow-x:auto}.markdown-message .md-pre code{white-space:pre;color:var(--text-secondary);background:0 0;border:none;border-radius:0;padding:0;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.5;display:block}.markdown-message .md-code{background:#0000000f;border-radius:3px;padding:1px 5px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px}.markdown-message .md-list{margin:4px 0 10px;padding-left:20px}.markdown-message .md-list-ordered{list-style-type:decimal}.markdown-message .md-list-item{margin-bottom:3px;font-size:15px;line-height:1.6}.markdown-message .md-list-item .md-p{margin:0}.markdown-message .md-hr{border:none;border-top:1px solid var(--border-strong);margin:12px 0}.markdown-message .md-strong{font-weight:500}.markdown-message .md-link{color:var(--color-alias-text-link);text-decoration:underline;-webkit-text-decoration-color:var(--color-alias-text-link);text-decoration-color:var(--color-alias-text-link);text-underline-offset:2px}.markdown-message .md-img{object-fit:contain;cursor:pointer;border-radius:6px;max-width:100%;max-height:400px;margin:8px 0;display:block}.markdown-message .md-video{border-radius:6px;max-width:100%;margin:8px 0;display:block}.markdown-message .md-video-iframe{border-radius:6px;width:100%;margin:8px 0;padding-bottom:56.25%;position:relative;overflow:hidden}.markdown-message .md-video-iframe iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.markdown-message .md-mermaid{margin:8px 0;overflow-x:auto}.md-device-url{font-family:var(--font-body);flex-direction:column;gap:8px;margin:10px 0;display:flex}.md-device-url-button{border:1px solid var(--color-alias-border-subtle);background:var(--color-alias-action-primaryBg);color:var(--color-alias-action-primaryFg);border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;text-align:left;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:10px 14px;font-size:14px;font-weight:500;line-height:1.2;transition:background .12s,transform .12s;display:inline-flex}.md-device-url-button:hover:not(:disabled){background:var(--color-alias-action-primaryBg)}.md-device-url-button:active:not(:disabled){transform:translateY(1px)}.md-device-url-button:disabled{opacity:.65;cursor:progress}.md-device-url-icon{color:var(--color-alias-action-primaryFg);flex-shrink:0}.md-device-url-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.md-device-url-fallback{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-family:var(--font-body);color:var(--text);flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex}.md-device-url-fallback-message{align-items:flex-start;gap:8px;line-height:1.4;display:flex}.md-device-url-fallback-url{background:var(--bg);border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;display:flex;overflow-x:auto}.md-device-url-fallback-url code{white-space:nowrap;flex:1;overflow-x:auto}.md-device-url-fallback-copy{border:1px solid var(--border-strong);background:var(--bg-chat);font-family:var(--font-body);color:var(--text);cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.md-device-url-fallback-copy:hover{background:var(--surface)}.md-device-url-fallback-copy-failed{color:var(--danger);padding:2px 2px 0;font-size:11px}.md-device-url-malformed{border-left:3px solid var(--danger)}.md-device-url-malformed-label{color:var(--danger);align-items:center;gap:4px;margin-bottom:4px;font-size:11px;display:inline-flex}.markdown-message .md-mermaid svg{max-width:100%;height:auto}.markdown-message .md-mermaid-error .md-mermaid-error-label{color:var(--text-error,#c33);margin-bottom:4px;font-size:12px}.markdown-message .md-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}.markdown-message .md-th,.markdown-message .md-td{border:1px solid var(--border-strong);text-align:left;padding:6px 10px}.markdown-message .md-thead .md-th{background:var(--color-alias-action-primaryBg);color:var(--text-secondary);font-size:12px;font-weight:600}.markdown-message .md-tr:nth-child(2n) td{background:#00000005}.message-meta{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-top:6px;font-size:11px}@keyframes iconHeartbeat{0%,to{opacity:.55}50%{opacity:1}}@keyframes iconHeartbeatSubtle{0%,to{opacity:.7}50%{opacity:1}}.powered-by{color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.7;align-items:center;gap:5px;margin-left:auto;font-size:10px;transition:opacity .15s;animation:2.4s ease-in-out .8s 3 iconHeartbeatSubtle;display:flex}.powered-by:hover{opacity:1;animation:none}.powered-by-icon{object-fit:contain;width:14px;height:14px}.claude-info-overlay{z-index:200;background:#00000073;justify-content:flex-end;align-items:flex-end;padding:0 0 56px;display:flex;position:fixed;inset:0}.claude-info-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:300px;max-width:calc(100% - 28px);margin-right:max(14px,50vw - 386px);overflow:hidden;box-shadow:0 8px 32px #0006}.claude-info-header{border-bottom:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:8px;padding:12px 14px;font-size:12px;font-weight:500;display:flex}.claude-info-header img{object-fit:contain;width:14px;height:14px}.claude-info-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 4px;font-size:11px;line-height:1}.claude-info-close:hover{color:var(--text)}.usage-modal{width:640px;max-width:calc(100vw - 28px)}.usage-body{padding:10px 14px 12px}.usage-table-scroll{overflow-x:auto}.usage-table{border-collapse:collapse;width:100%;font-size:10.5px;font-family:var(--font-mono,monospace)}.usage-table th,.usage-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);color:var(--text-secondary);padding:4px 8px}.usage-table thead th{color:var(--text-tertiary);border-bottom:1px solid var(--border);font-weight:500}.usage-table .usage-day{text-align:left}.usage-table .usage-total-row th{color:var(--text);border-top:1px solid var(--border);border-bottom:none;font-weight:600}.usage-note{color:var(--text-tertiary);padding:8px 0;font-size:11px}.usage-error{color:var(--danger,#d33)}.usage-caveats{margin-top:8px;line-height:1.4}.usage-download{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;margin-left:auto;padding:2px 4px;line-height:1;display:inline-flex}.usage-download:hover{color:var(--text)}.usage-modal .claude-info-close{margin-left:4px}@media (width<=640px){.claude-info-overlay{justify-content:center;padding-bottom:16px;padding-left:12px;padding-right:12px}.claude-info-modal{max-width:100%;margin-right:0}.usage-modal{width:100%}}.claude-info-section{border-bottom:1px solid var(--border);padding:8px 0}.claude-info-section:last-child{border-bottom:none}.claude-info-row{justify-content:space-between;align-items:baseline;gap:12px;padding:4px 14px;font-size:11px;display:flex}.claude-info-label{color:var(--text-tertiary);flex-shrink:0}.claude-info-value{color:var(--text-secondary);font-family:var(--font-mono,monospace);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.claude-info-toggle{cursor:pointer;transition:color .15s}.claude-info-toggle:hover,.claude-info-toggle:focus-visible{color:var(--text);text-decoration:underline}.claude-info-icon{object-fit:contain;width:14px;height:14px}.conversations-modal{flex-direction:column;width:min(480px,100vw - 28px);max-height:calc(100dvh - 72px);display:flex}.conversations-list{flex:1;overflow-y:auto}.conversations-empty{color:var(--text-tertiary);justify-content:center;align-items:center;gap:6px;padding:24px 14px;font-size:12px;display:flex}.conversations-error{color:var(--error,#e55)}.conversations-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;transition:background .12s;display:flex}.conversations-row:last-child{border-bottom:none}.conversations-row:hover{background:var(--surface)}.conversations-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conversations-row-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.conversations-row-meta{align-items:center;gap:6px;display:flex}.conversations-row-id{color:var(--text-tertiary);opacity:.7;font-family:monospace;font-size:10px}button.conversations-row-id{cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;margin:0;padding:0;transition:opacity .12s,color .12s;display:inline-flex}button.conversations-row-id:hover{opacity:1;color:var(--text)}button.conversations-row-id.copied{opacity:1;color:var(--color-alias-action-primaryFg)}button.conversations-row-id.copy-failed{opacity:1;color:var(--error,#e55)}.claude-info-id-copy{cursor:pointer;color:var(--text);text-align:right;background:0 0;border:none;padding:0;font-family:monospace;font-size:10px}.claude-info-id-copy:hover{color:var(--color-alias-action-primaryFg)}.conversations-row-pre-flush{opacity:.92}.conversations-row-phase-badge{color:var(--warning,#d09a5d);border:1px solid var(--warning,#d09a5d);opacity:.8;vertical-align:middle;border-radius:4px;margin-left:8px;padding:1px 6px;font-family:monospace;font-size:10px;display:inline-block}.conversations-row-time{color:var(--text-tertiary);align-items:center;gap:4px;font-size:10px;display:flex}.conversations-row-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.conversations-action{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.conversations-play:hover{background:var(--color-alias-action-primaryBg);color:var(--color-alias-action-primaryFg)}.conversations-rename:hover{background:var(--color-alias-action-primaryBg);color:var(--text)}.conversations-delete:hover{color:var(--error,#e55);background:#e555551a}.conversations-logs:hover{background:var(--color-alias-action-primaryBg);color:var(--text)}.conversations-logs-popover{z-index:1000;background:var(--bg,#fff);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:2px;min-width:140px;padding:4px;display:flex;position:fixed;box-shadow:0 4px 12px #00000026}.conversations-logs-popover-item{color:var(--text);border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;text-decoration:none;transition:background .12s;display:flex}.conversations-logs-popover-item:hover,.conversations-logs-popover-item:focus-visible{background:var(--surface);outline:none}.conversations-edit-loading{color:var(--text-tertiary);align-items:center;gap:6px;font-style:italic;display:flex}.conversations-edit-inline{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.conversations-edit-input{min-width:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;outline:none;flex:1;padding:3px 8px;font-family:inherit;font-size:12px;transition:border-color .12s}.conversations-edit-input:focus{border-color:var(--color-alias-border-subtle)}.conversations-edit-error{color:var(--error,#e55);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.conversations-confirm:not(:disabled):hover{background:var(--color-alias-action-primaryBg);color:var(--color-alias-action-primaryFg)}.conversations-confirm:disabled{opacity:.3;cursor:default}.conversations-cancel:hover{color:var(--error,#e55);background:#e555551a}.conversations-retry:hover{background:var(--color-alias-action-primaryBg);color:var(--text)}.pin-input-row{align-items:center;gap:8px;display:flex}.pin-field{border:1px solid var(--border-strong);background:var(--bg);border-radius:26px;flex:1;align-items:center;gap:8px;height:52px;padding:0 16px;transition:border-color .15s;display:flex}.pin-field:focus-within{border-color:var(--color-alias-border-subtle)}.connect-name-input{border:1px solid var(--border-strong);background:var(--bg);min-width:0;height:52px;font-family:var(--font-body);color:var(--text);border-radius:26px;outline:none;flex:1;padding:0 20px;font-size:16px;transition:border-color .15s}.connect-name-input:focus{border-color:var(--color-alias-border-subtle)}.connect-name-input::placeholder{color:var(--text-tertiary)}.pin-box{border:1.5px solid var(--border);text-align:center;width:28px;height:32px;color:var(--text-primary);caret-color:#0000;background:0 0;border-radius:6px;outline:none;flex-shrink:0;padding:0;font-size:10px;transition:border-color .15s,box-shadow .15s}.pin-box:focus{border-color:var(--color-alias-border-subtle);box-shadow:0 0 0 2px var(--color-alias-action-primaryFg)}.pin-box-filled{border-color:var(--border-strong)}.pin-options{justify-content:space-between;align-items:center;display:flex}.admin-pin-error{color:#c44;white-space:pre-wrap;word-break:break-word;font-size:13px;font-family:var(--font-body);text-align:left;max-height:200px;overflow-y:auto}.sub-account-picker-panel{z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:12px;margin-top:16px;padding:8px;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000026}.sub-account-picker-search{box-sizing:border-box;background:var(--bg-secondary);border:1px solid var(--border);width:100%;font-family:var(--font-body);color:var(--text);border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:13px}.sub-account-picker-search:focus{border-color:var(--text-tertiary);outline:none}.sub-account-picker-list{flex-direction:column;gap:6px;min-width:340px;max-height:320px;display:flex;overflow-y:auto}.sub-account-picker-empty{color:var(--text-tertiary);padding:10px 12px;font-size:13px}.sub-account-picker-card{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;text-align:left;font-family:var(--font-body);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.sub-account-picker-card:hover:not(:disabled){border-color:var(--text-tertiary);background:var(--bg-hover)}.sub-account-picker-card.active{border-color:var(--text-tertiary)}.sub-account-picker-card:disabled{opacity:.6;cursor:default}.sub-account-picker-name{color:var(--text);flex:1;font-size:14px;font-weight:500}.sub-account-picker-spinner{color:var(--text-tertiary);animation:1s linear infinite spin}.connect-page{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:40px 20px;display:flex;position:relative}.connect-page--pane{flex:auto;min-height:0;overflow-y:auto}.connect-signout{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:8px 12px;font-family:inherit;font-size:14px;transition:color .12s,background .12s;position:absolute;top:20px;right:24px}.connect-signout:hover{color:var(--text);background:var(--hover)}.connect-signout:focus-visible{outline:2px solid var(--color-alias-border-subtle);outline-offset:2px}.connect-content{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:420px;display:flex}.connect-logos{align-items:center;gap:28px;display:flex}.connect-logo-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.connect-logo{object-fit:contain;width:88px;height:88px}.connect-logo--maxy{width:110px;height:110px;margin:-11px}.connect-logo-label{font-family:var(--font-body);color:var(--text-secondary);letter-spacing:.02em;font-size:13px}.connect-arrow{width:48px;height:24px;color:var(--text-tertiary);flex-shrink:0;margin-bottom:22px}.connect-title{font-family:var(--font-display);color:var(--text);text-align:center;letter-spacing:-.01em;font-size:clamp(22px,4vw,28px);font-weight:300;line-height:1.3}.connect-subtitle{color:var(--text-secondary);text-align:center;margin-top:-8px;font-size:15px;line-height:1.5}.connect-content .btn--primary{min-width:200px}.connector-list{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.connector-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);align-items:center;gap:12px;padding:10px 12px;display:flex}.connector-icon{object-fit:contain;flex-shrink:0;width:24px;height:24px}.connector-icon--mono{border-radius:var(--radius-sm);background:var(--hover);color:var(--text-secondary);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.connector-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.connector-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.connector-type{color:var(--text-tertiary);font-size:12px}.connector-status{color:var(--text-secondary);flex-shrink:0;font-size:13px}.connector-action{color:var(--bg);background:var(--color-alias-action-primaryFg);border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;padding:6px 14px;font-family:inherit;font-size:13px}.connector-action:disabled{opacity:.5;cursor:default}.connector-note{color:var(--text-tertiary);text-align:center;margin-top:4px;font-size:12px;line-height:1.4}.lite-splash-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;width:100%;min-width:260px;max-width:320px;padding:14px;display:flex;box-shadow:0 6px 18px #00000014}.lite-stall-trigger{width:100%;text-align:inherit;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0;display:block}.lite-stall-trigger:focus-visible{outline:2px solid var(--color-alias-border-subtle);outline-offset:2px;border-radius:8px}.lite-stall-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lite-stall-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:360px;font-family:var(--font-body);border-radius:12px;padding:14px 16px 16px;box-shadow:0 8px 28px #0000002e}.lite-stall-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.lite-stall-title{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.lite-stall-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px;display:inline-flex}.lite-stall-close:hover{color:var(--text)}.lite-stall-reason{color:var(--text);margin:0 0 12px;font-size:14px;line-height:1.45}.lite-stall-rows{flex-direction:column;gap:4px;margin:0;display:flex}.lite-stall-row{justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.lite-stall-row dt{color:var(--text-tertiary);margin:0}.lite-stall-row dd{color:var(--text);text-align:right;word-break:break-word;margin:0}.lite-stall-connectors{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:12px;padding-top:10px;display:flex}.lite-stall-connectors-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-size:11px}.lite-stall-connectors-list{color:var(--text);font-size:13px}.connect-pin-form{flex-direction:column;gap:8px;width:100%;max-width:300px;display:flex}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes typingPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.attachment-strip{flex-wrap:wrap;gap:6px;padding:0 0 8px;display:flex}.attachment-chip{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:5px;max-width:200px;padding:4px 8px;font-size:12px;display:inline-flex}.attachment-chip-thumb{object-fit:cover;border-radius:3px;flex-shrink:0;width:20px;height:20px}.attachment-chip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.attachment-chip-remove{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 0 0 2px;font-size:13px;line-height:1;display:flex}.attachment-chip-remove:hover{color:var(--text)}.message-attachments{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.message-attachment-chip{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;background:#0000000f;border:none;align-items:center;gap:4px;padding:3px 10px;font-family:inherit;font-size:11px;display:inline-flex}.message-attachment-chip:hover{color:var(--text);background:#0000001a}.message-attachment-chip.no-action{cursor:default}.message-attachment-chip.no-action:hover{color:var(--text-secondary);background:#0000000f}.chat-form.drag-over{outline:2px dashed var(--color-alias-border-subtle);outline-offset:6px;border-radius:var(--radius-sm)}.webchat-composer-box.drag-over{outline:2px dashed var(--color-alias-border-subtle);outline-offset:6px}.attachment-lightbox{z-index:1000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.attachment-lightbox img{object-fit:contain;border-radius:var(--radius-md);max-width:90vw;max-height:90vh}.attachment-lightbox-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;line-height:1;position:absolute;top:20px;right:20px}.attachment-lightbox-close:hover{color:#fff}.attach-error,.webchat-send-error{color:#e05252;margin:0 0 4px;padding:0 4px;font-size:12px}.webchat-dead-child-notice{color:var(--text-muted,#8a8a82);align-items:center;gap:6px;margin:0 0 4px;padding:0 4px;font-size:12px;display:flex}.webchat-transcribing{color:var(--color-alias-action-primaryFg);align-items:center;gap:6px;margin:0 0 4px;padding:0 4px;font-size:12px;display:flex}.webchat-transcribing-spin{animation:1s linear infinite spin}.voice-error{color:#e05252;align-items:flex-start;gap:6px;margin:0 0 4px;padding:0 4px;font-size:12px;display:flex}.voice-error svg{flex-shrink:0;margin-top:2px}.chat-form.voice-active{padding:6px 6px 6px 12px}.voice-recorder{align-items:center;gap:8px;width:100%;min-height:30px;display:flex}.voice-trash{border-radius:var(--radius-full);color:#e05252;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.voice-trash:hover{background:#e052521a}.voice-trash:disabled{opacity:.4;cursor:default}.voice-timer{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0;min-width:32px;font-size:13px}.voice-waveform{flex:1;align-items:center;gap:2px;min-width:0;height:24px;display:flex}.voice-waveform-bar{background:var(--color-alias-action-primaryFg);border-radius:1px;flex:1;min-width:2px;max-width:4px;transition:height .1s ease-out}.voice-pause{border-radius:var(--radius-full);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.voice-pause:hover{background:var(--color-alias-action-primaryBg)}.voice-pause:disabled{opacity:.4;cursor:default}@media (width<=640px){.chat-header{padding:32px 0 16px}.chat-page:not(.admin-page) .chat-header{text-align:left;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:12px;padding:12px 0;display:flex}.chat-page:not(.admin-page) .chat-logo{border-radius:6px;flex-shrink:0;width:40px;height:40px;margin-bottom:0}.chat-page:not(.admin-page) .chat-logo--circle{width:40px;height:40px}.chat-page:not(.admin-page) .chat-tagline{margin-bottom:0;font-size:16px;font-weight:400;line-height:1.3}.chat-page:not(.admin-page) .chat-intro{margin:0;font-size:12px;line-height:1.3}.chat-page:not(.admin-page) .chat-header-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-page:not(.admin-page) .chat-header-actions{flex-shrink:0;margin-left:auto;position:static}.bubble,.public-components{max-width:90%}.graph-side-panel{width:auto;min-width:0;max-width:calc(100vw - 16px);height:auto;max-height:calc(100vh - 80px);position:fixed;inset:auto 8px 8px;overflow:auto}.graph-side-resize-handle,.graph-back-desktop{display:none}.graph-back-mobile{display:inline-flex}.graph-home-desktop{display:none}.graph-home-mobile{display:inline-flex}.graph-toolbar{flex-wrap:wrap;gap:8px}.graph-search-input{flex:100%;max-width:none}.graph-filter-wrap{flex:none;margin-left:auto}.graph-filter-popover{min-width:0;max-width:calc(100vw - 16px)}}@media (hover:none) and (pointer:coarse){.graph-trash-drop-zone{display:none}}@media (pointer:coarse){.graph-search-limit input[type=range]::-webkit-slider-thumb{border-radius:12px;min-width:24px;min-height:24px}.graph-search-limit input[type=range]::-moz-range-thumb{border-radius:12px;min-width:24px;min-height:24px}}.message-queue-list{flex-direction:column;gap:2px;padding:0 0 6px;display:flex}.queued-message-row{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm,4px);justify-content:space-between;align-items:center;padding:3px 8px;font-size:12px;display:flex}.queued-message-text{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 24px);overflow:hidden}.queued-message-row button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1rem;line-height:1}.queued-message-row button:hover{color:var(--text-primary,#fff)}.message-timestamp{color:var(--text-tertiary,#555);text-align:right;-webkit-user-select:none;user-select:none;margin-top:4px;font-size:10px;display:block}.tl-msg-timestamp{color:var(--text-tertiary,#555);text-align:right;-webkit-user-select:none;user-select:none;margin-top:4px;padding-right:2px;font-size:10px;display:block}.bubble-queued{padding-right:28px;position:relative}.queued-bubble-delete{cursor:pointer;color:var(--text-secondary,#888);background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1;position:absolute;top:6px;right:6px}.queued-bubble-delete:hover{color:var(--danger)}.maxy-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex;position:relative}.maxy-checkbox--disabled{opacity:.4;pointer-events:none}.maxy-checkbox input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.maxy-checkbox__box{border:1px solid var(--border-strong);color:#0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;transition:border-color .15s,color .15s;display:flex}.maxy-checkbox input:checked+.maxy-checkbox__box{border-color:var(--color-alias-border-subtle);color:var(--color-alias-action-primaryFg)}.maxy-checkbox__label{font-family:var(--font-body);color:var(--text-secondary);font-size:13px}.selection-overlay-band{background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(4px);border-left:1px solid var(--border-strong);z-index:10;pointer-events:none;width:64px;position:absolute;top:0;bottom:0;right:0}.tl-text-block{position:relative}.message-select-check,.tl-select-check{z-index:11;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.message.selected .bubble,.message.selected .admin-activity{background:var(--color-alias-action-primaryBg)}.selection-bar{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.selection-bar-left{align-items:center;gap:14px;display:flex}.selection-select-all{font-family:var(--font-body);color:var(--color-alias-action-primaryFg);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:14px;display:inline-flex}.selection-select-all:disabled{opacity:.4;cursor:default}.selection-cancel{font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:14px}.selection-count{font-family:var(--font-body);color:var(--text);font-size:14px;font-weight:500}.selection-copy-wrap{position:relative}.selection-copy{color:var(--color-alias-action-primaryFg);font-family:var(--font-body);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;font-size:11px;display:flex}.copy-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:20;white-space:nowrap;animation:.15s ease-out messageIn;position:absolute;bottom:calc(100% + 8px);right:50%;overflow:hidden;transform:translate(50%)}.copy-menu-item{width:100%;font-family:var(--font-body);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:13px;display:block}.copy-menu-item:not(:last-child){border-bottom:1px solid var(--border)}.copy-menu-item:active{background:var(--hover)}.copy-toast{background:var(--text);color:var(--bg);font-family:var(--font-body);border-radius:var(--radius-full);z-index:100;pointer-events:none;padding:6px 16px;font-size:13px;animation:.2s ease-out messageIn;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.copy-toast-failed{background:var(--error,#c00);color:#fff}.component-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);width:fit-content;max-width:100%;padding:14px 16px}.component-card--submitted{opacity:.6;pointer-events:none}.component-card__actions{justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}.component-card__done-label{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;font-style:italic}.output-style-selector{flex-direction:column;gap:0;max-width:320px;display:flex}.output-style-selector__row{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;padding:10px 8px;transition:background .15s;display:flex}.output-style-selector__row:hover,.output-style-selector__row--selected{background:var(--color-alias-action-primaryBg)}.output-style-selector__radio{border:2px solid var(--text-secondary);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:1px;transition:border-color .15s,box-shadow .15s}.output-style-selector__radio--checked{border-color:var(--text);box-shadow:inset 0 0 0 3px var(--surface), inset 0 0 0 8px var(--text)}.output-style-selector__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.output-style-selector__label{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.output-style-selector__desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.thinking-view-selector{flex-direction:column;gap:0;max-width:320px;display:flex}.thinking-view-selector__row{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;padding:10px 8px;transition:background .15s;display:flex}.thinking-view-selector__row:hover,.thinking-view-selector__row--selected{background:var(--color-alias-action-primaryBg)}.thinking-view-selector__radio{border:2px solid var(--text-secondary);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:1px;transition:border-color .15s,box-shadow .15s}.thinking-view-selector__radio--checked{border-color:var(--text);box-shadow:inset 0 0 0 3px var(--surface), inset 0 0 0 8px var(--text)}.thinking-view-selector__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.thinking-view-selector__label{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.thinking-view-selector__desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.plugin-selector{flex-direction:column;gap:10px;max-width:420px;display:flex}.plugin-selector__header{border-bottom:1px solid var(--border);padding-bottom:6px}.plugin-selector__list{flex-direction:column;gap:0;max-height:400px;display:flex;overflow-y:auto}.plugin-selector__row{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;padding:8px 6px;transition:background .15s;display:flex}.plugin-selector__row:hover{background:var(--color-alias-action-primaryBg)}.plugin-selector__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plugin-selector__name{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.plugin-selector__recommended{font-family:var(--font-body);color:var(--color-alias-action-primaryFg);margin-left:6px;font-size:10px;font-weight:500}.plugin-selector__desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.single-select{flex-direction:column;gap:0;display:flex}.single-select__title{font-family:var(--font-body);color:var(--text);padding:0 8px 6px;font-size:13px;font-weight:600}.single-select__row{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;padding:10px 8px;transition:background .15s;display:flex}.single-select__row:hover,.single-select__row--selected{background:var(--color-alias-action-primaryBg)}.single-select__radio{border:2px solid var(--text-secondary);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:1px;transition:border-color .15s,box-shadow .15s}.single-select__radio--checked{border-color:var(--text);box-shadow:inset 0 0 0 3px var(--surface), inset 0 0 0 8px var(--text)}.single-select__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.single-select__icon{margin-right:6px}.single-select__label{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.single-select__desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.multi-select{flex-direction:column;gap:10px;display:flex}.multi-select__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:600}.multi-select__header{border-bottom:1px solid var(--border);padding-bottom:6px}.multi-select__list{flex-direction:column;gap:4px;max-height:400px;display:flex;overflow-y:auto}.multi-select__row{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:flex-start;gap:10px;padding:10px 8px;transition:background .15s;display:flex}.multi-select__row:hover{background:var(--color-alias-action-primaryBg)}.multi-select__row>.maxy-checkbox{margin-top:1px}.multi-select__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.multi-select__label{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.multi-select__badge{font-family:var(--font-body);color:var(--color-alias-action-primaryFg);margin-left:6px;font-size:10px;font-weight:500}.multi-select__desc{font-family:var(--font-body);color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.multi-select__group-header{font-family:var(--font-body);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:10px 6px 4px;font-size:11px;font-weight:600}.multi-select__group-header:first-child{padding-top:0}.multi-select__row--locked{opacity:.6;cursor:default}.multi-select__row--locked:hover,.multi-select__row--locked:focus{background:0 0;outline:none}.public-components{flex-direction:column;gap:12px;max-width:85%;margin-top:8px;display:flex}@keyframes component-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.public-component-enter{animation:.2s ease-out both component-enter}.single-select__row{min-height:44px}.single-select__row:focus,.multi-select__row:focus{outline:2px solid var(--color-alias-border-subtle);outline-offset:-2px;border-radius:8px}@media (width<=480px){.component-card{border-radius:12px;width:100%}.multi-select__list{max-height:60vh}.browser-viewer__iframe{aspect-ratio:4/3;min-height:300px}}.confirm{flex-direction:column;gap:8px;max-width:380px;display:flex}.confirm__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.confirm__desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.confirm__items{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 0;display:flex}.confirm__item{justify-content:space-between;align-items:baseline;gap:12px;padding:2px 0;display:flex}.confirm__item-label{font-family:var(--font-body);color:var(--text-secondary);font-size:12px}.confirm__item-value{font-family:var(--font-body);color:var(--text);text-align:right;font-size:12px;font-weight:500}.info-card{flex-direction:column;gap:10px;max-width:380px;display:flex}.info-card__header{flex-direction:column;gap:2px;display:flex}.info-card__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.info-card__subtitle{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.info-card__fields{flex-direction:column;gap:6px;display:flex}.info-card__field{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;display:flex}.info-card__field:last-child{border-bottom:none}.info-card__field-label{font-family:var(--font-body);color:var(--text-secondary);flex-shrink:0;font-size:12px}.info-card__field-value{font-family:var(--font-body);color:var(--text);text-align:right;font-size:12px;font-weight:500}.info-card__field-value--status{color:var(--color-alias-action-primaryFg)}.info-card__field-value a{color:var(--color-alias-text-link);text-decoration:none}.info-card__field-value a:hover{text-decoration:underline}.qr-code{flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.qr-code--error{font-family:var(--font-body);color:var(--text-secondary);text-align:center;font-size:12px}.qr-code__canvas{color:#000;background:#fff;border-radius:12px;padding:16px}.qr-code__label{font-family:var(--font-body);color:var(--text-secondary);text-align:center;max-width:280px;font-size:12px;line-height:1.4}.action-list{flex-direction:column;gap:8px;max-width:460px;display:flex}.action-list__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:600}.action-list__items{flex-direction:column;gap:0;display:flex}.action-list__item{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 6px;transition:background .15s;display:flex}.action-list__item:hover{background:var(--color-alias-action-primaryBg)}.action-list__item--acted{opacity:.5}.action-list__item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.action-list__item-label{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.action-list__item-desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.action-list__item-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.action-list__item-status{font-family:var(--font-body);color:var(--color-alias-action-primaryFg);white-space:nowrap;font-size:10px;font-weight:500}.action-list__item-actions{gap:4px;display:flex}.form-input{flex-direction:column;gap:10px;max-width:360px;display:flex}.form-input__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:600}.form-input__desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.form-input__fields{flex-direction:column;gap:12px;display:flex}.form-input__field{flex-direction:column;gap:4px;display:flex}.form-input__label{font-family:var(--font-body);color:var(--text);font-size:12px;font-weight:500}.form-input__required{color:var(--color-alias-action-primaryFg);margin-left:2px}select.dropdown{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%236B6B6B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4.5l3 3 3-3'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:10px 10px;padding-right:32px}select.dropdown:disabled{cursor:not-allowed}.form-input__input,.form-input__textarea,.form-input__select{font-family:var(--font-body);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.form-input__input:focus,.form-input__textarea:focus,.form-input__select:focus{border-color:var(--color-alias-border-subtle)}.form-input__input:disabled,.form-input__textarea:disabled,.form-input__select:disabled{opacity:.6;cursor:not-allowed}.form-input__textarea{resize:vertical;min-height:60px}.form-input__select{cursor:pointer}.form-input__field-desc{font-family:var(--font-body);color:var(--text-secondary);margin-top:-1px;font-size:11px;line-height:1.4}.form-input__list{flex-direction:column;gap:4px;display:flex}.form-input__list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.form-input__list-item-text{font-family:var(--font-body);color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.form-input__list-item-remove{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px;line-height:1;transition:color .15s}.form-input__list-item-remove:hover:not(:disabled){color:var(--text)}.form-input__list-item-remove:disabled{opacity:.6;cursor:not-allowed}.form-input__list-add{gap:6px;margin-top:2px;display:flex}.form-input__list-add .form-input__input{flex:1;min-width:0}.form-input__list-add-btn{font-family:var(--font-body);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:500;transition:border-color .15s}.form-input__list-add-btn:hover:not(:disabled){border-color:var(--color-alias-border-subtle)}.form-input__list-add-btn:disabled{opacity:.6;cursor:not-allowed}.tunnel-route__row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:stretch;transition:border-color .15s;display:flex;overflow:hidden}.tunnel-route__row:focus-within{border-color:var(--color-alias-border-subtle)}.tunnel-route__input{background:0 0;border:none;border-radius:0;flex:1;min-width:0}.tunnel-route__input:focus{border:none;outline:none}.tunnel-route__suffix{font-family:var(--font-body);color:var(--text-secondary);background-color:color-mix(in srgb, var(--border) 35%, transparent);border:none;border-left:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:0;padding:0 10px;font-size:13px}.tunnel-route__optional{font-family:var(--font-body);color:var(--text-secondary);margin-left:8px;font-size:11px;font-weight:400}.tunnel-route__preview{font-family:var(--font-mono,ui-monospace, monospace);color:var(--text)}.tunnel-route__error{font-family:var(--font-body);color:var(--danger,#c0392b);font-size:11px;line-height:1.4}.progress-tracker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);max-width:380px;box-shadow:var(--shadow-sm);width:fit-content;padding:14px 16px}.progress-tracker--submitted{opacity:.6;pointer-events:none}.progress-tracker__title{font-family:var(--font-body);color:var(--text);padding-bottom:10px;font-size:13px;font-weight:600}.progress-tracker__steps{flex-direction:column;gap:2px;display:flex}.progress-tracker__step{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:6px 4px;display:flex}.progress-tracker__icon{text-align:center;flex-shrink:0;width:18px;font-size:13px;line-height:1.3}.progress-tracker__step--completed .progress-tracker__icon{color:var(--color-alias-action-primaryFg)}.progress-tracker__step--failed .progress-tracker__icon{color:#c44}.progress-tracker__step--active .progress-tracker__icon{color:var(--text);font-weight:700}.progress-tracker__step--pending .progress-tracker__icon,.progress-tracker__step--skipped .progress-tracker__icon{color:var(--text-tertiary)}.progress-tracker__step-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.progress-tracker__step-label{font-family:var(--font-body);color:var(--text);font-size:13px;line-height:1.3}.progress-tracker__step--pending .progress-tracker__step-label{color:var(--text-tertiary)}.progress-tracker__step--skipped .progress-tracker__step-label{color:var(--text-tertiary);text-decoration:line-through}.progress-tracker__step-desc{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;line-height:1.4}.editor-base{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.editor-base__bar{justify-content:space-between;align-items:center;padding:0 0 4px;display:flex}.editor-base__bar[draggable=true]{cursor:grab}.editor-base__bar[draggable=true] .editor-base__actions{cursor:default}.editor-base__icon{width:14px;height:14px;color:var(--text-secondary);flex-shrink:0;margin-right:6px}.editor-base__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500}.editor-base__actions{align-items:center;gap:4px;margin-left:auto;display:flex}.editor-base__status{font-family:var(--font-body);color:var(--text-tertiary);padding:2px 6px;font-size:12px}.editor-base--minimised{cursor:pointer;gap:0;padding:10px 14px}.editor-base--popout{padding:10px 14px}.editor-base-fullscreen{z-index:1000;background:var(--bg-chat);flex-direction:column;display:flex;position:fixed;inset:0}.editor-base-fullscreen__bar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.editor-base-fullscreen__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500}.editor-base-fullscreen__body{flex:1;width:100%;max-width:800px;margin:0 auto;padding:24px;position:relative;overflow-y:auto}.doc-editor__body{background:var(--bg-chat);border:1px solid var(--border);border-radius:6px;max-height:500px;position:relative;overflow-y:auto}.doc-editor__content{font-family:var(--font-body);color:var(--text);outline:none;min-height:60px;padding:12px;font-size:15px;line-height:1.6}.doc-editor__content h1,.doc-editor__content h2,.doc-editor__content h3{margin-top:1.2em;margin-bottom:.4em;font-weight:600}.doc-editor__content h1{font-size:1.5em}.doc-editor__content h2{font-size:1.25em}.doc-editor__content h3{font-size:1.1em}.doc-editor__content p{margin:.4em 0}.doc-editor__content ul,.doc-editor__content ol{margin:.4em 0;padding-left:1.5em}.doc-editor__content code{background:var(--surface);border-radius:3px;padding:1px 4px;font-size:.9em}.doc-editor__content pre{background:var(--surface);border-radius:6px;margin:.6em 0;padding:12px;overflow-x:auto}.doc-editor__content pre code{background:0 0;padding:0}.doc-editor__content blockquote{border-left:3px solid var(--border-strong);color:var(--text-secondary);margin:.6em 0;padding-left:12px}.doc-editor__content a{color:var(--color-alias-text-link);text-decoration:underline}.doc-editor__content hr{border:none;border-top:1px solid var(--border);margin:1em 0}.doc-editor__content p.is-editor-empty:first-child:before{content:"Start typing or wait for content...";color:var(--text-tertiary);float:left;pointer-events:none;height:0;font-style:italic}.doc-editor__bubble-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:4px;padding:6px;display:flex}.doc-editor__bubble-divider{background:var(--border-strong);width:1px;height:20px;margin:0 2px}.doc-editor__comment-highlight{background:var(--color-alias-action-primaryBg);cursor:help;border-radius:2px}.doc-editor__comment-popover{z-index:10;background:var(--bg-chat);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);border-radius:8px;flex-direction:column;gap:6px;max-width:280px;padding:8px;display:flex;position:absolute;top:8px;right:8px}.doc-editor__comment-input{font-family:var(--font-body);border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;outline:none;width:100%;padding:6px 8px;font-size:13px}.doc-editor__comment-input:focus{border-color:var(--color-alias-border-subtle)}.doc-editor__comment-actions{justify-content:flex-end;gap:4px;display:flex}.doc-editor__fallback,.rich-editor__fallback{font-family:var(--font-body);color:var(--text);padding:12px;font-size:15px;line-height:1.6}.doc-editor__fallback ul,.doc-editor__fallback ol{margin:.4em 0;padding-left:1.5em}.doc-editor__preview{cursor:text;border-radius:6px;transition:background .15s}.doc-editor__preview:hover{background:#00000005}.rich-editor__body{background:var(--bg-chat);border:1px solid var(--border);border-radius:6px;max-height:500px;position:relative;overflow-y:auto}.rich-editor__content{font-family:var(--font-body);color:var(--text);outline:none;min-height:60px;padding:12px;font-size:15px;line-height:1.6}.rich-editor__content h1,.rich-editor__content h2,.rich-editor__content h3{margin-top:1.2em;margin-bottom:.4em;font-weight:600}.rich-editor__content h1{font-size:1.5em}.rich-editor__content h2{font-size:1.25em}.rich-editor__content h3{font-size:1.1em}.rich-editor__content p{margin:.4em 0}.rich-editor__content ul,.rich-editor__content ol{margin:.4em 0;padding-left:1.5em}.rich-editor__content img{cursor:pointer;border-radius:6px;max-width:100%;height:auto;transition:opacity .15s}.rich-editor__content img:hover{opacity:.85}.rich-editor__content a{color:var(--color-alias-text-link);text-decoration:underline}.rich-editor__content blockquote{border-left:3px solid var(--border-strong);color:var(--text-secondary);margin:.6em 0;padding-left:12px}.rich-editor__content p.is-editor-empty:first-child:before{content:"Start typing or wait for content...";color:var(--text-tertiary);float:left;pointer-events:none;height:0;font-style:italic}.grid-editor__body{background:var(--bg-chat);border:1px solid var(--border);border-radius:6px;max-height:500px;position:relative;overflow:auto}.grid-editor__table-wrap{min-width:100%;position:relative}.grid-editor__table{border-collapse:collapse;width:100%;font-family:var(--font-body);color:var(--text);font-size:13px}.grid-editor__col-header{background:var(--surface);text-align:left;border:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:6px 10px;font-size:12px;font-weight:600;position:relative}.grid-editor__row-header{background:var(--surface);border:1px solid var(--border);text-align:center;width:40px;min-width:40px;padding:4px;position:relative}.grid-editor__row-num{color:var(--text-tertiary);font-size:11px}.grid-editor__row-delete{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.grid-editor__row-header:hover .grid-editor__row-num{display:none}.grid-editor__row-header:hover .grid-editor__row-delete{display:block}.grid-editor__row-delete:hover{color:var(--text);background:var(--color-alias-action-primaryBg)}.grid-editor__cell{border:1px solid var(--border);cursor:text;padding:0;position:relative}.grid-editor__cell--active{outline:2px solid var(--color-alias-border-subtle);outline-offset:-1px;z-index:1}.grid-editor__cell-text{white-space:nowrap;text-overflow:ellipsis;min-height:28px;padding:4px 8px;display:block;overflow:hidden}.grid-editor__cell-input{background:var(--bg-chat);width:100%;height:100%;min-height:28px;font-family:var(--font-body);color:var(--text);border:none;outline:none;padding:4px 8px;font-size:13px}.grid-editor__resize-handle{cursor:col-resize;z-index:2;width:5px;height:100%;position:absolute;top:0;right:-2px}.grid-editor__resize-handle:hover{background:var(--color-alias-action-primaryBg)}.grid-editor__add-row{color:var(--text-tertiary);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:6px 10px;font-size:12px;display:flex}.grid-editor__add-row:hover{background:var(--color-alias-action-primaryBg);color:var(--color-alias-action-primaryFg)}.grid-editor__comment-popover{z-index:10;background:var(--bg-chat);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);border-radius:8px;flex-direction:column;gap:6px;max-width:280px;padding:8px;display:flex;position:absolute;top:8px;right:8px}.browser-viewer{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.browser-viewer--submitted{opacity:.6;pointer-events:none;padding:10px 14px}.browser-viewer__bar{justify-content:space-between;align-items:center;padding:0 0 4px;display:flex}.browser-viewer__bar[draggable=true]{cursor:grab}.browser-viewer__bar[draggable=true] .browser-viewer__actions{cursor:default}.browser-viewer__icon{width:14px;height:14px;color:var(--text-secondary);flex-shrink:0;margin-right:6px}.browser-viewer__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500}.browser-viewer__actions{gap:4px;margin-left:auto;display:flex}.browser-viewer__iframe{border:1px solid var(--border);background:#111;border-radius:6px;width:100%;min-height:500px;display:block}.browser-viewer--minimised{cursor:pointer;border-left:3px solid var(--color-alias-border-subtle);background:var(--color-alias-action-primaryBg);gap:0;padding:10px 14px}.browser-viewer--minimised .browser-viewer__iframe{display:none}.browser-viewer--popout{border-left:3px solid var(--color-alias-border-subtle);background:var(--color-alias-action-primaryBg);padding:10px 14px}.browser-viewer__popout-label{font-family:var(--font-body);color:var(--text-tertiary);padding:2px 0;font-size:12px}.browser-viewer-fullscreen{z-index:1000;background:var(--surface,#111);flex-direction:column;display:flex;position:fixed;inset:0}.browser-viewer-fullscreen__bar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.browser-viewer-fullscreen__title{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:500}.browser-viewer-fullscreen__actions{gap:4px;display:flex}.browser-viewer-fullscreen__iframe{background:#111;border:none;flex:1;width:100%}.browser-overlay-popout{z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:8px 14px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #00000026}.btn{font-family:var(--font-body);white-space:nowrap;cursor:pointer;-webkit-font-smoothing:antialiased;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:400;line-height:1;transition:background .15s,opacity .15s,color .15s;display:inline-flex;position:relative}.btn:disabled{opacity:.4;cursor:not-allowed}.btn__content{align-items:center;gap:6px;display:flex}.btn__spinner{justify-content:center;align-items:center;font-size:14px;animation:1.2s linear infinite spin;display:flex;position:absolute;inset:0}.btn--sm .btn__spinner{font-size:11px}.btn--lg .btn__spinner{font-size:17px}.btn--primary{background:var(--color-alias-action-primaryFg);color:#fff;border-radius:var(--radius-full)}.btn--primary:hover:not(:disabled){background:var(--color-alias-action-primaryFg)}.btn--secondary{color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-full);background:0 0}.btn--secondary:hover:not(:disabled){border-color:var(--color-alias-border-subtle)}.btn--ghost{color:var(--text-secondary);background:0 0;border:none;padding:0 2px}.btn--ghost:hover:not(:disabled){color:var(--color-alias-action-primaryFg)}.btn--danger{background:var(--danger);color:#fff;border-radius:var(--radius-full)}.btn--danger:hover:not(:disabled){background:var(--danger-hover)}.btn--send{background:var(--color-alias-action-primaryFg);color:#fff;border-radius:50%}.btn--send:hover:not(:disabled){background:var(--color-alias-action-primaryFg)}.btn--send:active:not(:disabled){transform:scale(.95)}.btn--send svg{width:16px;height:16px}.btn--icon{color:var(--text-tertiary);background:0 0;border:none;padding:2px}.btn--icon:hover:not(:disabled){color:var(--text-secondary)}.btn--suggestion{color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-full);background:0 0;font-size:13px}.btn--suggestion:hover:not(:disabled){border-color:var(--color-alias-border-subtle)}.btn--sm{padding:6px 10px;font-size:12px}.btn--lg{padding:12px 24px;font-size:15px}.btn--full{width:100%}.file-attachment{align-items:center;gap:10px;max-width:380px;display:flex}.file-attachment__icon{color:var(--text-secondary);flex-shrink:0}.file-attachment__info{flex:1;min-width:0}.file-attachment__name{font-family:var(--font-body);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.file-attachment__meta{font-family:var(--font-body);color:var(--text-secondary);font-size:11px;line-height:1.4}.file-attachment__download{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.file-attachment__download:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.file-attachment__download:disabled{opacity:.4;cursor:not-allowed}.topic-change-bar{border-top:1px solid var(--border);background:var(--bg);align-items:center;gap:12px;padding:10px 16px;display:flex}.topic-change-bar__icon{color:var(--text-secondary);flex-shrink:0;align-items:center;display:flex}.topic-change-bar__actions{gap:8px;margin-left:auto;display:flex}.data-page{background:var(--chat-bg,#fff);min-height:100vh;color:var(--chat-fg,#111);flex-direction:column;display:flex}.platform>.data-page{height:100%;min-height:0;overflow:hidden}.platform>.data-page>.data-main{flex:1;min-height:0}.data-header{border-bottom:1px solid #00000014;align-items:center;gap:12px;padding:16px 24px;display:flex}.data-header .chat-logo{border-radius:6px;width:28px;height:28px}.data-title{flex:1;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:inline-flex}.data-back{color:inherit;opacity:.7;align-items:center;gap:4px;margin-left:auto;font-size:13px;text-decoration:none;display:inline-flex}.data-back:hover{opacity:1}.data-main{max-width:var(--chat-measure);flex-direction:column;width:100%;margin:0 auto;display:flex}.data-body{flex-direction:column;flex:1;gap:24px;min-height:0;padding:24px;display:flex;overflow-y:auto}.data-body[data-drag-active=true]{outline:2px dashed var(--accent);outline-offset:-6px;background:var(--surface-hover)}.data-panel{background:#ffffff80;padding:20px}.data-btn{cursor:pointer;color:inherit;background:#fff;border:1px solid #0000001f;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.data-btn:hover:not(:disabled){background:#0000000a}.data-btn:disabled{opacity:.5;cursor:not-allowed}.data-btn-ghost{opacity:.7;background:0 0;border-color:#0000}.data-btn-ghost:hover:not(:disabled){opacity:1;background:#0000000a}.data-btn-label{white-space:nowrap}.data-inline-form{align-items:center;gap:8px;padding:8px 12px;display:flex}.data-inline-input{min-width:0;font:inherit;border:1px solid #00000029;border-radius:6px;flex:1;padding:6px 10px}.data-toolbar{background:var(--chat-bg,#fff);border-bottom:1px solid #00000014;flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:14px 24px;display:flex}.data-toolbar .data-search-input{flex:auto;min-width:0}.data-toolbar .data-toolbar-actions,.data-toolbar .data-btn{flex:none}.data-toolbar .data-breadcrumbs{flex-basis:100%;order:1}.data-back-btn{padding:6px 8px}.data-page-full{height:100dvh;min-height:0;overflow:hidden}.data-page-full>.data-main{flex:1;min-height:0}.data-home-btn{flex:none;padding:6px 8px}.data-search-input{background:#fff;border:1px solid #0000001f;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.data-search-input input{min-width:0;color:inherit;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.data-search-input>svg{flex:none}.data-results-meta{opacity:.6;margin-top:12px;font-size:12px}.data-suppressed-banner{color:inherit;opacity:.75;cursor:pointer;text-align:left;background:#7878780f;border:1px solid #7878782e;border-radius:6px;width:100%;margin-top:8px;padding:6px 10px;font-size:12px}.data-suppressed-banner:hover{opacity:1}.data-empty-results,.data-loading,.data-empty{opacity:.7;text-align:center;padding:16px;font-size:13px}.data-empty{padding:48px 16px}.data-error{color:#a33;background:#c8282814;border:1px solid #c828284d;border-radius:6px;margin-top:12px;padding:8px 12px;font-size:13px}.data-upload-progress{align-items:center;gap:10px;margin-top:12px;display:flex}.data-upload-progress-track{background:var(--border-strong);border-radius:3px;flex:1;height:6px;overflow:hidden}.data-upload-progress-fill{background:var(--text);border-radius:3px;height:100%;transition:width .12s linear}.data-upload-progress-label{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.data-upload-pct{font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.data-status{color:#444;background:#2828280d;border:1px solid #28282826;border-radius:6px;margin-top:12px;padding:8px 12px;font-size:13px}.data-results{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.data-result{background:#fff;border:1px solid #00000014;border-radius:8px;padding:12px 14px}.data-result-header{opacity:.6;justify-content:space-between;align-items:center;margin-bottom:4px;font-family:ui-monospace,Menlo,monospace;font-size:11px;display:flex}.data-result-title{margin-bottom:6px;font-size:14px;font-weight:600}.data-result-body{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:13px;line-height:1.45}.data-result-toggle{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12px}.data-result-toggle:hover{opacity:1}.data-result-locate{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-top:6px;padding:2px 0;font-size:12px;display:inline-flex}.data-result-locate:hover{opacity:1;text-decoration:underline}.data-result-open{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:block}.data-result-open:hover{background:#00000005;border-radius:4px}.data-result-open:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #006eff66}.data-result-scores{opacity:.55;margin-top:6px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.data-result-updated{opacity:.8}.data-chip-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.data-chip{color:inherit;font:inherit;cursor:pointer;opacity:.75;background:0 0;border:1px solid #0000001f;border-radius:999px;padding:3px 10px;font-size:12px}.data-chip:hover{opacity:1}.data-chip[data-active=true]{opacity:1;background:#006eff14;border-color:#006eff66}.data-breadcrumbs{flex-wrap:nowrap;flex:0 auto;align-items:center;gap:4px;min-width:0;font-size:13px;display:flex}.data-crumb{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:13px}.data-crumb:hover{background:#0000000d}.data-crumb-sep{opacity:.4;flex:none}.data-crumb-wrap{align-items:center;gap:4px;min-width:0;display:inline-flex}.data-crumb-wrap .data-crumb{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.data-back-btn{flex:none}.data-crumb-ellipsis{flex:none;font-weight:600}.data-breadcrumbs .data-crumb-wrap{position:relative}.data-crumb-menu{z-index:10;background:var(--chat-bg,#fff);border:1px solid #0000001f;border-radius:8px;flex-direction:column;min-width:160px;max-width:320px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 24px #0000001f}.data-crumb-menu-item{color:inherit;cursor:pointer;text-align:left;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px;overflow:hidden}.data-crumb-menu-item:hover{background:#0000000d}.data-entries{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.data-entry{align-items:stretch;display:flex}.data-entry+.data-entry{border-top:1px solid #0000000f}.data-entry-btn{cursor:pointer;text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.data-entry-btn:hover:not(.data-entry-disabled){background:#0000000a}.data-entry-disabled{opacity:.5;cursor:default}.data-entry-delete{color:inherit;opacity:.45;cursor:pointer;background:0 0;border:none;border-left:1px solid #0000000f;flex:none;justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.data-entry-delete:hover:not(:disabled){color:#dc2626;opacity:1;background:#dc262614}.data-entry-delete:disabled{cursor:default}.data-entry-confirm{background:#dc26260f;border-left:1px solid #0000000f;flex:none;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.data-entry-confirm-label{color:#dc2626;white-space:nowrap;font-size:12px}.data-entry-confirm-yes,.data-entry-confirm-no{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:5px 10px;font-size:12px;line-height:1}.data-entry-confirm-yes{color:#fff;background:#dc2626;border-color:#dc2626}.data-entry-confirm-yes:hover{background:#b91c1c;border-color:#b91c1c}.data-entry-confirm-yes:focus-visible{outline-offset:2px;outline:2px solid #dc262666}.data-entry-confirm-no{color:inherit;background:0 0;border-color:#0000001f}.data-entry-confirm-no:hover{background:#0000000a}.data-entry-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:inherit;overflow:hidden}.data-entry-meta{opacity:.55;white-space:nowrap;font-size:11px}.data-entry-download-icon{opacity:.5}.data-entry-file{align-items:center}.data-entry-text{flex-direction:column;flex:auto;align-items:stretch;gap:2px;min-width:0;display:flex}.data-entry-file .data-entry-name{flex:none;width:100%}.data-entry-file .data-entry-meta{white-space:normal;width:100%}.data-entry[data-selected=true]{background:#4a88661a}.data-entry-select-indicator{border:1.5px solid #00000059;border-radius:50%;flex:none;width:16px;height:16px}.data-entry[data-selected=true] .data-entry-select-indicator{background:var(--color-alias-action-primaryFg);border-color:var(--color-alias-border-subtle);box-shadow:inset 0 0 0 2px #fff}.data-toolbar-actions{align-items:center;gap:4px;display:inline-flex;position:relative}.data-action-group{align-items:center;gap:4px;display:inline-flex}.data-action-overflow{width:30px;height:30px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:none}.data-action-overflow:hover{opacity:1;background:#0000000d}.data-action-btn{width:30px;height:30px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:8px;display:inline-flex}.data-action-btn:hover:not(:disabled){opacity:1;background:#0000000d}.data-action-btn:disabled{opacity:.4;cursor:not-allowed}.data-action-btn[aria-pressed=true]{opacity:1;background:#4a88661f}.data-action-label{display:none}@media (width<=640px){.data-action-overflow{display:inline-flex}.data-action-group{display:none}.data-action-group[data-open=true]{z-index:20;background:var(--chat-bg,#fff);border:1px solid #0000001f;border-radius:8px;flex-direction:column;align-items:stretch;gap:0;min-width:168px;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 6px 20px #0000001f}.data-action-group[data-open=true] .data-action-btn{opacity:1;border-bottom:1px solid #0000000f;border-radius:0;justify-content:flex-start;gap:10px;width:100%;height:auto;padding:10px 12px}.data-action-group[data-open=true] .data-action-btn:last-child{border-bottom:none}.data-action-group[data-open=true] .data-action-label{font-size:14px;display:inline}}.data-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0;padding:8px;list-style:none;display:grid}.data-grid-cell{position:relative}.data-grid-tile{width:100%;color:inherit;cursor:pointer;text-align:center;background:0 0;border:1px solid #00000014;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;display:flex;position:relative}.data-grid-tile:hover:not(.data-entry-disabled){background:#0000000a}.data-grid-tile-image{padding:6px}.data-grid-glyph{color:#00000073}.data-grid-thumb{object-fit:cover;background:#0000000a;border-radius:6px;width:100%;height:96px;display:block}.data-grid-label{word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;height:2.6em;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.data-grid-sub{opacity:.6;font-size:11px}.data-grid-cell[data-selected=true] .data-grid-tile{background:#4a88661a;border-color:#4a886666}.data-grid-tile .data-entry-select-indicator{background:#ffffffe6;position:absolute;top:6px;left:6px}.data-grid-cell[data-selected=true] .data-entry-select-indicator{background:var(--color-alias-action-primaryFg);border-color:var(--color-alias-border-subtle);box-shadow:inset 0 0 0 2px #fff}.data-select-cancel{font:inherit;cursor:pointer;color:inherit;background:0 0;border:1px solid #0000001f;border-radius:8px;flex:100%;align-items:center;gap:6px;padding:8px 12px;font-size:14px;display:inline-flex}.data-select-cancel:hover{background:#0000000a}.data-select-bar{background:var(--chat-bg,#fff);z-index:50;border-top:1px solid #0000001f;padding:10px 12px;position:fixed;bottom:0;left:0;right:0}.data-select-bar-inner{max-width:var(--chat-measure);justify-content:space-around;gap:8px;width:100%;margin:0 auto;display:flex}.data-select-action{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.data-select-action:hover:not(:disabled){background:#0000000d}.data-select-action:disabled{opacity:.4;cursor:not-allowed}.data-select-delete:hover:not(:disabled){color:#dc2626;background:#dc26261a}.data-select-hint{opacity:.55;align-items:center;gap:6px;padding:2px 2px 4px;font-size:12px;display:none}.data-select-hint svg{opacity:.8;flex:none}@media (pointer:fine){.data-select-hint{display:flex}}@media (width<=640px){.data-entry-btn{flex-wrap:wrap}.data-entry-name{flex:auto}.data-entry-download-icon{order:1}.data-entry-meta{white-space:normal;flex-basis:100%;order:2;padding-left:24px}}.data-search-inline-btn{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.data-search-inline-btn:hover:not(:disabled){opacity:1;background:#0000000d}.data-search-inline-btn:disabled{opacity:.4;cursor:not-allowed}.data-link{color:inherit;text-decoration:underline}.graph-page{height:100%;min-height:0;overflow:hidden}.graph-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.graph-shell{flex-direction:column;flex:1;min-height:0;display:flex}.graph-shell--fullscreen{z-index:1000;background:var(--chat-bg,#fff);position:fixed;inset:0}.graph-toolbar{border-bottom:1px solid #0000000f;align-items:center;gap:16px;padding:12px 24px;display:flex;container:graph-toolbar/inline-size}@container graph-toolbar (width<=480px){.graph-filter-toggle>span:not(.graph-filter-count){display:none}}.graph-search-input{flex:1;min-width:0;max-width:360px}.graph-search-limit{opacity:.85;align-items:center;gap:8px;font-size:12px;display:flex}.graph-search-limit-label{-webkit-user-select:none;user-select:none;font-weight:500}.graph-search-limit input[type=range]{cursor:pointer;width:120px}.graph-search-limit-value{text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-family:ui-monospace,Menlo,monospace}.graph-search-limit-number{font-variant-numeric:tabular-nums;text-align:right;width:48px;color:inherit;-moz-appearance:textfield;background:#fff9;border:1px solid #00000026;border-radius:4px;padding:2px 4px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.graph-search-limit-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.graph-search-limit-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.graph-search-limit-step{width:22px;height:22px;color:inherit;cursor:pointer;background:#fff9;border:1px solid #00000026;border-radius:4px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.graph-search-limit-step:hover:not(:disabled){background:#0000000d}.graph-search-limit-step:disabled{opacity:.4;cursor:not-allowed}.graph-search-degraded{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:6px 12px;font-size:12px}.graph-meta{opacity:.65;margin-left:auto;font-size:12px}.graph-meta-count{font-family:ui-monospace,Menlo,monospace}.graph-error-banner{margin:8px 24px 0}.graph-search-status{color:inherit;opacity:.85;background:#00000008;border:1px solid #0000000f;border-radius:6px;margin:8px 24px 0;padding:6px 12px;font-size:12px}.graph-search-suppressed{color:inherit;opacity:.75;cursor:pointer;text-align:left;background:#7878780f;border:1px solid #7878782e;border-radius:6px;margin:8px 24px 0;padding:6px 12px;font-size:12px;display:block}.graph-search-suppressed:hover{opacity:1}.graph-canvas-wrap{background:var(--surface);border:1px solid #00000014;border-radius:10px;flex:1;min-height:0;margin:16px 24px 0;position:relative;overflow:hidden}.graph-canvas{position:absolute;inset:0}.graph-canvas-overlay{opacity:.9;z-index:5;text-align:center;background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.graph-canvas-error p{color:#a33;margin:0 0 8px}.graph-side-panel{z-index:10;background:#fff;border:1px solid #00000014;border-radius:10px;flex-direction:column;width:320px;min-width:320px;max-width:calc(100% - 52px);height:520px;min-height:240px;max-height:calc(100% - 92px);display:flex;position:absolute;top:76px;right:36px;overflow:hidden;box-shadow:0 8px 24px #0000000f}.graph-side-resize-handle{cursor:nesw-resize;z-index:12;border-bottom:2px solid #0000002e;border-left:2px solid #0000002e;border-bottom-left-radius:10px;width:18px;height:18px;position:absolute;bottom:0;left:0}.graph-side-resize-handle:hover{border-bottom-color:#0006;border-left-color:#0006}.graph-side-tabs{border-bottom:1px solid #00000014;gap:4px;padding:0 14px;display:flex}.graph-side-tab{appearance:none;color:inherit;opacity:.55;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:8px;padding:8px 2px;font-size:12px;font-weight:600}.graph-side-tab:hover{opacity:.85}.graph-side-tab-on{opacity:1;border-bottom-color:currentColor}.graph-side-body{flex:1;min-height:0;overflow-y:auto}.graph-side-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.graph-side-header>div{min-width:0;overflow:hidden}.graph-side-labels{text-transform:uppercase;letter-spacing:.04em;opacity:.75;font-size:12px;font-weight:600}.graph-side-id{opacity:.5;word-break:break-all;margin-top:2px;font-family:ui-monospace,Menlo,monospace;font-size:10px}.graph-side-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:18px;font-weight:600;line-height:1.2;overflow:hidden}.graph-side-created{color:#64748b;margin-top:4px;font-size:12px}.graph-side-meta{color:#94a3b8;word-break:break-all;align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.graph-side-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px}.graph-side-close:hover{opacity:1}.graph-side-props{margin:0;padding:8px 14px 14px}.graph-side-prop{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.graph-side-id-row{align-items:center;gap:6px;margin-top:2px;display:flex}.graph-side-prop dt{text-transform:uppercase;letter-spacing:.04em;opacity:.55;font-size:11px;font-weight:600}.graph-side-prop dd{word-break:break-word;white-space:pre-wrap;align-items:flex-start;gap:6px;margin:0;font-size:13px;display:flex}.graph-side-prop-value{overflow-wrap:anywhere;white-space:pre-wrap;flex:auto;min-width:0}.graph-side-link{color:var(--color-alias-text-link);overflow-wrap:anywhere;text-decoration:underline}.graph-side-copy{appearance:none;cursor:pointer;color:inherit;opacity:.45;background:0 0;border:none;border-radius:4px;flex:none;align-items:center;gap:4px;padding:2px;display:inline-flex}.graph-side-copy:hover{opacity:.9}.graph-side-copy-ok{color:#16a34a;opacity:1}.graph-side-copy-fail{color:#dc2626;opacity:1}.graph-side-copy-feedback{font-size:10px;font-weight:600}.graph-side-empty{opacity:.6;text-align:center;padding:16px 0;font-size:13px}.graph-side-edges{margin:0;padding:12px 14px 14px}.graph-side-edge{background:#00000008;border-radius:6px;margin-bottom:12px;padding:8px 10px}.graph-side-edge-header{align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.graph-side-edge-type{opacity:.75;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600}.graph-side-edge-arrow{opacity:.45}.graph-side-edge-other{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.graph-side-edge-props{margin:0;padding:0}.graph-side-edge-props .graph-side-prop{margin-bottom:6px}.graph-side-edge-props .graph-side-prop:last-child{margin-bottom:0}.graph-legend{background:#00000004;border-top:1px solid #0000000f;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px 24px;font-size:11px;display:flex}.graph-legend-item{opacity:.85;align-items:center;gap:6px;display:inline-flex}.graph-legend-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}.graph-filter-wrap{align-items:center;display:inline-flex;position:relative}.graph-filter-toggle{color:inherit;font-size:12px;font-family:var(--font-body);cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;transition:background .12s,border-color .12s;display:inline-flex}.graph-filter-toggle:hover{background:#00000008}.graph-filter-toggle.is-open,.graph-filter-toggle.has-selection{background:#00000008;border-color:#0000004d}.graph-refresh-button,.graph-fullscreen-toggle{width:30px;height:30px;color:inherit;cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s;display:inline-flex}.graph-refresh-button:hover:not(:disabled),.graph-fullscreen-toggle:hover{background:#00000008}.graph-refresh-button:disabled{cursor:default;opacity:.6}.graph-filter-count{color:#fff;background:#000000bf;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.graph-filter-popover{z-index:20;background:#fff;border:1px solid #00000014;border-radius:10px;flex-direction:column;gap:10px;min-width:260px;max-width:min(420px,100vw - 48px);padding:12px 14px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001a}.graph-filter-popover-empty{opacity:.65;margin:0;font-size:12px}.graph-filter-popover-footer{border-top:1px solid #0000000f;justify-content:flex-end;padding-top:10px;display:flex}.graph-filter-set-default{color:inherit;font-size:12px;font-family:var(--font-body);cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;transition:background .12s;display:inline-flex}.graph-filter-set-default:hover:not(:disabled){background:#00000008}.graph-filter-set-default:disabled{opacity:.4;cursor:not-allowed}.graph-filter-rows{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.graph-filter-row{color:inherit;font-size:13px;font-family:var(--font-body);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;transition:background-color .12s,border-color .12s;display:flex}.graph-filter-row:hover{background:#0000000a}.graph-filter-row.active{background:#0000000d;border-color:#00000026}.graph-filter-row-swatch{border-radius:50%;flex:none;width:10px;height:10px}.graph-filter-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.graph-filter-row-count{opacity:.55;flex:none;font-family:ui-monospace,Menlo,monospace;font-size:11px}.conv-channel-filter{width:100%;color:inherit;font-size:12px;font-family:var(--font-body);cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:6px;margin:6px 0 8px;padding:4px 8px}.conv-channel-filter:hover{background:#00000008}.conv-channel-icon{opacity:.6;flex:none;margin-right:6px}.graph-filter-popover-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.graph-filter-clear,.graph-search-clear{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:4px;transition:opacity .12s;display:inline-flex}.graph-filter-clear:hover,.graph-search-clear:hover{opacity:1}.graph-back-to-filter{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:6px;padding:4px 10px;font-size:12px}.graph-back-to-filter:hover{background:#00000008}.graph-back-desktop{display:inline-flex}.graph-back-mobile{justify-content:center;align-items:center;padding:4px 8px;display:none}.graph-home-to-filter{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.graph-home-to-filter:hover{background:#00000008}.graph-home-desktop{display:inline-flex}.graph-home-mobile{justify-content:center;align-items:center;padding:4px 8px;display:none}.graph-breadcrumb{color:#0000008c;-webkit-user-select:none;user-select:none;background:#00000005;border-bottom:1px solid #0000000f;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 16px;font-size:11px;line-height:1.4;display:flex}.graph-breadcrumb-item{align-items:center;gap:4px;display:inline-flex}.graph-breadcrumb-separator{color:#0000004d;font-size:12px}.graph-breadcrumb-label.is-current{color:#000000d9;font-weight:500}.graph-canvas-hint{opacity:.7;margin-top:6px;font-size:12px}.graph-side-footer{background:#00000004;border-top:1px solid #0000000f;padding:10px 14px}.graph-delete-confirm{font-size:12px}.graph-delete-confirm p{margin:0 0 8px;line-height:1.4}.graph-delete-confirm-buttons{gap:8px;display:flex}.graph-delete-confirm-cancel,.graph-delete-confirm-do{cursor:pointer;font-size:12px;font-family:var(--font-body);border-radius:6px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.graph-delete-confirm-cancel{color:inherit;background:#fff;border:1px solid #0000001f}.graph-delete-confirm-cancel:hover{background:#00000008}.graph-delete-confirm-do{color:inherit;background:#fff;border:1px solid #0000001f}.graph-delete-confirm-do:hover{background:#00000008}.graph-delete-confirm-error p{color:#b91c1c}.graph-marquee{pointer-events:none;z-index:1;background:#3b82f61a;border:1px solid #3b82f699;border-radius:2px;display:none;position:absolute}.graph-trash-drop-zone{z-index:2;color:#b91c1c;pointer-events:none;background:#ffffffd9;border:2px dashed #b91c1c59;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .12s,border-color .12s,transform .12s;display:flex;position:absolute;top:12px;right:12px}.graph-trash-drop-zone.is-hover{opacity:1;background:#fef2f2;border-style:solid;border-color:#b91c1c;transform:scale(1.08)}.graph-dragging .graph-trash-drop-zone{opacity:.5}.graph-trash-drop-zone.is-error{background:#fee2e2;border-color:#b91c1c;animation:.36s ease-in-out graph-trash-drop-zone-shake}@keyframes graph-trash-drop-zone-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.graph-drag-error-banner{z-index:4;color:#7f1d1d;font-size:12px;font-family:var(--font-body);background:#fef2f2;border:1px solid #b91c1c59;border-radius:8px;align-items:center;gap:10px;max-width:320px;padding:8px 12px;display:inline-flex;position:absolute;top:64px;right:12px;box-shadow:0 4px 12px #0000000f}.graph-drag-error-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;transition:opacity .12s;display:inline-flex}.graph-drag-error-dismiss:hover{opacity:1}.graph-toggle-trashed{color:#6b7280;font-size:12px;font-family:var(--font-body);cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:999px;align-items:center;gap:6px;margin-right:6px;padding:4px 10px;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.graph-toggle-trashed:hover{background:#00000008}.graph-toggle-trashed.active{background:var(--color-alias-action-primaryBg);border-color:var(--color-alias-border-subtle);color:var(--color-alias-action-primaryFg)}.graph-toggle-trashed.active:hover{background:var(--color-alias-action-primaryBg)}.graph-toggle-agent-actions{border-top:1px solid #0000000f;border-bottom:1px solid #0000000f;padding:8px 12px}.graph-side-panel-trashed{background:#00000004}.graph-side-trash-meta{opacity:.85;padding-top:10px;padding-bottom:2px}.graph-side-trash-meta .graph-side-prop dt{color:var(--text-tertiary);font-variant:small-caps}.graph-side-restore{border:1px solid var(--color-alias-border-subtle);color:var(--color-alias-action-primaryFg);font-size:12px;font-family:var(--font-body);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;transition:background-color .12s,color .12s;display:inline-flex}.graph-side-restore:hover{background:var(--color-alias-action-primaryBg)}.graph-side-trash{border:1px solid var(--danger);color:var(--danger);font-size:12px;font-family:var(--font-body);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;transition:background-color .12s,color .12s;display:inline-flex}.graph-side-trash:hover{color:var(--danger-hover);background:#b4444414}.platform{grid-template-columns:var(--side-px,264px) 1fr var(--artefact-px,440px);background:var(--bg);flex:1;width:100vw;min-height:0;display:grid;position:relative}.admin-shell{background:var(--bg);--bg:var(--color-alias-surface-canvas);--bg-chat:var(--color-alias-surface-canvas);--surface:var(--color-alias-surface-chrome);--text:var(--color-alias-text-primary);--text-primary:var(--color-alias-text-primary);--text-secondary:var(--color-alias-text-body);--text-tertiary:var(--color-alias-text-muted);--border:var(--color-alias-border-subtle);--copper:var(--color-alias-status-activity);--danger:var(--color-alias-action-dangerBg);flex-direction:column;width:100vw;height:100dvh;display:flex;overflow:hidden}.admin-footer{border-top:1px solid var(--border);background:var(--surface);z-index:50;flex-direction:row;flex:none;justify-content:flex-end;align-items:center;gap:12px;padding:8px 16px;display:flex;position:relative}.admin-footer .powered-by{margin-left:0}.platform .chat-page.admin-page{min-width:0;max-width:none;height:100%;min-height:0;padding:0}.platform[data-artefact=closed]{grid-template-columns:var(--side-px,264px) 1fr}.platform.platform-operator{grid-template-columns:1fr}.platform-operator>.webchat-page,.platform-operator>.op-conv{max-width:var(--chat-measure);width:100%;margin:0 auto}.op-conv{background:var(--surface);flex-direction:column;height:100%;min-height:0;display:flex}.op-conv-bar{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.op-conv-back{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:13px;transition:color .12s,background-color .12s;display:inline-flex}.op-conv-back:hover{color:var(--text);background:var(--hover)}.op-conv-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.op-conv-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:color .12s,background-color .12s;display:inline-flex}.op-conv-close:hover{color:var(--text);background:var(--hover)}.op-conv-list{overflow-y:auto}.op-conv-reader>.wa-reader{flex:auto;min-height:0}.op-conv-group{padding-bottom:6px}.op-conv-group-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);align-items:center;gap:6px;padding:12px 12px 6px;font-size:10px;font-weight:500;display:flex}.op-conv-group-head .channel-icon{flex:none}.op-conv-row{text-align:left;cursor:pointer;width:100%;color:var(--text);border:none;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;transition:background-color .12s;display:flex}.op-conv-row:hover{background:var(--hover)}.op-conv-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.op-conv-when{color:var(--text-tertiary);flex:none;font-size:11px}.op-conv-gated{color:var(--error,#c33);flex:none;align-items:center;display:inline-flex}.op-conv-current{color:var(--color-alias-action-primaryFg);flex:none;align-items:center;display:inline-flex}.op-conv-row[aria-current=true]{background:var(--hover)}.op-conv-rowwrap{border-bottom:1px solid var(--border);flex-direction:column;transition:background-color .12s;display:flex}.op-conv-rowwrap:hover,.op-conv-rowwrap[aria-current=true]{background:var(--hover)}.op-conv-row-inner{align-items:baseline;gap:10px;padding:10px 12px;display:flex}.op-conv-resume{text-align:left;cursor:pointer;min-width:0;color:var(--text);font:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:0;display:flex}.op-conv-line1,.op-conv-line2{align-items:baseline;gap:8px;min-width:0;display:flex}.op-conv-id{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono,ui-monospace, monospace);flex:1;overflow:hidden}.op-conv-kebab{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-self:center;align-items:center;padding:2px;display:inline-flex}.op-conv-kebab:hover{color:var(--text);background:var(--hover)}.op-conv-actions{flex-wrap:wrap;gap:6px;padding:0 12px 10px;display:flex}.op-conv-action{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:inline-flex}.op-conv-action:hover{background:var(--hover);color:var(--text)}.op-conv-action.danger{color:var(--error,#c33)}.op-conv-rename{border-bottom:1px solid var(--border);gap:6px;padding:10px 12px;display:flex}.op-conv-rename-input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;flex:1;padding:5px 8px;font-size:13px}.op-conv-archived-head{border:none;border-top:1px solid var(--border);cursor:pointer;width:100%;color:var(--text-tertiary);background:0 0;align-items:center;gap:6px;padding:10px 12px;font-size:12px;display:flex}.op-conv-archived-head:hover{color:var(--text)}.op-conv-copy{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-self:center;align-items:center;padding:2px;display:inline-flex}.op-conv-copy:hover{color:var(--text);background:var(--hover)}.op-conv-new{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;margin-left:auto;padding:4px 10px;font-size:12px;display:inline-flex}.op-conv-new:hover{background:var(--hover);color:var(--text)}.op-conv-new-float{z-index:1;background:var(--surface);margin-left:0;position:absolute;bottom:12px;left:12px;box-shadow:0 1px 4px #0000001f}.op-conv-footer{background:var(--surface);border-top:1px solid var(--border);padding:8px 12px;position:relative}.webchat-conv-overlay{z-index:10;background:var(--bg,var(--surface));flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.webchat-conv-splash{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:0;display:flex}.webchat-conv-splash-logo{opacity:.9;width:56px;height:56px}.webchat-conv-splash-new{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;display:inline-flex}.webchat-conv-splash-new:hover{background:var(--hover)}.webchat-conv-splash-new:disabled{opacity:.6;cursor:default}.side{border-right:1px solid var(--border);background:var(--surface);grid-template-rows:auto auto 1fr auto;min-height:0;display:grid}.brand-mark{font-family:var(--font-display);font-size:18px;font-weight:var(--typography-fontWeight-display);letter-spacing:-.005em;color:var(--text);align-items:baseline;gap:2px;display:inline-flex}.brand-mark .ast{color:var(--color-alias-status-activity);font-size:.92em}.icon-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn svg{width:14px;height:14px}.action-bar{flex-wrap:wrap;gap:8px;display:flex}.action-btn{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;line-height:1;text-decoration:none;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.action-btn:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.action-btn:active:not(:disabled){transform:translateY(.5px)}.action-btn:disabled{opacity:.5;cursor:default}.action-btn svg{flex-shrink:0;width:14px;height:14px}.action-btn[data-variant=primary]{background:var(--color-alias-action-primaryBg);border-color:var(--color-alias-action-primaryBg);color:var(--color-alias-action-primaryFg)}.action-btn[data-variant=primary]:hover:not(:disabled){background:var(--color-alias-action-primaryBg);border-color:var(--color-alias-action-primaryFg)}.action-btn[data-variant=danger]{color:var(--color-alias-action-dangerBg);border-color:var(--color-alias-border-subtle)}.action-btn[data-variant=danger]:hover:not(:disabled){background:var(--color-alias-action-dangerWash);border-color:var(--color-alias-action-dangerBg)}.modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-alias-surface-canvas);color:var(--color-alias-text-primary);padding:var(--space-5);border-radius:var(--radius-md);max-width:420px;box-shadow:0 12px 32px #0000004d}.modal-action-row{gap:var(--space-2);margin-top:var(--space-3);justify-content:flex-end;display:flex}.modal-action-btn{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--typography-fontSize-sm);background:var(--color-alias-surface-canvas);color:var(--color-alias-text-body);border:1px solid var(--color-alias-border-subtle);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;line-height:1.4;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.modal-action-btn:hover:not(:disabled){background:var(--color-alias-surface-chrome);border-color:var(--color-alias-text-muted)}.modal-action-btn:disabled{opacity:.5;cursor:default}.modal-action-btn[data-variant=danger]{background:var(--color-alias-action-dangerBg);border-color:var(--color-alias-action-dangerBg);color:var(--color-alias-action-dangerFg)}.modal-action-btn[data-variant=danger]:hover:not(:disabled){background:var(--color-alias-action-dangerBg);border-color:var(--color-alias-action-dangerBg);filter:brightness(.92)}.jsonl-viewer-card{flex-direction:column;width:90vw;max-width:1100px;max-height:90vh;padding:0;display:flex;overflow:hidden}.jsonl-viewer-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-alias-border-subtle);flex-shrink:0;display:flex}.jsonl-viewer-title{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.jsonl-viewer-title strong{font-size:var(--typography-fontSize-sm);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.jsonl-viewer-sid{font-size:var(--typography-fontSize-xs);color:var(--color-alias-text-muted)}.jsonl-viewer-search{min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--typography-fontSize-sm);background:var(--color-alias-surface-chrome);color:var(--color-alias-text-body);border:1px solid var(--color-alias-border-subtle);border-radius:var(--radius-sm);flex:1;font-family:inherit}.jsonl-viewer-search:focus{border-color:var(--color-alias-text-muted);outline:none}.jsonl-viewer-counts{font-size:var(--typography-fontSize-xs);color:var(--color-alias-text-tertiary);white-space:nowrap;flex-shrink:0}.jsonl-viewer-scroll{background:var(--color-alias-surface-canvas);flex:0 auto;min-height:0;position:relative;overflow-y:auto}.jsonl-viewer-inner{width:100%;position:relative}.jsonl-viewer-row{border-bottom:1px solid var(--color-alias-border-subtle);font-size:var(--typography-fontSize-xs);align-items:stretch;display:flex}.jsonl-viewer-row[data-expanded]{background:var(--color-alias-surface-chrome)}.jsonl-viewer-row__main{align-items:flex-start;gap:var(--space-2);padding:var(--space-1) var(--space-3);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;display:flex;overflow:hidden}.jsonl-viewer-row__main:hover{background:var(--color-alias-surface-chrome)}.jsonl-viewer-badge{border-radius:var(--radius-sm);font-size:var(--typography-fontSize-xs);color:var(--color-alias-text-body);background:var(--color-alias-surface-chrome);border:1px solid var(--color-alias-border-subtle);flex-shrink:0;padding:1px 6px;font-weight:500}.jsonl-viewer-badge[data-tone=user]{background:#3c82f61a;border-color:#3c82f64d}.jsonl-viewer-badge[data-tone=assistant]{background:#22c55e1a;border-color:#22c55e4d}.jsonl-viewer-badge[data-tone=tool]{background:#a855f71a;border-color:#a855f74d}.jsonl-viewer-badge[data-tone=error]{background:var(--color-alias-action-dangerBg);color:var(--color-alias-action-dangerFg)}.jsonl-viewer-line-no{color:var(--color-alias-text-tertiary);text-align:right;flex-shrink:0;min-width:48px}.jsonl-viewer-preview{white-space:nowrap;text-overflow:ellipsis;color:var(--color-alias-text-body);flex:1;overflow:hidden}.jsonl-viewer-pre{padding:var(--space-1) 0;font-size:var(--typography-fontSize-xs);white-space:pre-wrap;word-break:break-word;color:var(--color-alias-text-body);flex:1;max-height:220px;margin:0;overflow:auto}.jsonl-viewer-error{color:var(--color-alias-action-dangerBg)}.jsonl-viewer-copy{width:28px;color:var(--color-alias-text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.jsonl-viewer-copy:hover{color:var(--color-alias-text-body)}.jsonl-viewer-footer{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-alias-border-subtle);font-size:var(--typography-fontSize-xs);flex-shrink:0;display:flex}.jsonl-viewer-status{border-radius:var(--radius-sm);padding:1px 8px;font-weight:500}.jsonl-viewer-status[data-tone=streaming]{color:var(--color-alias-text-body);background:#22c55e1f;border:1px solid #22c55e4d}.jsonl-viewer-status[data-tone=complete]{background:var(--color-alias-surface-chrome);color:var(--color-alias-text-body);border:1px solid var(--color-alias-border-subtle)}.jsonl-viewer-status[data-tone=error]{background:var(--color-alias-action-dangerBg);color:var(--color-alias-action-dangerFg);border:1px solid var(--color-alias-action-dangerBg)}.sidebar-backdrop{z-index:49;background:#00000059;display:none;position:fixed;inset:0}@media (width<=720px){.platform.menu-open+.sidebar-backdrop,.sidebar-backdrop.menu-open{display:block}}.action-btn[data-active=true]{background:var(--color-alias-action-primaryBg);border-color:var(--color-alias-border-subtle);color:var(--color-alias-action-primaryFg)}.meta-dl{grid-template-columns:140px 1fr;gap:8px 16px;margin:0;font-size:13px;display:grid}.meta-dl dt{color:var(--text-tertiary);margin:0}.meta-dl dd{margin:0}.meta-dl dd[data-mono]{word-break:break-all;align-items:center;gap:8px;min-width:0;font-family:monospace;display:flex}.meta-dl dd[data-mono]>span{word-break:break-all;min-width:0}.meta-dl .text-tertiary{color:var(--text-tertiary)}@media (width<=640px){.meta-dl{grid-template-columns:1fr;row-gap:4px}.meta-dl dt{margin-top:8px;font-size:12px}.meta-dl dt:first-of-type{margin-top:0}}.side .icon-btn{width:32px;height:32px}.side .icon-btn svg{width:auto;height:auto}.side-nav{border-bottom:1px solid var(--border);padding:4px 8px 8px}.nav-row{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;width:100%;padding:7px 10px;font-family:inherit;font-size:13.5px;display:grid}.nav-row:hover{background:var(--hover);color:var(--text)}.nav-row.active{background:var(--bg-chat);color:var(--text);box-shadow:var(--shadow-sm)}.nav-row.active svg{color:var(--color-alias-action-primaryFg)}.nav-row svg{color:var(--text)}.nav-row .label{font-weight:500}.nav-row .kbd{font-family:var(--font-mono);color:var(--text-tertiary);font-size:10.5px}.side-list{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;min-height:0;padding:4px 8px 12px;overflow-y:auto}.side-list::-webkit-scrollbar{width:4px}.side-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.group-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:12px 10px 6px;font-size:10px;font-weight:500;display:flex}.group-head-meta{align-items:center;gap:8px;display:inline-flex}.group-head-refresh{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s,background-color .12s;display:inline-flex}.group-head-refresh:hover:not(:disabled){color:var(--text);background:var(--hover)}.group-head-refresh:disabled{opacity:.5;cursor:default}.spinning{animation:.9s linear infinite maxy-spin}.side-new-session-row{align-items:center;gap:6px;padding:8px 10px 4px;display:flex;position:relative}.side-new-session{color:#000;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.side-new-session:disabled{opacity:.5;cursor:default}.side-new-session svg{flex-shrink:0}.side-mode-trigger{background:var(--surface);border-radius:var(--radius-sm);height:28px;color:var(--text);cursor:pointer;text-transform:none;border:none;align-items:center;gap:4px;margin-left:auto;padding:0 10px;font-family:inherit;font-size:13px;line-height:1.4;display:inline-flex}.side-mode-trigger:hover:not(:disabled){background:var(--hover);color:var(--text)}.side-mode-trigger:disabled{opacity:.5;cursor:default}.side-mode-trigger svg{opacity:.6;flex-shrink:0}.side-mode-popover{z-index:30;background:var(--bg-chat);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 2px);right:10px}.side-mode-popover-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:6px 10px 4px;font-size:10px;display:flex}.side-mode-popover-shortcut{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:none;letter-spacing:0;align-items:center;gap:4px;font-size:13px;display:inline-flex}.side-mode-popover-item{cursor:pointer;border-radius:var(--radius-sm);color:var(--text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 10px;font-family:inherit;font-size:13px;display:flex}.side-mode-popover-item:hover{background:var(--hover)}@keyframes maxy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pin-zone{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);text-align:center;font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;margin:0 6px;padding:12px;font-size:10.5px}.conv{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;margin-bottom:1px;padding:6px 10px;font-family:inherit;font-size:13px;line-height:1.4;display:flex;position:relative;overflow:hidden}.conv:hover{background:var(--hover);color:var(--text)}.conv.active{background:var(--color-alias-action-primaryBg);color:var(--text);box-shadow:inset 3px 0 0 var(--color-alias-action-primaryFg);font-weight:500}.conv-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.conv-name-edit{font:inherit;color:inherit;background:var(--surface-2,#ffffff0f);border:1px solid var(--border,#ffffff2e);border-radius:4px;width:100%;padding:0 4px}.conv-name-edit:focus-visible{outline:2px solid var(--accent,#6aa6ff);outline-offset:0}.conv-stack{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.conv-icon{color:var(--color-alias-action-primaryFg);flex-shrink:0}.conv-icon[data-kind=agent]{color:var(--color-alias-status-activity)}.conv-live-dot{background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:7px;height:7px}.conv-live-dot[data-live="1"]{background:var(--session-live)}.conv-rc-icon{opacity:.7;color:var(--text-tertiary);flex-shrink:0}.conv:hover .conv-rc-icon{opacity:1;color:var(--text)}.conv:disabled{cursor:default}.conv:disabled:hover{color:var(--text-secondary);background:0 0}.conv-with-actions{align-items:flex-start;gap:4px;padding:0;display:flex}.conv-with-actions .conv-main-static{min-width:0;color:inherit;white-space:nowrap;cursor:default;flex:1;align-items:center;gap:8px;padding:6px 4px 6px 10px;display:flex;overflow:hidden}.conv-with-actions .conv-main-btn{font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none}.conv-with-actions .conv-main-btn:hover{background:var(--hover);color:var(--text)}.conv-with-actions .conv-main-clickable{cursor:pointer;border-radius:var(--radius-sm)}.conv-with-actions .conv-main-clickable:hover{background:var(--hover);color:var(--text)}.conv-with-actions .conv-actions{flex-shrink:0;align-self:center;align-items:center;gap:2px;margin-right:6px;display:inline-flex}.conv-with-actions .conv-action{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.conv-with-actions .conv-action:hover{background:var(--hover);color:var(--text)}.conv-with-actions .conv-action:disabled{cursor:default;opacity:.3}.conv-with-actions .conv-action:disabled:hover{color:var(--text-tertiary);background:0 0}.conv-with-actions .conv-action.conv-action-danger:hover{background:var(--hover);color:var(--danger)}.conv-with-actions .conv-action.conv-actions-overflow{opacity:1}.conv-actions-menu{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:172px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:4px;display:flex}.conv-actions-menu button[role=menuitem]{cursor:pointer;width:100%;color:var(--text);text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;font-size:12px;line-height:1.2;display:flex}.conv-actions-menu button[role=menuitem]:hover{background:var(--hover)}.conv-actions-menu button[role=menuitem].conv-action-danger:hover{color:var(--danger)}.conv-actions-menu button[role=menuitem] svg{color:var(--text-tertiary);flex-shrink:0}.conv-actions-menu-disclosure{flex-direction:column;display:flex}.conv-actions-menu-panel{flex-direction:column;gap:8px;padding:6px 8px 4px;display:flex}.reseat-field{flex-direction:column;gap:3px;display:flex}.reseat-field>span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.reseat-field select{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;padding:5px 6px;font-size:12px}.reseat-apply{background:var(--color-alias-action-primaryFg);color:#fff;border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:6px;margin-top:2px;padding:6px 8px;font-size:12px;font-weight:600;transition:background .12s,box-shadow .12s;display:flex}.reseat-apply:hover{background:var(--color-alias-action-primaryFg);box-shadow:var(--shadow-md)}.reseat-apply:disabled{cursor:progress;opacity:.85;box-shadow:none}.side-account-id{color:var(--text-tertiary);-webkit-user-select:text;user-select:text;padding:4px 10px 6px;font-size:10px}.side-account-id code{font-family:var(--font-mono);word-break:break-all;font-size:10px}.artefact-filter-chips{gap:4px;padding:2px 10px 6px;display:flex}.artefact-filter-chip{border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:5px;padding:3px 8px;font-size:10px;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.artefact-filter-chip:hover:not(:disabled){color:var(--text);background:var(--hover)}.artefact-filter-chip.active{color:var(--text);border-color:var(--text);background:var(--bg-chat)}.artefact-filter-chip[aria-pressed].active{color:var(--color-alias-action-primaryFg);border-color:var(--color-alias-border-subtle);background:var(--color-alias-action-primaryBg)}.artefact-filter-chip[aria-pressed].active:hover:not(:disabled){color:var(--color-alias-action-primaryFg);background:var(--color-alias-action-primaryBg)}.artefact-filter-chip[aria-pressed].active:before{content:"✓";font-size:10px;line-height:1}.artefact-filter-chip:disabled{opacity:.4;cursor:default}.artefact-filter-chip-count{opacity:.7;font-size:9.5px}.conv-name-button{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:stretch;gap:1px;margin:0;padding:0;display:flex;overflow:hidden}.conv-name-button:focus-visible{outline:2px solid var(--color-alias-border-subtle);outline-offset:1px;border-radius:var(--radius-sm)}.conv-name-line{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.conv-scope-admin:before,.conv-scope-public:before{content:"";border-radius:var(--radius-sm) 0 0 var(--radius-sm);width:3px;position:absolute;top:0;bottom:0;left:0}.conv-scope-admin:before{background:#25d366}.conv-scope-public:before{background:var(--color-global-brand-claudeOrange)}.conv-timestamp{color:var(--text-tertiary);font-size:10.5px;line-height:1.2;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conv-session-id{font-family:var(--font-mono);color:var(--text-tertiary);-webkit-user-select:text;user-select:text}.conv{--conv-base:var(--surface);--conv-overlay:transparent}.conv:hover{--conv-overlay:var(--hover)}.conv.active{--conv-base:var(--surface);--conv-overlay:var(--color-alias-action-primaryBg)}.conv-editing{--conv-base:var(--bg-chat);--conv-overlay:transparent}.conv .conversations-row-actions{background:linear-gradient(to right, transparent 0, var(--conv-overlay) 16px), linear-gradient(to right, transparent 0, var(--conv-base) 16px);border-radius:var(--radius-sm);opacity:0;pointer-events:none;flex-shrink:0;align-items:center;gap:2px;margin-left:0;padding:2px 2px 2px 16px;transition:opacity .12s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.conv:hover .conversations-row-actions,.conv:focus-within .conversations-row-actions{opacity:1;pointer-events:auto}.conv>.conversations-action{align-self:flex-start;margin-top:-5px}.conv-pre-flush{opacity:.85}.conv-editing{cursor:default;background:var(--bg-chat)}.conv-edit-loading{min-width:0;color:var(--text-secondary);flex:1;align-items:center;gap:6px;font-size:13px;display:inline-flex}.conv-edit-inline{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.conv-edit-inline .conversations-edit-input{flex:1;min-width:0}@media (width<=640px){.conv .conversations-row-actions{opacity:1;pointer-events:auto}}.side-foot{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:10px 12px;display:flex}.avatar{background:linear-gradient(135deg, var(--color-alias-text-primary), var(--color-alias-text-body));color:#fff;width:30px;height:30px;font-family:var(--font-display);font-size:14px;font-weight:var(--typography-fontWeight-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.who{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex;overflow:hidden}.who .name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.who .role{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);letter-spacing:.04em}.system-stats{border-top:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.04em;padding:6px 12px 8px;font-size:11px}.system-stats__metric{grid-template-columns:64px 1fr;align-items:center;gap:8px;margin-top:4px;display:grid}.system-stats__metric:first-child{margin-top:0}.system-stats__fig{white-space:nowrap}.system-stats__bar{background:color-mix(in srgb, var(--border) 60%, transparent);border-radius:2px;height:4px;overflow:hidden}.system-stats__bar-fill{height:100%;transition:width .4s,background .4s}.system-stats--warn,.system-stats__fig--warn{color:var(--danger,#c0392b)}@keyframes system-stats-crit-pulse{0%,to{background:color-mix(in srgb, var(--danger,#c0392b) 10%, var(--surface))}50%{background:color-mix(in srgb, var(--danger,#c0392b) 22%, var(--surface))}}.system-stats--crit{animation:1.2s ease-in-out infinite system-stats-crit-pulse}.platform.sidebar-collapsed .system-stats{display:none}.artefact{border-left:1px solid var(--border);background:var(--surface);grid-template-rows:48px auto 1fr auto;min-height:0;display:grid}.artefact[data-open=false]{display:none}.art-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex;overflow:hidden}.art-head .left{align-items:center;gap:6px;min-width:0;display:inline-flex}.art-head .file-name{font-family:var(--font-mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.art-head .file-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--color-alias-status-activity);border:1px solid var(--color-alias-status-activity);border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:9.5px}.art-head .right{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.art-toolbar{border-bottom:1px solid var(--border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-tertiary);align-items:center;gap:10px;padding:8px 22px;font-size:10.5px;display:flex;overflow:hidden}.art-toolbar .seg{white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.art-toolbar .seg .bullet{background:var(--color-alias-action-primaryFg);border-radius:50%;flex-shrink:0;width:4px;height:4px}.art-toolbar .seg strong{color:var(--text);font-weight:500}.art-toolbar .right-meta{white-space:nowrap;flex-shrink:0;margin-left:auto}.art-body{background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;min-height:0;padding:24px 26px 32px;display:flex;overflow-y:auto}.art-body::-webkit-scrollbar{width:6px}.art-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.art-body .editor-base.doc-editor{background:0 0;border:none;flex:1;min-height:0;padding:0}.art-body .doc-editor__body{flex:1;min-height:0;max-height:none}.art-body .doc-editor__fallback{height:100%;overflow:auto}.art-body .art-pdf{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-chat);flex:1;width:100%}.art-skip-banner{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);align-self:flex-start;align-items:center;gap:8px;padding:12px 14px;font-size:13px;display:inline-flex}.art-skip-banner svg{color:var(--color-alias-status-activity);flex-shrink:0}.art-pdf-fallback{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;align-self:flex-start;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.art-pdf-fallback:hover{border-color:var(--border-strong);background:var(--bg-chat)}.art-pdf-fallback svg{color:var(--color-alias-status-activity);flex-shrink:0}.art-pdf-fallback-text{flex-direction:column;gap:2px;display:flex}.art-pdf-fallback-name{font-size:13px;font-weight:500}.art-pdf-fallback-hint{color:var(--text-secondary);font-size:11px}.art-save-error{border-radius:var(--radius-sm);color:var(--danger);font-size:12px;font-family:var(--font-mono);background:#b4444414;margin-bottom:8px;padding:8px 10px}.art-foot{border-top:1px solid var(--border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-size:10px;display:flex}.art-foot .left,.art-foot .right{align-items:center;gap:8px;display:inline-flex}.art-foot .sep{opacity:.4}.art-foot .in-sync{color:var(--color-alias-action-primaryFg)}.admin-page .chat-logo-btn{background:0 0;border:0;align-items:center;margin:0;padding:0;display:inline-flex}.scrim{z-index:40;opacity:0;pointer-events:none;background:#00000052;transition:opacity .2s;position:fixed;inset:0}@media (width<=1280px){.platform{grid-template-columns:var(--side-px,244px) 1fr var(--artefact-px,380px)}.platform[data-artefact=closed]{grid-template-columns:var(--side-px,244px) 1fr}}@media (width<=1080px){.platform,.platform[data-artefact=closed]{grid-template-columns:var(--side-px,248px) 1fr}.platform .artefact,.platform .art-resize-handle{display:none}}@media (width<=720px){.platform,.platform[data-artefact=closed]{grid-template-columns:1fr}.platform>.side{z-index:50;grid-template-rows:auto auto 1fr auto;width:min(86vw,320px);display:grid;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:2px 0 16px #0000002e}.platform.menu-open>.side{transform:translate(0)}.platform.drawer-animating>.side{transition:transform .22s}.platform.menu-open .scrim{opacity:1;pointer-events:auto}.platform .side-resize-handle{display:none}.conv-with-actions{border-bottom:1px solid var(--border);align-items:center}.conv-with-actions:last-child{border-bottom:none}.conv-with-actions .conv-actions{padding-top:0}}.platform.sidebar-collapsed{grid-template-columns:56px 1fr var(--artefact-px,440px)}.platform.sidebar-collapsed[data-artefact=closed]{grid-template-columns:56px 1fr}.platform.sidebar-collapsed .side-resize-handle{display:none}@media (width<=1280px){.platform.sidebar-collapsed{grid-template-columns:56px 1fr var(--artefact-px,380px)}.platform.sidebar-collapsed[data-artefact=closed]{grid-template-columns:56px 1fr}}@media (width<=1080px){.platform.sidebar-collapsed{grid-template-columns:56px 1fr}.platform.sidebar-collapsed .artefact{display:none}}.platform.sidebar-collapsed .nav-row{box-shadow:none;background:0 0;grid-template-columns:none;justify-content:center;align-items:center;padding:4px 0;display:flex}.platform.sidebar-collapsed .nav-row.active{box-shadow:none;background:0 0}.platform.sidebar-collapsed .nav-row svg{border-radius:var(--radius-sm);box-sizing:content-box;padding:6px;transition:background-color .15s,color .15s}.platform.sidebar-collapsed .nav-row:not(:disabled):hover svg{background:var(--hover);color:var(--text)}.platform.sidebar-collapsed .nav-row.active svg{background:var(--bg-chat);box-shadow:var(--shadow-sm);color:var(--color-alias-action-primaryFg)}.platform.sidebar-collapsed .nav-row .label,.platform.sidebar-collapsed .nav-row .kbd{display:none}.platform.sidebar-collapsed .side-list{padding:4px 6px}.platform.sidebar-collapsed .side .group-head,.platform.sidebar-collapsed .side .conv,.platform.sidebar-collapsed .side .side-account-id,.platform.sidebar-collapsed .side .artefact-filter-chips,.platform.sidebar-collapsed .side .conv-channel-filter{display:none}.platform.sidebar-collapsed .side-foot{justify-content:center;padding:10px 0}.platform.sidebar-collapsed .side-foot .who,.platform.sidebar-collapsed .side-foot .avatar,.platform.sidebar-collapsed .side-new-session-row{display:none}@media (width<=1080px){.platform[data-artefact=open] .artefact{z-index:60;box-shadow:var(--shadow-lg);border-left:none;display:grid;position:fixed;inset:0}}.side-foot{z-index:51;position:relative}.chat-actions-menu{flex-direction:column;display:flex}.chat-actions-menu .chat-action{cursor:pointer;border-radius:var(--radius-sm);color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.chat-actions-menu .chat-action:hover:not(:disabled){background:var(--hover)}.chat-actions-menu .chat-action:disabled{color:var(--text-tertiary);cursor:not-allowed}.chat-actions-menu .chat-action svg{color:var(--text-tertiary);flex-shrink:0}.artefact-ref-card{background:0 0;border:none;margin-top:8px;padding:0}.artefact-ref-button{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;max-width:460px;color:var(--text);grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;display:grid}.artefact-ref-button:hover{border-color:var(--color-alias-status-activity)}.artefact-ref-icon{background:var(--bg-chat);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-alias-status-activity);justify-content:center;align-items:center;display:inline-flex}.artefact-ref-meta{flex-direction:column;min-width:0;display:flex}.artefact-ref-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.artefact-ref-tag{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-tertiary);text-transform:uppercase;font-size:10.5px}.artefact-ref-open{color:var(--text-tertiary);flex-shrink:0}.artefact-ref-button:hover .artefact-ref-open{color:var(--color-alias-status-activity)}.nav-row:disabled{cursor:not-allowed;opacity:.5}.nav-row:disabled:hover{color:var(--text-secondary);background:0 0}.art-resize-handle{top:0;bottom:0;right:var(--artefact-px,440px);cursor:col-resize;z-index:30;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border-left:1px solid #0000;width:8px;transition:border-color .12s,background-color .12s;position:absolute;transform:translate(50%)}.art-resize-handle:hover,.art-resize-handle.dragging{border-left-color:var(--color-alias-status-activity);background:#00000005}.art-resize-handle.dragging{z-index:60}.platform[data-artefact=closed] .art-resize-handle{display:none}.side-resize-handle{top:0;bottom:0;left:var(--side-px,264px);cursor:col-resize;z-index:30;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border-left:1px solid #0000;width:8px;transition:border-color .12s,background-color .12s;position:absolute;transform:translate(-50%)}.side-resize-handle:hover,.side-resize-handle.dragging{border-left-color:var(--color-alias-status-activity);background:#00000005}.side-resize-handle.dragging{z-index:60}.art-body[data-surface=browser],.art-body[data-surface=data],.art-body[data-surface=graph]{background:var(--surface);padding:0}.browser-surface__iframe{background:#111;border:none;width:100%;height:100%;display:block}.data-panel{background:var(--bg-chat)}.art-body[data-surface=graph]{flex-direction:column;display:flex}.art-body[data-surface=graph] .graph-main{flex:1;min-height:0}.art-head .art-head-surface-icon{color:var(--color-alias-status-activity);flex-shrink:0}.admin-page .admin-header{text-align:left;border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 24px;display:grid}.admin-page .admin-sidebar-toggle{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.admin-page .admin-sidebar-toggle:hover{color:var(--color-alias-action-primaryFg)}.admin-page .admin-header-spacer{cursor:default;pointer-events:none}.admin-burger{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:color .15s;animation:2.4s ease-in-out 3 iconHeartbeat;display:flex}.admin-burger:hover{color:var(--color-alias-action-primaryFg);animation:none}.admin-menu{background:var(--bg);border:1px solid var(--border);z-index:100;border-radius:8px;width:max-content;min-width:0;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000014}.data-main .admin-header{text-align:left;border-bottom:1px solid var(--border);flex:none;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 24px;display:grid}.admin-shell-root:has(>.platform-operator)>.admin-header{max-width:var(--chat-measure);width:100%;margin:0 auto}.admin-header>.chat-logo-btn{background:0 0;border:0;align-items:center;min-width:36px;margin:0;padding:0;display:inline-flex}.admin-header>.chat-logo-btn>.chat-logo{border-radius:6px;flex-shrink:0;width:36px;height:36px;margin-bottom:0}.admin-header>.chat-tagline,.admin-header>.chat-tagline-wrap{justify-self:center}.admin-header>.chat-tagline,.admin-header>.chat-tagline-wrap>.chat-tagline{text-align:center;-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;margin:0;font-size:16px;line-height:1.2;display:-webkit-box;overflow:hidden}.admin-menu-operator{width:max-content;min-width:0}.admin-menu .chat-menu-agent-item{align-items:flex-start;padding-left:20px}.admin-menu .chat-menu-agent-item .agent-display-name{max-width:116px}.chat-menu-claude-icon{flex-shrink:0;width:14px;height:14px}.admin-shell-root{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}@media (width<=640px){.admin-page .admin-header{padding:12px 16px}}.vnc-surface{flex-direction:column;flex:auto;min-height:0;display:flex}.vnc-surface__toolbar{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.vnc-surface__btn{cursor:pointer;border:1px solid var(--border-strong);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.vnc-surface__btn:disabled{opacity:.6;cursor:default}.vnc-surface__error{color:var(--danger);font-size:12px}.vnc-surface__iframe{border:0;flex:auto;width:100%;min-height:0}.vnc-surface__unavailable{color:var(--text-secondary);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;padding:48px 20px;display:flex}.wa-reader{height:100%;min-height:0;position:relative}.wa-reader-thread{background:#efeae2 url(/whatsapp-wallpaper.webp);height:100%;min-height:0;overflow-y:auto}.wa-jump{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;font-size:16px;line-height:1;position:absolute;bottom:16px;right:16px;box-shadow:0 2px 8px #0000002e}.wa-jump:hover{border-color:var(--text-tertiary)}.wa-thread-scroll{flex-direction:column;gap:12px;max-width:760px;margin:0 auto;padding:24px;display:flex}.platform>.wa-reader,.platform>.wa-reader>.wa-reader-thread{max-width:var(--chat-measure);margin-inline:auto}.platform>.wa-reader .wa-thread-scroll{max-width:none}.wa-reader-placeholder{text-align:center;opacity:.6;padding:32px 16px;font-size:14px}.day-divider{justify-content:center;align-items:center;margin:4px 0;display:flex}.day-divider-label{opacity:.55;background:#0b141a0f;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:600}.session-divider{justify-content:center;align-items:center;margin:8px 0;display:flex}.session-divider-label{letter-spacing:.02em;opacity:.45;background:#0b141a0d;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:600}.wa-reader-error{color:#b42318;padding:8px 12px;font-size:13px}.channel-icon{flex-shrink:0}.wa-turn{border-radius:12px;flex-direction:column;gap:4px;max-width:78%;padding:8px 12px;display:flex}.wa-who{opacity:.55;font-size:11px;font-weight:600}.wa-turn-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.wa-time{opacity:.4;font-variant-numeric:tabular-nums;font-size:11px}.wa-body{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px}.wa-turn-in{background:#fff;align-self:flex-start;box-shadow:0 1px .5px #0b141a21}.wa-turn-typed{border:1px dashed #0003}.wa-turn-out{background:#d9fdd3;align-self:flex-end}.wa-turn-think{opacity:.7;background:#fff9;align-self:flex-end;font-style:italic}.wa-doc{word-break:break-word;margin:0;font-size:14px}.wa-turn-tool,.wa-turn-result,.wa-turn-directive{background:0 0;border:0;border-radius:0;align-self:stretch;max-width:100%;padding:2px 0}.wa-turn-result.is-error .wa-who{color:#c0392b}.wa-turn-directive{border-left:2px dashed #0000002e;padding-left:8px}.wa-tool-toggle{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:flex}.wa-tool-toggle .wa-time{margin-left:auto}.wa-chevron{opacity:.5;font-size:10px;line-height:1}.wa-code{white-space:pre-wrap;word-break:break-word;opacity:.85;margin:0;font-size:12px}.webchat-page{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;position:relative}.webchat-page .wa-reader{flex:1;min-height:0}.webchat-page .wa-reader-thread{background:0 0}.webchat-page .wa-turn-directive{background:#00000008}.platform:not(.platform-operator)>.webchat-page .wa-thread-scroll,.platform:not(.platform-operator)>.webchat-page .webchat-composer{max-width:80%}.chat-turn-op{background:#0000000f;border-radius:14px;align-self:flex-end;max-width:76%;padding:8px 12px}.chat-op-body{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px}.chat-turn-op--whatsapp{background:#d9fdd3}.chat-turn-op--telegram{background:#cfe9ff}.chat-turn-op--whatsapp .chat-op-body,.chat-turn-op--telegram .chat-op-body{color:#111b21}.chat-time{opacity:.4;font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.chat-turn-op .chat-time{text-align:right}.chat-msg-foot{align-items:center;gap:6px;margin-top:2px;display:flex}.chat-turn-op .chat-msg-foot{justify-content:flex-end}.chat-msg-foot .chat-time{margin-top:0}.chat-copy{color:var(--text-tertiary);opacity:.5;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;padding:2px;transition:opacity .12s,color .12s;display:inline-flex}.chat-copy:hover,.chat-copy:focus-visible{opacity:1;color:var(--text-secondary)}.chat-via{opacity:.55;margin-bottom:2px;font-size:11px;display:block}.chat-composed{margin-top:4px}.chat-composed-toggle,.chat-toolrun-toggle,.chat-thinking-toggle{width:100%;color:var(--text-tertiary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:12px;display:flex}.chat-composed-toggle:hover,.chat-toolrun-toggle:hover,.chat-thinking-toggle:hover{color:var(--text-secondary)}.chat-composed-label,.chat-toolrun-label,.chat-thinking-label{font-size:12px}.chat-composed-body{margin:4px 0 0}.chat-prose{align-self:stretch}.chat-prose-body{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px}.chat-prose>.markdown-message{background:0 0;border-radius:0;max-width:none;padding:0;font-size:14px}.chat-doc{word-break:break-word;margin:0 0 4px;font-size:14px}.chat-doc-attachment{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.chat-doc-attachment:hover{text-decoration:underline}.chat-doc-image{border-radius:8px;max-width:320px;max-height:320px;margin:0 0 4px;display:block}.chat-attachment-list{flex-direction:column;gap:6px;margin:2px 0;display:flex}.chat-attachment-image{cursor:zoom-in;border-radius:8px;max-width:280px;max-height:280px;display:block}.chat-attachment-image-wrap{width:fit-content;display:inline-block;position:relative}.chat-attachment-download{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;text-decoration:none;display:inline-flex;position:absolute;top:6px}.chat-attachment-image-wrap .chat-attachment-download{right:6px}.chat-attachment-pdf .chat-attachment-download{right:40px}.chat-attachment-chip{border:1px solid var(--border,#0000001f);color:inherit;border-radius:8px;align-items:center;gap:4px;width:fit-content;padding:6px 10px;font-size:13px;text-decoration:none;display:inline-flex}.chat-attachment-chip:hover{text-decoration:underline}.chat-attachment-audio{width:100%;max-width:320px;margin-top:2px;display:block}.chat-attachment-overlay{z-index:1000;cursor:zoom-out;background:#000c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.chat-attachment-overlay-image{border-radius:8px;max-width:95vw;max-height:95vh}.chat-attachment-pdf{border:1px solid var(--border,#0000001f);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:280px;max-width:100%;height:360px;display:flex;position:relative;overflow:hidden}.chat-attachment-pdf-canvas{max-width:100%;max-height:100%;display:block}.chat-attachment-pdf-expand{color:#fff;cursor:zoom-in;background:#0009;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex;position:absolute;top:6px;right:6px}.chat-attachment-overlay-pdf{background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:12px;width:min(95vw,1000px);height:95vh;padding:16px;display:flex;overflow:auto}.chat-attachment-overlay-page{max-width:100%;display:block;box-shadow:0 1px 4px #0003}.chat-attachment-overlay-close{color:#fff;cursor:pointer;z-index:1001;background:#0009;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex;position:fixed;top:16px;right:16px}.chat-attachment-overlay-download{color:#fff;cursor:pointer;z-index:1001;background:#0009;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;text-decoration:none;display:inline-flex;position:fixed;top:16px;right:62px}.chat-agent-error{background:#ef444414;border:1px solid #ef444440;border-radius:10px;align-self:stretch;padding:8px 12px}.chat-agent-error-msg{color:var(--error,#c33);font-size:14px}.chat-agent-error-raw{white-space:pre-wrap;word-break:break-word;opacity:.8;margin:6px 0 0;font-size:12px}.chat-agent-error-action{font:inherit;color:inherit;cursor:pointer;background:#ef44440f;border:1px solid #ef444466;border-radius:8px;margin:8px 0 0;padding:5px 12px;font-size:13px}.chat-agent-error-action:hover{background:#ef44441f}.wa-turn-error{background:#ef444414;border:1px solid #ef444440;align-self:stretch}.wa-error-body{color:var(--error,#c33)}.chat-toolrun{align-self:stretch}.chat-toolrun-item{margin:4px 0 4px 16px}.chat-toolrun-name{opacity:.55;font-size:11px;font-weight:600}.chat-thinking{align-self:stretch}.chat-thinking-toggle{font-style:italic}.chat-thinking-item{opacity:.7;margin:4px 0 4px 16px;font-size:13px}.chat-thinking-item>.markdown-message{background:0 0;border-radius:0;max-width:none;padding:0;font-size:13px}.chat-activity{color:var(--text-secondary);align-self:stretch;align-items:center;gap:8px;padding:4px 0;display:flex}.chat-activity-icon{transform-origin:50%;flex-shrink:0;width:18px;height:18px;animation:1.4s ease-in-out infinite chat-activity-pulse}.chat-activity-word{font-size:13px;font-style:italic}.chat-activity-elapsed{font-variant-numeric:tabular-nums;color:var(--text-tertiary,var(--text-secondary));opacity:.7;font-size:12px}.chat-activity[data-stalled=true] .chat-activity-word{color:var(--warning);font-style:normal}.chat-activity[data-stalled=true] .chat-activity-icon{opacity:.5;animation:none}.chat-activity[data-fresh=false] .chat-activity-icon{opacity:.6;animation:none}.chat-activity-stalled{text-transform:uppercase;letter-spacing:.04em;color:var(--warning);font-size:11px;font-weight:600}@keyframes chat-activity-pulse{0%,to{opacity:.55;transform:scale(.82)}50%{opacity:1;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.chat-activity-icon{animation:none}}.webchat-greeting{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:0;padding:24px;display:flex;overflow-y:auto}.webchat-page .wa-thread-scroll:has(>.webchat-greeting){min-height:100%;padding:0}.webchat-greeting-head{color:var(--text);text-align:center;margin:0;font-size:22px;font-weight:600}.webchat-greeting-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:480px;padding:12px 16px}.webchat-greeting-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.webchat-greeting-row{justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:14px;display:flex}.webchat-greeting-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.webchat-greeting-when,.webchat-greeting-status{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:13px}.webchat-greeting-row-stacked{flex-direction:column;align-items:flex-start;gap:1px}.webchat-greeting-summary{color:var(--text-secondary);font-size:12.5px;line-height:1.35}.webchat-greeting-none,.webchat-greeting-more{color:var(--text-tertiary);margin:0;font-size:13px}.webchat-greeting-more{padding-top:4px}.webchat-greeting-chips{flex-direction:column;gap:8px;width:100%;max-width:480px;display:flex}.webchat-greeting-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.webchat-greeting-chip:hover{background:var(--surface-hover,var(--bg));border-color:var(--text-tertiary)}.webchat-greeting-chip svg{color:var(--text-secondary);flex-shrink:0}.webchat-greeting-chip-elbow{margin-left:auto}.webchat-composer{width:100%;max-width:760px;margin:auto auto 0;padding:12px 24px 16px}.webchat-perm-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:6px;margin-bottom:8px;padding:10px 12px;display:flex}.webchat-delivery-failed{border:1px solid var(--danger,#d4604a);background:var(--surface);color:var(--danger,#d4604a);border-radius:14px;margin-bottom:8px;padding:10px 12px;font-size:13px}.webchat-perm-head{color:var(--text-secondary);font-size:13px}.webchat-perm-desc{color:var(--text-primary);font-size:13px}.webchat-perm-preview{background:var(--surface-2,#7f7f7f14);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:120px;margin:0;padding:6px 8px;font-size:12px;overflow:auto}.webchat-perm-actions{justify-content:flex-end;gap:8px;display:flex}.webchat-perm-actions button{cursor:pointer;border:1px solid var(--border);border-radius:10px;padding:6px 16px;font-size:13px}.webchat-perm-deny{background:var(--surface);color:var(--text-secondary)}.webchat-perm-actions .webchat-perm-allow{background:var(--text-primary);color:var(--surface);border-color:var(--text-primary);align-items:center;gap:6px;display:inline-flex}.webchat-perm-actions .webchat-perm-allow:hover{opacity:.88}.webchat-composer-box{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.webchat-composer-box:focus-within{border-color:var(--text-tertiary)}.webchat-input-row{align-items:flex-end;gap:8px;display:flex}.webchat-input{resize:none;scrollbar-width:none;min-height:44px;max-height:33vh;color:var(--text);font:inherit;background:0 0;border:none;flex:1;padding:4px 2px;font-size:14px;line-height:1.4;overflow-y:auto}.webchat-input::-webkit-scrollbar{display:none}.webchat-input:focus{outline:none}.webchat-resize-handle{cursor:ns-resize;touch-action:none;justify-content:center;align-self:stretch;align-items:center;height:12px;margin:-4px 0 0;display:flex}.webchat-resize-handle:before{content:"";background:var(--border);border-radius:999px;width:32px;height:3px;transition:background .15s}.webchat-resize-handle:hover:before,.webchat-resize-handle:focus-visible:before{background:var(--text-tertiary)}.webchat-resize-handle:focus-visible{outline:none}.webchat-send{width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.webchat-send:hover{background:var(--hover)}.webchat-send:disabled{opacity:.45;cursor:default}.webchat-stop{color:var(--text);cursor:pointer}.webchat-stop.is-stopping{cursor:default}.webchat-stop-spin{animation:1s linear infinite spin}.webchat-mic-inline{color:var(--text);cursor:pointer}.webchat-conflict-hint{color:var(--text-tertiary);margin:6px 2px 0;font-size:12px}.webchat-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:24px;margin-top:6px;padding:0 4px;display:flex}.webchat-controls-left,.webchat-controls-right{align-items:center;gap:6px;min-width:0;display:flex}.webchat-chip{border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.webchat-model{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.webchat-params{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.webchat-param{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.webchat-params--inline .webchat-param:not(:last-child):after{content:"·";color:var(--text-tertiary);opacity:.6;margin-left:8px}.webchat-context-ring{flex:none;align-items:center;display:inline-flex}.webchat-context-ring .ring-track{fill:none;stroke:var(--border);stroke-width:2px}.webchat-context-ring .ring-fill{fill:none;stroke:var(--text-secondary);stroke-width:2px;stroke-linecap:round}.webchat-params-menu{display:none;position:relative}.webchat-params-trigger{padding:0}.webchat-params-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;min-width:160px;padding:8px 10px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 6px 18px #0000001f}.webchat-params-panel .webchat-param{color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:flex}.webchat-params-panel .webchat-param>svg{color:var(--text-tertiary);flex:none}.webchat-params-panel .webchat-session-id-full{cursor:pointer;text-align:left;width:100%;font:inherit;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;padding:0}.webchat-params-panel .webchat-session-id-full>code{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono,ui-monospace, monospace);font-size:12px;overflow:hidden}.webchat-params-panel .webchat-session-id-full.is-copied,.webchat-params-panel .webchat-session-id-full.is-copied>svg{color:var(--color-alias-action-primaryFg)}@media (width<=600px){.webchat-params--inline{display:none}.webchat-params-menu{display:inline-flex}}@media (width<=640px){.platform:not(.platform-operator)>.webchat-page .wa-thread-scroll,.platform:not(.platform-operator)>.webchat-page .webchat-composer{max-width:100%}.webchat-page .wa-thread-scroll{padding:16px 16px 16px 12px}.webchat-composer{padding:10px 16px 12px 12px}.webchat-session-id{display:none}.webchat-params-panel{max-width:calc(100vw - 24px);left:auto;right:0}}.webchat-control{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.webchat-control:disabled{opacity:.45;cursor:default}.webchat-mic-split{align-items:center;display:inline-flex;position:relative}.webchat-mic-chevron{gap:1px;width:auto;padding:0 4px}.webchat-mic-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:180px;max-width:240px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 6px 18px #0000001f}.webchat-mic-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.webchat-mic-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.webchat-mic-item:hover{background:var(--surface-hover,#7f7f7f1f)}.webchat-mic-hint{color:var(--text-tertiary);padding:4px 8px;font-size:11px}.webchat-newsession{display:inline-flex;position:relative}.webchat-newsession-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;min-width:200px;padding:10px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 6px 18px #0000001f}.webchat-newsession-field{flex-direction:column;gap:4px;display:flex}.webchat-newsession-field>span{color:var(--text-tertiary);font-size:11px}.webchat-newsession-models{flex-direction:column;gap:2px;display:flex}.webchat-newsession-model{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.webchat-newsession-model[aria-checked=true]{color:var(--text)}.webchat-newsession-model:hover{background:var(--surface-hover,#7f7f7f1f)}.webchat-newsession-effort-head{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.webchat-newsession-effort-head strong{color:var(--text);font-weight:600}.webchat-newsession-effort-help{color:var(--text-tertiary);cursor:help;display:inline-flex}.webchat-newsession-slider-ends{color:var(--text-tertiary);justify-content:space-between;font-size:11px;display:flex}.webchat-newsession-track{background:#00000012;border-radius:999px;height:26px;margin-top:2px;position:relative}.webchat-newsession-track-fill{pointer-events:none;background:#00000024;border-radius:999px;position:absolute;top:0;bottom:0;left:0}.webchat-newsession-dot{background:var(--text-tertiary);pointer-events:none;border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;top:50%;transform:translateY(-50%)}.webchat-newsession-dot.is-max{background:#6470e0}.webchat-newsession-knob{pointer-events:none;background:#fff;border-radius:999px;width:28px;height:20px;margin-left:-14px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 3px #00000038,0 1px 1px #00000014}.webchat-newsession-slider{opacity:0;cursor:pointer;appearance:none;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.webchat-newsession-slider::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:26px}.webchat-newsession-slider::-moz-range-thumb{border:none;width:28px;height:26px}.webchat-newsession-go{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;margin-top:2px;padding:7px 10px;font-size:12px}.webchat-newsession-go:hover{border-color:var(--text-tertiary)}.webchat-newsession-go:disabled{opacity:.45;cursor:default}.webchat-session-id{font-family:var(--font-mono);color:var(--text-tertiary);-webkit-user-select:text;user-select:text;white-space:nowrap;font-size:11px}.cal-page{background:var(--bg);height:100vh;color:var(--text);font-family:var(--font-body);flex-direction:column;display:flex}.cal-loading,.cal-empty{height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.cal-link{color:var(--color-alias-text-link);text-decoration:underline}.cal-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;display:flex}.cal-title{font-family:var(--font-display);font-size:1.4rem;font-weight:var(--typography-fontWeight-display);align-items:center;gap:8px;display:flex}.cal-nav{align-items:center;gap:8px;display:flex}.cal-today-btn,.cal-nav-btn,.cal-view-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);padding:6px 12px;font-size:.85rem}.cal-nav-btn{justify-content:center;align-items:center;padding:6px 8px;display:inline-flex}.cal-today-btn:hover,.cal-nav-btn:hover,.cal-view-btn:hover{background:var(--hover)}.cal-range-label{min-width:12ch;margin-left:4px;font-size:1rem;font-weight:500}.cal-views{gap:4px;margin-left:auto;display:flex}.cal-view-btn-active{background:var(--color-alias-action-primaryFg);border-color:var(--color-alias-border-subtle);color:#fff}.cal-view-btn-active:hover{background:var(--color-alias-action-primaryFg)}.cal-booking-link{border:1px solid var(--border);background:var(--surface);color:var(--color-alias-text-link);border-radius:var(--radius-sm);font-family:var(--font-body);align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;text-decoration:none;display:inline-flex}.cal-booking-link:hover{background:var(--hover)}.cal-body{flex:1;padding:12px 16px 24px;overflow:auto}.cal-error{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--surface);margin-bottom:12px;padding:10px 12px}.cal-month{flex-direction:column;display:flex}.cal-weekday-row{grid-template-columns:repeat(7,1fr);display:grid}.cal-weekday{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);text-align:left;padding:6px 8px;font-size:.75rem}.cal-month-grid{border-left:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(96px,1fr);display:grid}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:2px;min-height:96px;padding:4px 6px;display:flex;overflow:hidden}.cal-cell-out{background:var(--surface)}.cal-cell-out .cal-cell-num{color:var(--text-tertiary)}.cal-cell-num{color:var(--text-secondary);align-self:flex-start;font-size:.8rem}.cal-cell-today .cal-cell-num{background:var(--color-alias-action-primaryFg);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:1.6em;height:1.6em;display:inline-flex}.cal-chip{background:var(--surface-2);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;padding:1px 5px;font-size:.72rem;overflow:hidden}.cal-chip-time{color:var(--text-tertiary);margin-right:4px}.cal-more{color:var(--text-tertiary);font-size:.7rem}.cal-timed{flex-direction:column;min-width:640px;display:flex}.cal-timed-single{min-width:360px}.cal-day-headrow,.cal-allday-band,.cal-timed-cols{display:flex}.cal-day-headrow{border-bottom:1px solid var(--border)}.cal-timed-gutter{width:56px;color:var(--text-tertiary);box-sizing:border-box;flex:0 0 56px;padding:2px 6px;font-size:.7rem}.cal-day-head{border-left:1px solid var(--border);flex-direction:column;flex:1;align-items:center;padding:6px 0;display:flex}.cal-day-head-name{color:var(--text-tertiary);text-transform:uppercase;font-size:.72rem}.cal-day-head-num{font-size:1.1rem;font-weight:500}.cal-day-head-today .cal-day-head-num{background:var(--color-alias-action-primaryFg);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:1.6em;height:1.6em;display:inline-flex}.cal-allday-band{border-bottom:1px solid var(--border);min-height:28px}.cal-allday-cell{border-left:1px solid var(--border);flex-direction:column;flex:1;gap:2px;padding:2px 4px;display:flex}.cal-allday-chip{background:var(--color-alias-action-primaryFg);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;padding:1px 5px;font-size:.72rem;overflow:hidden}.cal-hour-label{text-align:right;color:var(--text-tertiary);box-sizing:border-box;padding-right:6px;font-size:.7rem;transform:translateY(-.5em)}.cal-day-col{border-left:1px solid var(--border);flex:1}.cal-hours{width:100%;position:relative}.cal-hour-line{border-top:1px solid var(--border);position:absolute;left:0;right:0}.cal-event{background:var(--surface-2);border-left:3px solid var(--color-alias-border-subtle);border-radius:var(--radius-sm);flex-direction:column;padding:1px 5px;font-size:.72rem;display:flex;position:absolute;left:3px;right:3px;overflow:hidden}.cal-event-time{color:var(--text-tertiary)}.cal-event-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-year{display:flex}.cal-year-grid{grid-template-columns:repeat(4,1fr);gap:16px;width:100%;display:grid}.cal-mini{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--text);padding:8px}.cal-mini:hover{background:var(--hover)}.cal-mini-title{margin-bottom:4px;font-size:.85rem;font-weight:500}.cal-mini-weekrow,.cal-mini-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-mini-weekday{color:var(--text-tertiary);text-align:center;font-size:.6rem}.cal-mini-day{text-align:center;color:var(--text-secondary);padding:2px 0;font-size:.65rem;position:relative}.cal-mini-day-out{color:var(--text-tertiary);opacity:.4}.cal-mini-day-today{background:var(--color-alias-action-primaryFg);color:#fff;border-radius:999px}.cal-mini-dot{background:var(--color-alias-action-primaryFg);border-radius:999px;width:3px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@media (width<=720px){.cal-year-grid{grid-template-columns:repeat(2,1fr)}.cal-views{margin-left:0}}.cal-chip,.cal-allday-chip,.cal-event{cursor:pointer}.cal-chip:hover,.cal-allday-chip:hover,.cal-event:hover{filter:brightness(1.08)}.cal-chip:focus-visible,.cal-allday-chip:focus-visible,.cal-event:focus-visible{outline:2px solid var(--color-alias-border-subtle);outline-offset:1px}.cal-modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.cal-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:360px;max-width:calc(100% - 28px);overflow:hidden;box-shadow:0 8px 32px #0006}.cal-modal-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.cal-modal-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-size:11px}.cal-modal-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px;line-height:1;display:inline-flex}.cal-modal-close:hover{color:var(--text)}.cal-modal-body{flex-direction:column;gap:8px;padding:14px;display:flex}.cal-modal-title{color:var(--text);font-size:15px;font-weight:500}.cal-modal-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.cal-modal-row-top{align-items:flex-start}.cal-modal-row svg{color:var(--text-tertiary);flex:none}.cal-modal-meta{color:var(--text-tertiary)}.cal-modal-field{color:var(--text-tertiary);flex-direction:column;gap:3px;font-size:11px;display:flex}.cal-modal-field input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:6px 8px;font-size:13px}.cal-modal-field input:focus{border-color:var(--color-alias-border-subtle);outline:none}.cal-modal-error{color:var(--danger,#c0392b);padding:8px 14px;font-size:11px}.cal-modal-actions{border-top:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.cal-modal-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:12px;display:inline-flex}.cal-modal-btn:hover{filter:brightness(1.08)}.cal-modal-btn:disabled{opacity:.6;cursor:default}.cal-modal-btn-primary{background:var(--color-alias-action-primaryFg);border-color:var(--color-alias-border-subtle);color:#fff}.cal-modal-btn-danger{color:var(--danger,#c0392b);border-color:var(--danger,#c0392b)}.cal-modal-confirm-text{color:var(--text-secondary);margin-right:auto;font-size:12px}.cal-modal-btn-download{margin-left:auto}.cal-modal-attendees{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.cal-attendee-row{align-items:center;gap:8px;min-width:0;display:flex}.cal-attendee-lines{flex-direction:column;min-width:0;display:flex}.cal-attendee-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-attendee-email{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cal-modal-note{white-space:pre-wrap;word-break:break-word}.cal-modal-attendees-edit{gap:4px}.cal-attendee-row-edit{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;padding:4px 6px;font-size:12px}.cal-attendee-empty{color:var(--text-tertiary);font-size:12px}.cal-attendee-remove{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex:none;align-items:center;padding:2px;line-height:1;display:inline-flex}.cal-attendee-remove:hover{color:var(--danger,#c0392b)}.cal-attendee-remove:disabled{opacity:.5;cursor:default}.cal-attendee-add{gap:6px;margin-top:6px;display:flex}.cal-attendee-add input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text);flex:1 1 0;padding:6px 8px;font-size:13px}.cal-attendee-add input:focus{border-color:var(--color-alias-border-subtle);outline:none}.cal-attendee-add-btn{flex:none;padding:5px 9px}.cal-modal-textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:vertical;padding:6px 8px;font-family:inherit;font-size:13px}.cal-modal-textarea:focus{border-color:var(--color-alias-border-subtle);outline:none}.interrupt-overlay{z-index:300;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.interrupt-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:14px;padding:28px 36px;display:flex;box-shadow:0 8px 32px #0006}.interrupt-spinner{color:var(--text-secondary)}.interrupt-label{color:var(--text-secondary);font-size:14px}.tasks-page{background:var(--bg);min-height:100vh;color:var(--text)}.tasks-page-full{flex-direction:column;display:flex}.tasks-main{flex-direction:column;min-height:100vh;display:flex}.tasks-body{flex-direction:column;gap:20px;width:100%;max-width:56rem;margin:0 auto;padding:24px 20px 48px;display:flex}.tasks-loading{color:var(--text-secondary);align-items:center;gap:8px;padding:32px 20px;font-size:14px;display:flex}.tasks-empty{color:var(--text-tertiary);padding:20px;font-size:14px}.tasks-link{color:var(--text);text-decoration:underline}.tasks-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.tasks-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:14px 18px;display:flex}.tasks-card-title{color:var(--text);font-size:15px;font-weight:600}.tasks-card-count{color:var(--text-tertiary);font-size:13px}.tasks-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 18px;display:flex}.tasks-row:last-child{border-bottom:none}.tasks-row-main{flex:auto;min-width:0}.tasks-row-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.tasks-row-sub{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;overflow:hidden}.tasks-row-elapsed{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex:none;font-size:14px;font-weight:600}.tasks-check{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tasks-check:disabled{cursor:default;opacity:.5}.tasks-check-done{color:var(--text-secondary);cursor:default}.tasks-btn{cursor:pointer;border:1px solid var(--border-strong);border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.tasks-btn:disabled{cursor:default;opacity:.45}.tasks-btn-start{background:var(--text);color:var(--bg);border-color:var(--text)}.tasks-btn-stop{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.tasks-row-done .tasks-row-name,.tasks-row-done .tasks-row-sub{color:var(--text-tertiary)}.tasks-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.tasks-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.tasks-tab-active{color:var(--text);border-bottom-color:var(--text)}.tasks-tab-badge{color:var(--text-tertiary);background:var(--bg);border:1px solid var(--border);text-align:center;border-radius:999px;min-width:20px;padding:1px 8px;font-size:12px;font-weight:600}.tasks-client-row{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0}.tasks-client-row:hover{background:var(--bg)}.tasks-filter-banner{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;display:flex}.tasks-filter-clear{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600;text-decoration:underline}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as e,p as t}from"./src-Bi0fLV9t.js";import{$ as n,B as r,C as i,Q as a,V as o,W as s,_ as c,a as l,c as u,d,et as f,tt as p,v as m,y as h}from"./chunk-ICPOFSXX-DELXp6fj.js";import"./dist-CADCHk0t.js";import{r as g}from"./chunk-5PVQY5BW-Be-mE_rx.js";import{t as _}from"./chunk-426QAEUC-CPhOHriU.js";import{t as v}from"./rough.esm-Djo4Abte.js";var y=(e,t)=>f(e,`a`,-t),b=1e-10;function x(e,t){let n=C(e),r=n.filter(t=>S(t,e)),i=0,a=0,o=[];if(r.length>1){let t=O(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=T(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=w(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(T(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-b,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}function S(e,t){return t.every(t=>T(e,t)<t.radius+b)}function C(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=D(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}function w(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function T(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function E(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return w(e,r)+w(t,i)}function D(e,t){let n=T(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}function O(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}function k(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}function A(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}function j(e,t){return A(e).map(()=>A(t))}function M(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}function N(e){return Math.sqrt(M(e,e))}function P(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}function F(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}function I(e,t,n){n||={};let r=n.maxIterations||t.length*200,i=n.nonZeroDelta||1.05,a=n.zeroDelta||.001,o=n.minErrorDelta||1e-6,s=n.minErrorDelta||1e-5,c=n.rho===void 0?1:n.rho,l=n.chi===void 0?2:n.chi,u=n.psi===void 0?-.5:n.psi,d=n.sigma===void 0?.5:n.sigma,f,p=t.length,m=Array(p+1);m[0]=t,m[0].fx=e(t),m[0].id=0;for(let n=0;n<p;++n){let r=t.slice();r[n]=r[n]?r[n]*i:a,m[n+1]=r,m[n+1].fx=e(r),m[n+1].id=n+1}function h(e){for(let t=0;t<e.length;t++)m[p][t]=e[t];m[p].fx=e.fx}let g=(e,t)=>e.fx-t.fx,_=t.slice(),v=t.slice(),y=t.slice(),b=t.slice();for(let t=0;t<r;++t){if(m.sort(g),n.history){let e=m.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),n.history.push({x:m[0].slice(),fx:m[0].fx,simplex:e})}f=0;for(let e=0;e<p;++e)f=Math.max(f,Math.abs(m[0][e]-m[1][e]));if(Math.abs(m[0].fx-m[p].fx)<o&&f<s)break;for(let e=0;e<p;++e){_[e]=0;for(let t=0;t<p;++t)_[e]+=m[t][e];_[e]/=p}let t=m[p];if(F(v,1+c,_,-c,t),v.fx=e(v),v.fx<m[0].fx)F(b,1+l,_,-l,t),b.fx=e(b),b.fx<v.fx?h(b):h(v);else if(v.fx>=m[p-1].fx){let n=!1;if(v.fx>t.fx?(F(y,1+u,_,-u,t),y.fx=e(y),y.fx<t.fx?h(y):n=!0):(F(y,1-u*c,_,u*c,t),y.fx=e(y),y.fx<v.fx?h(y):n=!0),n){if(d>=1)break;for(let t=1;t<m.length;++t)F(m[t],1-d,m[0],d,m[t]),m[t].fx=e(m[t])}}else h(v)}return m.sort(g),{fx:m[0].fx,x:m[0]}}function L(e,t,n,r,i,a,o){let s=n.fx,c=M(n.fxprime,t),l=s,u=s,d=c,f=0;i||=1,a||=1e-6,o||=.1;function p(u,f,p){for(let m=0;m<16;++m)if(i=(u+f)/2,F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||l>=p)f=i;else{if(Math.abs(d)<=-o*c)return i;d*(f-u)>=0&&(f=u),u=i,p=l}return 0}for(let m=0;m<10;++m){if(F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||m&&l>=u)return p(f,i,u);if(Math.abs(d)<=-o*c)return i;if(d>=0)return p(i,f,l);u=l,f=i,i*=2}return i}function ee(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),P(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=L(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)P(o,r.fxprime,-1);else{F(a,1,i.fxprime,-1,r.fxprime);let e=M(r.fxprime,r.fxprime),t=Math.max(0,M(a,i.fxprime)/e);F(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(N(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}function te(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||oe,r=t.lossFunction||z,i=re(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=I(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}var ne=1e-10;function R(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+ne?Math.abs(e-t):k(r=>E(e,t,r)-n,0,e+t)}function re(e,t={}){let n=t.distinct,r=e.map(e=>Object.assign({},e));function i(e){return e.join(`;`)}if(n){let e=new Map;for(let t of r)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of r)t.sets.length<3&&(t.size=e.get(i(t.sets)))}let a=[],o=new Set;for(let e of r)if(e.sets.length===1)a.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];o.add(i(e.sets)),o.add(i([n,t]))}a.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<a.length;++e){let t=a[e];for(let n=e+1;n<a.length;++n){let e=a[n];o.has(i([t,e]))||r.push({sets:[t,e],size:0})}}return r}function ie(e,t,n){let r=j(t.length,t.length),i=j(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=R(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}function ae(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}function oe(e,t={}){let n=ce(e,t),r=t.lossFunction||z;if(e.length>=8){let i=se(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}function se(e,t={}){let n=t.restarts||10,r=[],i={};for(let t of e)t.sets.length===1&&(i[t.sets[0]]=r.length,r.push(t));let{distances:a,constraints:o}=ie(e,r,i),s=N(a.map(N))/a.length;a=a.map(e=>e.map(e=>e/s));let c=(e,t)=>ae(e,t,a,o),l=null;for(let e=0;e<n;++e){let e=ee(c,A(a.length*2).map(Math.random),t);(!l||e.fx<l.fx)&&(l=e)}let u=l.x,d={};for(let e=0;e<r.length;++e){let t=r[e];d[t.sets[0]]={x:u[2*e]*s,y:u[2*e+1]*s,radius:Math.sqrt(t.size/Math.PI)}}if(t.history)for(let e of t.history)P(e.x,s);return d}function ce(e,t){let n=t&&t.lossFunction?t.lossFunction:z,r={},i={};for(let t of e)if(t.sets.length===1){let e=t.sets[0];r[e]={x:1e10,y:1e10,rowid:r.length,size:t.size,radius:Math.sqrt(t.size/Math.PI)},i[e]=[]}e=e.filter(e=>e.sets.length===2);for(let t of e){let e=t.weight==null?1:t.weight,n=t.sets[0],a=t.sets[1];t.size+ne>=Math.min(r[n].size,r[a].size)&&(e=0),i[n].push({set:a,size:t.size,weight:e}),i[a].push({set:n,size:t.size,weight:e})}let a=[];Object.keys(i).forEach(e=>{let t=0;for(let n=0;n<i[e].length;++n)t+=i[e][n].size*i[e][n].weight;a.push({set:e,size:t})});function o(e,t){return t.size-e.size}a.sort(o);let s={};function c(e){return e.set in s}function l(e,t){r[t].x=e.x,r[t].y=e.y,s[t]=!0}l({x:0,y:0},a[0].set);for(let t=1;t<a.length;++t){let s=a[t].set,d=i[s].filter(c),f=r[s];if(d.sort(o),d.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var u=0;u<d.length;++u){let e=r[d[u].set],t=R(f.radius,e.radius,d[u].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=u+1;n<d.length;++n){let i=r[d[n].set],a=R(f.radius,i.radius,d[n].size),o=D({x:e.x,y:e.y,radius:t},{x:i.x,y:i.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let t of p){r[s].x=t.x,r[s].y=t.y;let i=n(r,e);i<m&&(m=i,h=t)}l(h,s)}return r}function z(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}function le(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}function ue(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&T(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}function de(e){e.forEach(e=>{e.parent=e});function t(e){return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function n(e,n){let r=t(e);r.parent=t(n)}for(let t=0;t<e.length;++t)for(let r=t+1;r<e.length;++r){let i=e[t].radius+e[r].radius;T(e[t],e[r])+1e-10<i&&n(e[r],e[t])}let r=new Map;for(let n=0;n<e.length;++n){let i=t(e[n]).parent.setid;r.has(i)||r.set(i,[]),r.get(i).push(e[n])}return e.forEach(e=>{delete e.parent}),Array.from(r.values())}function B(e){let t=t=>({max:e.reduce((e,n)=>Math.max(e,n[t]+n.radius),-1/0),min:e.reduce((e,n)=>Math.min(e,n[t]-n.radius),1/0)});return{xRange:t(`x`),yRange:t(`y`)}}function fe(e,t,n){t??=Math.PI/2;let r=he(e).map(e=>Object.assign({},e)),i=de(r);for(let e of i){ue(e,t,n);let r=B(e);e.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),e.bounds=r}i.sort((e,t)=>t.size-e.size),r=i[0];let a=r.bounds,o=(a.xRange.max-a.xRange.min)/50;function s(e,t,n){if(!e)return;let i=e.bounds,s,c;if(t)s=a.xRange.max-i.xRange.min+o;else{s=a.xRange.max-i.xRange.max;let e=(i.xRange.max-i.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;e<0&&(s+=e)}if(n)c=a.yRange.max-i.yRange.min+o;else{c=a.yRange.max-i.yRange.max;let e=(i.yRange.max-i.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=s,t.y+=c,r.push(t)}let c=1;for(;c<i.length;)s(i[c],!0,!1),s(i[c+1],!1,!0),s(i[c+2],!0,!0),c+=3,a=B(r);return me(r)}function pe(e,t,n,r,i){let a=he(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=B(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return me(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}function me(e){let t={};for(let n of e)t[n.setid]=n;return t}function he(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}function ge(e={}){let t=!1,n=600,r=350,i=15,a=1e3,o=Math.PI/2,s=!0,c=null,l=!0,u=!0,d=null,f=null,p=!1,m=null,h=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,g={},_=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],v=0,y=function(e){if(e in g)return g[e];var t=g[e]=_[v];return v+=1,v>=_.length&&(v=0),t},b=te,x=z;function S(g){let _=g.datum(),v=new Set;_.forEach(e=>{e.size==0&&e.sets.length==1&&v.add(e.sets[0])}),_=_.filter(e=>!e.sets.some(e=>v.has(e)));let S={},C={};if(_.length>0){let e=b(_,{lossFunction:x,distinct:p});s&&(e=fe(e,o,f)),S=pe(e,n,r,i,c),C=ye(S,_,h)}let w={};_.forEach(e=>{e.label&&(w[e.sets]=e.label)});function T(e){if(e.sets in w)return w[e.sets];if(e.sets.length==1)return``+e.sets[0]}g.selectAll(`svg`).data([S]).enter().append(`svg`);let E=g.select(`svg`);t?E.attr(`viewBox`,`0 0 ${n} ${r}`):E.attr(`width`,n).attr(`height`,r);let D={},O=!1;E.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!p&&(O=!0,D[e.sets[0]]=xe(t))});function k(e){return t=>we(e.sets.map(e=>{let i=D[e],a=S[e];return i||={x:n/2,y:r/2,radius:1},a||={x:n/2,y:r/2,radius:1},{x:i.x*(1-t)+a.x*t,y:i.y*(1-t)+a.y*t,radius:i.radius*(1-t)+a.radius*t}}),m)}let A=E.selectAll(`.venn-area`).data(_,e=>e.sets),j=A.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),M=j.append(`path`),N=j.append(`text`).attr(`class`,`label`).text(e=>T(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,n/2).attr(`y`,r/2);u&&(M.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:y(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,t=>t.colour||t.color?`#FFF`:e.textFill?e.textFill:t.sets.length==1?y(t.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(a):e}let F=g;O&&typeof F.transition==`function`?(F=P(g),F.selectAll(`path`).attrTween(`d`,k)):F.selectAll(`path`).attr(`d`,e=>we(e.sets.map(e=>S[e])),m);let I=F.selectAll(`text`).filter(e=>e.sets in C).text(e=>T(e)).attr(`x`,e=>Math.floor(C[e.sets].x)).attr(`y`,e=>Math.floor(C[e.sets].y));l&&(O?`on`in I?I.on(`end`,V(S,T)):I.each(`end`,V(S,T)):I.each(V(S,T)));let L=P(A.exit()).remove();typeof A.transition==`function`&&L.selectAll(`path`).attrTween(`d`,k);let ee=L.selectAll(`text`).attr(`x`,n/2).attr(`y`,r/2);return d!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,d),ee.style(`font-size`,`0px`)),{circles:S,textCentres:C,nodes:A,enter:j,update:F,exit:L}}return S.wrap=function(e){return arguments.length?(l=e,S):l},S.useViewBox=function(){return t=!0,S},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.padding=function(e){return arguments.length?(i=e,S):i},S.distinct=function(e){return arguments.length?(p=e,S):p},S.colours=function(e){return arguments.length?(y=e,S):y},S.colors=function(e){return arguments.length?(y=e,S):y},S.fontSize=function(e){return arguments.length?(d=e,S):d},S.round=function(e){return arguments.length?(m=e,S):m},S.duration=function(e){return arguments.length?(a=e,S):a},S.layoutFunction=function(e){return arguments.length?(b=e,S):b},S.normalize=function(e){return arguments.length?(s=e,S):s},S.scaleToFit=function(e){return arguments.length?(c=e,S):c},S.styled=function(e){return arguments.length?(u=e,S):u},S.orientation=function(e){return arguments.length?(o=e,S):o},S.orientationOrder=function(e){return arguments.length?(f=e,S):f},S.lossFunction=function(e){return arguments.length?(x=e===`default`?z:e===`logRatio`?le:e,S):x},S}function V(e,t){return function(n){let r=this,i=e[n.sets[0]].radius||50,a=t(n)||``,o=a.split(/\s+/).reverse(),s=(a.length+o.length)/3,c=o.pop(),l=[c],u=0,d=1.1;r.textContent=null;let f=[];function p(e){let t=r.ownerDocument.createElementNS(r.namespaceURI,`tspan`);return t.textContent=e,f.push(t),r.append(t),t}let m=p(c);for(;c=o.pop(),c;){l.push(c);let e=l.join(` `);m.textContent=e,e.length>s&&m.getComputedTextLength()>i&&(l.pop(),m.textContent=l.join(` `),l=[c],m=p(c),u++)}let h=.35-u*d/2,g=r.getAttribute(`x`),_=r.getAttribute(`y`);f.forEach((e,t)=>{e.setAttribute(`x`,g),e.setAttribute(`y`,_),e.setAttribute(`dy`,`${h+t*d}em`)})}}function H(e,t,n){let r=t[0].radius-T(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-T(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=T(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}function _e(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=H(r[0],e,t);for(let n=1;n<r.length;++n){let o=H(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=I(n=>-1*H({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(T(s,t)>t.radius){c=!1;break}for(let e of t)if(T(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return x(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?_e(e,[]):O(l.arcs.map(e=>e.p1))}function ve(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=T(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}function ye(e,t,n){let r={},i=ve(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=_e(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}function be(e,t,n){let r=[];return r.push(`
|
|
1
|
+
import{h as e,p as t}from"./src-xN1oULc8.js";import{$ as n,B as r,C as i,Q as a,V as o,W as s,_ as c,a as l,c as u,d,et as f,tt as p,v as m,y as h}from"./chunk-ICPOFSXX-CGN7Z4x9.js";import"./dist-CRpLAnCP.js";import{r as g}from"./chunk-5PVQY5BW-SShlujAQ.js";import{t as _}from"./chunk-426QAEUC-DZkHcXRA.js";import{t as v}from"./rough.esm-Bud4g4fh.js";var y=(e,t)=>f(e,`a`,-t),b=1e-10;function x(e,t){let n=C(e),r=n.filter(t=>S(t,e)),i=0,a=0,o=[];if(r.length>1){let t=O(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=T(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=w(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(T(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-b,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}function S(e,t){return t.every(t=>T(e,t)<t.radius+b)}function C(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=D(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}function w(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function T(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function E(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return w(e,r)+w(t,i)}function D(e,t){let n=T(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}function O(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}function k(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}function A(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}function j(e,t){return A(e).map(()=>A(t))}function M(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}function N(e){return Math.sqrt(M(e,e))}function P(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}function F(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}function I(e,t,n){n||={};let r=n.maxIterations||t.length*200,i=n.nonZeroDelta||1.05,a=n.zeroDelta||.001,o=n.minErrorDelta||1e-6,s=n.minErrorDelta||1e-5,c=n.rho===void 0?1:n.rho,l=n.chi===void 0?2:n.chi,u=n.psi===void 0?-.5:n.psi,d=n.sigma===void 0?.5:n.sigma,f,p=t.length,m=Array(p+1);m[0]=t,m[0].fx=e(t),m[0].id=0;for(let n=0;n<p;++n){let r=t.slice();r[n]=r[n]?r[n]*i:a,m[n+1]=r,m[n+1].fx=e(r),m[n+1].id=n+1}function h(e){for(let t=0;t<e.length;t++)m[p][t]=e[t];m[p].fx=e.fx}let g=(e,t)=>e.fx-t.fx,_=t.slice(),v=t.slice(),y=t.slice(),b=t.slice();for(let t=0;t<r;++t){if(m.sort(g),n.history){let e=m.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),n.history.push({x:m[0].slice(),fx:m[0].fx,simplex:e})}f=0;for(let e=0;e<p;++e)f=Math.max(f,Math.abs(m[0][e]-m[1][e]));if(Math.abs(m[0].fx-m[p].fx)<o&&f<s)break;for(let e=0;e<p;++e){_[e]=0;for(let t=0;t<p;++t)_[e]+=m[t][e];_[e]/=p}let t=m[p];if(F(v,1+c,_,-c,t),v.fx=e(v),v.fx<m[0].fx)F(b,1+l,_,-l,t),b.fx=e(b),b.fx<v.fx?h(b):h(v);else if(v.fx>=m[p-1].fx){let n=!1;if(v.fx>t.fx?(F(y,1+u,_,-u,t),y.fx=e(y),y.fx<t.fx?h(y):n=!0):(F(y,1-u*c,_,u*c,t),y.fx=e(y),y.fx<v.fx?h(y):n=!0),n){if(d>=1)break;for(let t=1;t<m.length;++t)F(m[t],1-d,m[0],d,m[t]),m[t].fx=e(m[t])}}else h(v)}return m.sort(g),{fx:m[0].fx,x:m[0]}}function L(e,t,n,r,i,a,o){let s=n.fx,c=M(n.fxprime,t),l=s,u=s,d=c,f=0;i||=1,a||=1e-6,o||=.1;function p(u,f,p){for(let m=0;m<16;++m)if(i=(u+f)/2,F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||l>=p)f=i;else{if(Math.abs(d)<=-o*c)return i;d*(f-u)>=0&&(f=u),u=i,p=l}return 0}for(let m=0;m<10;++m){if(F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||m&&l>=u)return p(f,i,u);if(Math.abs(d)<=-o*c)return i;if(d>=0)return p(i,f,l);u=l,f=i,i*=2}return i}function ee(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),P(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=L(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)P(o,r.fxprime,-1);else{F(a,1,i.fxprime,-1,r.fxprime);let e=M(r.fxprime,r.fxprime),t=Math.max(0,M(a,i.fxprime)/e);F(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(N(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}function te(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||oe,r=t.lossFunction||z,i=re(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=I(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}var ne=1e-10;function R(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+ne?Math.abs(e-t):k(r=>E(e,t,r)-n,0,e+t)}function re(e,t={}){let n=t.distinct,r=e.map(e=>Object.assign({},e));function i(e){return e.join(`;`)}if(n){let e=new Map;for(let t of r)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of r)t.sets.length<3&&(t.size=e.get(i(t.sets)))}let a=[],o=new Set;for(let e of r)if(e.sets.length===1)a.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];o.add(i(e.sets)),o.add(i([n,t]))}a.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<a.length;++e){let t=a[e];for(let n=e+1;n<a.length;++n){let e=a[n];o.has(i([t,e]))||r.push({sets:[t,e],size:0})}}return r}function ie(e,t,n){let r=j(t.length,t.length),i=j(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=R(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}function ae(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}function oe(e,t={}){let n=ce(e,t),r=t.lossFunction||z;if(e.length>=8){let i=se(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}function se(e,t={}){let n=t.restarts||10,r=[],i={};for(let t of e)t.sets.length===1&&(i[t.sets[0]]=r.length,r.push(t));let{distances:a,constraints:o}=ie(e,r,i),s=N(a.map(N))/a.length;a=a.map(e=>e.map(e=>e/s));let c=(e,t)=>ae(e,t,a,o),l=null;for(let e=0;e<n;++e){let e=ee(c,A(a.length*2).map(Math.random),t);(!l||e.fx<l.fx)&&(l=e)}let u=l.x,d={};for(let e=0;e<r.length;++e){let t=r[e];d[t.sets[0]]={x:u[2*e]*s,y:u[2*e+1]*s,radius:Math.sqrt(t.size/Math.PI)}}if(t.history)for(let e of t.history)P(e.x,s);return d}function ce(e,t){let n=t&&t.lossFunction?t.lossFunction:z,r={},i={};for(let t of e)if(t.sets.length===1){let e=t.sets[0];r[e]={x:1e10,y:1e10,rowid:r.length,size:t.size,radius:Math.sqrt(t.size/Math.PI)},i[e]=[]}e=e.filter(e=>e.sets.length===2);for(let t of e){let e=t.weight==null?1:t.weight,n=t.sets[0],a=t.sets[1];t.size+ne>=Math.min(r[n].size,r[a].size)&&(e=0),i[n].push({set:a,size:t.size,weight:e}),i[a].push({set:n,size:t.size,weight:e})}let a=[];Object.keys(i).forEach(e=>{let t=0;for(let n=0;n<i[e].length;++n)t+=i[e][n].size*i[e][n].weight;a.push({set:e,size:t})});function o(e,t){return t.size-e.size}a.sort(o);let s={};function c(e){return e.set in s}function l(e,t){r[t].x=e.x,r[t].y=e.y,s[t]=!0}l({x:0,y:0},a[0].set);for(let t=1;t<a.length;++t){let s=a[t].set,d=i[s].filter(c),f=r[s];if(d.sort(o),d.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var u=0;u<d.length;++u){let e=r[d[u].set],t=R(f.radius,e.radius,d[u].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=u+1;n<d.length;++n){let i=r[d[n].set],a=R(f.radius,i.radius,d[n].size),o=D({x:e.x,y:e.y,radius:t},{x:i.x,y:i.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let t of p){r[s].x=t.x,r[s].y=t.y;let i=n(r,e);i<m&&(m=i,h=t)}l(h,s)}return r}function z(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}function le(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}function ue(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&T(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}function de(e){e.forEach(e=>{e.parent=e});function t(e){return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function n(e,n){let r=t(e);r.parent=t(n)}for(let t=0;t<e.length;++t)for(let r=t+1;r<e.length;++r){let i=e[t].radius+e[r].radius;T(e[t],e[r])+1e-10<i&&n(e[r],e[t])}let r=new Map;for(let n=0;n<e.length;++n){let i=t(e[n]).parent.setid;r.has(i)||r.set(i,[]),r.get(i).push(e[n])}return e.forEach(e=>{delete e.parent}),Array.from(r.values())}function B(e){let t=t=>({max:e.reduce((e,n)=>Math.max(e,n[t]+n.radius),-1/0),min:e.reduce((e,n)=>Math.min(e,n[t]-n.radius),1/0)});return{xRange:t(`x`),yRange:t(`y`)}}function fe(e,t,n){t??=Math.PI/2;let r=he(e).map(e=>Object.assign({},e)),i=de(r);for(let e of i){ue(e,t,n);let r=B(e);e.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),e.bounds=r}i.sort((e,t)=>t.size-e.size),r=i[0];let a=r.bounds,o=(a.xRange.max-a.xRange.min)/50;function s(e,t,n){if(!e)return;let i=e.bounds,s,c;if(t)s=a.xRange.max-i.xRange.min+o;else{s=a.xRange.max-i.xRange.max;let e=(i.xRange.max-i.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;e<0&&(s+=e)}if(n)c=a.yRange.max-i.yRange.min+o;else{c=a.yRange.max-i.yRange.max;let e=(i.yRange.max-i.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=s,t.y+=c,r.push(t)}let c=1;for(;c<i.length;)s(i[c],!0,!1),s(i[c+1],!1,!0),s(i[c+2],!0,!0),c+=3,a=B(r);return me(r)}function pe(e,t,n,r,i){let a=he(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=B(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return me(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}function me(e){let t={};for(let n of e)t[n.setid]=n;return t}function he(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}function ge(e={}){let t=!1,n=600,r=350,i=15,a=1e3,o=Math.PI/2,s=!0,c=null,l=!0,u=!0,d=null,f=null,p=!1,m=null,h=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,g={},_=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],v=0,y=function(e){if(e in g)return g[e];var t=g[e]=_[v];return v+=1,v>=_.length&&(v=0),t},b=te,x=z;function S(g){let _=g.datum(),v=new Set;_.forEach(e=>{e.size==0&&e.sets.length==1&&v.add(e.sets[0])}),_=_.filter(e=>!e.sets.some(e=>v.has(e)));let S={},C={};if(_.length>0){let e=b(_,{lossFunction:x,distinct:p});s&&(e=fe(e,o,f)),S=pe(e,n,r,i,c),C=ye(S,_,h)}let w={};_.forEach(e=>{e.label&&(w[e.sets]=e.label)});function T(e){if(e.sets in w)return w[e.sets];if(e.sets.length==1)return``+e.sets[0]}g.selectAll(`svg`).data([S]).enter().append(`svg`);let E=g.select(`svg`);t?E.attr(`viewBox`,`0 0 ${n} ${r}`):E.attr(`width`,n).attr(`height`,r);let D={},O=!1;E.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!p&&(O=!0,D[e.sets[0]]=xe(t))});function k(e){return t=>we(e.sets.map(e=>{let i=D[e],a=S[e];return i||={x:n/2,y:r/2,radius:1},a||={x:n/2,y:r/2,radius:1},{x:i.x*(1-t)+a.x*t,y:i.y*(1-t)+a.y*t,radius:i.radius*(1-t)+a.radius*t}}),m)}let A=E.selectAll(`.venn-area`).data(_,e=>e.sets),j=A.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),M=j.append(`path`),N=j.append(`text`).attr(`class`,`label`).text(e=>T(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,n/2).attr(`y`,r/2);u&&(M.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:y(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,t=>t.colour||t.color?`#FFF`:e.textFill?e.textFill:t.sets.length==1?y(t.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(a):e}let F=g;O&&typeof F.transition==`function`?(F=P(g),F.selectAll(`path`).attrTween(`d`,k)):F.selectAll(`path`).attr(`d`,e=>we(e.sets.map(e=>S[e])),m);let I=F.selectAll(`text`).filter(e=>e.sets in C).text(e=>T(e)).attr(`x`,e=>Math.floor(C[e.sets].x)).attr(`y`,e=>Math.floor(C[e.sets].y));l&&(O?`on`in I?I.on(`end`,V(S,T)):I.each(`end`,V(S,T)):I.each(V(S,T)));let L=P(A.exit()).remove();typeof A.transition==`function`&&L.selectAll(`path`).attrTween(`d`,k);let ee=L.selectAll(`text`).attr(`x`,n/2).attr(`y`,r/2);return d!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,d),ee.style(`font-size`,`0px`)),{circles:S,textCentres:C,nodes:A,enter:j,update:F,exit:L}}return S.wrap=function(e){return arguments.length?(l=e,S):l},S.useViewBox=function(){return t=!0,S},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.padding=function(e){return arguments.length?(i=e,S):i},S.distinct=function(e){return arguments.length?(p=e,S):p},S.colours=function(e){return arguments.length?(y=e,S):y},S.colors=function(e){return arguments.length?(y=e,S):y},S.fontSize=function(e){return arguments.length?(d=e,S):d},S.round=function(e){return arguments.length?(m=e,S):m},S.duration=function(e){return arguments.length?(a=e,S):a},S.layoutFunction=function(e){return arguments.length?(b=e,S):b},S.normalize=function(e){return arguments.length?(s=e,S):s},S.scaleToFit=function(e){return arguments.length?(c=e,S):c},S.styled=function(e){return arguments.length?(u=e,S):u},S.orientation=function(e){return arguments.length?(o=e,S):o},S.orientationOrder=function(e){return arguments.length?(f=e,S):f},S.lossFunction=function(e){return arguments.length?(x=e===`default`?z:e===`logRatio`?le:e,S):x},S}function V(e,t){return function(n){let r=this,i=e[n.sets[0]].radius||50,a=t(n)||``,o=a.split(/\s+/).reverse(),s=(a.length+o.length)/3,c=o.pop(),l=[c],u=0,d=1.1;r.textContent=null;let f=[];function p(e){let t=r.ownerDocument.createElementNS(r.namespaceURI,`tspan`);return t.textContent=e,f.push(t),r.append(t),t}let m=p(c);for(;c=o.pop(),c;){l.push(c);let e=l.join(` `);m.textContent=e,e.length>s&&m.getComputedTextLength()>i&&(l.pop(),m.textContent=l.join(` `),l=[c],m=p(c),u++)}let h=.35-u*d/2,g=r.getAttribute(`x`),_=r.getAttribute(`y`);f.forEach((e,t)=>{e.setAttribute(`x`,g),e.setAttribute(`y`,_),e.setAttribute(`dy`,`${h+t*d}em`)})}}function H(e,t,n){let r=t[0].radius-T(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-T(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=T(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}function _e(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=H(r[0],e,t);for(let n=1;n<r.length;++n){let o=H(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=I(n=>-1*H({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(T(s,t)>t.radius){c=!1;break}for(let e of t)if(T(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return x(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?_e(e,[]):O(l.arcs.map(e=>e.p1))}function ve(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=T(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}function ye(e,t,n){let r={},i=ve(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=_e(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}function be(e,t,n){let r=[];return r.push(`
|
|
2
2
|
M`,e,t),r.push(`
|
|
3
3
|
m`,-n,0),r.push(`
|
|
4
4
|
a`,n,n,0,1,0,n*2,0),r.push(`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-K5T4RW27-CWBh78jw.js";import{n as e}from"./chunk-CIAEETIT-CnRUTuta.js";export{e as createWardleyServices};
|