@knocklabs/react 0.11.12 → 0.11.14
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/CHANGELOG.md +22 -0
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/FocusChin.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/FocusChin.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideContextDetails.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideContextDetails.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRow.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRow.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRowDetails.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRowDetails.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/V2.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/V2.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/helpers.js +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/helpers.js.map +1 -1
- package/dist/cjs/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.js.map +1 -1
- package/dist/cjs/modules/guide/providers/KnockGuideProvider.js +1 -1
- package/dist/cjs/modules/guide/providers/KnockGuideProvider.js.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/FocusChin.mjs +32 -31
- package/dist/esm/modules/guide/components/Toolbar/V2/FocusChin.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.mjs +6 -5
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideContextDetails.mjs +14 -13
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideContextDetails.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRow.mjs +37 -37
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRow.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRowDetails.mjs +39 -29
- package/dist/esm/modules/guide/components/Toolbar/V2/GuideRowDetails.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/V2.mjs +83 -77
- package/dist/esm/modules/guide/components/Toolbar/V2/V2.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/helpers.mjs +5 -48
- package/dist/esm/modules/guide/components/Toolbar/V2/helpers.mjs.map +1 -1
- package/dist/esm/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.mjs.map +1 -1
- package/dist/esm/modules/guide/providers/KnockGuideProvider.mjs +12 -10
- package/dist/esm/modules/guide/providers/KnockGuideProvider.mjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/FocusChin.d.ts.map +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.d.ts.map +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/GuideContextDetails.d.ts.map +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/GuideRow.d.ts.map +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/GuideRowDetails.d.ts.map +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/V2.d.ts +5 -1
- package/dist/types/modules/guide/components/Toolbar/V2/V2.d.ts.map +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/helpers.d.ts +3 -7
- package/dist/types/modules/guide/components/Toolbar/V2/helpers.d.ts.map +1 -1
- package/dist/types/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.d.ts +1 -2
- package/dist/types/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.d.ts.map +1 -1
- package/dist/types/modules/guide/providers/KnockGuideProvider.d.ts.map +1 -1
- package/package.json +15 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/helpers.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"helpers.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/helpers.ts"],"sourcesContent":["export const sharedTooltipProps = {\n delayDuration: 1000,\n};\n\nexport type DisplayOption = \"all-guides\" | \"only-active\" | \"only-eligible\";\n\nexport const FOCUS_ERRORS = {\n focusUnknownGuide: \"No such guide exists\",\n focusUncommittedGuide: \"This guide has not been committed\",\n focusUnselectableGuide: \"No component that can display this guide is present\",\n};\n"],"names":["sharedTooltipProps","delayDuration","FOCUS_ERRORS","focusUnknownGuide","focusUncommittedGuide","focusUnselectableGuide"],"mappings":"AAAO,MAAMA,IAAqB;AAAA,EAChCC,eAAe;AACjB,GAIaC,IAAe;AAAA,EAC1BC,mBAAmB;AAAA,EACnBC,uBAAuB;AAAA,EACvBC,wBAAwB;AAC1B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInspectGuideClientStore.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.ts"],"sourcesContent":["import {\n KnockGuide,\n KnockGuideClientGroupStage,\n KnockGuideClientStoreState,\n KnockGuideIneligibilityMarker,\n KnockGuideSelectionResult,\n checkActivatable,\n checkStateIfThrottled,\n} from \"@knocklabs/client\";\nimport { useGuideContext, useStore } from \"@knocklabs/react-core\";\n\nimport { FOCUS_ERRORS, ToolbarV2RunConfig } from \"./helpers\";\n\nconst byKey = <T extends { key: string }>(items: T[]) => {\n return items.reduce((acc, item) => ({ ...acc, [item.key]: item }), {});\n};\n\n/**\n * This is the main module that will house core logic for the toolbar. It hooks\n * into the guide client state store, extracts relevant data for debugging, and\n * transforms it into easily consumable data for the toolbar - namely\n * \"annotating\" guides for its various statuses to display.\n */\n\n// Active: `true` status = good\ntype ActiveStatus = {\n status: boolean;\n};\n\n// Targetable: `true` status = good\ntype TargetableStatusTrue = {\n status: true;\n};\ntype TargetableStatusFalse = {\n status: false;\n reason: string;\n message: string;\n};\ntype TargetableStatus = TargetableStatusTrue | TargetableStatusFalse;\n\ntype ActivatableStatus = {\n status: boolean;\n};\n\n// Archived: `false` status = good\ntype ArchivedStatus = {\n status: boolean;\n};\n\n// Selectable:\n// - \"returned\": Queried and resolved to return the guide from useGuide(s).\n// - \"throttled\": Queried and resolved but being throttled, so not yet returned.\n// - \"queried\": Queried but not resolved, because there are other higher\n// priority guides that are ahead of this guide in the query result.\n// - undefined: Not reachable with any of the given queries and filters.\ntype SelectionResultByLimit = {\n one?: KnockGuideSelectionResult;\n all?: KnockGuideSelectionResult;\n};\ntype SelectionResultByQuery = {\n key?: SelectionResultByLimit;\n type?: SelectionResultByLimit;\n};\ntype SelectableStatusPresent = {\n status: \"returned\" | \"throttled\" | \"queried\";\n query: SelectionResultByQuery;\n};\ntype SelectableStatusAbsent = {\n status: undefined;\n};\ntype SelectableStatus = SelectableStatusPresent | SelectableStatusAbsent;\n\nexport type AnnotatedStatuses = {\n // Individual eligibility statuses:\n active: ActiveStatus;\n targetable: TargetableStatus;\n archived: ArchivedStatus;\n // Individual qualified statuses:\n activatable: ActivatableStatus;\n selectable: SelectableStatus;\n};\n\ntype GuideAnnotation = AnnotatedStatuses & {\n // Resolved eligibility based on active, targetable and archived statuses,\n // which are backend driven evaluation results that are exposed for debugging.\n isEligible: boolean;\n\n // Resolved display qualification based on an activatable status, which\n // informs \"when\" and \"where\" an eligible guide can be displayed to user.\n isQualified: boolean;\n};\n\nexport type AnnotatedGuide = KnockGuide & {\n orderIndex: number;\n annotation: GuideAnnotation;\n\n // Legacy fields, typed only to make tsc happy when we prune these out.\n activation_location_rules?: KnockGuide[\"activation_url_patterns\"];\n priority?: number;\n};\n\n// Exists and ordered in control but absent in switchboard (therefore not\n// included in the api response), which implies a newly created guide that has\n// never been published to switchboard.\nexport type UncommittedGuide = {\n __typename: \"UncommittedGuide\";\n orderIndex: number;\n key: KnockGuide[\"key\"];\n active: false;\n bypass_global_group_limit: false;\n annotation: {\n isEligible: false;\n isQualified: false;\n active: {\n status: false;\n };\n selectable: {\n status: undefined;\n };\n };\n};\n\nexport type InspectionResultOk = {\n status: \"ok\";\n guides: (AnnotatedGuide | UncommittedGuide)[];\n};\ntype InspectionResultError = {\n status: \"error\";\n error:\n | \"no_guides_fetched\"\n | \"no_guide_group\"\n | \"focus_unknown_guide\"\n | \"focus_uncommitted_guide\"\n | \"focus_unselectable_guide\";\n message: string;\n};\ntype InspectionResult = InspectionResultOk | InspectionResultError;\n\ntype StoreStateSnapshot = Pick<\n KnockGuideClientStoreState,\n | \"location\"\n | \"guides\"\n | \"guideGroups\"\n | \"ineligibleGuides\"\n | \"debug\"\n | \"counter\"\n | \"queries\"\n> & {\n throttled: boolean;\n};\n\nconst inferSelectByKeyReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n): SelectableStatusPresent[\"status\"] => {\n const includeThrottled =\n !!query.key?.one?.metadata?.opts?.includeThrottled ||\n !!query.key?.all?.metadata?.opts?.includeThrottled;\n\n // If unthrottled, then it should always be returned.\n if (guide.bypass_global_group_limit) {\n return \"returned\";\n }\n\n // If resolved, expect this guide to be returned unless being throttled.\n if (guide.key === stage.resolved) {\n if (snapshot.throttled && !includeThrottled) {\n return \"throttled\";\n }\n return \"returned\";\n }\n\n // If queried but not resolved, it means this guide is being shadowed by\n // another guide with higher priority because throttled guides can be\n // displayed only one at a time.\n return \"queried\";\n};\n\nconst inferSelectOneByTypeReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n): SelectableStatusPresent[\"status\"] => {\n const includeThrottled = !!query.type?.one?.metadata?.opts?.includeThrottled;\n\n const result = query.type!.one!;\n if (result.size === 0) {\n return \"queried\";\n }\n\n // There may be multiple unthrottled guides of the same type, being queried\n // by type to return a single guide, for example: useGuide({ type: \"card\" }).\n //\n // So it is possible for an unthrottled guide to be shadowed by another\n // unthrottled guide of the same type with higher priority, so we need to\n // look at the query result to determine its return status.\n if (guide.bypass_global_group_limit) {\n const guides = [...result.values()];\n const first = guides[0]!;\n\n if (guide.key !== first.key) {\n // Being shadowed by another guide with higher priority.\n return \"queried\";\n }\n return \"returned\";\n }\n\n // If resolved, expect this guide to be returned unless being throttled.\n if (guide.key === stage.resolved) {\n if (snapshot.throttled && !includeThrottled) {\n return \"throttled\";\n }\n return \"returned\";\n }\n\n // If queried but not resolved, it means this guide is being shadowed by\n // another guide with higher priority because throttled guides can be\n // displayed only one at a time.\n return \"queried\";\n};\n\nconst inferSelectAllByTypeReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n): SelectableStatusPresent[\"status\"] => {\n const result = query.type!.all!;\n if (result.size === 0) {\n return \"queried\";\n }\n\n const guides = [...result.values()];\n const first = guides[0]!;\n\n // Might want to consider moving this up to do once.\n const guidesByKey: Record<KnockGuide[\"key\"], KnockGuide> = byKey(guides);\n\n // If includeThrottled given, then expect all selected guides to be returned.\n const includeThrottled = !!query.type?.all?.metadata?.opts?.includeThrottled;\n if (includeThrottled) {\n return guidesByKey[guide.key] ? \"returned\" : \"queried\";\n }\n\n // If the first selected guide is unthrottled or resolved, then we should\n // have at minimum one guide to return, and potentially more based on whether\n // we are throttling currently and which other guides are unthrottled.\n if (first.bypass_global_group_limit || first.key === stage.resolved) {\n if (!guidesByKey[guide.key]) {\n return \"queried\";\n }\n if (snapshot.throttled) {\n return guide.bypass_global_group_limit ? \"returned\" : \"throttled\";\n }\n return \"returned\";\n }\n\n return \"queried\";\n};\n\nconst inferSelectReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n) => {\n // Querying by key can only return up to a max of one guide, regardless of\n // useGuide or useGuides, and should take precedence in status designation.\n if (query.key) {\n return inferSelectByKeyReturnStatus(guide, snapshot, stage, query);\n }\n\n if (query.type?.all) {\n return inferSelectAllByTypeReturnStatus(guide, snapshot, stage, query);\n }\n if (query.type?.one) {\n return inferSelectOneByTypeReturnStatus(guide, snapshot, stage, query);\n }\n\n // Should not happen but just for completeness.\n return undefined;\n};\n\nconst toSelectableStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage | undefined,\n): SelectableStatus => {\n if (!stage || stage.status === \"open\") {\n return { status: undefined };\n }\n\n const query = {\n key: (stage.results.key || {})[guide.key],\n type: (stage.results.type || {})[guide.type],\n };\n\n const queried = Boolean(query.key || query.type);\n if (!queried) {\n // No present query in the current location can select this guide.\n return { status: undefined };\n }\n\n const status = inferSelectReturnStatus(guide, snapshot, stage, query);\n if (!status) {\n return { status: undefined };\n }\n\n return { status, query };\n};\n\nconst toIneligibilityStatus = (\n guide: KnockGuide,\n marker?: KnockGuideIneligibilityMarker,\n): Partial<AnnotatedStatuses> => {\n const statuses: Partial<AnnotatedStatuses> = {};\n\n if (\n marker?.reason === \"not_in_target_audience\" ||\n marker?.reason === \"target_conditions_not_met\"\n ) {\n statuses.targetable = {\n status: false,\n reason: marker.reason,\n message: marker.message,\n };\n }\n\n if (\n marker?.reason === \"marked_as_archived\" ||\n (guide.steps || []).every((s) => !!s.message.archived_at)\n ) {\n statuses.archived = {\n status: true,\n };\n }\n\n if (marker?.reason === \"guide_not_active\") {\n statuses.active = {\n status: false,\n };\n }\n\n return statuses;\n};\n\nconst resolveIsEligible = ({\n active,\n targetable,\n archived,\n}: AnnotatedStatuses) => {\n if (!active.status) return false;\n if (!targetable.status) return false;\n if (archived.status) return false;\n return true;\n};\n\nexport const resolveIsQualified = ({\n activatable,\n selectable,\n}: AnnotatedStatuses) => {\n if (!activatable.status) return false;\n if (!selectable.status) return false;\n return true;\n};\n\nconst annotateGuide = (\n guide: KnockGuide,\n orderIndex: number,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage | undefined,\n): AnnotatedGuide => {\n const { ineligibleGuides, location } = snapshot;\n const marker = ineligibleGuides[guide.key];\n const ineligiblity = toIneligibilityStatus(guide, marker);\n\n const statuses: AnnotatedStatuses = {\n // isEligible:\n active: ineligiblity?.active || { status: true },\n targetable: ineligiblity?.targetable || { status: true },\n archived: ineligiblity?.archived || { status: false },\n // isQualified:\n activatable: { status: checkActivatable(guide, location) },\n selectable: toSelectableStatus(guide, snapshot, stage),\n };\n\n const annotation: GuideAnnotation = {\n ...statuses,\n isEligible: resolveIsEligible(statuses),\n isQualified: resolveIsQualified(statuses),\n };\n\n return {\n ...guide,\n orderIndex,\n annotation,\n };\n};\n\nconst newUncommittedGuide = (key: KnockGuide[\"key\"], orderIndex: number) =>\n ({\n __typename: \"UncommittedGuide\",\n key,\n orderIndex,\n active: false,\n bypass_global_group_limit: false,\n annotation: {\n isEligible: false,\n isQualified: false,\n active: {\n status: false,\n },\n selectable: {\n status: undefined,\n },\n },\n }) as UncommittedGuide;\n\nexport const useInspectGuideClientStore = (\n runConfig: ToolbarV2RunConfig,\n): InspectionResult | undefined => {\n const { client } = useGuideContext();\n\n // Extract a snapshot of the client store state for debugging.\n const snapshot: StoreStateSnapshot = useStore(client.store, (state) => {\n const throttled = checkStateIfThrottled(state);\n\n return {\n location: state.location,\n guides: state.guides,\n guideGroups: state.guideGroups,\n ineligibleGuides: state.ineligibleGuides,\n debug: state.debug,\n counter: state.counter,\n queries: state.queries,\n throttled,\n };\n });\n\n // Not in debugging session, so noop.\n if (!snapshot.debug?.debugging) {\n return undefined;\n }\n\n // No recorded fetch requests, which implies an inflight request loading.\n const req = Object.entries(snapshot.queries)[0];\n if (!req || req[1].status === \"loading\") {\n return {\n status: \"error\",\n error: \"no_guides_fetched\",\n message: \"Loading...\",\n };\n }\n\n // Should always be a default group so this should never happen.\n const defaultGroup = snapshot.guideGroups[0];\n if (!defaultGroup) {\n return {\n status: \"error\",\n error: \"no_guide_group\",\n message: \"No guide group found\",\n };\n }\n\n const groupStage = client.getStage();\n\n // Annotate guides for various eligibility, activation and query statuses\n // that are useful for debugging purposes.\n const orderedGuides = defaultGroup.display_sequence.map((guideKey, index) => {\n const guide = snapshot.guides[guideKey];\n if (!guide) {\n return newUncommittedGuide(guideKey, index);\n }\n\n return annotateGuide(guide, index, snapshot, groupStage);\n });\n\n // Check if the focused guide actually exists and is selectable on the page.\n const focusedGuideKey = Object.keys(runConfig.focusedGuideKeys || {})[0];\n if (groupStage?.status === \"closed\" && focusedGuideKey) {\n const foundGuide = orderedGuides.find((g) => g.key === focusedGuideKey);\n\n // No such guide exists for the given focused guide key.\n if (!foundGuide) {\n return {\n status: \"error\",\n error: \"focus_unknown_guide\",\n message: `Unable to display \\`${focusedGuideKey}\\`, ${FOCUS_ERRORS.focusUnknownGuide.toLowerCase()}.`,\n };\n }\n\n // This guide exists but has never been committed and published, so it is\n // not present in the API response.\n if (isUncommittedGuide(foundGuide)) {\n return {\n status: \"error\",\n error: \"focus_uncommitted_guide\",\n message: `Unable to display \\`${focusedGuideKey}\\`, ${FOCUS_ERRORS.focusUncommittedGuide.toLowerCase()}.`,\n };\n }\n\n // This guide exists and is present in the response, but it is not queried\n // in the current page so it is impossible to force render this guide.\n if (!foundGuide.annotation.selectable.status) {\n return {\n status: \"error\",\n error: \"focus_unselectable_guide\",\n message: `Unable to display \\`${focusedGuideKey}\\`, ${FOCUS_ERRORS.focusUnselectableGuide.toLowerCase()}.`,\n };\n }\n }\n\n return {\n status: \"ok\",\n guides: orderedGuides,\n };\n};\n\nexport const isUncommittedGuide = (input: unknown): input is UncommittedGuide =>\n typeof input === \"object\" &&\n input !== null &&\n \"__typename\" in input &&\n (input as UncommittedGuide).__typename === \"UncommittedGuide\";\n"],"names":["byKey","items","reduce","acc","item","key","inferSelectByKeyReturnStatus","guide","snapshot","stage","query","includeThrottled","one","metadata","opts","all","bypass_global_group_limit","resolved","throttled","inferSelectOneByTypeReturnStatus","type","result","size","first","values","inferSelectAllByTypeReturnStatus","guides","guidesByKey","inferSelectReturnStatus","toSelectableStatus","status","undefined","results","Boolean","toIneligibilityStatus","marker","statuses","reason","targetable","message","steps","every","s","archived_at","archived","active","resolveIsEligible","resolveIsQualified","activatable","selectable","annotateGuide","orderIndex","ineligibleGuides","location","ineligiblity","checkActivatable","annotation","isEligible","isQualified","newUncommittedGuide","__typename","useInspectGuideClientStore","runConfig","client","useGuideContext","useStore","store","state","checkStateIfThrottled","guideGroups","debug","counter","queries","debugging","req","Object","entries","error","defaultGroup","groupStage","getStage","orderedGuides","display_sequence","map","guideKey","index","focusedGuideKey","keys","focusedGuideKeys","foundGuide","find","g","FOCUS_ERRORS","focusUnknownGuide","toLowerCase","isUncommittedGuide","focusUncommittedGuide","focusUnselectableGuide","input"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useInspectGuideClientStore.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.ts"],"sourcesContent":["import {\n KnockGuide,\n KnockGuideClientGroupStage,\n KnockGuideClientStoreState,\n KnockGuideIneligibilityMarker,\n KnockGuideSelectionResult,\n type ToolbarV2RunConfig,\n checkActivatable,\n checkStateIfThrottled,\n} from \"@knocklabs/client\";\nimport { useGuideContext, useStore } from \"@knocklabs/react-core\";\n\nimport { FOCUS_ERRORS } from \"./helpers\";\n\nconst byKey = <T extends { key: string }>(items: T[]) => {\n return items.reduce((acc, item) => ({ ...acc, [item.key]: item }), {});\n};\n\n/**\n * This is the main module that will house core logic for the toolbar. It hooks\n * into the guide client state store, extracts relevant data for debugging, and\n * transforms it into easily consumable data for the toolbar - namely\n * \"annotating\" guides for its various statuses to display.\n */\n\n// Active: `true` status = good\ntype ActiveStatus = {\n status: boolean;\n};\n\n// Targetable: `true` status = good\ntype TargetableStatusTrue = {\n status: true;\n};\ntype TargetableStatusFalse = {\n status: false;\n reason: string;\n message: string;\n};\ntype TargetableStatus = TargetableStatusTrue | TargetableStatusFalse;\n\ntype ActivatableStatus = {\n status: boolean;\n};\n\n// Archived: `false` status = good\ntype ArchivedStatus = {\n status: boolean;\n};\n\n// Selectable:\n// - \"returned\": Queried and resolved to return the guide from useGuide(s).\n// - \"throttled\": Queried and resolved but being throttled, so not yet returned.\n// - \"queried\": Queried but not resolved, because there are other higher\n// priority guides that are ahead of this guide in the query result.\n// - undefined: Not reachable with any of the given queries and filters.\ntype SelectionResultByLimit = {\n one?: KnockGuideSelectionResult;\n all?: KnockGuideSelectionResult;\n};\ntype SelectionResultByQuery = {\n key?: SelectionResultByLimit;\n type?: SelectionResultByLimit;\n};\ntype SelectableStatusPresent = {\n status: \"returned\" | \"throttled\" | \"queried\";\n query: SelectionResultByQuery;\n};\ntype SelectableStatusAbsent = {\n status: undefined;\n};\ntype SelectableStatus = SelectableStatusPresent | SelectableStatusAbsent;\n\nexport type AnnotatedStatuses = {\n // Individual eligibility statuses:\n active: ActiveStatus;\n targetable: TargetableStatus;\n archived: ArchivedStatus;\n // Individual qualified statuses:\n activatable: ActivatableStatus;\n selectable: SelectableStatus;\n};\n\ntype GuideAnnotation = AnnotatedStatuses & {\n // Resolved eligibility based on active, targetable and archived statuses,\n // which are backend driven evaluation results that are exposed for debugging.\n isEligible: boolean;\n\n // Resolved display qualification based on an activatable status, which\n // informs \"when\" and \"where\" an eligible guide can be displayed to user.\n isQualified: boolean;\n};\n\nexport type AnnotatedGuide = KnockGuide & {\n orderIndex: number;\n annotation: GuideAnnotation;\n\n // Legacy fields, typed only to make tsc happy when we prune these out.\n activation_location_rules?: KnockGuide[\"activation_url_patterns\"];\n priority?: number;\n};\n\n// Exists and ordered in control but absent in switchboard (therefore not\n// included in the api response), which implies a newly created guide that has\n// never been published to switchboard.\nexport type UncommittedGuide = {\n __typename: \"UncommittedGuide\";\n orderIndex: number;\n key: KnockGuide[\"key\"];\n active: false;\n bypass_global_group_limit: false;\n annotation: {\n isEligible: false;\n isQualified: false;\n active: {\n status: false;\n };\n selectable: {\n status: undefined;\n };\n };\n};\n\nexport type InspectionResultOk = {\n status: \"ok\";\n guides: (AnnotatedGuide | UncommittedGuide)[];\n};\ntype InspectionResultError = {\n status: \"error\";\n error:\n | \"no_guides_fetched\"\n | \"no_guide_group\"\n | \"focus_unknown_guide\"\n | \"focus_uncommitted_guide\"\n | \"focus_unselectable_guide\";\n message: string;\n};\ntype InspectionResult = InspectionResultOk | InspectionResultError;\n\ntype StoreStateSnapshot = Pick<\n KnockGuideClientStoreState,\n | \"location\"\n | \"guides\"\n | \"guideGroups\"\n | \"ineligibleGuides\"\n | \"debug\"\n | \"counter\"\n | \"queries\"\n> & {\n throttled: boolean;\n};\n\nconst inferSelectByKeyReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n): SelectableStatusPresent[\"status\"] => {\n const includeThrottled =\n !!query.key?.one?.metadata?.opts?.includeThrottled ||\n !!query.key?.all?.metadata?.opts?.includeThrottled;\n\n // If unthrottled, then it should always be returned.\n if (guide.bypass_global_group_limit) {\n return \"returned\";\n }\n\n // If resolved, expect this guide to be returned unless being throttled.\n if (guide.key === stage.resolved) {\n if (snapshot.throttled && !includeThrottled) {\n return \"throttled\";\n }\n return \"returned\";\n }\n\n // If queried but not resolved, it means this guide is being shadowed by\n // another guide with higher priority because throttled guides can be\n // displayed only one at a time.\n return \"queried\";\n};\n\nconst inferSelectOneByTypeReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n): SelectableStatusPresent[\"status\"] => {\n const includeThrottled = !!query.type?.one?.metadata?.opts?.includeThrottled;\n\n const result = query.type!.one!;\n if (result.size === 0) {\n return \"queried\";\n }\n\n // There may be multiple unthrottled guides of the same type, being queried\n // by type to return a single guide, for example: useGuide({ type: \"card\" }).\n //\n // So it is possible for an unthrottled guide to be shadowed by another\n // unthrottled guide of the same type with higher priority, so we need to\n // look at the query result to determine its return status.\n if (guide.bypass_global_group_limit) {\n const guides = [...result.values()];\n const first = guides[0]!;\n\n if (guide.key !== first.key) {\n // Being shadowed by another guide with higher priority.\n return \"queried\";\n }\n return \"returned\";\n }\n\n // If resolved, expect this guide to be returned unless being throttled.\n if (guide.key === stage.resolved) {\n if (snapshot.throttled && !includeThrottled) {\n return \"throttled\";\n }\n return \"returned\";\n }\n\n // If queried but not resolved, it means this guide is being shadowed by\n // another guide with higher priority because throttled guides can be\n // displayed only one at a time.\n return \"queried\";\n};\n\nconst inferSelectAllByTypeReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n): SelectableStatusPresent[\"status\"] => {\n const result = query.type!.all!;\n if (result.size === 0) {\n return \"queried\";\n }\n\n const guides = [...result.values()];\n const first = guides[0]!;\n\n // Might want to consider moving this up to do once.\n const guidesByKey: Record<KnockGuide[\"key\"], KnockGuide> = byKey(guides);\n\n // If includeThrottled given, then expect all selected guides to be returned.\n const includeThrottled = !!query.type?.all?.metadata?.opts?.includeThrottled;\n if (includeThrottled) {\n return guidesByKey[guide.key] ? \"returned\" : \"queried\";\n }\n\n // If the first selected guide is unthrottled or resolved, then we should\n // have at minimum one guide to return, and potentially more based on whether\n // we are throttling currently and which other guides are unthrottled.\n if (first.bypass_global_group_limit || first.key === stage.resolved) {\n if (!guidesByKey[guide.key]) {\n return \"queried\";\n }\n if (snapshot.throttled) {\n return guide.bypass_global_group_limit ? \"returned\" : \"throttled\";\n }\n return \"returned\";\n }\n\n return \"queried\";\n};\n\nconst inferSelectReturnStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage,\n query: SelectionResultByQuery,\n) => {\n // Querying by key can only return up to a max of one guide, regardless of\n // useGuide or useGuides, and should take precedence in status designation.\n if (query.key) {\n return inferSelectByKeyReturnStatus(guide, snapshot, stage, query);\n }\n\n if (query.type?.all) {\n return inferSelectAllByTypeReturnStatus(guide, snapshot, stage, query);\n }\n if (query.type?.one) {\n return inferSelectOneByTypeReturnStatus(guide, snapshot, stage, query);\n }\n\n // Should not happen but just for completeness.\n return undefined;\n};\n\nconst toSelectableStatus = (\n guide: KnockGuide,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage | undefined,\n): SelectableStatus => {\n if (!stage || stage.status === \"open\") {\n return { status: undefined };\n }\n\n const query = {\n key: (stage.results.key || {})[guide.key],\n type: (stage.results.type || {})[guide.type],\n };\n\n const queried = Boolean(query.key || query.type);\n if (!queried) {\n // No present query in the current location can select this guide.\n return { status: undefined };\n }\n\n const status = inferSelectReturnStatus(guide, snapshot, stage, query);\n if (!status) {\n return { status: undefined };\n }\n\n return { status, query };\n};\n\nconst toIneligibilityStatus = (\n guide: KnockGuide,\n marker?: KnockGuideIneligibilityMarker,\n): Partial<AnnotatedStatuses> => {\n const statuses: Partial<AnnotatedStatuses> = {};\n\n if (\n marker?.reason === \"not_in_target_audience\" ||\n marker?.reason === \"target_conditions_not_met\"\n ) {\n statuses.targetable = {\n status: false,\n reason: marker.reason,\n message: marker.message,\n };\n }\n\n if (\n marker?.reason === \"marked_as_archived\" ||\n (guide.steps || []).every((s) => !!s.message.archived_at)\n ) {\n statuses.archived = {\n status: true,\n };\n }\n\n if (marker?.reason === \"guide_not_active\") {\n statuses.active = {\n status: false,\n };\n }\n\n return statuses;\n};\n\nconst resolveIsEligible = ({\n active,\n targetable,\n archived,\n}: AnnotatedStatuses) => {\n if (!active.status) return false;\n if (!targetable.status) return false;\n if (archived.status) return false;\n return true;\n};\n\nexport const resolveIsQualified = ({\n activatable,\n selectable,\n}: AnnotatedStatuses) => {\n if (!activatable.status) return false;\n if (!selectable.status) return false;\n return true;\n};\n\nconst annotateGuide = (\n guide: KnockGuide,\n orderIndex: number,\n snapshot: StoreStateSnapshot,\n stage: KnockGuideClientGroupStage | undefined,\n): AnnotatedGuide => {\n const { ineligibleGuides, location } = snapshot;\n const marker = ineligibleGuides[guide.key];\n const ineligiblity = toIneligibilityStatus(guide, marker);\n\n const statuses: AnnotatedStatuses = {\n // isEligible:\n active: ineligiblity?.active || { status: true },\n targetable: ineligiblity?.targetable || { status: true },\n archived: ineligiblity?.archived || { status: false },\n // isQualified:\n activatable: { status: checkActivatable(guide, location) },\n selectable: toSelectableStatus(guide, snapshot, stage),\n };\n\n const annotation: GuideAnnotation = {\n ...statuses,\n isEligible: resolveIsEligible(statuses),\n isQualified: resolveIsQualified(statuses),\n };\n\n return {\n ...guide,\n orderIndex,\n annotation,\n };\n};\n\nconst newUncommittedGuide = (key: KnockGuide[\"key\"], orderIndex: number) =>\n ({\n __typename: \"UncommittedGuide\",\n key,\n orderIndex,\n active: false,\n bypass_global_group_limit: false,\n annotation: {\n isEligible: false,\n isQualified: false,\n active: {\n status: false,\n },\n selectable: {\n status: undefined,\n },\n },\n }) as UncommittedGuide;\n\nexport const useInspectGuideClientStore = (\n runConfig: ToolbarV2RunConfig,\n): InspectionResult | undefined => {\n const { client } = useGuideContext();\n\n // Extract a snapshot of the client store state for debugging.\n const snapshot: StoreStateSnapshot = useStore(client.store, (state) => {\n const throttled = checkStateIfThrottled(state);\n\n return {\n location: state.location,\n guides: state.guides,\n guideGroups: state.guideGroups,\n ineligibleGuides: state.ineligibleGuides,\n debug: state.debug,\n counter: state.counter,\n queries: state.queries,\n throttled,\n };\n });\n\n // Not in debugging session, so noop.\n if (!snapshot.debug?.debugging) {\n return undefined;\n }\n\n // No recorded fetch requests, which implies an inflight request loading.\n const req = Object.entries(snapshot.queries)[0];\n if (!req || req[1].status === \"loading\") {\n return {\n status: \"error\",\n error: \"no_guides_fetched\",\n message: \"Loading...\",\n };\n }\n\n // Should always be a default group so this should never happen.\n const defaultGroup = snapshot.guideGroups[0];\n if (!defaultGroup) {\n return {\n status: \"error\",\n error: \"no_guide_group\",\n message: \"No guide group found\",\n };\n }\n\n const groupStage = client.getStage();\n\n // Annotate guides for various eligibility, activation and query statuses\n // that are useful for debugging purposes.\n const orderedGuides = defaultGroup.display_sequence.map((guideKey, index) => {\n const guide = snapshot.guides[guideKey];\n if (!guide) {\n return newUncommittedGuide(guideKey, index);\n }\n\n return annotateGuide(guide, index, snapshot, groupStage);\n });\n\n // Check if the focused guide actually exists and is selectable on the page.\n const focusedGuideKey = Object.keys(runConfig.focusedGuideKeys || {})[0];\n if (groupStage?.status === \"closed\" && focusedGuideKey) {\n const foundGuide = orderedGuides.find((g) => g.key === focusedGuideKey);\n\n // No such guide exists for the given focused guide key.\n if (!foundGuide) {\n return {\n status: \"error\",\n error: \"focus_unknown_guide\",\n message: `Unable to display \\`${focusedGuideKey}\\`, ${FOCUS_ERRORS.focusUnknownGuide.toLowerCase()}.`,\n };\n }\n\n // This guide exists but has never been committed and published, so it is\n // not present in the API response.\n if (isUncommittedGuide(foundGuide)) {\n return {\n status: \"error\",\n error: \"focus_uncommitted_guide\",\n message: `Unable to display \\`${focusedGuideKey}\\`, ${FOCUS_ERRORS.focusUncommittedGuide.toLowerCase()}.`,\n };\n }\n\n // This guide exists and is present in the response, but it is not queried\n // in the current page so it is impossible to force render this guide.\n if (!foundGuide.annotation.selectable.status) {\n return {\n status: \"error\",\n error: \"focus_unselectable_guide\",\n message: `Unable to display \\`${focusedGuideKey}\\`, ${FOCUS_ERRORS.focusUnselectableGuide.toLowerCase()}.`,\n };\n }\n }\n\n return {\n status: \"ok\",\n guides: orderedGuides,\n };\n};\n\nexport const isUncommittedGuide = (input: unknown): input is UncommittedGuide =>\n typeof input === \"object\" &&\n input !== null &&\n \"__typename\" in input &&\n (input as UncommittedGuide).__typename === \"UncommittedGuide\";\n"],"names":["byKey","items","reduce","acc","item","key","inferSelectByKeyReturnStatus","guide","snapshot","stage","query","includeThrottled","one","metadata","opts","all","bypass_global_group_limit","resolved","throttled","inferSelectOneByTypeReturnStatus","type","result","size","first","values","inferSelectAllByTypeReturnStatus","guides","guidesByKey","inferSelectReturnStatus","toSelectableStatus","status","undefined","results","Boolean","toIneligibilityStatus","marker","statuses","reason","targetable","message","steps","every","s","archived_at","archived","active","resolveIsEligible","resolveIsQualified","activatable","selectable","annotateGuide","orderIndex","ineligibleGuides","location","ineligiblity","checkActivatable","annotation","isEligible","isQualified","newUncommittedGuide","__typename","useInspectGuideClientStore","runConfig","client","useGuideContext","useStore","store","state","checkStateIfThrottled","guideGroups","debug","counter","queries","debugging","req","Object","entries","error","defaultGroup","groupStage","getStage","orderedGuides","display_sequence","map","guideKey","index","focusedGuideKey","keys","focusedGuideKeys","foundGuide","find","g","FOCUS_ERRORS","focusUnknownGuide","toLowerCase","isUncommittedGuide","focusUncommittedGuide","focusUnselectableGuide","input"],"mappings":"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"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { KnockGuideProvider as
|
|
1
|
+
import { KnockGuideProvider as i } from "@knocklabs/react-core";
|
|
2
2
|
import r from "react";
|
|
3
3
|
import "../components/Banner/Banner.mjs";
|
|
4
4
|
import "../components/Card/Card.mjs";
|
|
5
|
-
import { V1 as
|
|
5
|
+
import { V1 as c } from "../components/Toolbar/V1/V1.mjs";
|
|
6
6
|
import { V2 as n } from "../components/Toolbar/V2/V2.mjs";
|
|
7
7
|
import "../components/Modal/Modal.mjs";
|
|
8
|
-
const
|
|
9
|
-
children:
|
|
8
|
+
const k = ({
|
|
9
|
+
children: o,
|
|
10
10
|
toolbar: e = "v2",
|
|
11
|
-
|
|
11
|
+
readyToTarget: t,
|
|
12
|
+
...m
|
|
12
13
|
}) => /* @__PURE__ */ r.createElement(
|
|
13
|
-
|
|
14
|
+
i,
|
|
14
15
|
{
|
|
15
|
-
...
|
|
16
|
+
...m,
|
|
17
|
+
readyToTarget: t,
|
|
16
18
|
trackDebugParams: e === "v1"
|
|
17
19
|
},
|
|
18
|
-
|
|
19
|
-
e === "v2" ? /* @__PURE__ */ r.createElement(n,
|
|
20
|
+
o,
|
|
21
|
+
e === "v2" ? /* @__PURE__ */ r.createElement(n, { readyToTarget: t }) : /* @__PURE__ */ r.createElement(c, null)
|
|
20
22
|
);
|
|
21
23
|
export {
|
|
22
|
-
|
|
24
|
+
k as KnockGuideProvider
|
|
23
25
|
};
|
|
24
26
|
//# sourceMappingURL=KnockGuideProvider.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockGuideProvider.mjs","sources":["../../../../../src/modules/guide/providers/KnockGuideProvider.tsx"],"sourcesContent":["import {\n KnockGuideProvider as KnockGuideProviderCore,\n type KnockGuideProviderProps,\n} from \"@knocklabs/react-core\";\nimport React from \"react\";\n\nimport { ToolbarV1, ToolbarV2 } from \"../components\";\n\ntype Props = KnockGuideProviderProps & {\n toolbar?: \"v1\" | \"v2\";\n};\n\n// Re-export the core KnockGuideProvider, so we can add React specific\n// functionality like the Toolbar component which shouldn't be included in other\n// contexts (e.g. React Native).\nexport const KnockGuideProvider: React.FC<React.PropsWithChildren<Props>> = ({\n children,\n toolbar = \"v2\",\n ...props\n}) => {\n return (\n <KnockGuideProviderCore\n {...props}\n // For backward compatibility with toolbar v1. Remove once v2 ships.\n trackDebugParams={toolbar === \"v1\"}\n >\n {children}\n {toolbar === \"v2\" ? <ToolbarV2
|
|
1
|
+
{"version":3,"file":"KnockGuideProvider.mjs","sources":["../../../../../src/modules/guide/providers/KnockGuideProvider.tsx"],"sourcesContent":["import {\n KnockGuideProvider as KnockGuideProviderCore,\n type KnockGuideProviderProps,\n} from \"@knocklabs/react-core\";\nimport React from \"react\";\n\nimport { ToolbarV1, ToolbarV2 } from \"../components\";\n\ntype Props = KnockGuideProviderProps & {\n toolbar?: \"v1\" | \"v2\";\n};\n\n// Re-export the core KnockGuideProvider, so we can add React specific\n// functionality like the Toolbar component which shouldn't be included in other\n// contexts (e.g. React Native).\nexport const KnockGuideProvider: React.FC<React.PropsWithChildren<Props>> = ({\n children,\n toolbar = \"v2\",\n readyToTarget,\n ...props\n}) => {\n return (\n <KnockGuideProviderCore\n {...props}\n readyToTarget={readyToTarget}\n // For backward compatibility with toolbar v1. Remove once v2 ships.\n trackDebugParams={toolbar === \"v1\"}\n >\n {children}\n {toolbar === \"v2\" ? (\n <ToolbarV2 readyToTarget={readyToTarget} />\n ) : (\n <ToolbarV1 />\n )}\n </KnockGuideProviderCore>\n );\n};\n"],"names":["KnockGuideProvider","children","toolbar","readyToTarget","props","React","KnockGuideProviderCore","ToolbarV2","ToolbarV1"],"mappings":";;;;;;;AAeO,MAAMA,IAA+DA,CAAC;AAAA,EAC3EC,UAAAA;AAAAA,EACAC,SAAAA,IAAU;AAAA,EACVC,eAAAA;AAAAA,EACA,GAAGC;AACL,MAEIC,gBAAAA,EAAA;AAAA,EAACC;AAAAA,EAAA;AAAA,IACKF,GAAAA;AAAAA,IACJ,eAAAD;AAAA,IAEA,kBAAkBD,MAAY;AAAA,EAAA;AAAA,EAE7BD;AAAAA,EACAC,MAAY,OACXG,gBAAAA,EAAA,cAACE,KAAU,eAAAJ,uCAEVK,GACF,IAAA;AACH;"}
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--knock-border-style-solid: solid;--knock-border-style-dashed: dashed;--knock-transparent: transparent;--knock-white: #fff;--knock-black: #000;--knock-alpha-white-1: #ffffff0d;--knock-alpha-white-2: #ffffff1a;--knock-alpha-white-3: #ffffff26;--knock-alpha-white-4: #fff3;--knock-alpha-white-5: #ffffff4d;--knock-alpha-white-6: #fff6;--knock-alpha-white-7: #ffffff80;--knock-alpha-white-8: #fff9;--knock-alpha-white-9: #ffffffb3;--knock-alpha-white-10: #fffc;--knock-alpha-white-11: #ffffffe6;--knock-alpha-white-12: #fffffff2;--knock-alpha-black-1: #0000000d;--knock-alpha-black-2: #0000001a;--knock-alpha-black-3: #00000026;--knock-alpha-black-4: #0003;--knock-alpha-black-5: #0000004d;--knock-alpha-black-6: #0006;--knock-alpha-black-7: #00000080;--knock-alpha-black-8: #0009;--knock-alpha-black-9: #000000b3;--knock-alpha-black-10: #000c;--knock-alpha-black-11: #000000e6;--knock-alpha-black-12: #000000f2;--knock-rounded-0: 0px;--knock-rounded-1: .125rem;--knock-rounded-2: .25rem;--knock-rounded-3: .375rem;--knock-rounded-4: .5rem;--knock-rounded-5: .75rem;--knock-rounded-6: 1rem;--knock-rounded-full: 9999px;--knock-shadow-0: 0px 0px 0px 0px #0000;--knock-shadow-1: 0px 5px 2px 0px #1c202403, 0px 3px 2px 0px #1c202408, 0px 1px 1px 0px #1c20240d, 0px 0px 1px 0px #1c20240f;--knock-shadow-2: 0px 16px 7px 0px #1c202403, 0px 9px 6px 0px #1c202408, 0px 4px 4px 0px #1c20240d, 0px 1px 2px 0px #1c20240f;--knock-shadow-3: 0px 29px 12px 0px #1c202403, 0px 16px 10px 0px #1c202408, 0px 7px 7px 0px #1c20240d, 0px 2px 4px 0px #1c20240f;--knock-shadow-inner: 0px 5px 2px 0px #1c202403 inset, 0px 3px 2px 0px #1c202408 inset, 0px 1px 1px 0px #1c20240d inset, 0px 0px 1px 0px #1c20240f inset;--knock-spacing-0: 0px;--knock-spacing-1: .25rem;--knock-spacing-2: .5rem;--knock-spacing-3: .75rem;--knock-spacing-4: 1rem;--knock-spacing-5: 1.25rem;--knock-spacing-6: 1.5rem;--knock-spacing-7: 1.75rem;--knock-spacing-8: 2rem;--knock-spacing-9: 2.25rem;--knock-spacing-10: 2.5rem;--knock-spacing-11: 2.75rem;--knock-spacing-12: 3rem;--knock-spacing-14: 3.5rem;--knock-spacing-16: 4rem;--knock-spacing-20: 5rem;--knock-spacing-24: 6rem;--knock-spacing-28: 7rem;--knock-spacing-32: 8rem;--knock-spacing-36: 9rem;--knock-spacing-40: 10rem;--knock-spacing-44: 11rem;--knock-spacing-48: 12rem;--knock-spacing-52: 13rem;--knock-spacing-56: 14rem;--knock-spacing-60: 15rem;--knock-spacing-64: 16rem;--knock-spacing-72: 18rem;--knock-spacing-80: 20rem;--knock-spacing-96: 24rem;--knock-spacing-140: 35rem;--knock-spacing-160: 40rem;--knock-spacing-px: 1px;--knock-spacing-full: 100%;--knock-spacing-auto: auto;--knock-family-sans: Inter, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;--knock-family-mono: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;--knock-leading-0: 1rem;--knock-leading-1: 1rem;--knock-leading-2: 1.25rem;--knock-leading-3: 1.5rem;--knock-leading-4: 1.75rem;--knock-leading-5: 1.75rem;--knock-leading-6: 2rem;--knock-leading-7: 2.25rem;--knock-leading-8: 2.5rem;--knock-leading-9: 3.5rem;--knock-leading-code-0: 1rem;--knock-leading-code-1: 1rem;--knock-leading-code-2: 1.25rem;--knock-leading-code-3: 1.5rem;--knock-leading-code-4: 1.75rem;--knock-leading-code-5: 1.75rem;--knock-leading-code-6: 2rem;--knock-leading-code-7: 2.25rem;--knock-leading-code-8: 2.5rem;--knock-leading-code-9: 3rem;--knock-tracking-0: .25%;--knock-tracking-1: .25%;--knock-tracking-2: 0;--knock-tracking-3: 0;--knock-tracking-4: -.25%;--knock-tracking-5: -.5%;--knock-tracking-6: -.625%;--knock-tracking-7: -.75%;--knock-tracking-8: -1%;--knock-tracking-9: -2.5%;--knock-text-0: .6875rem;--knock-text-1: .75rem;--knock-text-2: .875rem;--knock-text-3: 1rem;--knock-text-4: 1.125rem;--knock-text-5: 1.25rem;--knock-text-6: 1.5rem;--knock-text-7: 1.875rem;--knock-text-8: 2.25rem;--knock-text-9: 3rem;--knock-text-code-0: .625rem;--knock-text-code-1: .688rem;--knock-text-code-2: .812rem;--knock-text-code-4: 1.062rem;--knock-text-code-5: 1.188rem;--knock-text-code-6: 1.438rem;--knock-text-code-7: 1.75rem;--knock-text-code-8: 2.125rem;--knock-text-code-9: 2.875rem;--knock-weight-regular: 400;--knock-weight-medium: 500;--knock-weight-semi-bold: 600;--knock-breakpoint-sm: 640px;--knock-breakpoint-md: 768px;--knock-breakpoint-lg: 1024px;--knock-breakpoint-xl: 1280px;--knock-breakpoint-2xl: 1536px;--knock-zIndex-hidden: -1;--knock-zIndex-base: 0;--knock-zIndex-auto: auto;--knock-zIndex-dropdown: 1000;--knock-zIndex-sticky: 1100;--knock-zIndex-banner: 1200;--knock-zIndex-overlay: 1300;--knock-zIndex-modal: 1400;--knock-zIndex-popover: 1500;--knock-zIndex-skipLink: 1600;--knock-zIndex-toast: 1700;--knock-zIndex-tooltip: 1800}[data-knock-color-mode=light]{--knock-surface-1: #fff;--knock-surface-2: #f9f9f8;--knock-gray-1: #fcfcfd;--knock-gray-2: #f9f9fb;--knock-gray-3: #f0f0f3;--knock-gray-4: #e8e8ec;--knock-gray-5: #e0e1e6;--knock-gray-6: #d9d9e0;--knock-gray-7: #cdced6;--knock-gray-8: #b9bbc6;--knock-gray-9: #8b8d98;--knock-gray-10: #80838d;--knock-gray-11: #60646c;--knock-gray-12: #1c2024;--knock-beige-1: #fdfdfc;--knock-beige-2: #f9f9f8;--knock-beige-3: #f1f0ef;--knock-beige-4: #e9e8e6;--knock-beige-5: #e2e1de;--knock-beige-6: #dad9d6;--knock-beige-7: #cfceca;--knock-beige-8: #bcbbb5;--knock-beige-9: #8d8d86;--knock-beige-10: #82827c;--knock-beige-11: #63635e;--knock-beige-12: #21201c;--knock-orange-1: #fffcfc;--knock-orange-2: #fff8f7;--knock-orange-3: #feebe7;--knock-orange-4: #ffdcd3;--knock-orange-5: #ffcdc2;--knock-orange-6: #fdbdaf;--knock-orange-7: #f5a898;--knock-orange-8: #ec8e7b;--knock-orange-9: #e54d2e;--knock-orange-10: #dd4425;--knock-orange-11: #d13415;--knock-orange-12: #5c271f;--knock-green-1: #fbfefd;--knock-green-2: #f4fbf7;--knock-green-3: #e6f7ed;--knock-green-4: #d6f1e3;--knock-green-5: #c3e9d7;--knock-green-6: #acdec8;--knock-green-7: #8bceb6;--knock-green-8: #56ba9f;--knock-green-9: #29a383;--knock-green-10: #26997b;--knock-green-11: #208368;--knock-green-12: #1d3b31;--knock-yellow-1: #fefdfb;--knock-yellow-2: #fefbe9;--knock-yellow-3: #fff7c2;--knock-yellow-4: #ffee9c;--knock-yellow-5: #fbe577;--knock-yellow-6: #f3d673;--knock-yellow-7: #e9c162;--knock-yellow-8: #f3d673;--knock-yellow-9: #ffc53d;--knock-yellow-10: #ffba18;--knock-yellow-11: #ab6400;--knock-yellow-12: #4f3422;--knock-blue-1: #fdfdfe;--knock-blue-2: #f7f9ff;--knock-blue-3: #edf2fe;--knock-blue-4: #e1e9ff;--knock-blue-5: #d2deff;--knock-blue-6: #c1d0ff;--knock-blue-7: #abbdf9;--knock-blue-8: #8da4ef;--knock-blue-9: #3e63dd;--knock-blue-10: #3358d4;--knock-blue-11: #3a5bc7;--knock-blue-12: #1f2d5c;--knock-red-1: #fffcfd;--knock-red-2: #fff7f8;--knock-red-3: #feeaed;--knock-red-4: #ffdce1;--knock-red-5: #ffced6;--knock-red-6: #f8bfc8;--knock-red-7: #efacb8;--knock-red-8: #e592a3;--knock-red-9: #e54666;--knock-red-10: #dc3b5d;--knock-red-11: #ca244d;--knock-red-12: #64172b;--knock-purple-1: #fdfcfe;--knock-purple-2: #faf8ff;--knock-purple-3: #f4f0fe;--knock-purple-4: #ebe4ff;--knock-purple-5: #e1d9ff;--knock-purple-6: #d4cafe;--knock-purple-7: #c2b5f5;--knock-purple-8: #aa99ec;--knock-purple-9: #654dc4;--knock-purple-10: #654dc4;--knock-purple-11: #6550b9;--knock-purple-12: #2f265f}[data-knock-color-mode=dark]{--knock-surface-1: #18191b;--knock-surface-2: #111110;--knock-gray-1: #111113;--knock-gray-2: #18191b;--knock-gray-3: #212225;--knock-gray-4: #272a2d;--knock-gray-5: #2e3135;--knock-gray-6: #363a3f;--knock-gray-7: #43484e;--knock-gray-8: #5a6169;--knock-gray-9: #696e77;--knock-gray-10: #777b84;--knock-gray-11: #b0b4ba;--knock-gray-12: #edeef0;--knock-beige-1: #111110;--knock-beige-2: #191918;--knock-beige-3: #222221;--knock-beige-4: #2a2a28;--knock-beige-5: #31312e;--knock-beige-6: #3b3a37;--knock-beige-7: #494844;--knock-beige-8: #62605b;--knock-beige-9: #6f6d66;--knock-beige-10: #7c7b74;--knock-beige-11: #b5b3ad;--knock-beige-12: #eeeeec;--knock-orange-1: #181111;--knock-orange-2: #1f1513;--knock-orange-3: #391714;--knock-orange-4: #4e1511;--knock-orange-5: #5e1c16;--knock-orange-6: #6e2920;--knock-orange-7: #853a2d;--knock-orange-8: #ac4d39;--knock-orange-9: #e54d2e;--knock-orange-10: #ec6142;--knock-orange-11: #ff977d;--knock-orange-12: #fbd3cb;--knock-green-1: #0d1512;--knock-green-2: #121c18;--knock-green-3: #0f2e22;--knock-green-4: #0b3b2c;--knock-green-5: #114837;--knock-green-6: #1b5745;--knock-green-7: #246854;--knock-green-8: #2a7e68;--knock-green-9: #29a383;--knock-green-10: #27b08b;--knock-green-11: #1fd8a4;--knock-green-12: #adf0d4;--knock-yellow-1: #16120c;--knock-yellow-2: #1d180f;--knock-yellow-3: #302008;--knock-yellow-4: #3f2700;--knock-yellow-5: #4d3000;--knock-yellow-6: #5c3d05;--knock-yellow-7: #714f19;--knock-yellow-8: #8f6424;--knock-yellow-9: #ffc53d;--knock-yellow-10: #ffd60a;--knock-yellow-11: #ffca16;--knock-yellow-12: #ffe7b3;--knock-blue-1: #11131f;--knock-blue-2: #141726;--knock-blue-3: #182449;--knock-blue-4: #1d2e62;--knock-blue-5: #253974;--knock-blue-6: #304384;--knock-blue-7: #3a4f97;--knock-blue-8: #435db1;--knock-blue-9: #3e63dd;--knock-blue-10: #5472e4;--knock-blue-11: #9eb1ff;--knock-blue-12: #d6e1ff;--knock-red-1: #191113;--knock-red-2: #1e1517;--knock-red-3: #3a141e;--knock-red-4: #4e1325;--knock-red-5: #5e1a2e;--knock-red-6: #6f2539;--knock-red-7: #883447;--knock-red-8: #b3445a;--knock-red-9: #e54666;--knock-red-10: #ec5a72;--knock-red-11: #ff949d;--knock-red-12: #fed2e1;--knock-purple-1: #14121f;--knock-purple-2: #1b1525;--knock-purple-3: #291f43;--knock-purple-4: #33255b;--knock-purple-5: #3c2e69;--knock-purple-6: #473876;--knock-purple-7: #56468b;--knock-purple-8: #6958ad;--knock-purple-9: #6e56cf;--knock-purple-10: #7d66d9;--knock-purple-11: #baa7ff;--knock-purple-12: #e2ddfe}[data-knock-color-mode=light]{--knock-guide-accent: var(--knock-gray-12);--knock-guide-accent-light: var(--knock-gray-4);--knock-guide-accent-dark: var(--knock-gray-12);--knock-guide-secondary: var(--knock-gray-9);--knock-guide-secondary-light: var(--knock-gray-3);--knock-guide-secondary-dark: var(--knock-gray-11);--knock-guide-content: var(--knock-gray-12);--knock-guide-content-light: var(--knock-gray-11);--knock-guide-content-disabled: var(--knock-gray-9);--knock-guide-content-contrast: var(--knock-white);--knock-guide-border: var(--knock-gray-5);--knock-guide-border-light: var(--knock-gray-4);--knock-guide-border-dark: var(--knock-gray-7);--knock-guide-surface: var(--knock-white);--knock-guide-surface-2: var(--knock-gray-2)}[data-knock-color-mode=dark]{--knock-guide-surface: var(--knock-white);--knock-guide-surface-2: var(--knock-gray-2);--knock-guide-accent: var(--knock-white);--knock-guide-accent-light: var(--knock-gray-4);--knock-guide-accent-dark: var(--knock-gray-12);--knock-guide-secondary: var(--knock-gray-9);--knock-guide-secondary-light: var(--knock-gray-3);--knock-guide-secondary-dark: var(--knock-gray-11);--knock-guide-content: var(--knock-gray-12);--knock-guide-content-light: var(--knock-gray-11);--knock-guide-content-disabled: var(--knock-gray-9);--knock-guide-content-contrast: var(--knock-gray-1);--knock-guide-border: var(--knock-gray-5);--knock-guide-border-light: var(--knock-gray-4);--knock-guide-border-dark: var(--knock-gray-7);--knock-guide-surface: var(--knock-gray-2);--knock-guide-surface-2: var(--knock-gray-1)}:root{--rnf-font-size-xs: .75rem;--rnf-font-size-sm: .875rem;--rnf-font-size-md: 1rem;--rnf-font-size-lg: 1.125rem;--rnf-font-size-xl: 1.266rem;--rnf-font-size-2xl: 1.5rem;--rnf-font-size-3xl: 1.75rem;--rnf-spacing-0: 0;--rnf-spacing-1: 4px;--rnf-spacing-2: 8px;--rnf-spacing-3: 12px;--rnf-spacing-4: 16px;--rnf-spacing-5: 20px;--rnf-spacing-6: 24px;--rnf-spacing-7: 32px;--rnf-spacing-8: 42px;--rnf-font-weight-normal: 400;--rnf-font-weight-medium: 500;--rnf-font-weight-semibold: 600;--rnf-font-weight-bold: 700;--rnf-font-family-sanserif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--rnf-border-radius-sm: 2px;--rnf-border-radius-md: 4px;--rnf-border-radius-lg: 8px;--rnf-shadow-sm: 0px 5px 10px rgba(0, 0, 0, .12);--rnf-shadow-md: 0px 8px 30px rgba(0, 0, 0, .24);--rnf-color-white: #fff;--rnf-color-white-a-75: rgba(255, 255, 255, .75);--rnf-color-black: #000;--rnf-color-gray-900: #1a1f36;--rnf-color-gray-800: #3c4257;--rnf-color-gray-700: #3c4257;--rnf-color-gray-600: #515669;--rnf-color-gray-500: #697386;--rnf-color-gray-400: #9ea0aa;--rnf-color-gray-300: #a5acb8;--rnf-color-gray-200: #dddee1;--rnf-color-gray-100: #e4e8ee;--rnf-color-brand-500: #e95744;--rnf-color-brand-700: #e4321b;--rnf-color-brand-900: #891e10;--rnf-unread-badge-bg-color: #dd514c;--rnf-avatar-bg-color: #ef8476;--rnf-message-cell-unread-dot-bg-color: #f4ada4;--rnf-message-cell-hover-bg-color: #f1f6fc}:root{--rnf-button-padding-x: 8px;--rnf-button-padding-y: 4px;--rnf-button-border-radius: 4px;--rnf-button-font-weight: var(--rnf-font-weight-medium);--rnf-button-font-size: var(--rnf-font-size-sm);--rnf-button-primary-bg-color: var(--rnf-color-brand-500);--rnf-button-primary-hover-bg-color: var(--rnf-color-brand-700);--rnf-button-primary-border-color: transparent;--rnf-button-primary-text-color: var(--rnf-color-white);--rnf-button-secondary-bg-color: var(--rnf-color-white);--rnf-button-secondary-hover-bg-color: #dddee1;--rnf-button-secondary-border-color: #dddee1;--rnf-button-secondary-text-color: var(--rnf-color-gray-700)}.rnf-button{display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;white-space:nowrap;vertical-align:middle;width:auto;padding:var(--rnf-button-padding-y) var(--rnf-button-padding-x);border-radius:var(--rnf-button-border-radius);font-size:var(--rnf-button-font-size);line-height:var(--rnf-font-size-lg);font-weight:var(--rnf-button-font-weight);border:1px solid;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .1s ease-in-out}.rnf-button--full-width{width:100%}.rnf-button--primary{background-color:var(--rnf-button-primary-bg-color);color:var(--rnf-button-primary-text-color);border-color:var(--rnf-button-primary-border-color)}.rnf-button--primary:hover:not(:disabled),.rnf-button--primary:active:not(:disabled){background-color:var(--rnf-button-primary-hover-bg-color)}.rnf-button:disabled{opacity:.4;cursor:not-allowed}.rnf-button--secondary{background-color:var(--rnf-button-secondary-bg-color);color:var(--rnf-button-secondary-text-color);border-color:var(--rnf-button-secondary-border-color)}.rnf-button--secondary:hover:not(:disabled),.rnf-button--secondary:active:not(:disabled){background-color:var(--rnf-button-secondary-hover-bg-color)}.rnf-button--dark.rnf-button--secondary{border-color:#43464c;background-color:#43464c;color:var(--rnf-color-white-a-75)}.rnf-button__button-text-hidden{opacity:0}.rnf-button--dark.rnf-button--secondary:hover:not(:disabled),.rnf-button--dark.rnf-button--secondary:active:not(:disabled){background-color:var(--rnf-color-gray-600)}.rnf-button-spinner{display:flex;align-items:center;font-size:1rem;line-height:"normal"}.rnf-button-spinner--without-label{position:absolute}.rnf-button-spinner--with-label{margin-right:6px}.rnf-button--primary .rnf-button-spinner circle{stroke:#fff}.rnf-button--secondary .rnf-button-spinner circle{stroke:var(--rnf-button-secondary-text-color)}.rnf-button--dark.rnf-button--secondary .rnf-button-spinner circle{stroke:var(--rnf-color-white-a-75)}.rnf-button-group>.rnf-button+.rnf-button{margin-left:8px}:root{--rnf-empty-feed-max-w: 240px;--rnf-empty-feed-header-font-size: var(--rnf-font-size-md);--rnf-empty-feed-body-font-size: var(--rnf-font-size-sm)}.rnf-empty-feed{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.rnf-empty-feed__inner{max-width:var(--rnf-empty-feed-max-w);margin:-20px auto 0;text-align:center}.rnf-empty-feed__header{font-size:var(--rnf-empty-feed-header-font-size);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-gray-900);margin:0 0 var(--rnf-spacing-1)}.rnf-empty-feed__body{font-size:var(--rnf-empty-feed-body-font-size);color:var(--rnf-color-gray-300);margin:0}.rnf-empty-feed--dark .rnf-empty-feed__header{color:var(--rnf-color-white-a-75)}.rnf-empty-feed--dark .rnf-empty-feed__body{color:var(--rnf-color-gray-400)}:root{--rnf-avatar-bg-color: #ef8476;--rnf-avatar-size: 32px;--rnf-avatar-initials-font-size: var(--rnf-font-size-md);--rnf-avatar-initials-line-height: var(--rnf-font-size-lg);--rnf-avatar-initials-color: #fff;--rnf-notification-cell-border-bottom-color: #e4e8ee;--rnf-notification-cell-padding: var(--rnf-spacing-3);--rnf-notification-cell-active-bg-color: #f1f6fc;--rnf-notification-cell-unread-dot-size: 6px;--rnf-notification-cell-unread-dot-bg-color: #80c7f5;--rnf-notification-cell-unread-dot-border-color: #3192e3;--rnf-notification-cell-content-color: var(--rnf-color-gray-900);--rnf-notification-cell-content-font-size: var(--rnf-font-size-sm);--rnf-notification-cell-content-line-height: var(--rnf-font-size-lg);--rnf-archive-notification-btn-bg-color: var(--rnf-color-gray-400);--rnf-archive-notification-btn-bg-color-active: var(--rnf-color-gray-500)}.rnf-avatar{background-color:var(--rnf-avatar-bg-color);border-radius:var(--rnf-avatar-size);width:var(--rnf-avatar-size);height:var(--rnf-avatar-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.rnf-avatar__initials{font-size:var(--rnf-avatar-initials-font-size);line-height:var(--rnf-avatar-initials-line-height);color:var(--rnf-avatar-initials-color)}.rnf-avatar__image{object-fit:cover;width:var(--rnf-avatar-size);height:var(--rnf-avatar-size)}.rnf-notification-cell{background-color:transparent;position:relative;border-bottom:1px solid var(--rnf-notification-cell-border-bottom-color)}.rnf-notification-cell:last-child{border-bottom-color:transparent}.rnf-notification-cell:hover,.rnf-notification-cell:focus,.rnf-notification-cell:active{background-color:var(--rnf-notification-cell-active-bg-color);outline:none}.rnf-notification-cell__inner{border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;width:100%;text-decoration:none;display:flex;padding:var(--rnf-notification-cell-padding);cursor:pointer;text-align:left;justify-content:flex-start}.rnf-notification-cell__unread-dot{position:absolute;top:var(--rnf-notification-cell-unread-dot-size);left:var(--rnf-notification-cell-unread-dot-size);width:var(--rnf-notification-cell-unread-dot-size);height:var(--rnf-notification-cell-unread-dot-size);border-radius:var(--rnf-notification-cell-unread-dot-size);background-color:var(--rnf-notification-cell-unread-dot-bg-color);border:1px solid var(--rnf-notification-cell-unread-dot-border-color)}.rnf-notification-cell__content-outer{margin-left:var(--rnf-spacing-3)}.rnf-notification-cell__content{color:var(--rnf-notification-cell-content-color);display:block;font-weight:var(--rnf-font-weight-normal);font-size:var(--rnf-notification-cell-content-font-size);line-height:var(--rnf-notification-cell-content-line-height);margin-bottom:var(--rnf-spacing-1);word-break:break-word;word-wrap:break-word}.rnf-notification-cell__content h1,.rnf-notification-cell__content h2,.rnf-notification-cell__content h3,.rnf-notification-cell__content h4{font-weight:var(--rnf-font-weight-semibold);margin-bottom:.5em}.rnf-notification-cell__content h1{font-size:var(--rnf-font-size-2xl)}.rnf-notification-cell__content h2{font-size:var(--rnf-font-size-xl)}.rnf-notification-cell__content h3{font-size:var(--rnf-font-size-lg)}.rnf-notification-cell__content h4{font-size:var(--rnf-font-size-md)}.rnf-notification-cell__content p{margin:0 0 .75em}.rnf-notification-cell__content p:last-child{margin-bottom:0}.rnf-notification-cell__content blockquote{border-left:3px solid var(--rnf-color-gray-300);padding-left:var(--rnf-spacing-3);line-height:var(--rnf-font-size-xl);margin:0}.rnf-notification-cell__content strong{font-weight:var(--rnf-font-weight-semibold)}.rnf-notification-cell__timestamp{display:block;color:var(--rnf-color-gray-300);font-size:var(--rnf-font-size-sm);font-weight:var(--rnf-font-weight-normal);line-height:var(--rnf-font-size-lg)}.rnf-notification-cell__child-content,.rnf-notification-cell__button-group{margin:.75em 0 .5em}.rnf-archive-notification-btn{background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;user-select:none;border:none;opacity:0;width:24px;height:24px;cursor:pointer;margin-left:auto;color:var(--rnf-archive-notification-btn-bg-color);padding:var(--rnf-spacing-1) var(--rnf-spacing-2);transition:color .1s ease-in-out,opacity .2s ease-in-out}.rnf-notification-cell:focus .rnf-archive-notification-btn,.rnf-notification-cell:hover .rnf-archive-notification-btn,.rnf-notification-cell:active .rnf-archive-notification-btn{opacity:1}.rnf-archive-notification-btn:focus,.rnf-archive-notification-btn:hover,.rnf-archive-notification-btn:active{outline:none;opacity:1;color:var(--rnf-archive-notification-btn-bg-color-active)}.rnf-tooltip{background-color:var(--rnf-color-gray-700);border-radius:4px;box-shadow:0 2px 4px #0000002e;color:#fff;display:flex;flex-direction:column;padding:var(--rnf-spacing-1) var(--rnf-spacing-2);font-size:var(--rnf-font-size-xs);line-height:var(--rnf-font-size-s);font-weight:var(--rnf-font-weight-medium);transition:opacity .3s;z-index:9999}.rnf-notification-cell--dark{--rnf-notification-cell-border-bottom-color: rgba(105, 115, 134, .65);--rnf-notification-cell-active-bg-color: #393b40;--rnf-notification-cell-content-color: var(--rnf-color-white-a-75)}.rnf-notification-cell--dark:last-child{border-bottom-color:transparent}.rnf-notification-cell--dark .rnf-notification-cell__timestamp{color:var(--rnf-color-gray-500)}.rnf-archive-notification-btn--dark{--rnf-archive-notification-btn-bg-color: var(--rnf-color-gray-500);--rnf-archive-notification-btn-bg-color-active: var(--rnf-color-gray-400)}.rnf-tooltip--dark{background-color:#565a61}@media screen and (hover: none){.rnf-archive-notification-btn{opacity:1}}:root{--rnf-notification-feed-header-height: 45px}.rnf-notification-feed{background-color:var(--rnf-color-white);height:100%;display:flex;flex-direction:column}.rnf-dropdown{font-size:var(--rnf-font-size-md);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-gray-400);position:relative}.rnf-dropdown select{padding-right:var(--rnf-spacing-3);color:currentColor;border:none;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:var(--rnf-font-size-sm);position:relative;text-align:right;z-index:2}.rnf-dropdown svg{position:absolute;top:50%;margin-top:-2px;right:0;z-index:1}.rnf-mark-all-as-read{border:none;background:transparent;margin-left:auto;display:flex;align-items:center;padding:0;font-size:var(--rnf-font-size-sm);color:var(--rnf-color-gray-400);cursor:pointer}.rnf-mark-all-as-read:disabled{color:var(--rnf-color-gray-200);cursor:not-allowed}.rnf-mark-all-as-read svg{margin-top:1px;margin-left:var(--rnf-spacing-1)}.rnf-notification-feed__header{padding:var(--rnf-spacing-3) var(--rnf-spacing-4);height:var(--rnf-notification-feed-header-height);display:flex;align-items:center}.rnf-notification-feed__selector{display:flex;align-items:center}.rnf-notification-feed__type{font-size:var(--rnf-font-size-sm);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-gray-900);margin-right:var(--rnf-spacing-2)}.rnf-notification-feed__container{overflow-y:auto;flex:1}.rnf-notification-feed__spinner-container{padding:var(--rnf-spacing-3) var(--rnf-spacing-4)}.rnf-notification-feed__spinner-container svg{margin:0 auto;display:block}.rnf-notification-feed__knock-branding{text-align:center}.rnf-notification-feed__knock-branding a{display:block;font-size:var(--rnf-font-size-sm);color:var(--rnf-color-gray-500);padding:6px;border-top:1px solid var(--rnf-color-gray-100)}.rnf-notification-feed__knock-branding a:hover{background-color:#f1f6fc}.rnf-notification-feed--dark{background-color:#2e2f34}.rnf-notification-feed--dark .rnf-notification-feed__type{color:var(--rnf-color-white-a-75)}.rnf-dropdown--dark{color:var(--rnf-color-gray-400)}.rnf-mark-all-as-read--dark:disabled{color:var(--rnf-color-gray-500)}.rnf-notification-feed--dark .rnf-notification-feed__knock-branding a{color:var(--rnf-color-gray-400);border-top-color:#697386a6}.rnf-notification-feed--dark .rnf-notification-feed__knock-branding a:hover{background-color:#393b40}.rnf-feed-provider{font-family:var(--rnf-font-family-sanserif)!important;margin:0!important;padding:0!important}.rnf-feed-provider [class^=rnf-]{font-family:var(--rnf-font-family-sanserif)!important;box-sizing:border-box}:root{--rnf-notification-feed-popover-max-w: 400px;--rnf-notification-feed-popover-min-w: 280px;--rnf-notification-feed-popover-height: 400px;--rnf-notification-feed-popover-shadow: drop-shadow( 0px 5px 15px rgba(0, 0, 0, .2) );--rnf-notification-feed-popover-shadow-color: rgba(0, 0, 0, .2);--rnf-notification-feed-popover-bg-color: #fff;--rnf-notification-feed-popover-z-index: 999;--rnf-notification-feed-popover-arrow-size: 10px;--rnf-notification-feed-popover-border-radius: 4px}.rnf-notification-feed-popover{width:100%;max-width:var(--rnf-notification-feed-popover-max-w);min-width:var(--rnf-notification-feed-popover-min-w);height:var(--rnf-notification-feed-popover-height);z-index:var(--rnf-notification-feed-popover-z-index)}.rnf-notification-feed-popover__inner{overflow:hidden;background-color:var(--rnf-notification-feed-popover-bg-color);border-radius:var(--rnf-notification-feed-popover-border-radius);filter:var(--rnf-notification-feed-popover-shadow);height:100%}.rnf-notification-feed-popover__arrow{position:absolute;width:var(--rnf-notification-feed-popover-arrow-size);height:var(--rnf-notification-feed-popover-arrow-size)}.rnf-notification-feed-popover__arrow:after{content:" ";display:block;background-color:var(--rnf-notification-feed-popover-bg-color);box-shadow:-1px -1px 1px var(--rnf-notification-feed-popover-shadow-color);position:absolute;top:-5px;left:0;transform:rotate(45deg);width:var(--rnf-notification-feed-popover-arrow-size);height:var(--rnf-notification-feed-popover-arrow-size)}.rnf-notification-feed-popover--dark{--rnf-notification-feed-popover-shadow-color: rgba(0, 0, 0, .2)}:root{--rnf-unseen-badge-bg-color: #eb5757;--rnf-unseen-badge-size: 16px;--rnf-unseed-badge-font-size: 9px}.rnf-unseen-badge{background-color:var(--rnf-unseen-badge-bg-color);width:var(--rnf-unseen-badge-size);height:var(--rnf-unseen-badge-size);border-radius:var(--rnf-unseen-badge-size);position:absolute;display:flex;align-items:center;justify-content:center;top:0;right:0}.rnf-unseen-badge__count{font-size:var(--rnf-unseed-badge-font-size);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-white);margin-top:-1px}.rnf-unseen-badge--dark{--rnf-unseen-badge-bg-color: #ef3434}:root{--rnf-notification-icon-button-size: 32px;--rnf-notification-icon-button-bg-color: transparent}.rnf-notification-icon-button{background-color:var(--rnf-notification-icon-button-bg-color);border:none;position:relative;display:block;margin:0;padding:0;cursor:pointer;width:var(--rnf-notification-icon-button-size);height:var(--rnf-notification-icon-button-size);color:inherit}.rnf-notification-icon-button svg{display:block;margin:0 auto}.rnf-notification-icon-button--dark{color:#fff}.knock-guide-banner{display:flex;align-items:center;justify-content:space-between;background:var(--knock-guide-surface);padding:var(--knock-spacing-4) var(--knock-spacing-6);border-radius:var(--knock-rounded-4);border:.5px solid var(--knock-guide-border);box-shadow:var(--knock-shadow-2);gap:var(--knock-spacing-4)}.knock-guide-banner__message{min-width:var(--knock-spacing-96)}.knock-guide-banner__title{color:var(--knock-guide-content);font-size:var(--knock-text-4);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-4)}.knock-guide-banner__body{color:var(--knock-guide-content-light);font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3)}.knock-guide-banner__body>:first-child{margin-top:0}.knock-guide-banner__body>:last-child{margin-bottom:0}.knock-guide-banner__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--knock-spacing-3)}.knock-guide-banner__action{text-decoration:none;font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3);border-radius:var(--knock-rounded-3);padding:0 var(--knock-spacing-4);box-sizing:border-box;height:var(--knock-spacing-10);display:flex;align-items:center;justify-content:center;border:.5px solid var(--knock-guide-accent);background:var(--knock-guide-accent);color:var(--knock-guide-content-contrast);cursor:pointer}.knock-guide-banner__action--secondary{border-color:var(--knock-guide-border-dark);background:var(--knock-guide-surface);color:var(--knock-guide-content)}.knock-guide-banner__close{padding:var(--knock-spacing-3);border:none;background:none;line-height:0;cursor:pointer}.knock-guide-card{background:var(--knock-guide-surface);padding:var(--knock-spacing-4);border-radius:var(--knock-rounded-2);border:.5px solid var(--knock-guide-border);display:flex;flex-direction:column;gap:var(--knock-spacing-4);max-width:var(--knock-spacing-96)}.knock-guide-card__header{display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:var(--knock-spacing-2)}.knock-guide-card__headline{color:var(--knock-guide-accent-dark);font-size:var(--knock-text-1);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-1);letter-spacing:var(--knock-tracking-1)}.knock-guide-card__message{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}.knock-guide-card__title{color:var(--knock-guide-content);font-size:var(--knock-text-4);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-4)}.knock-guide-card__body{color:var(--knock-guide-content-light);font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3)}.knock-guide-card__body>:first-child{margin-top:0}.knock-guide-card__body>:last-child{margin-bottom:0}.knock-guide-card__img{display:block;max-width:100%;height:auto}.knock-guide-card__actions{display:flex;align-items:center;gap:var(--knock-spacing-3)}.knock-guide-card__action{text-decoration:none;font-size:var(--knock-text-3);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-3);border-radius:var(--knock-rounded-3);padding:0 var(--knock-spacing-4);box-sizing:border-box;height:var(--knock-spacing-10);display:flex;align-items:center;justify-content:center;border:.5px solid var(--knock-guide-accent);background:var(--knock-guide-accent);color:var(--knock-guide-content-contrast);cursor:pointer}.knock-guide-card__action--secondary{border-color:var(--knock-guide-border-dark);background:var(--knock-guide-surface);color:var(--knock-guide-content)}.knock-guide-card__close{padding:var(--knock-spacing-3);border:none;background:none;line-height:0;cursor:pointer}[data-tgph-toggle-switch]{position:relative;cursor:pointer;transition:background-color .2s ease-in-out;flex-shrink:0}:has([data-tgph-toggle-input]:focus-visible) [data-tgph-toggle-switch]{outline:2px solid var(--tgph-blue-8);outline-offset:2px}[data-tgph-toggle-icon]{transition:transform .2s ease-in-out}[data-tgph-toggle-switch][data-tgph-toggle-checked=true] [data-tgph-toggle-icon]{transform:translate(calc(100% - var(--tgph-spacing-1)))}[data-tgph-toggle-label]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-tgph-toggle-label][data-tgph-toggle-disabled=true]{cursor:not-allowed;color:var(--tgph-gray-9)}[data-tgph-toggle-switch][data-tgph-toggle-checked=false]:not([data-tgph-button-state=disabled]){background-color:var(--tgph-gray-7)!important}@telegraph tokens;@telegraph components;@keyframes toolbar-collapse-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes toolbar-expand-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.knock-guide-modal{font-family:var(--knock-family-sans);background:var(--knock-guide-surface);padding:var(--knock-spacing-4) var(--knock-spacing-6) var(--knock-spacing-6);border-radius:var(--knock-rounded-4);border:.5px solid var(--knock-guide-border);box-shadow:var(--knock-shadow-3);max-width:var(--knock-spacing-96);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-height:calc(100vh - var(--knock-spacing-32));max-width:min(100vw - var(--knock-spacing-8),var(--knock-spacing-140))}.knock-guide-modal__overlay{background-color:var(--knock-alpha-black-6);position:fixed;top:0;right:0;bottom:0;left:0}.knock-guide-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--knock-spacing-2);padding-bottom:var(--knock-spacing-1)}.knock-guide-modal__title{color:var(--knock-guide-content);font-size:var(--knock-text-4);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-4);margin:0}.knock-guide-modal__body{color:var(--knock-guide-content-light);font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3);margin:0}.knock-guide-modal__body>:first-child{margin-top:0}.knock-guide-modal__body>:last-child{margin-bottom:0}.knock-guide-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--knock-spacing-3);margin-top:var(--knock-spacing-4)}.knock-guide-modal__img{display:block;margin-top:var(--knock-spacing-4);max-width:100%;height:auto}.knock-guide-modal__action{text-decoration:none;text-align:center;font-size:var(--knock-text-3);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-3);border-radius:var(--knock-rounded-3);padding:0 var(--knock-spacing-4);box-sizing:border-box;height:var(--knock-spacing-10);display:flex;align-items:center;justify-content:center;border:.5px solid var(--knock-guide-accent);background:var(--knock-guide-accent);color:var(--knock-guide-content-contrast);width:100%;cursor:pointer}.knock-guide-modal__action--secondary{border-color:var(--knock-guide-border-dark);background:var(--knock-guide-surface);color:var(--knock-guide-content)}.knock-guide-modal__close{padding:var(--knock-spacing-3);border:none;background:none;line-height:0;cursor:pointer}:root{--tgph-border-style-solid:solid;--tgph-border-style-dashed:dashed;--tgph-transparent:transparent;--tgph-white:#fff;--tgph-black:#000;--tgph-alpha-white-1:#ffffff0d;--tgph-alpha-white-2:#ffffff1a;--tgph-alpha-white-3:#ffffff26;--tgph-alpha-white-4:#fff3;--tgph-alpha-white-5:#ffffff4d;--tgph-alpha-white-6:#fff6;--tgph-alpha-white-7:#ffffff80;--tgph-alpha-white-8:#fff9;--tgph-alpha-white-9:#ffffffb3;--tgph-alpha-white-10:#fffc;--tgph-alpha-white-11:#ffffffe6;--tgph-alpha-white-12:#fffffff2;--tgph-alpha-black-1:#0000000d;--tgph-alpha-black-2:#0000001a;--tgph-alpha-black-3:#00000026;--tgph-alpha-black-4:#0003;--tgph-alpha-black-5:#0000004d;--tgph-alpha-black-6:#0006;--tgph-alpha-black-7:#00000080;--tgph-alpha-black-8:#0009;--tgph-alpha-black-9:#000000b3;--tgph-alpha-black-10:#000c;--tgph-alpha-black-11:#000000e6;--tgph-alpha-black-12:#000000f2;--tgph-rounded-0:0px;--tgph-rounded-1:.125rem;--tgph-rounded-2:.25rem;--tgph-rounded-3:.375rem;--tgph-rounded-4:.5rem;--tgph-rounded-5:.75rem;--tgph-rounded-6:1rem;--tgph-rounded-full:9999px;--tgph-shadow-0:0px 0px 0px 0px #0000;--tgph-shadow-1:0px 5px 2px 0px #1c202403, 0px 3px 2px 0px #1c202408, 0px 1px 1px 0px #1c20240d, 0px 0px 1px 0px #1c20240f;--tgph-shadow-2:0px 16px 7px 0px #1c202403, 0px 9px 6px 0px #1c202408, 0px 4px 4px 0px #1c20240d, 0px 1px 2px 0px #1c20240f;--tgph-shadow-3:0px 29px 12px 0px #1c202403, 0px 16px 10px 0px #1c202408, 0px 7px 7px 0px #1c20240d, 0px 2px 4px 0px #1c20240f;--tgph-shadow-inner:0px 5px 2px 0px #1c202403 inset, 0px 3px 2px 0px #1c202408 inset, 0px 1px 1px 0px #1c20240d inset, 0px 0px 1px 0px #1c20240f inset;--tgph-spacing-0:0px;--tgph-spacing-1:.25rem;--tgph-spacing-2:.5rem;--tgph-spacing-3:.75rem;--tgph-spacing-4:1rem;--tgph-spacing-5:1.25rem;--tgph-spacing-6:1.5rem;--tgph-spacing-7:1.75rem;--tgph-spacing-8:2rem;--tgph-spacing-9:2.25rem;--tgph-spacing-10:2.5rem;--tgph-spacing-11:2.75rem;--tgph-spacing-12:3rem;--tgph-spacing-14:3.5rem;--tgph-spacing-16:4rem;--tgph-spacing-20:5rem;--tgph-spacing-24:6rem;--tgph-spacing-28:7rem;--tgph-spacing-32:8rem;--tgph-spacing-36:9rem;--tgph-spacing-40:10rem;--tgph-spacing-44:11rem;--tgph-spacing-48:12rem;--tgph-spacing-52:13rem;--tgph-spacing-56:14rem;--tgph-spacing-60:15rem;--tgph-spacing-64:16rem;--tgph-spacing-72:18rem;--tgph-spacing-80:20rem;--tgph-spacing-96:24rem;--tgph-spacing-120:30rem;--tgph-spacing-140:35rem;--tgph-spacing-160:40rem;--tgph-spacing-px:1px;--tgph-spacing-0_5:.125rem;--tgph-spacing-1_5:.375rem;--tgph-spacing-2_5:.625rem;--tgph-spacing-3_5:.875rem;--tgph-spacing-full:100%;--tgph-spacing-auto:auto;--tgph-family-sans:Inter, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;--tgph-family-mono:Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;--tgph-leading-0:1rem;--tgph-leading-1:1rem;--tgph-leading-2:1.25rem;--tgph-leading-3:1.5rem;--tgph-leading-4:1.5rem;--tgph-leading-5:1.75rem;--tgph-leading-6:2rem;--tgph-leading-7:2.25rem;--tgph-leading-8:2.5rem;--tgph-leading-9:3.5rem;--tgph-leading-code-0:1rem;--tgph-leading-code-1:1rem;--tgph-leading-code-2:1.25rem;--tgph-leading-code-3:1.5rem;--tgph-leading-code-4:1.75rem;--tgph-leading-code-5:1.75rem;--tgph-leading-code-6:2rem;--tgph-leading-code-7:2.25rem;--tgph-leading-code-8:2.5rem;--tgph-leading-code-9:3rem;--tgph-tracking-0:.25%;--tgph-tracking-1:.25%;--tgph-tracking-2:0;--tgph-tracking-3:0;--tgph-tracking-4:-.25%;--tgph-tracking-5:-.5%;--tgph-tracking-6:-.625%;--tgph-tracking-7:-.75%;--tgph-tracking-8:-1%;--tgph-tracking-9:-2.5%;--tgph-text-0:.6875rem;--tgph-text-1:.75rem;--tgph-text-2:.8125rem;--tgph-text-3:.9375rem;--tgph-text-4:1.125rem;--tgph-text-5:1.25rem;--tgph-text-6:1.5rem;--tgph-text-7:1.875rem;--tgph-text-8:2.25rem;--tgph-text-9:3rem;--tgph-text-code-0:.625rem;--tgph-text-code-1:.688rem;--tgph-text-code-2:.812rem;--tgph-text-code-4:1.062rem;--tgph-text-code-5:1.188rem;--tgph-text-code-6:1.438rem;--tgph-text-code-7:1.75rem;--tgph-text-code-8:2.125rem;--tgph-text-code-9:2.875rem;--tgph-weight-regular:400;--tgph-weight-medium:500;--tgph-weight-semi-bold:600;--tgph-breakpoint-sm:640px;--tgph-breakpoint-md:768px;--tgph-breakpoint-lg:1024px;--tgph-breakpoint-xl:1280px;--tgph-breakpoint-2xl:1536px;--tgph-zIndex-hidden:-1;--tgph-zIndex-base:0;--tgph-zIndex-auto:auto;--tgph-zIndex-dropdown:1000;--tgph-zIndex-sticky:1100;--tgph-zIndex-banner:1200;--tgph-zIndex-overlay:1300;--tgph-zIndex-modal:1400;--tgph-zIndex-popover:1500;--tgph-zIndex-skipLink:1600;--tgph-zIndex-toast:1700;--tgph-zIndex-tooltip:1800;--tgph-surface-1:#fff;--tgph-surface-2:#fdfdfc;--tgph-surface-3:#fff;--tgph-gray-1:#fcfcfd;--tgph-gray-2:#f9f9fb;--tgph-gray-3:#eff0f3;--tgph-gray-4:#e6e8eb;--tgph-gray-5:#dfe2e5;--tgph-gray-6:#d7dadf;--tgph-gray-7:#cbcfd5;--tgph-gray-8:#b6bcc4;--tgph-gray-9:#888e95;--tgph-gray-10:#7e848a;--tgph-gray-11:#60646a;--tgph-gray-12:#1d2023;--tgph-beige-1:#fdfdfc;--tgph-beige-2:#f9f9f8;--tgph-beige-3:#f0f0ef;--tgph-beige-4:#e9e8e7;--tgph-beige-5:#e2e1df;--tgph-beige-6:#dad9d7;--tgph-beige-7:#cfcecc;--tgph-beige-8:#bcbbb8;--tgph-beige-9:#8e8c8a;--tgph-beige-10:#83827f;--tgph-beige-11:#646360;--tgph-beige-12:#21201e;--tgph-accent-1:#fffcfb;--tgph-accent-2:#fff5f2;--tgph-accent-3:#ffe9e2;--tgph-accent-4:#ffd6cb;--tgph-accent-5:#ffc8ba;--tgph-accent-6:#ffb7a6;--tgph-accent-7:#ffa28f;--tgph-accent-8:#f88872;--tgph-accent-9:#ff573a;--tgph-accent-10:#f2472a;--tgph-accent-11:#db3619;--tgph-accent-12:#5c291f;--tgph-green-1:#fbfefc;--tgph-green-2:#f4fbf7;--tgph-green-3:#e4f7ec;--tgph-green-4:#d3f1e0;--tgph-green-5:#bfead2;--tgph-green-6:#a7dfc1;--tgph-green-7:#86d0aa;--tgph-green-8:#4fba8a;--tgph-green-9:#00aa72;--tgph-green-10:#009c68;--tgph-green-11:#00834f;--tgph-green-12:#183b2b;--tgph-yellow-1:#fefdfb;--tgph-yellow-2:#fefbe9;--tgph-yellow-3:#fff7c2;--tgph-yellow-4:#ffee9c;--tgph-yellow-5:#fbe577;--tgph-yellow-6:#f3d673;--tgph-yellow-7:#e9c162;--tgph-yellow-8:#f3d673;--tgph-yellow-9:#ffc53d;--tgph-yellow-10:#ffba18;--tgph-yellow-11:#ab6400;--tgph-yellow-12:#4f3422;--tgph-blue-1:#fcfdff;--tgph-blue-2:#f6f9ff;--tgph-blue-3:#ebf2ff;--tgph-blue-4:#deebff;--tgph-blue-5:#cee0ff;--tgph-blue-6:#bbd3ff;--tgph-blue-7:#a3c1fb;--tgph-blue-8:#81a8f6;--tgph-blue-9:#4a82ff;--tgph-blue-10:#4276ec;--tgph-blue-11:#3569e0;--tgph-blue-12:#193065;--tgph-red-1:#fffcfc;--tgph-red-2:#fff7f7;--tgph-red-3:#ffe9e9;--tgph-red-4:#ffdadb;--tgph-red-5:#ffcbcd;--tgph-red-6:#ffbbbe;--tgph-red-7:#faa7ab;--tgph-red-8:#f28b92;--tgph-red-9:#e9004a;--tgph-red-10:#d9003d;--tgph-red-11:#d9003e;--tgph-red-12:#6c041f;--tgph-purple-1:#fcfcff;--tgph-purple-2:#f8f8ff;--tgph-purple-3:#f1f1ff;--tgph-purple-4:#e6e6ff;--tgph-purple-5:#dadaff;--tgph-purple-6:#cccbff;--tgph-purple-7:#b9b6ff;--tgph-purple-8:#9f99fc;--tgph-purple-9:#6547de;--tgph-purple-10:#583dc4;--tgph-purple-11:#6148d0;--tgph-purple-12:#2e2269}[data-tgph-appearance=dark]{--tgph-surface-1:#18191b;--tgph-surface-2:#101112;--tgph-surface-3:#101112;--tgph-gray-1:#101112;--tgph-gray-2:#18191b;--tgph-gray-3:#212325;--tgph-gray-4:#282a2d;--tgph-gray-5:#2f3235;--tgph-gray-6:#383b3e;--tgph-gray-7:#45484d;--tgph-gray-8:#5c6268;--tgph-gray-9:#6a6f76;--tgph-gray-10:#777d84;--tgph-gray-11:#afb5bb;--tgph-gray-12:#edeeef;--tgph-beige-1:#12110f;--tgph-beige-2:#191817;--tgph-beige-3:#232220;--tgph-beige-4:#2a2927;--tgph-beige-5:#31302e;--tgph-beige-6:#3b3937;--tgph-beige-7:#484745;--tgph-beige-8:#61605d;--tgph-beige-9:#6e6d6a;--tgph-beige-10:#7c7a78;--tgph-beige-11:#b4b3b0;--tgph-beige-12:#eeedeb;--tgph-accent-1:#160f0d;--tgph-accent-2:#201412;--tgph-accent-3:#3b140d;--tgph-accent-4:#530e04;--tgph-accent-5:#631507;--tgph-accent-6:#742315;--tgph-accent-7:#8d3323;--tgph-accent-8:#b5432f;--tgph-accent-9:#ff573a;--tgph-accent-10:#f1492d;--tgph-accent-11:#ff917a;--tgph-accent-12:#ffd1c7;--tgph-green-1:#0c130f;--tgph-green-2:#111b16;--tgph-green-3:#112d20;--tgph-green-4:#0c3c28;--tgph-green-5:#104a32;--tgph-green-6:#18583d;--tgph-green-7:#1e6949;--tgph-green-8:#217d57;--tgph-green-9:#00aa72;--tgph-green-10:#009d66;--tgph-green-11:#4dd399;--tgph-green-12:#aaf3cc;--tgph-yellow-1:#16120c;--tgph-yellow-2:#1d180f;--tgph-yellow-3:#302008;--tgph-yellow-4:#3f2700;--tgph-yellow-5:#4d3000;--tgph-yellow-6:#5c3d05;--tgph-yellow-7:#714f19;--tgph-yellow-8:#8f6424;--tgph-yellow-9:#ffc53d;--tgph-yellow-10:#ffd60a;--tgph-yellow-11:#ffca16;--tgph-yellow-12:#ffe7b3;--tgph-blue-1:#0b111c;--tgph-blue-2:#111826;--tgph-blue-3:#152548;--tgph-blue-4:#172e63;--tgph-blue-5:#1f3a76;--tgph-blue-6:#294787;--tgph-blue-7:#35569d;--tgph-blue-8:#3f66bb;--tgph-blue-9:#4a82ff;--tgph-blue-10:#3e75f1;--tgph-blue-11:#89b3ff;--tgph-blue-12:#d1e1ff;--tgph-red-1:#180e0f;--tgph-red-2:#201314;--tgph-red-3:#3f0f15;--tgph-red-4:#550517;--tgph-red-5:#670a1f;--tgph-red-6:#79182a;--tgph-red-7:#932738;--tgph-red-8:#c1334a;--tgph-red-9:#e9004a;--tgph-red-10:#c3354c;--tgph-red-11:#ff8e98;--tgph-red-12:#ffcfd1;--tgph-purple-1:#100f1d;--tgph-purple-2:#161528;--tgph-purple-3:#241e4b;--tgph-purple-4:#2e2368;--tgph-purple-5:#382c77;--tgph-purple-6:#423786;--tgph-purple-7:#4f449c;--tgph-purple-8:#6153bd;--tgph-purple-9:#6547de;--tgph-purple-10:#5936cd;--tgph-purple-11:#aea8ff;--tgph-purple-12:#dedeff}.tgph-text,.tgph-heading,.tgph-code{--color: var(--tgph-gray-12);--font-size: var(--tgph-text-2);--weight: var(--tgph-weight-regular);--leading: var(--tgph-leading-2);--tracking: var(--tgph-tracking-2);--text-align: left;--font-family: var(--tgph-family-sans);--text-overflow: clip;color:var(--color);font-size:var(--font-size);font-weight:var(--weight);line-height:var(--leading);letter-spacing:var(--tracking);text-align:var(--text-align);box-sizing:border-box;font-family:var(--font-family);text-overflow:var(--text-overflow)}.tgph-button{--tgph-button-text-color: none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;font-family:inherit;transition:background-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out;text-decoration:none}.tgph-button [data-button-text],.tgph-button [data-button-icon]{transition:color .2s ease-in-out}.tgph-button:not([data-tgph-button-state=disabled]):hover [data-button-text]{--color: var( --hover--tgph-button-text-color, var(--tgph-button-text-color) ) !important}.tgph-button:not([data-tgph-button-state=disabled]):hover [data-button-icon]{--color: var( --hover--tgph-button-text-color, var(--tgph-button-text-color) ) !important}.tgph-button[data-tgph-button-state=active]{box-shadow:var(--active--box-shadow, var(--box-shadow));background-color:var(--active--background-color, var(--background-color))}.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=solid],.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=soft],.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=outline]{background-color:var(--tgph-gray-3)}.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=ghost]{background-color:var(--tgph-transparent)}.tgph-button:disabled{cursor:not-allowed}.tgph-button[data-tgph-button-state=disabled]:hover{background-color:revert}.tgph-icon{display:inline-block}.tgph-icon[data-tgph-icon-animation=spin]{animation:tgph-icon-spin 1s infinite linear}@keyframes tgph-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tgph-box{--background-color: none;--border-color: var(--tgph-gray-5);--box-shadow: none;--border-style: solid;--border-width: 0;--padding: 0;--margin: 0;--border-radius: 0;--width: auto;--max-width: auto;--min-width: auto;--height: auto;--max-height: auto;--min-height: auto;--z-index: auto;--position: static;--top: auto;--left: auto;--right: auto;--bottom: auto;--overflow: visible visible;--align-self: auto;background-color:var(--background-color);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);box-shadow:var(--box-shadow);padding:var(--padding);margin:var(--margin);border-radius:var(--border-radius);width:var(--width);max-width:var(--max-width);min-width:var(--min-width);height:var(--height);max-height:var(--max-height);min-height:var(--min-height);z-index:var(--z-index);position:var(--position);top:var(--top);left:var(--left);right:var(--right);bottom:var(--bottom);overflow:var(--overflow);align-self:var(--align-self)}.tgph-box--interactive:hover{background-color:var(--hover--background-color, var(--background-color));border-width:var(--hover--border-width, var(--border-width));border-style:var(--hover--border-style, var(--border-style));border-color:var(--hover--border-color, var(--border-color));box-shadow:var(--hover--box-shadow, var(--box-shadow));padding:var(--hover--padding, var(--padding));margin:var(--hover--margin, var(--margin));border-radius:var(--hover--border-radius, var(--border-radius));width:var(--hover--width, var(--width));max-width:var(--hover--max-width, var(--max-width));min-width:var(--hover--min-width, var(--min-width));height:var(--hover--height, var(--height));max-height:var(--hover--max-height, var(--max-height));min-height:var(--hover--min-height, var(--min-height));z-index:var(--hover--z-index, var(--z-index));position:var(--hover--position, var(--position));top:var(--hover--top, var(--top));left:var(--hover--left, var(--left));right:var(--hover--right, var(--right));bottom:var(--hover--bottom, var(--bottom));overflow:var(--hover--overflow, var(--overflow));align-self:var(--hover--align-self, var(--align-self))}.tgph-box--interactive:focus-visible{background-color:var(--focus--background-color, var(--background-color));border-width:var(--focus--border-width, var(--border-width));border-style:var(--focus--border-style, var(--border-style));border-color:var(--focus--border-color, var(--border-color));box-shadow:var(--focus--box-shadow, var(--box-shadow));padding:var(--focus--padding, var(--padding));margin:var(--focus--margin, var(--margin));border-radius:var(--focus--border-radius, var(--border-radius));width:var(--focus--width, var(--width));max-width:var(--focus--max-width, var(--max-width));min-width:var(--focus--min-width, var(--min-width));height:var(--focus--height, var(--height));max-height:var(--focus--max-height, var(--max-height));min-height:var(--focus--min-height, var(--min-height));z-index:var(--focus--z-index, var(--z-index));position:var(--focus--position, var(--position));top:var(--focus--top, var(--top));left:var(--focus--left, var(--left));right:var(--focus--right, var(--right));bottom:var(--focus--bottom, var(--bottom));overflow:var(--focus--overflow, var(--overflow));align-self:var(--focus--align-self, var(--align-self))}.tgph-box--interactive:active{background-color:var(--active--background-color, var(--background-color));border-width:var(--active--border-width, var(--border-width));border-style:var(--active--border-style, var(--border-style));border-color:var(--active--border-color, var(--border-color));box-shadow:var(--active--box-shadow, var(--box-shadow));padding:var(--active--padding, var(--padding));margin:var(--active--margin, var(--margin));border-radius:var(--active--border-radius, var(--border-radius));width:var(--active--width, var(--width));max-width:var(--active--max-width, var(--max-width));min-width:var(--active--min-width, var(--min-width));height:var(--active--height, var(--height));max-height:var(--active--max-height, var(--max-height));min-height:var(--active--min-height, var(--min-height));z-index:var(--active--z-index, var(--z-index));position:var(--active--position, var(--position));top:var(--active--top, var(--top));left:var(--active--left, var(--left));right:var(--active--right, var(--right));bottom:var(--active--bottom, var(--bottom));overflow:var(--active--overflow, var(--overflow));align-self:var(--active--align-self, var(--align-self))}.tgph-box--interactive:has(:focus-within){background-color:var(--focus-within--background-color, var(--background-color));border-width:var(--focus-within--border-width, var(--border-width));border-style:var(--focus-within--border-style, var(--border-style));border-color:var(--focus-within--border-color, var(--border-color));box-shadow:var(--focus-within--box-shadow, var(--box-shadow));padding:var(--focus-within--padding, var(--padding));margin:var(--focus-within--margin, var(--margin));border-radius:var(--focus-within--border-radius, var(--border-radius));width:var(--focus-within--width, var(--width));max-width:var(--focus-within--max-width, var(--max-width));min-width:var(--focus-within--min-width, var(--min-width));height:var(--focus-within--height, var(--height));max-height:var(--focus-within--max-height, var(--max-height));min-height:var(--focus-within--min-height, var(--min-height));z-index:var(--focus-within--z-index, var(--z-index));position:var(--focus-within--position, var(--position));top:var(--focus-within--top, var(--top));left:var(--focus-within--left, var(--left));right:var(--focus-within--right, var(--right));bottom:var(--focus-within--bottom, var(--bottom));overflow:var(--focus-within--overflow, var(--overflow));align-self:var(--focus-within--align-self, var(--align-self))}.tgph-box--interactive:disabled,.tgph-box--interactive[aria-disabled=true]{background-color:var(--disabled--background-color, var(--background-color));border-width:var(--disabled--border-width, var(--border-width));border-style:var(--disabled--border-style, var(--border-style));border-color:var(--disabled--border-color, var(--border-color));box-shadow:var(--disabled--box-shadow, var(--box-shadow));padding:var(--disabled--padding, var(--padding));margin:var(--disabled--margin, var(--margin));border-radius:var(--disabled--border-radius, var(--border-radius));width:var(--disabled--width, var(--width));max-width:var(--disabled--max-width, var(--max-width));min-width:var(--disabled--min-width, var(--min-width));height:var(--disabled--height, var(--height));max-height:var(--disabled--max-height, var(--max-height));min-height:var(--disabled--min-height, var(--min-height));z-index:var(--disabled--z-index, var(--z-index));position:var(--disabled--position, var(--position));top:var(--disabled--top, var(--top));left:var(--disabled--left, var(--left));right:var(--disabled--right, var(--right));bottom:var(--disabled--bottom, var(--bottom));overflow:var(--disabled--overflow, var(--overflow));align-self:var(--disabled--align-self, var(--align-self))}.tgph-stack{--display: flex;--direction: row;--wrap: nowrap;--justify: flex-start;--align: stretch;--gap: 0;display:var(--display);flex-direction:var(--direction);flex-wrap:var(--wrap);justify-content:var(--justify);align-items:var(--align);gap:var(--gap)}[data-tgph-input-container]{box-sizing:border-box}[data-tgph-input-slot]{box-sizing:border-box;order:2}[data-tgph-input-slot]>[data-tgph-button]{width:var(--tgph-spacing-full);height:var(--tgph-spacing-auto)}[data-tgph-input-slot]>[data-tgph-button-layout=icon-only]{aspect-ratio:1;padding:var(--tgph-spacing-0)}[data-tgph-input-slot]>[data-tgph-button-layout=default]{padding:var(--tgph-spacing-2)}[data-tgph-input-slot]:has([data-tgph-button-layout=icon-only]){aspect-ratio:1}[data-tgph-input-slot]:has([data-tgph-button-layout=icon-only]){padding:var(--tgph-spacing-1)!important}[data-tgph-input-slot-position=leading]{order:1}[data-tgph-input-slot-position=trailing]{order:3}[data-tgph-input-slot-size="1"]>[data-tgph-button]{border-radius:var(--tgph-rounded-1)}[data-tgph-input-slot-size="2"]>[data-tgph-button]{border-radius:var(--tgph-rounded-1)}[data-tgph-input-slot-size="3"]>[data-tgph-button]{border-radius:var(--tgph-rounded-2)}[data-tgph-input-container-state=disabled]{cursor:not-allowed}[data-tgph-input-field]{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:none;box-shadow:none;order:2;font-family:inherit}:root{--rtk-font-size-xs: .75rem;--rtk-font-size-sm: .875rem;--rtk-font-size-md: 1rem;--rtk-font-size-lg: 1.125rem;--rtk-font-size-xl: 1.266rem;--rtk-font-size-2xl: 1.5rem;--rtk-font-size-3xl: 1.75rem;--rtk-spacing-0: 0rem;--rtk-spacing-1: .25rem;--rtk-spacing-2: .5rem;--rtk-spacing-3: .75rem;--rtk-spacing-4: 1rem;--rtk-spacing-5: 1.25rem;--rtk-spacing-6: 1.5rem;--rtk-spacing-7: 2rem;--rtk-font-weight-normal: 400;--rtk-font-weight-medium: 500;--rtk-font-weight-semibold: 600;--rtk-font-weight-bold: 700;--rtk-font-family-sanserif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--rtk-border-radius-sm: 2px;--rtk-border-radius-md: 4px;--rtk-border-radius-lg: 8px;--rtk-button-border-radius: 6px;--rtk-color-white: #fff;--rtk-color-white-a-75: rgba(255, 255, 255, .75);--rtk-color-black: #000;--rtk-color-gray-900: #1a1f36;--rtk-color-gray-800: #3c4257;--rtk-color-gray-700: #3c4257;--rtk-color-gray-600: #515669;--rtk-color-gray-500: #697386;--rtk-color-gray-400: #9ea0aa;--rtk-color-gray-300: #a5acb8;--rtk-color-gray-200: #dddee1;--rtk-color-gray-100: #e4e8ee;--rtk-color-brand-500: #e95744;--rtk-color-brand-700: #e4321b;--rtk-color-brand-900: #891e10;--rtk-button-hover-color: rgba(247, 247, 248, 1)}:root{--rtk-connected-color: rgba(51, 163, 102, 1);--rtk-disconnect-border-color: rgba(230, 71, 51, 1);--rtk-disconnect-background-color: rgba(255, 245, 245, 1);--rtk-error-red: rgba(205, 123, 46, 1)}.rtk-connect__button{background-color:var(--rtk-color-white);border:1px solid var(--rtk-color-gray-200);border-radius:var(--rtk-button-border-radius);box-sizing:border-box;color:var(--rtk-color-black);cursor:pointer;display:inline-flex;font-family:var(--rtk-font-family-sanserif);font-size:var(--rtk-font-size-sm);font-weight:var(--rtk-font-weight-normal);gap:var(--rtk-spacing-2);padding:var(--rtk-spacing-1) var(--rtk-spacing-2);text-decoration:none;text-overflow:ellipsis;text-wrap:nowrap;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.rtk-connect__button--connected{border-color:var(--rtk-connected-color);color:var(--rtk-connected-color);width:120px}.rtk-connect__button--error{border-color:var(--rtk-error-red);color:var(--rtk-error-red)}.rtk-connect__button--loading{border-color:var(--rtk-color-gray-100);color:var(--rtk-color-gray-400);pointer-events:none}.rtk-connect__button--disconnected:hover{background-color:var(--rtk-button-hover-color)}.rtk-connect__button--connected:hover,.rtk-connect__button__text--connected:hover{background-color:var(--rtk-disconnect-background-color);border-color:var(--rtk-disconnect-border-color);color:var(--rtk-disconnect-border-color)}.rtk-connect__button--error:hover,.rtk-connect__button__text--error:hover{border-color:var(--rtk-color-black);color:var(--rtk-color-black)}.rtk-connect__button:active{transform:translate(1px,1px)}.rtk-auth{background:var(--rtk-color-white);border:1px solid var(--rtk-color-gray-100);border-radius:var(--rtk-border-radius-lg);font-family:var(--rtk-font-family-sanserif);font-size:var(--rtk-font-size-sm);font-weight:var(--rtk-font-weight-normal);padding:var(--rtk-spacing-5)}.rtk-auth__header{display:flex;flex-direction:row;justify-content:space-between}.rtk-auth__title{color:#1a1f36;font-size:var(--rtk-font-size-md);line-height:var(--rtk-spacing-5);margin-top:var(--rtk-spacing-4)}.rtk-auth__description{color:#515669;font-size:var(--rtk-font-size-sm);line-height:var(--rtk-spacing-5)}.rtk-combobox__grid{width:352px;display:grid;grid-template-columns:min-content 1fr;align-items:center;font-size:var(--rtk-font-size-sm);font-family:var(--rtk-font-family-sanserif)}.rtk-combobox__search{font-family:var(--rtk-font-family-sanserif)!important}.rtk-combobox__error{grid-column:span 2;align-items:flex-start;background-color:var(--rtk-color-gray-100);border-radius:var(--rtk-border-radius-md);display:flex;gap:var(--rtk-spacing-1);padding:var(--rtk-spacing-2)}:root{--rsk-font-size-xs: .75rem;--rsk-font-size-sm: .875rem;--rsk-font-size-md: 1rem;--rsk-font-size-lg: 1.125rem;--rsk-font-size-xl: 1.266rem;--rsk-font-size-2xl: 1.5rem;--rsk-font-size-3xl: 1.75rem;--rsk-spacing-0: 0rem;--rsk-spacing-1: .25rem;--rsk-spacing-2: .5rem;--rsk-spacing-3: .75rem;--rsk-spacing-4: 1rem;--rsk-spacing-5: 1.25rem;--rsk-spacing-6: 1.5rem;--rsk-spacing-7: 2rem;--rsk-font-weight-normal: 400;--rsk-font-weight-medium: 500;--rsk-font-weight-semibold: 600;--rsk-font-weight-bold: 700;--rsk-font-family-sanserif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--rsk-border-radius-sm: 2px;--rsk-border-radius-md: 4px;--rsk-border-radius-lg: 8px;--rsk-button-border-radius: 6px;--rsk-color-white: #fff;--rsk-color-white-a-75: rgba(255, 255, 255, .75);--rsk-color-black: #000;--rsk-color-gray-900: #1a1f36;--rsk-color-gray-800: #3c4257;--rsk-color-gray-700: #3c4257;--rsk-color-gray-600: #515669;--rsk-color-gray-500: #697386;--rsk-color-gray-400: #9ea0aa;--rsk-color-gray-300: #a5acb8;--rsk-color-gray-200: #dddee1;--rsk-color-gray-100: #e4e8ee;--rsk-color-brand-500: #e95744;--rsk-color-brand-700: #e4321b;--rsk-color-brand-900: #891e10;--rsk-button-hover-color: rgba(247, 247, 248, 1)}:root{--rsk-connected-color: rgba(51, 163, 102, 1);--rsk-disconnect-border-color: rgba(230, 71, 51, 1);--rsk-disconnect-background-color: rgba(255, 245, 245, 1);--rsk-error-red: rgba(205, 123, 46, 1)}.rsk-connect__button{background-color:var(--rsk-color-white);border:1px solid var(--rsk-color-gray-200);border-radius:var(--rsk-button-border-radius);box-sizing:border-box;color:var(--rsk-color-black);cursor:pointer;display:inline-flex;font-family:var(--rsk-font-family-sanserif);font-size:var(--rsk-font-size-sm);font-weight:var(--rsk-font-weight-normal);gap:var(--rsk-spacing-2);padding:var(--rsk-spacing-1) var(--rsk-spacing-2);text-decoration:none;text-overflow:ellipsis;text-wrap:nowrap;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.rsk-connect__button--connected{border-color:var(--rsk-connected-color);color:var(--rsk-connected-color);width:120px}.rsk-connect__button--error{border-color:var(--rsk-error-red);color:var(--rsk-error-red)}.rsk-connect__button--loading{border-color:var(--rsk-color-gray-100);color:var(--rsk-color-gray-400);pointer-events:none}.rsk-connect__button--disconnected:hover{background-color:var(--rsk-button-hover-color)}.rsk-connect__button--connected:hover,.rsk-connect__button__text--connected:hover{background-color:var(--rsk-disconnect-background-color);border-color:var(--rsk-disconnect-border-color);color:var(--rsk-disconnect-border-color)}.rsk-connect__button--error:hover,.rsk-connect__button__text--error:hover{border-color:var(--rsk-color-black);color:var(--rsk-color-black)}.rsk-connect__button:active{transform:translate(1px,1px)}.rsk-auth{background:var(--rsk-color-white);border:1px solid var(--rsk-color-gray-100);border-radius:var(--rsk-border-radius-lg);font-family:var(--rsk-font-family-sanserif);font-size:var(--rsk-font-size-sm);font-weight:var(--rsk-font-weight-normal);padding:var(--rsk-spacing-5)}.rsk-auth__header{display:flex;flex-direction:row;justify-content:space-between}.rsk-auth__title{color:#1a1f36;font-size:var(--rsk-font-size-md);line-height:var(--rsk-spacing-5);margin-top:var(--rsk-spacing-4)}.rsk-auth__description{color:#515669;font-size:var(--rsk-font-size-sm);line-height:var(--rsk-spacing-5)}.rsk-connect-channel{align-items:center;display:flex;gap:var(--rsk-spacing-1)}.rsk-connect-channel__input{border:1px solid var(--rsk-color-gray-200);border-radius:var(--rsk-border-radius-md);height:32px;padding-left:var(--rsk-spacing-2);width:270px}.rsk-connect-channel__button{background-color:var(--rsk-color-white);border-color:var(--rsk-color-gray-200);border-radius:var(--rsk-button-border-radius);color:var(--rsk-color-black);display:inline-flex;font-family:var(--rsk-font-family-sanserif);font-size:var(--rsk-font-size-sm);font-weight:var(--rsk-font-weight-normal);gap:var(--rsk-spacing-2);height:24px;padding:var(--rsk-spacing-2);text-decoration:none}.rsk-connect-channel__button:hover{background-color:var(--rsk-button-hover-color)}.rsk-combobox__grid{width:352px;display:grid;grid-template-columns:min-content 1fr;align-items:center;font-size:var(--rsk-font-size-sm);font-family:var(--rsk-font-family-sanserif)}.rsk-combobox__label{align-self:start;display:flex;align-items:center}.rsk-combobox__search{font-family:var(--rsk-font-family-sanserif)!important}.rsk-combobox__error{grid-column:span 2;align-items:flex-start;background-color:var(--rsk-color-gray-100);border-radius:var(--rsk-border-radius-md);display:flex;gap:var(--rsk-spacing-1);padding:var(--rsk-spacing-2)}
|
|
1
|
+
:root{--knock-border-style-solid: solid;--knock-border-style-dashed: dashed;--knock-transparent: transparent;--knock-white: #fff;--knock-black: #000;--knock-alpha-white-1: #ffffff0d;--knock-alpha-white-2: #ffffff1a;--knock-alpha-white-3: #ffffff26;--knock-alpha-white-4: #fff3;--knock-alpha-white-5: #ffffff4d;--knock-alpha-white-6: #fff6;--knock-alpha-white-7: #ffffff80;--knock-alpha-white-8: #fff9;--knock-alpha-white-9: #ffffffb3;--knock-alpha-white-10: #fffc;--knock-alpha-white-11: #ffffffe6;--knock-alpha-white-12: #fffffff2;--knock-alpha-black-1: #0000000d;--knock-alpha-black-2: #0000001a;--knock-alpha-black-3: #00000026;--knock-alpha-black-4: #0003;--knock-alpha-black-5: #0000004d;--knock-alpha-black-6: #0006;--knock-alpha-black-7: #00000080;--knock-alpha-black-8: #0009;--knock-alpha-black-9: #000000b3;--knock-alpha-black-10: #000c;--knock-alpha-black-11: #000000e6;--knock-alpha-black-12: #000000f2;--knock-rounded-0: 0px;--knock-rounded-1: .125rem;--knock-rounded-2: .25rem;--knock-rounded-3: .375rem;--knock-rounded-4: .5rem;--knock-rounded-5: .75rem;--knock-rounded-6: 1rem;--knock-rounded-full: 9999px;--knock-shadow-0: 0px 0px 0px 0px #0000;--knock-shadow-1: 0px 5px 2px 0px #1c202403, 0px 3px 2px 0px #1c202408, 0px 1px 1px 0px #1c20240d, 0px 0px 1px 0px #1c20240f;--knock-shadow-2: 0px 16px 7px 0px #1c202403, 0px 9px 6px 0px #1c202408, 0px 4px 4px 0px #1c20240d, 0px 1px 2px 0px #1c20240f;--knock-shadow-3: 0px 29px 12px 0px #1c202403, 0px 16px 10px 0px #1c202408, 0px 7px 7px 0px #1c20240d, 0px 2px 4px 0px #1c20240f;--knock-shadow-inner: 0px 5px 2px 0px #1c202403 inset, 0px 3px 2px 0px #1c202408 inset, 0px 1px 1px 0px #1c20240d inset, 0px 0px 1px 0px #1c20240f inset;--knock-spacing-0: 0px;--knock-spacing-1: .25rem;--knock-spacing-2: .5rem;--knock-spacing-3: .75rem;--knock-spacing-4: 1rem;--knock-spacing-5: 1.25rem;--knock-spacing-6: 1.5rem;--knock-spacing-7: 1.75rem;--knock-spacing-8: 2rem;--knock-spacing-9: 2.25rem;--knock-spacing-10: 2.5rem;--knock-spacing-11: 2.75rem;--knock-spacing-12: 3rem;--knock-spacing-14: 3.5rem;--knock-spacing-16: 4rem;--knock-spacing-20: 5rem;--knock-spacing-24: 6rem;--knock-spacing-28: 7rem;--knock-spacing-32: 8rem;--knock-spacing-36: 9rem;--knock-spacing-40: 10rem;--knock-spacing-44: 11rem;--knock-spacing-48: 12rem;--knock-spacing-52: 13rem;--knock-spacing-56: 14rem;--knock-spacing-60: 15rem;--knock-spacing-64: 16rem;--knock-spacing-72: 18rem;--knock-spacing-80: 20rem;--knock-spacing-96: 24rem;--knock-spacing-140: 35rem;--knock-spacing-160: 40rem;--knock-spacing-px: 1px;--knock-spacing-full: 100%;--knock-spacing-auto: auto;--knock-family-sans: Inter, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;--knock-family-mono: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;--knock-leading-0: 1rem;--knock-leading-1: 1rem;--knock-leading-2: 1.25rem;--knock-leading-3: 1.5rem;--knock-leading-4: 1.75rem;--knock-leading-5: 1.75rem;--knock-leading-6: 2rem;--knock-leading-7: 2.25rem;--knock-leading-8: 2.5rem;--knock-leading-9: 3.5rem;--knock-leading-code-0: 1rem;--knock-leading-code-1: 1rem;--knock-leading-code-2: 1.25rem;--knock-leading-code-3: 1.5rem;--knock-leading-code-4: 1.75rem;--knock-leading-code-5: 1.75rem;--knock-leading-code-6: 2rem;--knock-leading-code-7: 2.25rem;--knock-leading-code-8: 2.5rem;--knock-leading-code-9: 3rem;--knock-tracking-0: .25%;--knock-tracking-1: .25%;--knock-tracking-2: 0;--knock-tracking-3: 0;--knock-tracking-4: -.25%;--knock-tracking-5: -.5%;--knock-tracking-6: -.625%;--knock-tracking-7: -.75%;--knock-tracking-8: -1%;--knock-tracking-9: -2.5%;--knock-text-0: .6875rem;--knock-text-1: .75rem;--knock-text-2: .875rem;--knock-text-3: 1rem;--knock-text-4: 1.125rem;--knock-text-5: 1.25rem;--knock-text-6: 1.5rem;--knock-text-7: 1.875rem;--knock-text-8: 2.25rem;--knock-text-9: 3rem;--knock-text-code-0: .625rem;--knock-text-code-1: .688rem;--knock-text-code-2: .812rem;--knock-text-code-4: 1.062rem;--knock-text-code-5: 1.188rem;--knock-text-code-6: 1.438rem;--knock-text-code-7: 1.75rem;--knock-text-code-8: 2.125rem;--knock-text-code-9: 2.875rem;--knock-weight-regular: 400;--knock-weight-medium: 500;--knock-weight-semi-bold: 600;--knock-breakpoint-sm: 640px;--knock-breakpoint-md: 768px;--knock-breakpoint-lg: 1024px;--knock-breakpoint-xl: 1280px;--knock-breakpoint-2xl: 1536px;--knock-zIndex-hidden: -1;--knock-zIndex-base: 0;--knock-zIndex-auto: auto;--knock-zIndex-dropdown: 1000;--knock-zIndex-sticky: 1100;--knock-zIndex-banner: 1200;--knock-zIndex-overlay: 1300;--knock-zIndex-modal: 1400;--knock-zIndex-popover: 1500;--knock-zIndex-skipLink: 1600;--knock-zIndex-toast: 1700;--knock-zIndex-tooltip: 1800}[data-knock-color-mode=light]{--knock-surface-1: #fff;--knock-surface-2: #f9f9f8;--knock-gray-1: #fcfcfd;--knock-gray-2: #f9f9fb;--knock-gray-3: #f0f0f3;--knock-gray-4: #e8e8ec;--knock-gray-5: #e0e1e6;--knock-gray-6: #d9d9e0;--knock-gray-7: #cdced6;--knock-gray-8: #b9bbc6;--knock-gray-9: #8b8d98;--knock-gray-10: #80838d;--knock-gray-11: #60646c;--knock-gray-12: #1c2024;--knock-beige-1: #fdfdfc;--knock-beige-2: #f9f9f8;--knock-beige-3: #f1f0ef;--knock-beige-4: #e9e8e6;--knock-beige-5: #e2e1de;--knock-beige-6: #dad9d6;--knock-beige-7: #cfceca;--knock-beige-8: #bcbbb5;--knock-beige-9: #8d8d86;--knock-beige-10: #82827c;--knock-beige-11: #63635e;--knock-beige-12: #21201c;--knock-orange-1: #fffcfc;--knock-orange-2: #fff8f7;--knock-orange-3: #feebe7;--knock-orange-4: #ffdcd3;--knock-orange-5: #ffcdc2;--knock-orange-6: #fdbdaf;--knock-orange-7: #f5a898;--knock-orange-8: #ec8e7b;--knock-orange-9: #e54d2e;--knock-orange-10: #dd4425;--knock-orange-11: #d13415;--knock-orange-12: #5c271f;--knock-green-1: #fbfefd;--knock-green-2: #f4fbf7;--knock-green-3: #e6f7ed;--knock-green-4: #d6f1e3;--knock-green-5: #c3e9d7;--knock-green-6: #acdec8;--knock-green-7: #8bceb6;--knock-green-8: #56ba9f;--knock-green-9: #29a383;--knock-green-10: #26997b;--knock-green-11: #208368;--knock-green-12: #1d3b31;--knock-yellow-1: #fefdfb;--knock-yellow-2: #fefbe9;--knock-yellow-3: #fff7c2;--knock-yellow-4: #ffee9c;--knock-yellow-5: #fbe577;--knock-yellow-6: #f3d673;--knock-yellow-7: #e9c162;--knock-yellow-8: #f3d673;--knock-yellow-9: #ffc53d;--knock-yellow-10: #ffba18;--knock-yellow-11: #ab6400;--knock-yellow-12: #4f3422;--knock-blue-1: #fdfdfe;--knock-blue-2: #f7f9ff;--knock-blue-3: #edf2fe;--knock-blue-4: #e1e9ff;--knock-blue-5: #d2deff;--knock-blue-6: #c1d0ff;--knock-blue-7: #abbdf9;--knock-blue-8: #8da4ef;--knock-blue-9: #3e63dd;--knock-blue-10: #3358d4;--knock-blue-11: #3a5bc7;--knock-blue-12: #1f2d5c;--knock-red-1: #fffcfd;--knock-red-2: #fff7f8;--knock-red-3: #feeaed;--knock-red-4: #ffdce1;--knock-red-5: #ffced6;--knock-red-6: #f8bfc8;--knock-red-7: #efacb8;--knock-red-8: #e592a3;--knock-red-9: #e54666;--knock-red-10: #dc3b5d;--knock-red-11: #ca244d;--knock-red-12: #64172b;--knock-purple-1: #fdfcfe;--knock-purple-2: #faf8ff;--knock-purple-3: #f4f0fe;--knock-purple-4: #ebe4ff;--knock-purple-5: #e1d9ff;--knock-purple-6: #d4cafe;--knock-purple-7: #c2b5f5;--knock-purple-8: #aa99ec;--knock-purple-9: #654dc4;--knock-purple-10: #654dc4;--knock-purple-11: #6550b9;--knock-purple-12: #2f265f}[data-knock-color-mode=dark]{--knock-surface-1: #18191b;--knock-surface-2: #111110;--knock-gray-1: #111113;--knock-gray-2: #18191b;--knock-gray-3: #212225;--knock-gray-4: #272a2d;--knock-gray-5: #2e3135;--knock-gray-6: #363a3f;--knock-gray-7: #43484e;--knock-gray-8: #5a6169;--knock-gray-9: #696e77;--knock-gray-10: #777b84;--knock-gray-11: #b0b4ba;--knock-gray-12: #edeef0;--knock-beige-1: #111110;--knock-beige-2: #191918;--knock-beige-3: #222221;--knock-beige-4: #2a2a28;--knock-beige-5: #31312e;--knock-beige-6: #3b3a37;--knock-beige-7: #494844;--knock-beige-8: #62605b;--knock-beige-9: #6f6d66;--knock-beige-10: #7c7b74;--knock-beige-11: #b5b3ad;--knock-beige-12: #eeeeec;--knock-orange-1: #181111;--knock-orange-2: #1f1513;--knock-orange-3: #391714;--knock-orange-4: #4e1511;--knock-orange-5: #5e1c16;--knock-orange-6: #6e2920;--knock-orange-7: #853a2d;--knock-orange-8: #ac4d39;--knock-orange-9: #e54d2e;--knock-orange-10: #ec6142;--knock-orange-11: #ff977d;--knock-orange-12: #fbd3cb;--knock-green-1: #0d1512;--knock-green-2: #121c18;--knock-green-3: #0f2e22;--knock-green-4: #0b3b2c;--knock-green-5: #114837;--knock-green-6: #1b5745;--knock-green-7: #246854;--knock-green-8: #2a7e68;--knock-green-9: #29a383;--knock-green-10: #27b08b;--knock-green-11: #1fd8a4;--knock-green-12: #adf0d4;--knock-yellow-1: #16120c;--knock-yellow-2: #1d180f;--knock-yellow-3: #302008;--knock-yellow-4: #3f2700;--knock-yellow-5: #4d3000;--knock-yellow-6: #5c3d05;--knock-yellow-7: #714f19;--knock-yellow-8: #8f6424;--knock-yellow-9: #ffc53d;--knock-yellow-10: #ffd60a;--knock-yellow-11: #ffca16;--knock-yellow-12: #ffe7b3;--knock-blue-1: #11131f;--knock-blue-2: #141726;--knock-blue-3: #182449;--knock-blue-4: #1d2e62;--knock-blue-5: #253974;--knock-blue-6: #304384;--knock-blue-7: #3a4f97;--knock-blue-8: #435db1;--knock-blue-9: #3e63dd;--knock-blue-10: #5472e4;--knock-blue-11: #9eb1ff;--knock-blue-12: #d6e1ff;--knock-red-1: #191113;--knock-red-2: #1e1517;--knock-red-3: #3a141e;--knock-red-4: #4e1325;--knock-red-5: #5e1a2e;--knock-red-6: #6f2539;--knock-red-7: #883447;--knock-red-8: #b3445a;--knock-red-9: #e54666;--knock-red-10: #ec5a72;--knock-red-11: #ff949d;--knock-red-12: #fed2e1;--knock-purple-1: #14121f;--knock-purple-2: #1b1525;--knock-purple-3: #291f43;--knock-purple-4: #33255b;--knock-purple-5: #3c2e69;--knock-purple-6: #473876;--knock-purple-7: #56468b;--knock-purple-8: #6958ad;--knock-purple-9: #6e56cf;--knock-purple-10: #7d66d9;--knock-purple-11: #baa7ff;--knock-purple-12: #e2ddfe}[data-knock-color-mode=light]{--knock-guide-accent: var(--knock-gray-12);--knock-guide-accent-light: var(--knock-gray-4);--knock-guide-accent-dark: var(--knock-gray-12);--knock-guide-secondary: var(--knock-gray-9);--knock-guide-secondary-light: var(--knock-gray-3);--knock-guide-secondary-dark: var(--knock-gray-11);--knock-guide-content: var(--knock-gray-12);--knock-guide-content-light: var(--knock-gray-11);--knock-guide-content-disabled: var(--knock-gray-9);--knock-guide-content-contrast: var(--knock-white);--knock-guide-border: var(--knock-gray-5);--knock-guide-border-light: var(--knock-gray-4);--knock-guide-border-dark: var(--knock-gray-7);--knock-guide-surface: var(--knock-white);--knock-guide-surface-2: var(--knock-gray-2)}[data-knock-color-mode=dark]{--knock-guide-surface: var(--knock-white);--knock-guide-surface-2: var(--knock-gray-2);--knock-guide-accent: var(--knock-white);--knock-guide-accent-light: var(--knock-gray-4);--knock-guide-accent-dark: var(--knock-gray-12);--knock-guide-secondary: var(--knock-gray-9);--knock-guide-secondary-light: var(--knock-gray-3);--knock-guide-secondary-dark: var(--knock-gray-11);--knock-guide-content: var(--knock-gray-12);--knock-guide-content-light: var(--knock-gray-11);--knock-guide-content-disabled: var(--knock-gray-9);--knock-guide-content-contrast: var(--knock-gray-1);--knock-guide-border: var(--knock-gray-5);--knock-guide-border-light: var(--knock-gray-4);--knock-guide-border-dark: var(--knock-gray-7);--knock-guide-surface: var(--knock-gray-2);--knock-guide-surface-2: var(--knock-gray-1)}:root{--rnf-font-size-xs: .75rem;--rnf-font-size-sm: .875rem;--rnf-font-size-md: 1rem;--rnf-font-size-lg: 1.125rem;--rnf-font-size-xl: 1.266rem;--rnf-font-size-2xl: 1.5rem;--rnf-font-size-3xl: 1.75rem;--rnf-spacing-0: 0;--rnf-spacing-1: 4px;--rnf-spacing-2: 8px;--rnf-spacing-3: 12px;--rnf-spacing-4: 16px;--rnf-spacing-5: 20px;--rnf-spacing-6: 24px;--rnf-spacing-7: 32px;--rnf-spacing-8: 42px;--rnf-font-weight-normal: 400;--rnf-font-weight-medium: 500;--rnf-font-weight-semibold: 600;--rnf-font-weight-bold: 700;--rnf-font-family-sanserif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--rnf-border-radius-sm: 2px;--rnf-border-radius-md: 4px;--rnf-border-radius-lg: 8px;--rnf-shadow-sm: 0px 5px 10px rgba(0, 0, 0, .12);--rnf-shadow-md: 0px 8px 30px rgba(0, 0, 0, .24);--rnf-color-white: #fff;--rnf-color-white-a-75: rgba(255, 255, 255, .75);--rnf-color-black: #000;--rnf-color-gray-900: #1a1f36;--rnf-color-gray-800: #3c4257;--rnf-color-gray-700: #3c4257;--rnf-color-gray-600: #515669;--rnf-color-gray-500: #697386;--rnf-color-gray-400: #9ea0aa;--rnf-color-gray-300: #a5acb8;--rnf-color-gray-200: #dddee1;--rnf-color-gray-100: #e4e8ee;--rnf-color-brand-500: #e95744;--rnf-color-brand-700: #e4321b;--rnf-color-brand-900: #891e10;--rnf-unread-badge-bg-color: #dd514c;--rnf-avatar-bg-color: #ef8476;--rnf-message-cell-unread-dot-bg-color: #f4ada4;--rnf-message-cell-hover-bg-color: #f1f6fc}:root{--rnf-button-padding-x: 8px;--rnf-button-padding-y: 4px;--rnf-button-border-radius: 4px;--rnf-button-font-weight: var(--rnf-font-weight-medium);--rnf-button-font-size: var(--rnf-font-size-sm);--rnf-button-primary-bg-color: var(--rnf-color-brand-500);--rnf-button-primary-hover-bg-color: var(--rnf-color-brand-700);--rnf-button-primary-border-color: transparent;--rnf-button-primary-text-color: var(--rnf-color-white);--rnf-button-secondary-bg-color: var(--rnf-color-white);--rnf-button-secondary-hover-bg-color: #dddee1;--rnf-button-secondary-border-color: #dddee1;--rnf-button-secondary-text-color: var(--rnf-color-gray-700)}.rnf-button{display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;white-space:nowrap;vertical-align:middle;width:auto;padding:var(--rnf-button-padding-y) var(--rnf-button-padding-x);border-radius:var(--rnf-button-border-radius);font-size:var(--rnf-button-font-size);line-height:var(--rnf-font-size-lg);font-weight:var(--rnf-button-font-weight);border:1px solid;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .1s ease-in-out}.rnf-button--full-width{width:100%}.rnf-button--primary{background-color:var(--rnf-button-primary-bg-color);color:var(--rnf-button-primary-text-color);border-color:var(--rnf-button-primary-border-color)}.rnf-button--primary:hover:not(:disabled),.rnf-button--primary:active:not(:disabled){background-color:var(--rnf-button-primary-hover-bg-color)}.rnf-button:disabled{opacity:.4;cursor:not-allowed}.rnf-button--secondary{background-color:var(--rnf-button-secondary-bg-color);color:var(--rnf-button-secondary-text-color);border-color:var(--rnf-button-secondary-border-color)}.rnf-button--secondary:hover:not(:disabled),.rnf-button--secondary:active:not(:disabled){background-color:var(--rnf-button-secondary-hover-bg-color)}.rnf-button--dark.rnf-button--secondary{border-color:#43464c;background-color:#43464c;color:var(--rnf-color-white-a-75)}.rnf-button__button-text-hidden{opacity:0}.rnf-button--dark.rnf-button--secondary:hover:not(:disabled),.rnf-button--dark.rnf-button--secondary:active:not(:disabled){background-color:var(--rnf-color-gray-600)}.rnf-button-spinner{display:flex;align-items:center;font-size:1rem;line-height:"normal"}.rnf-button-spinner--without-label{position:absolute}.rnf-button-spinner--with-label{margin-right:6px}.rnf-button--primary .rnf-button-spinner circle{stroke:#fff}.rnf-button--secondary .rnf-button-spinner circle{stroke:var(--rnf-button-secondary-text-color)}.rnf-button--dark.rnf-button--secondary .rnf-button-spinner circle{stroke:var(--rnf-color-white-a-75)}.rnf-button-group>.rnf-button+.rnf-button{margin-left:8px}:root{--rnf-empty-feed-max-w: 240px;--rnf-empty-feed-header-font-size: var(--rnf-font-size-md);--rnf-empty-feed-body-font-size: var(--rnf-font-size-sm)}.rnf-empty-feed{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.rnf-empty-feed__inner{max-width:var(--rnf-empty-feed-max-w);margin:-20px auto 0;text-align:center}.rnf-empty-feed__header{font-size:var(--rnf-empty-feed-header-font-size);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-gray-900);margin:0 0 var(--rnf-spacing-1)}.rnf-empty-feed__body{font-size:var(--rnf-empty-feed-body-font-size);color:var(--rnf-color-gray-300);margin:0}.rnf-empty-feed--dark .rnf-empty-feed__header{color:var(--rnf-color-white-a-75)}.rnf-empty-feed--dark .rnf-empty-feed__body{color:var(--rnf-color-gray-400)}:root{--rnf-avatar-bg-color: #ef8476;--rnf-avatar-size: 32px;--rnf-avatar-initials-font-size: var(--rnf-font-size-md);--rnf-avatar-initials-line-height: var(--rnf-font-size-lg);--rnf-avatar-initials-color: #fff;--rnf-notification-cell-border-bottom-color: #e4e8ee;--rnf-notification-cell-padding: var(--rnf-spacing-3);--rnf-notification-cell-active-bg-color: #f1f6fc;--rnf-notification-cell-unread-dot-size: 6px;--rnf-notification-cell-unread-dot-bg-color: #80c7f5;--rnf-notification-cell-unread-dot-border-color: #3192e3;--rnf-notification-cell-content-color: var(--rnf-color-gray-900);--rnf-notification-cell-content-font-size: var(--rnf-font-size-sm);--rnf-notification-cell-content-line-height: var(--rnf-font-size-lg);--rnf-archive-notification-btn-bg-color: var(--rnf-color-gray-400);--rnf-archive-notification-btn-bg-color-active: var(--rnf-color-gray-500)}.rnf-avatar{background-color:var(--rnf-avatar-bg-color);border-radius:var(--rnf-avatar-size);width:var(--rnf-avatar-size);height:var(--rnf-avatar-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.rnf-avatar__initials{font-size:var(--rnf-avatar-initials-font-size);line-height:var(--rnf-avatar-initials-line-height);color:var(--rnf-avatar-initials-color)}.rnf-avatar__image{object-fit:cover;width:var(--rnf-avatar-size);height:var(--rnf-avatar-size)}.rnf-notification-cell{background-color:transparent;position:relative;border-bottom:1px solid var(--rnf-notification-cell-border-bottom-color)}.rnf-notification-cell:last-child{border-bottom-color:transparent}.rnf-notification-cell:hover,.rnf-notification-cell:focus,.rnf-notification-cell:active{background-color:var(--rnf-notification-cell-active-bg-color);outline:none}.rnf-notification-cell__inner{border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;width:100%;text-decoration:none;display:flex;padding:var(--rnf-notification-cell-padding);cursor:pointer;text-align:left;justify-content:flex-start}.rnf-notification-cell__unread-dot{position:absolute;top:var(--rnf-notification-cell-unread-dot-size);left:var(--rnf-notification-cell-unread-dot-size);width:var(--rnf-notification-cell-unread-dot-size);height:var(--rnf-notification-cell-unread-dot-size);border-radius:var(--rnf-notification-cell-unread-dot-size);background-color:var(--rnf-notification-cell-unread-dot-bg-color);border:1px solid var(--rnf-notification-cell-unread-dot-border-color)}.rnf-notification-cell__content-outer{margin-left:var(--rnf-spacing-3)}.rnf-notification-cell__content{color:var(--rnf-notification-cell-content-color);display:block;font-weight:var(--rnf-font-weight-normal);font-size:var(--rnf-notification-cell-content-font-size);line-height:var(--rnf-notification-cell-content-line-height);margin-bottom:var(--rnf-spacing-1);word-break:break-word;word-wrap:break-word}.rnf-notification-cell__content h1,.rnf-notification-cell__content h2,.rnf-notification-cell__content h3,.rnf-notification-cell__content h4{font-weight:var(--rnf-font-weight-semibold);margin-bottom:.5em}.rnf-notification-cell__content h1{font-size:var(--rnf-font-size-2xl)}.rnf-notification-cell__content h2{font-size:var(--rnf-font-size-xl)}.rnf-notification-cell__content h3{font-size:var(--rnf-font-size-lg)}.rnf-notification-cell__content h4{font-size:var(--rnf-font-size-md)}.rnf-notification-cell__content p{margin:0 0 .75em}.rnf-notification-cell__content p:last-child{margin-bottom:0}.rnf-notification-cell__content blockquote{border-left:3px solid var(--rnf-color-gray-300);padding-left:var(--rnf-spacing-3);line-height:var(--rnf-font-size-xl);margin:0}.rnf-notification-cell__content strong{font-weight:var(--rnf-font-weight-semibold)}.rnf-notification-cell__timestamp{display:block;color:var(--rnf-color-gray-300);font-size:var(--rnf-font-size-sm);font-weight:var(--rnf-font-weight-normal);line-height:var(--rnf-font-size-lg)}.rnf-notification-cell__child-content,.rnf-notification-cell__button-group{margin:.75em 0 .5em}.rnf-archive-notification-btn{background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;user-select:none;border:none;opacity:0;width:24px;height:24px;cursor:pointer;margin-left:auto;color:var(--rnf-archive-notification-btn-bg-color);padding:var(--rnf-spacing-1) var(--rnf-spacing-2);transition:color .1s ease-in-out,opacity .2s ease-in-out}.rnf-notification-cell:focus .rnf-archive-notification-btn,.rnf-notification-cell:hover .rnf-archive-notification-btn,.rnf-notification-cell:active .rnf-archive-notification-btn{opacity:1}.rnf-archive-notification-btn:focus,.rnf-archive-notification-btn:hover,.rnf-archive-notification-btn:active{outline:none;opacity:1;color:var(--rnf-archive-notification-btn-bg-color-active)}.rnf-tooltip{background-color:var(--rnf-color-gray-700);border-radius:4px;box-shadow:0 2px 4px #0000002e;color:#fff;display:flex;flex-direction:column;padding:var(--rnf-spacing-1) var(--rnf-spacing-2);font-size:var(--rnf-font-size-xs);line-height:var(--rnf-font-size-s);font-weight:var(--rnf-font-weight-medium);transition:opacity .3s;z-index:9999}.rnf-notification-cell--dark{--rnf-notification-cell-border-bottom-color: rgba(105, 115, 134, .65);--rnf-notification-cell-active-bg-color: #393b40;--rnf-notification-cell-content-color: var(--rnf-color-white-a-75)}.rnf-notification-cell--dark:last-child{border-bottom-color:transparent}.rnf-notification-cell--dark .rnf-notification-cell__timestamp{color:var(--rnf-color-gray-500)}.rnf-archive-notification-btn--dark{--rnf-archive-notification-btn-bg-color: var(--rnf-color-gray-500);--rnf-archive-notification-btn-bg-color-active: var(--rnf-color-gray-400)}.rnf-tooltip--dark{background-color:#565a61}@media screen and (hover: none){.rnf-archive-notification-btn{opacity:1}}:root{--rnf-notification-feed-header-height: 45px}.rnf-notification-feed{background-color:var(--rnf-color-white);height:100%;display:flex;flex-direction:column}.rnf-dropdown{font-size:var(--rnf-font-size-md);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-gray-400);position:relative}.rnf-dropdown select{padding-right:var(--rnf-spacing-3);color:currentColor;border:none;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:var(--rnf-font-size-sm);position:relative;text-align:right;z-index:2}.rnf-dropdown svg{position:absolute;top:50%;margin-top:-2px;right:0;z-index:1}.rnf-mark-all-as-read{border:none;background:transparent;margin-left:auto;display:flex;align-items:center;padding:0;font-size:var(--rnf-font-size-sm);color:var(--rnf-color-gray-400);cursor:pointer}.rnf-mark-all-as-read:disabled{color:var(--rnf-color-gray-200);cursor:not-allowed}.rnf-mark-all-as-read svg{margin-top:1px;margin-left:var(--rnf-spacing-1)}.rnf-notification-feed__header{padding:var(--rnf-spacing-3) var(--rnf-spacing-4);height:var(--rnf-notification-feed-header-height);display:flex;align-items:center}.rnf-notification-feed__selector{display:flex;align-items:center}.rnf-notification-feed__type{font-size:var(--rnf-font-size-sm);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-gray-900);margin-right:var(--rnf-spacing-2)}.rnf-notification-feed__container{overflow-y:auto;flex:1}.rnf-notification-feed__spinner-container{padding:var(--rnf-spacing-3) var(--rnf-spacing-4)}.rnf-notification-feed__spinner-container svg{margin:0 auto;display:block}.rnf-notification-feed__knock-branding{text-align:center}.rnf-notification-feed__knock-branding a{display:block;font-size:var(--rnf-font-size-sm);color:var(--rnf-color-gray-500);padding:6px;border-top:1px solid var(--rnf-color-gray-100)}.rnf-notification-feed__knock-branding a:hover{background-color:#f1f6fc}.rnf-notification-feed--dark{background-color:#2e2f34}.rnf-notification-feed--dark .rnf-notification-feed__type{color:var(--rnf-color-white-a-75)}.rnf-dropdown--dark{color:var(--rnf-color-gray-400)}.rnf-mark-all-as-read--dark:disabled{color:var(--rnf-color-gray-500)}.rnf-notification-feed--dark .rnf-notification-feed__knock-branding a{color:var(--rnf-color-gray-400);border-top-color:#697386a6}.rnf-notification-feed--dark .rnf-notification-feed__knock-branding a:hover{background-color:#393b40}.rnf-feed-provider{font-family:var(--rnf-font-family-sanserif)!important;margin:0!important;padding:0!important}.rnf-feed-provider [class^=rnf-]{font-family:var(--rnf-font-family-sanserif)!important;box-sizing:border-box}:root{--rnf-notification-feed-popover-max-w: 400px;--rnf-notification-feed-popover-min-w: 280px;--rnf-notification-feed-popover-height: 400px;--rnf-notification-feed-popover-shadow: drop-shadow( 0px 5px 15px rgba(0, 0, 0, .2) );--rnf-notification-feed-popover-shadow-color: rgba(0, 0, 0, .2);--rnf-notification-feed-popover-bg-color: #fff;--rnf-notification-feed-popover-z-index: 999;--rnf-notification-feed-popover-arrow-size: 10px;--rnf-notification-feed-popover-border-radius: 4px}.rnf-notification-feed-popover{width:100%;max-width:var(--rnf-notification-feed-popover-max-w);min-width:var(--rnf-notification-feed-popover-min-w);height:var(--rnf-notification-feed-popover-height);z-index:var(--rnf-notification-feed-popover-z-index)}.rnf-notification-feed-popover__inner{overflow:hidden;background-color:var(--rnf-notification-feed-popover-bg-color);border-radius:var(--rnf-notification-feed-popover-border-radius);filter:var(--rnf-notification-feed-popover-shadow);height:100%}.rnf-notification-feed-popover__arrow{position:absolute;width:var(--rnf-notification-feed-popover-arrow-size);height:var(--rnf-notification-feed-popover-arrow-size)}.rnf-notification-feed-popover__arrow:after{content:" ";display:block;background-color:var(--rnf-notification-feed-popover-bg-color);box-shadow:-1px -1px 1px var(--rnf-notification-feed-popover-shadow-color);position:absolute;top:-5px;left:0;transform:rotate(45deg);width:var(--rnf-notification-feed-popover-arrow-size);height:var(--rnf-notification-feed-popover-arrow-size)}.rnf-notification-feed-popover--dark{--rnf-notification-feed-popover-shadow-color: rgba(0, 0, 0, .2)}:root{--rnf-unseen-badge-bg-color: #eb5757;--rnf-unseen-badge-size: 16px;--rnf-unseed-badge-font-size: 9px}.rnf-unseen-badge{background-color:var(--rnf-unseen-badge-bg-color);width:var(--rnf-unseen-badge-size);height:var(--rnf-unseen-badge-size);border-radius:var(--rnf-unseen-badge-size);position:absolute;display:flex;align-items:center;justify-content:center;top:0;right:0}.rnf-unseen-badge__count{font-size:var(--rnf-unseed-badge-font-size);font-weight:var(--rnf-font-weight-medium);color:var(--rnf-color-white);margin-top:-1px}.rnf-unseen-badge--dark{--rnf-unseen-badge-bg-color: #ef3434}:root{--rnf-notification-icon-button-size: 32px;--rnf-notification-icon-button-bg-color: transparent}.rnf-notification-icon-button{background-color:var(--rnf-notification-icon-button-bg-color);border:none;position:relative;display:block;margin:0;padding:0;cursor:pointer;width:var(--rnf-notification-icon-button-size);height:var(--rnf-notification-icon-button-size);color:inherit}.rnf-notification-icon-button svg{display:block;margin:0 auto}.rnf-notification-icon-button--dark{color:#fff}.knock-guide-banner{display:flex;align-items:center;justify-content:space-between;background:var(--knock-guide-surface);padding:var(--knock-spacing-4) var(--knock-spacing-6);border-radius:var(--knock-rounded-4);border:.5px solid var(--knock-guide-border);box-shadow:var(--knock-shadow-2);gap:var(--knock-spacing-4)}.knock-guide-banner__message{min-width:var(--knock-spacing-96)}.knock-guide-banner__title{color:var(--knock-guide-content);font-size:var(--knock-text-4);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-4)}.knock-guide-banner__body{color:var(--knock-guide-content-light);font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3)}.knock-guide-banner__body>:first-child{margin-top:0}.knock-guide-banner__body>:last-child{margin-bottom:0}.knock-guide-banner__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--knock-spacing-3)}.knock-guide-banner__action{text-decoration:none;font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3);border-radius:var(--knock-rounded-3);padding:0 var(--knock-spacing-4);box-sizing:border-box;height:var(--knock-spacing-10);display:flex;align-items:center;justify-content:center;border:.5px solid var(--knock-guide-accent);background:var(--knock-guide-accent);color:var(--knock-guide-content-contrast);cursor:pointer}.knock-guide-banner__action--secondary{border-color:var(--knock-guide-border-dark);background:var(--knock-guide-surface);color:var(--knock-guide-content)}.knock-guide-banner__close{padding:var(--knock-spacing-3);border:none;background:none;line-height:0;cursor:pointer}.knock-guide-card{background:var(--knock-guide-surface);padding:var(--knock-spacing-4);border-radius:var(--knock-rounded-2);border:.5px solid var(--knock-guide-border);display:flex;flex-direction:column;gap:var(--knock-spacing-4);max-width:var(--knock-spacing-96)}.knock-guide-card__header{display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:var(--knock-spacing-2)}.knock-guide-card__headline{color:var(--knock-guide-accent-dark);font-size:var(--knock-text-1);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-1);letter-spacing:var(--knock-tracking-1)}.knock-guide-card__message{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}.knock-guide-card__title{color:var(--knock-guide-content);font-size:var(--knock-text-4);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-4)}.knock-guide-card__body{color:var(--knock-guide-content-light);font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3)}.knock-guide-card__body>:first-child{margin-top:0}.knock-guide-card__body>:last-child{margin-bottom:0}.knock-guide-card__img{display:block;max-width:100%;height:auto}.knock-guide-card__actions{display:flex;align-items:center;gap:var(--knock-spacing-3)}.knock-guide-card__action{text-decoration:none;font-size:var(--knock-text-3);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-3);border-radius:var(--knock-rounded-3);padding:0 var(--knock-spacing-4);box-sizing:border-box;height:var(--knock-spacing-10);display:flex;align-items:center;justify-content:center;border:.5px solid var(--knock-guide-accent);background:var(--knock-guide-accent);color:var(--knock-guide-content-contrast);cursor:pointer}.knock-guide-card__action--secondary{border-color:var(--knock-guide-border-dark);background:var(--knock-guide-surface);color:var(--knock-guide-content)}.knock-guide-card__close{padding:var(--knock-spacing-3);border:none;background:none;line-height:0;cursor:pointer}@keyframes toolbar-collapse-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes toolbar-expand-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-tgph-toggle-switch]{position:relative;cursor:pointer;transition:background-color .2s ease-in-out;flex-shrink:0}:has([data-tgph-toggle-input]:focus-visible) [data-tgph-toggle-switch]{outline:2px solid var(--tgph-blue-8);outline-offset:2px}[data-tgph-toggle-icon]{transition:transform .2s ease-in-out}[data-tgph-toggle-switch][data-tgph-toggle-checked=true] [data-tgph-toggle-icon]{transform:translate(calc(100% - var(--tgph-spacing-1)))}[data-tgph-toggle-label]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-tgph-toggle-label][data-tgph-toggle-disabled=true]{cursor:not-allowed;color:var(--tgph-gray-9)}[data-tgph-toggle-switch][data-tgph-toggle-checked=false]:not([data-tgph-button-state=disabled]){background-color:var(--tgph-gray-7)!important}[data-tgph-menu-button]:focus-visible{outline:none}.knock-guide-modal{font-family:var(--knock-family-sans);background:var(--knock-guide-surface);padding:var(--knock-spacing-4) var(--knock-spacing-6) var(--knock-spacing-6);border-radius:var(--knock-rounded-4);border:.5px solid var(--knock-guide-border);box-shadow:var(--knock-shadow-3);max-width:var(--knock-spacing-96);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-height:calc(100vh - var(--knock-spacing-32));max-width:min(100vw - var(--knock-spacing-8),var(--knock-spacing-140))}.knock-guide-modal__overlay{background-color:var(--knock-alpha-black-6);position:fixed;top:0;right:0;bottom:0;left:0}.knock-guide-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--knock-spacing-2);padding-bottom:var(--knock-spacing-1)}.knock-guide-modal__title{color:var(--knock-guide-content);font-size:var(--knock-text-4);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-4);margin:0}.knock-guide-modal__body{color:var(--knock-guide-content-light);font-size:var(--knock-text-3);font-weight:var(--knock-weight-regular);line-height:var(--knock-leading-3);margin:0}.knock-guide-modal__body>:first-child{margin-top:0}.knock-guide-modal__body>:last-child{margin-bottom:0}.knock-guide-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--knock-spacing-3);margin-top:var(--knock-spacing-4)}.knock-guide-modal__img{display:block;margin-top:var(--knock-spacing-4);max-width:100%;height:auto}.knock-guide-modal__action{text-decoration:none;text-align:center;font-size:var(--knock-text-3);font-weight:var(--knock-weight-medium);line-height:var(--knock-leading-3);border-radius:var(--knock-rounded-3);padding:0 var(--knock-spacing-4);box-sizing:border-box;height:var(--knock-spacing-10);display:flex;align-items:center;justify-content:center;border:.5px solid var(--knock-guide-accent);background:var(--knock-guide-accent);color:var(--knock-guide-content-contrast);width:100%;cursor:pointer}.knock-guide-modal__action--secondary{border-color:var(--knock-guide-border-dark);background:var(--knock-guide-surface);color:var(--knock-guide-content)}.knock-guide-modal__close{padding:var(--knock-spacing-3);border:none;background:none;line-height:0;cursor:pointer}:root{--tgph-border-style-solid:solid;--tgph-border-style-dashed:dashed;--tgph-transparent:transparent;--tgph-white:#fff;--tgph-black:#000;--tgph-alpha-white-1:#ffffff0d;--tgph-alpha-white-2:#ffffff1a;--tgph-alpha-white-3:#ffffff26;--tgph-alpha-white-4:#fff3;--tgph-alpha-white-5:#ffffff4d;--tgph-alpha-white-6:#fff6;--tgph-alpha-white-7:#ffffff80;--tgph-alpha-white-8:#fff9;--tgph-alpha-white-9:#ffffffb3;--tgph-alpha-white-10:#fffc;--tgph-alpha-white-11:#ffffffe6;--tgph-alpha-white-12:#fffffff2;--tgph-alpha-black-1:#0000000d;--tgph-alpha-black-2:#0000001a;--tgph-alpha-black-3:#00000026;--tgph-alpha-black-4:#0003;--tgph-alpha-black-5:#0000004d;--tgph-alpha-black-6:#0006;--tgph-alpha-black-7:#00000080;--tgph-alpha-black-8:#0009;--tgph-alpha-black-9:#000000b3;--tgph-alpha-black-10:#000c;--tgph-alpha-black-11:#000000e6;--tgph-alpha-black-12:#000000f2;--tgph-rounded-0:0px;--tgph-rounded-1:.125rem;--tgph-rounded-2:.25rem;--tgph-rounded-3:.375rem;--tgph-rounded-4:.5rem;--tgph-rounded-5:.75rem;--tgph-rounded-6:1rem;--tgph-rounded-full:9999px;--tgph-shadow-0:0px 0px 0px 0px #0000;--tgph-shadow-1:0px 0px 0px 1px #0000000f, inset 0px 0px 0px 1px #ffffff14, inset 0px 1px 0px 0px #ffffff0f, inset 0px -1px 0px 0px #ffffff05, 0px 1px 2px 0px #00000008;--tgph-shadow-2:0px 0px 0px 1px #0000000f, inset 0px 0px 0px 1px #ffffff1a, inset 0px 1px 0px 0px #ffffff14, inset 0px -1px 0px 0px #ffffff05, 0px 1px 2px 0px #0000000a, 0px 4px 8px -2px #0000000d;--tgph-shadow-3:0px 0px 0px 1px #0000000f, inset 0px 0px 0px 1px #ffffff1f, inset 0px 1px 0px 0px #ffffff17, inset 0px -1px 0px 0px #ffffff08, 0px 1px 1px 0px #0000000a, 0px 4px 6px -1px #0000000d, 0px 8px 16px -4px #0000000f;--tgph-shadow-inner:0px 5px 2px 0px #1c202403 inset, 0px 3px 2px 0px #1c202408 inset, 0px 1px 1px 0px #1c20240d inset, 0px 0px 1px 0px #1c20240f inset;--tgph-spacing-0:0px;--tgph-spacing-1:.25rem;--tgph-spacing-2:.5rem;--tgph-spacing-3:.75rem;--tgph-spacing-4:1rem;--tgph-spacing-5:1.25rem;--tgph-spacing-6:1.5rem;--tgph-spacing-7:1.75rem;--tgph-spacing-8:2rem;--tgph-spacing-9:2.25rem;--tgph-spacing-10:2.5rem;--tgph-spacing-11:2.75rem;--tgph-spacing-12:3rem;--tgph-spacing-14:3.5rem;--tgph-spacing-16:4rem;--tgph-spacing-20:5rem;--tgph-spacing-24:6rem;--tgph-spacing-28:7rem;--tgph-spacing-32:8rem;--tgph-spacing-36:9rem;--tgph-spacing-40:10rem;--tgph-spacing-44:11rem;--tgph-spacing-48:12rem;--tgph-spacing-52:13rem;--tgph-spacing-56:14rem;--tgph-spacing-60:15rem;--tgph-spacing-64:16rem;--tgph-spacing-72:18rem;--tgph-spacing-80:20rem;--tgph-spacing-96:24rem;--tgph-spacing-120:30rem;--tgph-spacing-140:35rem;--tgph-spacing-160:40rem;--tgph-spacing-px:1px;--tgph-spacing-0_5:.125rem;--tgph-spacing-1_5:.375rem;--tgph-spacing-2_5:.625rem;--tgph-spacing-3_5:.875rem;--tgph-spacing-full:100%;--tgph-spacing-auto:auto;--tgph-family-sans:Inter, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;--tgph-family-mono:Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;--tgph-leading-0:1rem;--tgph-leading-1:1rem;--tgph-leading-2:1.25rem;--tgph-leading-3:1.5rem;--tgph-leading-4:1.5rem;--tgph-leading-5:1.75rem;--tgph-leading-6:2rem;--tgph-leading-7:2.25rem;--tgph-leading-8:2.5rem;--tgph-leading-9:3.5rem;--tgph-leading-code-0:1rem;--tgph-leading-code-1:1rem;--tgph-leading-code-2:1.25rem;--tgph-leading-code-3:1.5rem;--tgph-leading-code-4:1.75rem;--tgph-leading-code-5:1.75rem;--tgph-leading-code-6:2rem;--tgph-leading-code-7:2.25rem;--tgph-leading-code-8:2.5rem;--tgph-leading-code-9:3rem;--tgph-tracking-0:.25%;--tgph-tracking-1:.25%;--tgph-tracking-2:0;--tgph-tracking-3:0;--tgph-tracking-4:-.25%;--tgph-tracking-5:-.5%;--tgph-tracking-6:-.625%;--tgph-tracking-7:-.75%;--tgph-tracking-8:-1%;--tgph-tracking-9:-2.5%;--tgph-text-0:.6875rem;--tgph-text-1:.75rem;--tgph-text-2:.8125rem;--tgph-text-3:.9375rem;--tgph-text-4:1.125rem;--tgph-text-5:1.25rem;--tgph-text-6:1.5rem;--tgph-text-7:1.875rem;--tgph-text-8:2.25rem;--tgph-text-9:3rem;--tgph-text-code-0:.625rem;--tgph-text-code-1:.688rem;--tgph-text-code-2:.812rem;--tgph-text-code-4:1.062rem;--tgph-text-code-5:1.188rem;--tgph-text-code-6:1.438rem;--tgph-text-code-7:1.75rem;--tgph-text-code-8:2.125rem;--tgph-text-code-9:2.875rem;--tgph-weight-regular:400;--tgph-weight-medium:500;--tgph-weight-semi-bold:600;--tgph-breakpoint-sm:640px;--tgph-breakpoint-md:768px;--tgph-breakpoint-lg:1024px;--tgph-breakpoint-xl:1280px;--tgph-breakpoint-2xl:1536px;--tgph-zIndex-hidden:-1;--tgph-zIndex-base:0;--tgph-zIndex-auto:auto;--tgph-zIndex-dropdown:1000;--tgph-zIndex-sticky:1100;--tgph-zIndex-banner:1200;--tgph-zIndex-overlay:1300;--tgph-zIndex-modal:1400;--tgph-zIndex-popover:1500;--tgph-zIndex-skipLink:1600;--tgph-zIndex-toast:1700;--tgph-zIndex-tooltip:1800;--tgph-surface-1:#fff;--tgph-surface-2:#fdfdfc;--tgph-surface-3:#fff;--tgph-gray-1:#fcfcfd;--tgph-gray-2:#f9f9fb;--tgph-gray-3:#eff0f3;--tgph-gray-4:#e6e8eb;--tgph-gray-5:#dfe2e5;--tgph-gray-6:#d7dadf;--tgph-gray-7:#cbcfd5;--tgph-gray-8:#b6bcc4;--tgph-gray-9:#888e95;--tgph-gray-10:#7e848a;--tgph-gray-11:#60646a;--tgph-gray-12:#1d2023;--tgph-beige-1:#fdfdfc;--tgph-beige-2:#f9f9f8;--tgph-beige-3:#f0f0ef;--tgph-beige-4:#e9e8e7;--tgph-beige-5:#e2e1df;--tgph-beige-6:#dad9d7;--tgph-beige-7:#cfcecc;--tgph-beige-8:#bcbbb8;--tgph-beige-9:#8e8c8a;--tgph-beige-10:#83827f;--tgph-beige-11:#646360;--tgph-beige-12:#21201e;--tgph-accent-1:#fffcfb;--tgph-accent-2:#fff5f2;--tgph-accent-3:#ffe9e2;--tgph-accent-4:#ffd6cb;--tgph-accent-5:#ffc8ba;--tgph-accent-6:#ffb7a6;--tgph-accent-7:#ffa28f;--tgph-accent-8:#f88872;--tgph-accent-9:#ff573a;--tgph-accent-10:#f2472a;--tgph-accent-11:#db3619;--tgph-accent-12:#5c291f;--tgph-green-1:#fbfefc;--tgph-green-2:#f4fbf7;--tgph-green-3:#e4f7ec;--tgph-green-4:#d3f1e0;--tgph-green-5:#bfead2;--tgph-green-6:#a7dfc1;--tgph-green-7:#86d0aa;--tgph-green-8:#4fba8a;--tgph-green-9:#00aa72;--tgph-green-10:#009c68;--tgph-green-11:#00834f;--tgph-green-12:#183b2b;--tgph-yellow-1:#fefdfb;--tgph-yellow-2:#fefbe9;--tgph-yellow-3:#fff7c2;--tgph-yellow-4:#ffee9c;--tgph-yellow-5:#fbe577;--tgph-yellow-6:#f3d673;--tgph-yellow-7:#e9c162;--tgph-yellow-8:#f3d673;--tgph-yellow-9:#ffc53d;--tgph-yellow-10:#ffba18;--tgph-yellow-11:#ab6400;--tgph-yellow-12:#4f3422;--tgph-blue-1:#fcfdff;--tgph-blue-2:#f6f9ff;--tgph-blue-3:#ebf2ff;--tgph-blue-4:#deebff;--tgph-blue-5:#cee0ff;--tgph-blue-6:#bbd3ff;--tgph-blue-7:#a3c1fb;--tgph-blue-8:#81a8f6;--tgph-blue-9:#4a82ff;--tgph-blue-10:#4276ec;--tgph-blue-11:#3569e0;--tgph-blue-12:#193065;--tgph-red-1:#fffcfc;--tgph-red-2:#fff7f7;--tgph-red-3:#ffe9e9;--tgph-red-4:#ffdadb;--tgph-red-5:#ffcbcd;--tgph-red-6:#ffbbbe;--tgph-red-7:#faa7ab;--tgph-red-8:#f28b92;--tgph-red-9:#e9004a;--tgph-red-10:#d9003d;--tgph-red-11:#d9003e;--tgph-red-12:#6c041f;--tgph-purple-1:#fcfcff;--tgph-purple-2:#f8f8ff;--tgph-purple-3:#f1f1ff;--tgph-purple-4:#e6e6ff;--tgph-purple-5:#dadaff;--tgph-purple-6:#cccbff;--tgph-purple-7:#b9b6ff;--tgph-purple-8:#9f99fc;--tgph-purple-9:#6547de;--tgph-purple-10:#583dc4;--tgph-purple-11:#6148d0;--tgph-purple-12:#2e2269}[data-tgph-appearance=dark]{--tgph-surface-1:#18191b;--tgph-surface-2:#101112;--tgph-surface-3:#101112;--tgph-gray-1:#101112;--tgph-gray-2:#18191b;--tgph-gray-3:#212325;--tgph-gray-4:#282a2d;--tgph-gray-5:#2f3235;--tgph-gray-6:#383b3e;--tgph-gray-7:#45484d;--tgph-gray-8:#5c6268;--tgph-gray-9:#6a6f76;--tgph-gray-10:#777d84;--tgph-gray-11:#afb5bb;--tgph-gray-12:#edeeef;--tgph-beige-1:#12110f;--tgph-beige-2:#191817;--tgph-beige-3:#232220;--tgph-beige-4:#2a2927;--tgph-beige-5:#31302e;--tgph-beige-6:#3b3937;--tgph-beige-7:#484745;--tgph-beige-8:#61605d;--tgph-beige-9:#6e6d6a;--tgph-beige-10:#7c7a78;--tgph-beige-11:#b4b3b0;--tgph-beige-12:#eeedeb;--tgph-accent-1:#160f0d;--tgph-accent-2:#201412;--tgph-accent-3:#3b140d;--tgph-accent-4:#530e04;--tgph-accent-5:#631507;--tgph-accent-6:#742315;--tgph-accent-7:#8d3323;--tgph-accent-8:#b5432f;--tgph-accent-9:#ff573a;--tgph-accent-10:#f1492d;--tgph-accent-11:#ff917a;--tgph-accent-12:#ffd1c7;--tgph-green-1:#0c130f;--tgph-green-2:#111b16;--tgph-green-3:#112d20;--tgph-green-4:#0c3c28;--tgph-green-5:#104a32;--tgph-green-6:#18583d;--tgph-green-7:#1e6949;--tgph-green-8:#217d57;--tgph-green-9:#00aa72;--tgph-green-10:#009d66;--tgph-green-11:#4dd399;--tgph-green-12:#aaf3cc;--tgph-yellow-1:#16120c;--tgph-yellow-2:#1d180f;--tgph-yellow-3:#302008;--tgph-yellow-4:#3f2700;--tgph-yellow-5:#4d3000;--tgph-yellow-6:#5c3d05;--tgph-yellow-7:#714f19;--tgph-yellow-8:#8f6424;--tgph-yellow-9:#ffc53d;--tgph-yellow-10:#ffd60a;--tgph-yellow-11:#ffca16;--tgph-yellow-12:#ffe7b3;--tgph-blue-1:#0b111c;--tgph-blue-2:#111826;--tgph-blue-3:#152548;--tgph-blue-4:#172e63;--tgph-blue-5:#1f3a76;--tgph-blue-6:#294787;--tgph-blue-7:#35569d;--tgph-blue-8:#3f66bb;--tgph-blue-9:#4a82ff;--tgph-blue-10:#3e75f1;--tgph-blue-11:#89b3ff;--tgph-blue-12:#d1e1ff;--tgph-red-1:#180e0f;--tgph-red-2:#201314;--tgph-red-3:#3f0f15;--tgph-red-4:#550517;--tgph-red-5:#670a1f;--tgph-red-6:#79182a;--tgph-red-7:#932738;--tgph-red-8:#c1334a;--tgph-red-9:#e9004a;--tgph-red-10:#c3354c;--tgph-red-11:#ff8e98;--tgph-red-12:#ffcfd1;--tgph-purple-1:#100f1d;--tgph-purple-2:#161528;--tgph-purple-3:#241e4b;--tgph-purple-4:#2e2368;--tgph-purple-5:#382c77;--tgph-purple-6:#423786;--tgph-purple-7:#4f449c;--tgph-purple-8:#6153bd;--tgph-purple-9:#6547de;--tgph-purple-10:#5936cd;--tgph-purple-11:#aea8ff;--tgph-purple-12:#dedeff}.tgph-text,.tgph-heading,.tgph-code{--color: var(--tgph-gray-12);--font-size: var(--tgph-text-2);--weight: var(--tgph-weight-regular);--leading: var(--tgph-leading-2);--tracking: var(--tgph-tracking-2);--text-align: left;--font-family: var(--tgph-family-sans);--text-overflow: clip;color:var(--color);font-size:var(--font-size);font-weight:var(--weight);line-height:var(--leading);letter-spacing:var(--tracking);text-align:var(--text-align);box-sizing:border-box;font-family:var(--font-family);text-overflow:var(--text-overflow)}.tgph-button{--tgph-button-text-color: none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;font-family:inherit;transition:background-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out;text-decoration:none}.tgph-button [data-button-text],.tgph-button [data-button-icon]{transition:color .2s ease-in-out}.tgph-button:not([data-tgph-button-state=disabled]):hover [data-button-text]{--color: var( --hover--tgph-button-text-color, var(--tgph-button-text-color) ) !important}.tgph-button:not([data-tgph-button-state=disabled]):hover [data-button-icon]{--color: var( --hover--tgph-button-text-color, var(--tgph-button-text-color) ) !important}.tgph-button[data-tgph-button-state=active]{box-shadow:var(--active--box-shadow, var(--box-shadow));background-color:var(--active--background-color, var(--background-color))}.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=solid],.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=soft],.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=outline]{background-color:var(--tgph-gray-3)}.tgph-button[data-tgph-button-state=disabled][data-tgph-button-variant=ghost]{background-color:var(--tgph-transparent)}.tgph-button:disabled{cursor:not-allowed}.tgph-button[data-tgph-button-state=disabled]:hover{background-color:revert}.tgph-icon{display:inline-block}.tgph-icon[data-tgph-icon-animation=spin]{animation:tgph-icon-spin 1s infinite linear}@keyframes tgph-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tgph-box{--background-color: none;--border-color: var(--tgph-gray-5);--box-shadow: none;--border-style: solid;--border-width: 0;--padding: 0;--margin: 0;--border-radius: 0;--width: auto;--max-width: auto;--min-width: auto;--height: auto;--max-height: auto;--min-height: auto;--z-index: auto;--position: static;--top: auto;--left: auto;--right: auto;--bottom: auto;--overflow: visible visible;--align-self: auto;background-color:var(--background-color);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);box-shadow:var(--box-shadow);padding:var(--padding);margin:var(--margin);border-radius:var(--border-radius);width:var(--width);max-width:var(--max-width);min-width:var(--min-width);height:var(--height);max-height:var(--max-height);min-height:var(--min-height);z-index:var(--z-index);position:var(--position);top:var(--top);left:var(--left);right:var(--right);bottom:var(--bottom);overflow:var(--overflow);align-self:var(--align-self)}.tgph-box--interactive:hover{background-color:var(--hover--background-color, var(--background-color));border-width:var(--hover--border-width, var(--border-width));border-style:var(--hover--border-style, var(--border-style));border-color:var(--hover--border-color, var(--border-color));box-shadow:var(--hover--box-shadow, var(--box-shadow));padding:var(--hover--padding, var(--padding));margin:var(--hover--margin, var(--margin));border-radius:var(--hover--border-radius, var(--border-radius));width:var(--hover--width, var(--width));max-width:var(--hover--max-width, var(--max-width));min-width:var(--hover--min-width, var(--min-width));height:var(--hover--height, var(--height));max-height:var(--hover--max-height, var(--max-height));min-height:var(--hover--min-height, var(--min-height));z-index:var(--hover--z-index, var(--z-index));position:var(--hover--position, var(--position));top:var(--hover--top, var(--top));left:var(--hover--left, var(--left));right:var(--hover--right, var(--right));bottom:var(--hover--bottom, var(--bottom));overflow:var(--hover--overflow, var(--overflow));align-self:var(--hover--align-self, var(--align-self))}.tgph-box--interactive:focus-visible{background-color:var(--focus--background-color, var(--background-color));border-width:var(--focus--border-width, var(--border-width));border-style:var(--focus--border-style, var(--border-style));border-color:var(--focus--border-color, var(--border-color));box-shadow:var(--focus--box-shadow, var(--box-shadow));padding:var(--focus--padding, var(--padding));margin:var(--focus--margin, var(--margin));border-radius:var(--focus--border-radius, var(--border-radius));width:var(--focus--width, var(--width));max-width:var(--focus--max-width, var(--max-width));min-width:var(--focus--min-width, var(--min-width));height:var(--focus--height, var(--height));max-height:var(--focus--max-height, var(--max-height));min-height:var(--focus--min-height, var(--min-height));z-index:var(--focus--z-index, var(--z-index));position:var(--focus--position, var(--position));top:var(--focus--top, var(--top));left:var(--focus--left, var(--left));right:var(--focus--right, var(--right));bottom:var(--focus--bottom, var(--bottom));overflow:var(--focus--overflow, var(--overflow));align-self:var(--focus--align-self, var(--align-self))}.tgph-box--interactive:active{background-color:var(--active--background-color, var(--background-color));border-width:var(--active--border-width, var(--border-width));border-style:var(--active--border-style, var(--border-style));border-color:var(--active--border-color, var(--border-color));box-shadow:var(--active--box-shadow, var(--box-shadow));padding:var(--active--padding, var(--padding));margin:var(--active--margin, var(--margin));border-radius:var(--active--border-radius, var(--border-radius));width:var(--active--width, var(--width));max-width:var(--active--max-width, var(--max-width));min-width:var(--active--min-width, var(--min-width));height:var(--active--height, var(--height));max-height:var(--active--max-height, var(--max-height));min-height:var(--active--min-height, var(--min-height));z-index:var(--active--z-index, var(--z-index));position:var(--active--position, var(--position));top:var(--active--top, var(--top));left:var(--active--left, var(--left));right:var(--active--right, var(--right));bottom:var(--active--bottom, var(--bottom));overflow:var(--active--overflow, var(--overflow));align-self:var(--active--align-self, var(--align-self))}.tgph-box--interactive:has(:focus-within){background-color:var(--focus-within--background-color, var(--background-color));border-width:var(--focus-within--border-width, var(--border-width));border-style:var(--focus-within--border-style, var(--border-style));border-color:var(--focus-within--border-color, var(--border-color));box-shadow:var(--focus-within--box-shadow, var(--box-shadow));padding:var(--focus-within--padding, var(--padding));margin:var(--focus-within--margin, var(--margin));border-radius:var(--focus-within--border-radius, var(--border-radius));width:var(--focus-within--width, var(--width));max-width:var(--focus-within--max-width, var(--max-width));min-width:var(--focus-within--min-width, var(--min-width));height:var(--focus-within--height, var(--height));max-height:var(--focus-within--max-height, var(--max-height));min-height:var(--focus-within--min-height, var(--min-height));z-index:var(--focus-within--z-index, var(--z-index));position:var(--focus-within--position, var(--position));top:var(--focus-within--top, var(--top));left:var(--focus-within--left, var(--left));right:var(--focus-within--right, var(--right));bottom:var(--focus-within--bottom, var(--bottom));overflow:var(--focus-within--overflow, var(--overflow));align-self:var(--focus-within--align-self, var(--align-self))}.tgph-box--interactive:disabled,.tgph-box--interactive[aria-disabled=true]{background-color:var(--disabled--background-color, var(--background-color));border-width:var(--disabled--border-width, var(--border-width));border-style:var(--disabled--border-style, var(--border-style));border-color:var(--disabled--border-color, var(--border-color));box-shadow:var(--disabled--box-shadow, var(--box-shadow));padding:var(--disabled--padding, var(--padding));margin:var(--disabled--margin, var(--margin));border-radius:var(--disabled--border-radius, var(--border-radius));width:var(--disabled--width, var(--width));max-width:var(--disabled--max-width, var(--max-width));min-width:var(--disabled--min-width, var(--min-width));height:var(--disabled--height, var(--height));max-height:var(--disabled--max-height, var(--max-height));min-height:var(--disabled--min-height, var(--min-height));z-index:var(--disabled--z-index, var(--z-index));position:var(--disabled--position, var(--position));top:var(--disabled--top, var(--top));left:var(--disabled--left, var(--left));right:var(--disabled--right, var(--right));bottom:var(--disabled--bottom, var(--bottom));overflow:var(--disabled--overflow, var(--overflow));align-self:var(--disabled--align-self, var(--align-self))}.tgph-stack{--display: flex;--direction: row;--wrap: nowrap;--justify: flex-start;--align: stretch;--gap: 0;display:var(--display);flex-direction:var(--direction);flex-wrap:var(--wrap);justify-content:var(--justify);align-items:var(--align);gap:var(--gap)}[data-tgph-input-container]{box-sizing:border-box}[data-tgph-input-slot]{box-sizing:border-box;order:2}[data-tgph-input-slot]>[data-tgph-button]{width:var(--tgph-spacing-full);height:var(--tgph-spacing-auto)}[data-tgph-input-slot]>[data-tgph-button-layout=icon-only]{aspect-ratio:1;padding:var(--tgph-spacing-0)}[data-tgph-input-slot]>[data-tgph-button-layout=default]{padding:var(--tgph-spacing-2)}[data-tgph-input-slot]:has([data-tgph-button-layout=icon-only]){aspect-ratio:1}[data-tgph-input-slot]:has([data-tgph-button-layout=icon-only]){padding:var(--tgph-spacing-1)!important}[data-tgph-input-slot-position=leading]{order:1}[data-tgph-input-slot-position=trailing]{order:3}[data-tgph-input-slot-size="1"]>[data-tgph-button]{border-radius:var(--tgph-rounded-1)}[data-tgph-input-slot-size="2"]>[data-tgph-button]{border-radius:var(--tgph-rounded-1)}[data-tgph-input-slot-size="3"]>[data-tgph-button]{border-radius:var(--tgph-rounded-2)}[data-tgph-input-container-state=disabled]{cursor:not-allowed}[data-tgph-input-field]{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:none;box-shadow:none;order:2;font-family:inherit}:root{--rtk-font-size-xs: .75rem;--rtk-font-size-sm: .875rem;--rtk-font-size-md: 1rem;--rtk-font-size-lg: 1.125rem;--rtk-font-size-xl: 1.266rem;--rtk-font-size-2xl: 1.5rem;--rtk-font-size-3xl: 1.75rem;--rtk-spacing-0: 0rem;--rtk-spacing-1: .25rem;--rtk-spacing-2: .5rem;--rtk-spacing-3: .75rem;--rtk-spacing-4: 1rem;--rtk-spacing-5: 1.25rem;--rtk-spacing-6: 1.5rem;--rtk-spacing-7: 2rem;--rtk-font-weight-normal: 400;--rtk-font-weight-medium: 500;--rtk-font-weight-semibold: 600;--rtk-font-weight-bold: 700;--rtk-font-family-sanserif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--rtk-border-radius-sm: 2px;--rtk-border-radius-md: 4px;--rtk-border-radius-lg: 8px;--rtk-button-border-radius: 6px;--rtk-color-white: #fff;--rtk-color-white-a-75: rgba(255, 255, 255, .75);--rtk-color-black: #000;--rtk-color-gray-900: #1a1f36;--rtk-color-gray-800: #3c4257;--rtk-color-gray-700: #3c4257;--rtk-color-gray-600: #515669;--rtk-color-gray-500: #697386;--rtk-color-gray-400: #9ea0aa;--rtk-color-gray-300: #a5acb8;--rtk-color-gray-200: #dddee1;--rtk-color-gray-100: #e4e8ee;--rtk-color-brand-500: #e95744;--rtk-color-brand-700: #e4321b;--rtk-color-brand-900: #891e10;--rtk-button-hover-color: rgba(247, 247, 248, 1)}:root{--rtk-connected-color: rgba(51, 163, 102, 1);--rtk-disconnect-border-color: rgba(230, 71, 51, 1);--rtk-disconnect-background-color: rgba(255, 245, 245, 1);--rtk-error-red: rgba(205, 123, 46, 1)}.rtk-connect__button{background-color:var(--rtk-color-white);border:1px solid var(--rtk-color-gray-200);border-radius:var(--rtk-button-border-radius);box-sizing:border-box;color:var(--rtk-color-black);cursor:pointer;display:inline-flex;font-family:var(--rtk-font-family-sanserif);font-size:var(--rtk-font-size-sm);font-weight:var(--rtk-font-weight-normal);gap:var(--rtk-spacing-2);padding:var(--rtk-spacing-1) var(--rtk-spacing-2);text-decoration:none;text-overflow:ellipsis;text-wrap:nowrap;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.rtk-connect__button--connected{border-color:var(--rtk-connected-color);color:var(--rtk-connected-color);width:120px}.rtk-connect__button--error{border-color:var(--rtk-error-red);color:var(--rtk-error-red)}.rtk-connect__button--loading{border-color:var(--rtk-color-gray-100);color:var(--rtk-color-gray-400);pointer-events:none}.rtk-connect__button--disconnected:hover{background-color:var(--rtk-button-hover-color)}.rtk-connect__button--connected:hover,.rtk-connect__button__text--connected:hover{background-color:var(--rtk-disconnect-background-color);border-color:var(--rtk-disconnect-border-color);color:var(--rtk-disconnect-border-color)}.rtk-connect__button--error:hover,.rtk-connect__button__text--error:hover{border-color:var(--rtk-color-black);color:var(--rtk-color-black)}.rtk-connect__button:active{transform:translate(1px,1px)}.rtk-auth{background:var(--rtk-color-white);border:1px solid var(--rtk-color-gray-100);border-radius:var(--rtk-border-radius-lg);font-family:var(--rtk-font-family-sanserif);font-size:var(--rtk-font-size-sm);font-weight:var(--rtk-font-weight-normal);padding:var(--rtk-spacing-5)}.rtk-auth__header{display:flex;flex-direction:row;justify-content:space-between}.rtk-auth__title{color:#1a1f36;font-size:var(--rtk-font-size-md);line-height:var(--rtk-spacing-5);margin-top:var(--rtk-spacing-4)}.rtk-auth__description{color:#515669;font-size:var(--rtk-font-size-sm);line-height:var(--rtk-spacing-5)}.rtk-combobox__grid{width:352px;display:grid;grid-template-columns:min-content 1fr;align-items:center;font-size:var(--rtk-font-size-sm);font-family:var(--rtk-font-family-sanserif)}.rtk-combobox__search{font-family:var(--rtk-font-family-sanserif)!important}.rtk-combobox__error{grid-column:span 2;align-items:flex-start;background-color:var(--rtk-color-gray-100);border-radius:var(--rtk-border-radius-md);display:flex;gap:var(--rtk-spacing-1);padding:var(--rtk-spacing-2)}:root{--rsk-font-size-xs: .75rem;--rsk-font-size-sm: .875rem;--rsk-font-size-md: 1rem;--rsk-font-size-lg: 1.125rem;--rsk-font-size-xl: 1.266rem;--rsk-font-size-2xl: 1.5rem;--rsk-font-size-3xl: 1.75rem;--rsk-spacing-0: 0rem;--rsk-spacing-1: .25rem;--rsk-spacing-2: .5rem;--rsk-spacing-3: .75rem;--rsk-spacing-4: 1rem;--rsk-spacing-5: 1.25rem;--rsk-spacing-6: 1.5rem;--rsk-spacing-7: 2rem;--rsk-font-weight-normal: 400;--rsk-font-weight-medium: 500;--rsk-font-weight-semibold: 600;--rsk-font-weight-bold: 700;--rsk-font-family-sanserif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--rsk-border-radius-sm: 2px;--rsk-border-radius-md: 4px;--rsk-border-radius-lg: 8px;--rsk-button-border-radius: 6px;--rsk-color-white: #fff;--rsk-color-white-a-75: rgba(255, 255, 255, .75);--rsk-color-black: #000;--rsk-color-gray-900: #1a1f36;--rsk-color-gray-800: #3c4257;--rsk-color-gray-700: #3c4257;--rsk-color-gray-600: #515669;--rsk-color-gray-500: #697386;--rsk-color-gray-400: #9ea0aa;--rsk-color-gray-300: #a5acb8;--rsk-color-gray-200: #dddee1;--rsk-color-gray-100: #e4e8ee;--rsk-color-brand-500: #e95744;--rsk-color-brand-700: #e4321b;--rsk-color-brand-900: #891e10;--rsk-button-hover-color: rgba(247, 247, 248, 1)}:root{--rsk-connected-color: rgba(51, 163, 102, 1);--rsk-disconnect-border-color: rgba(230, 71, 51, 1);--rsk-disconnect-background-color: rgba(255, 245, 245, 1);--rsk-error-red: rgba(205, 123, 46, 1)}.rsk-connect__button{background-color:var(--rsk-color-white);border:1px solid var(--rsk-color-gray-200);border-radius:var(--rsk-button-border-radius);box-sizing:border-box;color:var(--rsk-color-black);cursor:pointer;display:inline-flex;font-family:var(--rsk-font-family-sanserif);font-size:var(--rsk-font-size-sm);font-weight:var(--rsk-font-weight-normal);gap:var(--rsk-spacing-2);padding:var(--rsk-spacing-1) var(--rsk-spacing-2);text-decoration:none;text-overflow:ellipsis;text-wrap:nowrap;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.rsk-connect__button--connected{border-color:var(--rsk-connected-color);color:var(--rsk-connected-color);width:120px}.rsk-connect__button--error{border-color:var(--rsk-error-red);color:var(--rsk-error-red)}.rsk-connect__button--loading{border-color:var(--rsk-color-gray-100);color:var(--rsk-color-gray-400);pointer-events:none}.rsk-connect__button--disconnected:hover{background-color:var(--rsk-button-hover-color)}.rsk-connect__button--connected:hover,.rsk-connect__button__text--connected:hover{background-color:var(--rsk-disconnect-background-color);border-color:var(--rsk-disconnect-border-color);color:var(--rsk-disconnect-border-color)}.rsk-connect__button--error:hover,.rsk-connect__button__text--error:hover{border-color:var(--rsk-color-black);color:var(--rsk-color-black)}.rsk-connect__button:active{transform:translate(1px,1px)}.rsk-auth{background:var(--rsk-color-white);border:1px solid var(--rsk-color-gray-100);border-radius:var(--rsk-border-radius-lg);font-family:var(--rsk-font-family-sanserif);font-size:var(--rsk-font-size-sm);font-weight:var(--rsk-font-weight-normal);padding:var(--rsk-spacing-5)}.rsk-auth__header{display:flex;flex-direction:row;justify-content:space-between}.rsk-auth__title{color:#1a1f36;font-size:var(--rsk-font-size-md);line-height:var(--rsk-spacing-5);margin-top:var(--rsk-spacing-4)}.rsk-auth__description{color:#515669;font-size:var(--rsk-font-size-sm);line-height:var(--rsk-spacing-5)}.rsk-connect-channel{align-items:center;display:flex;gap:var(--rsk-spacing-1)}.rsk-connect-channel__input{border:1px solid var(--rsk-color-gray-200);border-radius:var(--rsk-border-radius-md);height:32px;padding-left:var(--rsk-spacing-2);width:270px}.rsk-connect-channel__button{background-color:var(--rsk-color-white);border-color:var(--rsk-color-gray-200);border-radius:var(--rsk-button-border-radius);color:var(--rsk-color-black);display:inline-flex;font-family:var(--rsk-font-family-sanserif);font-size:var(--rsk-font-size-sm);font-weight:var(--rsk-font-weight-normal);gap:var(--rsk-spacing-2);height:24px;padding:var(--rsk-spacing-2);text-decoration:none}.rsk-connect-channel__button:hover{background-color:var(--rsk-button-hover-color)}.rsk-combobox__grid{width:352px;display:grid;grid-template-columns:min-content 1fr;align-items:center;font-size:var(--rsk-font-size-sm);font-family:var(--rsk-font-family-sanserif)}.rsk-combobox__label{align-self:start;display:flex;align-items:center}.rsk-combobox__search{font-family:var(--rsk-font-family-sanserif)!important}.rsk-combobox__error{grid-column:span 2;align-items:flex-start;background-color:var(--rsk-color-gray-100);border-radius:var(--rsk-border-radius-md);display:flex;gap:var(--rsk-spacing-1);padding:var(--rsk-spacing-2)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusChin.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/FocusChin.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FocusChin.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/FocusChin.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAoClE,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,0BAA0B,KAAK,mDAmHxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuideAnnotatedStatusDot.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GuideAnnotatedStatusDot.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAkD7D,eAAO,MAAM,uBAAuB,GAAI,qBAGrC;IACD,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,4CAeA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuideContextDetails.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideContextDetails.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GuideContextDetails.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideContextDetails.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,mBAAmB,+CAkK/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuideRow.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideRow.tsx"],"names":[],"mappings":"AAoBA,OAAO,EACL,cAAc,EAEd,gBAAgB,EAEjB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAiJhE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,4CAA4C,KAAK,
|
|
1
|
+
{"version":3,"file":"GuideRow.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideRow.tsx"],"names":[],"mappings":"AAoBA,OAAO,EACL,cAAc,EAEd,gBAAgB,EAEjB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAiJhE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,4CAA4C,KAAK,4CAoLzE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuideRowDetails.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideRowDetails.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GuideRowDetails.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideRowDetails.tsx"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EAEZ,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,cAAc,EACd,gBAAgB,EAEjB,MAAM,8BAA8B,CAAC;AAiEtC,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,QAAQ,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,KACvD,aA4BF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,YAE7B;IACD,KAAK,EAAE,cAAc,GAAG,gBAAgB,CAAC;CAC1C,4CA6FA,CAAC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
type Props = {
|
|
2
|
+
readyToTarget: boolean;
|
|
3
|
+
};
|
|
4
|
+
export declare const V2: ({ readyToTarget }: Props) => import("react/jsx-runtime").JSX.Element | null;
|
|
5
|
+
export {};
|
|
2
6
|
//# sourceMappingURL=V2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V2.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/V2.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"V2.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/V2.tsx"],"names":[],"mappings":"AAoBA,OAAO,eAAe,CAAC;AAmEvB,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,EAAE,GAAI,mBAAmB,KAAK,mDA+U1C,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export type ToolbarV2RunConfig = {
|
|
4
|
-
isVisible: boolean;
|
|
5
|
-
focusedGuideKeys?: Record<KnockGuide["key"], true>;
|
|
1
|
+
export declare const sharedTooltipProps: {
|
|
2
|
+
delayDuration: number;
|
|
6
3
|
};
|
|
7
|
-
export
|
|
8
|
-
export declare const clearRunConfigLS: () => void;
|
|
4
|
+
export type DisplayOption = "all-guides" | "only-active" | "only-eligible";
|
|
9
5
|
export declare const FOCUS_ERRORS: {
|
|
10
6
|
focusUnknownGuide: string;
|
|
11
7
|
focusUncommittedGuide: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/helpers.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,CAAC;AAE3E,eAAO,MAAM,YAAY;;;;CAIxB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { KnockGuide, KnockGuideSelectionResult } from '@knocklabs/client';
|
|
2
|
-
import { ToolbarV2RunConfig } from './helpers';
|
|
1
|
+
import { KnockGuide, KnockGuideSelectionResult, ToolbarV2RunConfig } from '@knocklabs/client';
|
|
3
2
|
/**
|
|
4
3
|
* This is the main module that will house core logic for the toolbar. It hooks
|
|
5
4
|
* into the guide client state store, extracts relevant data for debugging, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInspectGuideClientStore.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAIV,yBAAyB,
|
|
1
|
+
{"version":3,"file":"useInspectGuideClientStore.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockGuideProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/guide/providers/KnockGuideProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,KAAK,GAAG,uBAAuB,GAAG;IACrC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"KnockGuideProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/guide/providers/KnockGuideProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,KAAK,GAAG,uBAAuB,GAAG;IACrC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAqBvE,CAAC"}
|