@helpai/elements 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -80,5 +80,5 @@
80
80
  ],
81
81
  "type": "module",
82
82
  "types": "./index.d.ts",
83
- "version": "0.14.1"
83
+ "version": "0.15.0"
84
84
  }
package/schema.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as Asset, B as BlocksConfig, C as ConnectionConfig, a as ConnectionConfigPartial, E as Endpoints, L as Link, P as PAGE_AREA_SUGGESTIONS, g as PageContext, S as ServerConfig, b as SiteConfig, c as StartSessionResponse, U as UserContext, W as WidgetConfig, d as WidgetConfigPartial, e as WidgetSettings, f as WidgetSettingsPartial, h as assetSchema, i as blocksConfigSchema, j as connectionConfigPartialSchema, k as connectionConfigSchema, l as cssColorSchema, m as cssLengthSchema, n as endpointsSchema, o as linkSchema, p as localeSchema, q as pageContextSchema, s as serverConfigSchema, r as siteConfigSchema, t as startSessionResponseSchema, u as userContextSchema, v as uuid7Schema, w as widgetConfigPartialSchema, x as widgetConfigSchema, y as widgetSettingsPartialSchema, z as widgetSettingsSchema } from './deployment-DYIboFNT.js';
1
+ export { A as Asset, B as BlocksConfig, C as ConnectionConfig, a as ConnectionConfigPartial, E as Endpoints, L as Link, P as PAGE_AREA_SUGGESTIONS, g as PageContext, S as ServerConfig, b as SiteConfig, c as StartConversationResponse, U as UserContext, W as WidgetConfig, d as WidgetConfigPartial, e as WidgetSettings, f as WidgetSettingsPartial, h as assetSchema, i as blocksConfigSchema, j as connectionConfigPartialSchema, k as connectionConfigSchema, l as cssColorSchema, m as cssLengthSchema, n as endpointsSchema, o as linkSchema, p as localeSchema, q as pageContextSchema, s as serverConfigSchema, r as siteConfigSchema, t as startConversationResponseSchema, u as userContextSchema, v as uuid7Schema, w as widgetConfigPartialSchema, x as widgetConfigSchema, y as widgetSettingsPartialSchema, z as widgetSettingsSchema } from './deployment-P3CoZ-BV.js';
2
2
  import { z } from 'zod';
3
3
 
4
4
  /**
@@ -504,7 +504,7 @@ type ComposerOptions = z.infer<typeof composerOptionsSchema>;
504
504
  /**
505
505
  * Welcome section — how the agent's greeting messages render when
506
506
  * the chat opens. Content (the actual message text + suggestions)
507
- * comes from the server's start-session response; this schema only
507
+ * comes from the server's start-conversation response; this schema only
508
508
  * governs the visual presentation (animation style + speed).
509
509
  */
510
510
 
@@ -694,7 +694,7 @@ declare const formDefSchema: z.ZodObject<{
694
694
  skippable: z.ZodDefault<z.ZodBoolean>;
695
695
  frequency: z.ZodDefault<z.ZodEnum<{
696
696
  once: "once";
697
- session: "session";
697
+ conversation: "conversation";
698
698
  always: "always";
699
699
  }>>;
700
700
  mirrorToContext: z.ZodDefault<z.ZodBoolean>;
@@ -752,7 +752,7 @@ declare const formsSchema: z.ZodArray<z.ZodObject<{
752
752
  skippable: z.ZodDefault<z.ZodBoolean>;
753
753
  frequency: z.ZodDefault<z.ZodEnum<{
754
754
  once: "once";
755
- session: "session";
755
+ conversation: "conversation";
756
756
  always: "always";
757
757
  }>>;
758
758
  mirrorToContext: z.ZodDefault<z.ZodBoolean>;
@@ -789,7 +789,7 @@ type I18nOptions = z.infer<typeof i18nSchema>;
789
789
  * One tab → no tab bar (just that content). Zero → an empty state. Only
790
790
  * meaningful in `floating` / `drawer` / `modal` modes.
791
791
  *
792
- * The list arrives via the start-session (`config.modules`); each non-chat
792
+ * The list arrives via the start-conversation (`config.modules`); each non-chat
793
793
  * tab lazy-fetches its content from `GET /ai/agent/content` scoped by its
794
794
  * `category`. See `docs/api/messenger-modules.md` + `docs/api/content.md`.
795
795
  */
@@ -820,7 +820,7 @@ declare const moduleSchema: z.ZodObject<{
820
820
  role: z.ZodOptional<z.ZodString>;
821
821
  }, z.core.$loose>>>;
822
822
  showSearchBar: z.ZodOptional<z.ZodBoolean>;
823
- showRecentMessages: z.ZodOptional<z.ZodBoolean>;
823
+ showRecentConversations: z.ZodOptional<z.ZodBoolean>;
824
824
  status: z.ZodOptional<z.ZodObject<{
825
825
  text: z.ZodString;
826
826
  level: z.ZodOptional<z.ZodString>;
@@ -848,7 +848,7 @@ declare const modulesSchema: z.ZodArray<z.ZodObject<{
848
848
  role: z.ZodOptional<z.ZodString>;
849
849
  }, z.core.$loose>>>;
850
850
  showSearchBar: z.ZodOptional<z.ZodBoolean>;
851
- showRecentMessages: z.ZodOptional<z.ZodBoolean>;
851
+ showRecentConversations: z.ZodOptional<z.ZodBoolean>;
852
852
  status: z.ZodOptional<z.ZodObject<{
853
853
  text: z.ZodString;
854
854
  level: z.ZodOptional<z.ZodString>;
package/schema.json CHANGED
@@ -167,7 +167,7 @@
167
167
  },
168
168
  "submitForm": {
169
169
  "default": "/ai/agent/submit-form",
170
- "description": "Form submission endpoint. The widget POSTs each completed form's values here (fire-and-forget), keyed by the same visitorId + sessionId as the conversation; the payload carries `formId` + `trigger` so the backend can route. Optional — a 404 is ignored.",
170
+ "description": "Form submission endpoint. The widget POSTs each completed form's values here (fire-and-forget), keyed by the same visitorId + conversationId as the conversation; the payload carries `formId` + `trigger` so the backend can route. Optional — a 404 is ignored.",
171
171
  "type": "string",
172
172
  "minLength": 1,
173
173
  "maxLength": 2048
@@ -469,7 +469,7 @@
469
469
  "type": "boolean"
470
470
  },
471
471
  "popOutUrl": {
472
- "description": "URL the `popOut` action opens in a new tab (carries `?chat=<id>&widgetId=<id>` query params). Falls back to the brand's build-time default. Set this to point at your own dedicated chat page (e.g. `https://app.acme.com/chat`). Server-pushable on `/start-session.widget.behavior.popOutUrl`.",
472
+ "description": "URL the `popOut` action opens in a new tab (carries `?conversation=<id>&widgetId=<id>` query params). Falls back to the brand's build-time default. Set this to point at your own dedicated chat page (e.g. `https://app.acme.com/chat`). Server-pushable on `/start-conversation.widget.behavior.popOutUrl`.",
473
473
  "type": "string",
474
474
  "minLength": 1,
475
475
  "maxLength": 2048
@@ -1591,11 +1591,11 @@
1591
1591
  },
1592
1592
  "frequency": {
1593
1593
  "default": "once",
1594
- "description": "`once` (persisted per-device), `session`, or `always`.",
1594
+ "description": "`once` (per device, persisted), `conversation` (re-eligible each new conversation), or `always`.",
1595
1595
  "type": "string",
1596
1596
  "enum": [
1597
1597
  "once",
1598
- "session",
1598
+ "conversation",
1599
1599
  "always"
1600
1600
  ]
1601
1601
  },
@@ -1786,7 +1786,7 @@
1786
1786
  "description": "`home` — show the 'Search for help' bar (default true).",
1787
1787
  "type": "boolean"
1788
1788
  },
1789
- "showRecentMessages": {
1789
+ "showRecentConversations": {
1790
1790
  "description": "`home` — show the visitor's most recent conversation card (default true).",
1791
1791
  "type": "boolean"
1792
1792
  },
@@ -1836,7 +1836,7 @@
1836
1836
  "examples": [
1837
1837
  [
1838
1838
  {
1839
- "label": "tabMessages",
1839
+ "label": "tabConversations",
1840
1840
  "layout": "chat"
1841
1841
  }
1842
1842
  ],
@@ -1846,14 +1846,14 @@
1846
1846
  "layout": "home",
1847
1847
  "brandName": "Acme",
1848
1848
  "showSearchBar": true,
1849
- "showRecentMessages": true,
1849
+ "showRecentConversations": true,
1850
1850
  "contentBlockTitle": "Popular articles",
1851
1851
  "contentTags": [
1852
1852
  "popular"
1853
1853
  ]
1854
1854
  },
1855
1855
  {
1856
- "label": "tabMessages",
1856
+ "label": "tabConversations",
1857
1857
  "layout": "chat"
1858
1858
  },
1859
1859
  {
@@ -1875,10 +1875,10 @@
1875
1875
  ]
1876
1876
  },
1877
1877
  "site": {
1878
- "description": "Site config — applies in `mode: \"page\"`. Comes from the start-session response, not user-edited."
1878
+ "description": "Site config — applies in `mode: \"page\"`. Comes from the start-conversation response, not user-edited."
1879
1879
  },
1880
1880
  "blocks": {
1881
- "description": "Blocks (nav + link cards) — applies in `mode: \"page\"`. Comes from the start-session response."
1881
+ "description": "Blocks (nav + link cards) — applies in `mode: \"page\"`. Comes from the start-conversation response."
1882
1882
  }
1883
1883
  },
1884
1884
  "required": [
@@ -1909,7 +1909,7 @@
1909
1909
  }
1910
1910
  ]
1911
1911
  },
1912
- "StartSessionResponse": {
1912
+ "StartConversationResponse": {
1913
1913
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1914
1914
  "type": "object",
1915
1915
  "properties": {
@@ -2222,7 +2222,7 @@
2222
2222
  "type": "boolean"
2223
2223
  },
2224
2224
  "popOutUrl": {
2225
- "description": "URL the `popOut` action opens in a new tab (carries `?chat=<id>&widgetId=<id>` query params). Falls back to the brand's build-time default. Set this to point at your own dedicated chat page (e.g. `https://app.acme.com/chat`). Server-pushable on `/start-session.widget.behavior.popOutUrl`.",
2225
+ "description": "URL the `popOut` action opens in a new tab (carries `?conversation=<id>&widgetId=<id>` query params). Falls back to the brand's build-time default. Set this to point at your own dedicated chat page (e.g. `https://app.acme.com/chat`). Server-pushable on `/start-conversation.widget.behavior.popOutUrl`.",
2226
2226
  "type": "string",
2227
2227
  "minLength": 1,
2228
2228
  "maxLength": 2048
@@ -3344,11 +3344,11 @@
3344
3344
  },
3345
3345
  "frequency": {
3346
3346
  "default": "once",
3347
- "description": "`once` (persisted per-device), `session`, or `always`.",
3347
+ "description": "`once` (per device, persisted), `conversation` (re-eligible each new conversation), or `always`.",
3348
3348
  "type": "string",
3349
3349
  "enum": [
3350
3350
  "once",
3351
- "session",
3351
+ "conversation",
3352
3352
  "always"
3353
3353
  ]
3354
3354
  },
@@ -3539,7 +3539,7 @@
3539
3539
  "description": "`home` — show the 'Search for help' bar (default true).",
3540
3540
  "type": "boolean"
3541
3541
  },
3542
- "showRecentMessages": {
3542
+ "showRecentConversations": {
3543
3543
  "description": "`home` — show the visitor's most recent conversation card (default true).",
3544
3544
  "type": "boolean"
3545
3545
  },
@@ -3589,7 +3589,7 @@
3589
3589
  "examples": [
3590
3590
  [
3591
3591
  {
3592
- "label": "tabMessages",
3592
+ "label": "tabConversations",
3593
3593
  "layout": "chat"
3594
3594
  }
3595
3595
  ],
@@ -3599,14 +3599,14 @@
3599
3599
  "layout": "home",
3600
3600
  "brandName": "Acme",
3601
3601
  "showSearchBar": true,
3602
- "showRecentMessages": true,
3602
+ "showRecentConversations": true,
3603
3603
  "contentBlockTitle": "Popular articles",
3604
3604
  "contentTags": [
3605
3605
  "popular"
3606
3606
  ]
3607
3607
  },
3608
3608
  {
3609
- "label": "tabMessages",
3609
+ "label": "tabConversations",
3610
3610
  "layout": "chat"
3611
3611
  },
3612
3612
  {
@@ -3840,7 +3840,7 @@
3840
3840
  "visitorId": {
3841
3841
  "type": "string"
3842
3842
  },
3843
- "sessionId": {
3843
+ "conversationId": {
3844
3844
  "type": "string"
3845
3845
  },
3846
3846
  "canContinue": {
@@ -3868,7 +3868,7 @@
3868
3868
  "invalid"
3869
3869
  ]
3870
3870
  },
3871
- "sessionId": {
3871
+ "conversationId": {
3872
3872
  "type": "string",
3873
3873
  "enum": [
3874
3874
  "conflict",
@@ -3884,7 +3884,7 @@
3884
3884
  "deployment",
3885
3885
  "agent",
3886
3886
  "visitorId",
3887
- "sessionId",
3887
+ "conversationId",
3888
3888
  "canContinue",
3889
3889
  "messages"
3890
3890
  ],
package/schema.mjs CHANGED
@@ -14,7 +14,7 @@ var linkSchema = z.object({
14
14
  var cssLengthSchema = z.string().min(1).max(120).describe("Any CSS length \u2014 `640px`, `80vh`, `calc(100vh - 64px)`, etc. Validated only for size, not syntax.");
15
15
  var cssColorSchema = z.string().min(1).max(120).describe("Any CSS colour \u2014 hex, `rgb()`, `hsl()`, `oklch()`, a named colour, or a `var(--token)`.");
16
16
  var localeSchema = z.string().min(1).max(35).describe("BCP-47 locale tag (e.g. `en`, `fr-CA`, `zh-Hant-HK`).");
17
- var uuid7Schema = z.uuidv7().describe("UUID v7 (RFC 9562) \u2014 the single id format for visitor / session / message / file / content ids.");
17
+ var uuid7Schema = z.uuidv7().describe("UUID v7 (RFC 9562) \u2014 the single id format for visitor / conversation / message / file / content ids.");
18
18
 
19
19
  // src/schema/widget.ts
20
20
  import { z as z16 } from "zod";
@@ -129,7 +129,7 @@ var behaviorSchema = z4.object({
129
129
  "Show tool/function calls the model makes (e.g. search) as inline chips in the transcript. `false` (default) hides them."
130
130
  ),
131
131
  popOutUrl: z4.string().min(1).max(2048).optional().describe(
132
- "URL the `popOut` action opens in a new tab (carries `?chat=<id>&widgetId=<id>` query params). Falls back to the brand's build-time default. Set this to point at your own dedicated chat page (e.g. `https://app.acme.com/chat`). Server-pushable on `/start-session.widget.behavior.popOutUrl`."
132
+ "URL the `popOut` action opens in a new tab (carries `?conversation=<id>&widgetId=<id>` query params). Falls back to the brand's build-time default. Set this to point at your own dedicated chat page (e.g. `https://app.acme.com/chat`). Server-pushable on `/start-conversation.widget.behavior.popOutUrl`."
133
133
  )
134
134
  }).loose().describe("Lifecycle + streaming behaviour. Doesn't affect visual presentation.").meta({
135
135
  examples: [
@@ -437,7 +437,7 @@ var formDefSchema = z13.object({
437
437
  description: z13.string().max(500).optional(),
438
438
  submitLabel: z13.string().max(60).optional(),
439
439
  skippable: z13.boolean().default(false).describe("Show a Skip control so the visitor can dismiss the form."),
440
- frequency: z13.enum(["once", "session", "always"]).default("once").describe("`once` (persisted per-device), `session`, or `always`."),
440
+ frequency: z13.enum(["once", "conversation", "always"]).default("once").describe("`once` (per device, persisted), `conversation` (re-eligible each new conversation), or `always`."),
441
441
  mirrorToContext: z13.boolean().default(true).describe(
442
442
  "Mirror the answers into `userContext` so they ride every request. Set `false` for PII (DOB, policy #, symptoms) \u2014 those then go only to the submit endpoint."
443
443
  )
@@ -539,7 +539,7 @@ var moduleSchema = z15.object({
539
539
  }).loose()
540
540
  ).max(10).optional().describe("`home` \u2014 team/agent avatars shown in the hero."),
541
541
  showSearchBar: z15.boolean().optional().describe("`home` \u2014 show the 'Search for help' bar (default true)."),
542
- showRecentMessages: z15.boolean().optional().describe("`home` \u2014 show the visitor's most recent conversation card (default true)."),
542
+ showRecentConversations: z15.boolean().optional().describe("`home` \u2014 show the visitor's most recent conversation card (default true)."),
543
543
  status: z15.object({
544
544
  text: z15.string().min(1).max(120),
545
545
  level: z15.string().max(40).optional().describe(
@@ -553,18 +553,18 @@ var modulesSchema = z15.array(moduleSchema).max(4).describe(
553
553
  "Messenger tabs \u2014 an ordered list of up to 4 tabs, each picking a `layout` + optional content `contentTags` (the content scope) + a translatable `label`. One tab \u2192 no tab bar (just that content); zero \u2192 an empty state. Floating / drawer / modal only."
554
554
  ).meta({
555
555
  examples: [
556
- [{ label: "tabMessages", layout: "chat" }],
556
+ [{ label: "tabConversations", layout: "chat" }],
557
557
  [
558
558
  {
559
559
  label: "tabHome",
560
560
  layout: "home",
561
561
  brandName: "Acme",
562
562
  showSearchBar: true,
563
- showRecentMessages: true,
563
+ showRecentConversations: true,
564
564
  contentBlockTitle: "Popular articles",
565
565
  contentTags: ["popular"]
566
566
  },
567
- { label: "tabMessages", layout: "chat" },
567
+ { label: "tabConversations", layout: "chat" },
568
568
  { label: "tabHelp", layout: "help", contentTags: ["help", "guides"] },
569
569
  { label: "tabNews", layout: "news", contentTags: ["news"] }
570
570
  ]
@@ -576,7 +576,7 @@ var endpointsSchema = z16.object({
576
576
  upload: z16.string().min(1).max(2048).default("/ai/agent/upload-file"),
577
577
  transcribe: z16.string().min(1).max(2048).default("/ai/agent/transcribe-audio"),
578
578
  submitForm: z16.string().min(1).max(2048).default("/ai/agent/submit-form").describe(
579
- "Form submission endpoint. The widget POSTs each completed form's values here (fire-and-forget), keyed by the same visitorId + sessionId as the conversation; the payload carries `formId` + `trigger` so the backend can route. Optional \u2014 a 404 is ignored."
579
+ "Form submission endpoint. The widget POSTs each completed form's values here (fire-and-forget), keyed by the same visitorId + conversationId as the conversation; the payload carries `formId` + `trigger` so the backend can route. Optional \u2014 a 404 is ignored."
580
580
  )
581
581
  }).loose().describe("HTTP endpoint overrides. Paths are appended to baseUrl; absolute URLs are accepted too.").meta({
582
582
  examples: [
@@ -667,7 +667,7 @@ var widgetSettingsSchema = z16.object({
667
667
  forms: formsSchema.optional(),
668
668
  modules: modulesSchema.optional()
669
669
  }).loose().describe(
670
- "Portal-configurable widget settings \u2014 thirteen sections, one per dashboard tab. The backend pushes this same shape on `/ai/agent/start-session` under `config`."
670
+ "Portal-configurable widget settings \u2014 thirteen sections, one per dashboard tab. The backend pushes this same shape on `/ai/agent/start-conversation` under `config`."
671
671
  ).meta({
672
672
  examples: [
673
673
  { presentation: { mode: "floating", position: "bottom-right" }, theme: "auto" },
@@ -685,8 +685,10 @@ var widgetSettingsSchema = z16.object({
685
685
  });
686
686
  var widgetConfigSchema = connectionConfigSchema.extend({
687
687
  ...widgetSettingsSchema.shape,
688
- site: z16.unknown().optional().describe('Site config \u2014 applies in `mode: "page"`. Comes from the start-session response, not user-edited.'),
689
- blocks: z16.unknown().optional().describe('Blocks (nav + link cards) \u2014 applies in `mode: "page"`. Comes from the start-session response.')
688
+ site: z16.unknown().optional().describe(
689
+ 'Site config \u2014 applies in `mode: "page"`. Comes from the start-conversation response, not user-edited.'
690
+ ),
691
+ blocks: z16.unknown().optional().describe('Blocks (nav + link cards) \u2014 applies in `mode: "page"`. Comes from the start-conversation response.')
690
692
  }).describe(
691
693
  "Full client widget config \u2014 connection (where + auth) + widget settings (look + behaviour) + page-mode extras. This is what the runtime parses on `mount()` / `init()`. Mode-specific constraints (e.g. `position` only meaningful in `floating`) are NOT enforced here \u2014 the runtime silently ignores irrelevant fields rather than rejecting them so the same object can flow across mode changes."
692
694
  ).meta({
@@ -733,7 +735,7 @@ var handshakeWelcomeSuggestionSchema = z17.object({
733
735
  text: z17.string().optional()
734
736
  }).loose();
735
737
  var rebindReasonSchema = z17.enum(["conflict", "expired", "invalid"]);
736
- var startSessionResponseSchema = z17.object({
738
+ var startConversationResponseSchema = z17.object({
737
739
  deployment: z17.object({
738
740
  id: z17.string(),
739
741
  name: z17.string(),
@@ -766,7 +768,7 @@ var startSessionResponseSchema = z17.object({
766
768
  suggestions: z17.array(handshakeWelcomeSuggestionSchema).optional()
767
769
  }).loose().optional(),
768
770
  visitorId: z17.string(),
769
- sessionId: z17.string(),
771
+ conversationId: z17.string(),
770
772
  canContinue: z17.boolean(),
771
773
  messages: z17.array(z17.unknown()),
772
774
  /**
@@ -777,11 +779,11 @@ var startSessionResponseSchema = z17.object({
777
779
  */
778
780
  userPrefs: z17.record(z17.string(), z17.unknown()).optional(),
779
781
  // Present only when the server rotated the request `visitorId` /
780
- // `sessionId`. Purely advisory — client must adopt the response ids
782
+ // `conversationId`. Purely advisory — client must adopt the response ids
781
783
  // verbatim regardless of whether this block is present.
782
784
  rebind: z17.object({
783
785
  visitorId: rebindReasonSchema.optional(),
784
- sessionId: rebindReasonSchema.optional()
786
+ conversationId: rebindReasonSchema.optional()
785
787
  }).loose().optional()
786
788
  }).loose();
787
789
 
@@ -824,7 +826,7 @@ function emitJsonSchema() {
824
826
  description: "Canonical config schemas for the embeddable AI agent elements widget.",
825
827
  definitions: {
826
828
  WidgetConfig: z19.toJSONSchema(widgetConfigSchema),
827
- StartSessionResponse: z19.toJSONSchema(startSessionResponseSchema)
829
+ StartConversationResponse: z19.toJSONSchema(startConversationResponseSchema)
828
830
  }
829
831
  };
830
832
  }
@@ -886,7 +888,7 @@ export {
886
888
  siteConfigSchema,
887
889
  sizeOptionsSchema,
888
890
  soundOptionsSchema,
889
- startSessionResponseSchema,
891
+ startConversationResponseSchema,
890
892
  stringsOverrideSchema,
891
893
  themeFieldSchema,
892
894
  themeOverridesSchema,
package/style.css CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  *,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0}button{font:inherit;color:inherit;background:none;cursor:pointer;-webkit-appearance:none;appearance:none;line-height:1}button:focus-visible,[tabindex]:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--helpai-accent);outline-offset:2px}textarea,input{font:inherit;color:inherit;background:none;border:0;outline:0;resize:none}a{color:var(--helpai-accent);text-decoration:underline;text-underline-offset:2px}img,svg{display:block;max-width:100%}ul,ol{list-style:none}.helpai-app{display:block;width:100%;height:100%;font-family:var(--helpai-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}.helpai-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
4
4
 
5
- .helpai-anchor{right:16px;bottom:16px}:host([data-position="bottom-left"]) .helpai-anchor,:host([data-position="top-left"]) .helpai-anchor{right:auto;left:16px}:host([data-position="top-right"]) .helpai-anchor,:host([data-position="top-left"]) .helpai-anchor{bottom:auto;top:16px}.helpai-anchor{position:fixed;display:flex;flex-direction:column;align-items:flex-end;gap:var(--helpai-space-3);pointer-events:none}.helpai-anchor{--helpai-fab-size: 56px}.helpai-anchor[data-launcher-size=sm]{--helpai-fab-size: 44px}.helpai-anchor[data-launcher-size=md]{--helpai-fab-size: 56px}.helpai-anchor[data-launcher-size=lg]{--helpai-fab-size: 68px}.helpai-anchor>*{pointer-events:auto}.helpai-fab[data-size=sm]{--helpai-fab-size: 44px;font-size:var(--helpai-text-sm)}.helpai-fab[data-size=md]{--helpai-fab-size: 56px;font-size:14px}.helpai-fab[data-size=lg]{--helpai-fab-size: 68px;font-size:var(--helpai-text-base)}.helpai-fab{display:inline-flex;align-items:center;justify-content:center;gap:var(--helpai-space-2);color:var(--helpai-accent-text);background:var(--helpai-accent);box-shadow:var(--helpai-shadow-fab);font-weight:600;line-height:1;transform-origin:bottom right;animation:helpai-fab-in var(--helpai-dur-base) var(--helpai-ease) both;transition:transform var(--helpai-dur-base) var(--helpai-ease),opacity var(--helpai-dur-base) var(--helpai-ease),box-shadow var(--helpai-dur-base) var(--helpai-ease)}.helpai-fab:hover{transform:translateY(-2px)}.helpai-fab:active{transform:translateY(0)}.helpai-fab:focus-visible{outline:2px solid var(--helpai-on-accent);outline-offset:3px}.helpai-fab svg{width:24px;height:24px;flex-shrink:0}@keyframes helpai-fab-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.helpai-fab[data-leaving]{position:absolute;right:0;bottom:0;animation:helpai-fab-out var(--helpai-dur-quick) var(--helpai-ease) forwards;pointer-events:none}:host([data-position^="top-"]) .helpai-fab[data-leaving]{bottom:auto;top:0}:host([data-position$="-left"]) .helpai-fab[data-leaving]{right:auto;left:0}@keyframes helpai-fab-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.85)}}.helpai-fab[data-variant=circle]{width:var(--helpai-fab-size);height:var(--helpai-fab-size);border-radius:999px}.helpai-fab[data-variant=circle] .helpai-fab-label{display:none}.helpai-fab[data-variant=pill]{height:var(--helpai-fab-size);padding:0 18px 0 16px;border-radius:999px}.helpai-fab[data-variant=bar]{height:var(--helpai-fab-size);padding:0 22px;border-radius:var(--helpai-radius)}.helpai-fab[data-variant=minimal]{height:var(--helpai-fab-size);padding:0 var(--helpai-space-4);border-radius:999px;background:transparent;color:var(--helpai-accent);box-shadow:none;border:1px solid currentColor}.helpai-fab[data-variant=minimal]:hover{background:color-mix(in srgb,var(--helpai-accent) 12%,transparent)}.helpai-callout{--helpai-callout-fab-h: var(--helpai-fab-size, 56px);--helpai-callout-gap: clamp(12px, calc(var(--helpai-callout-fab-h) * .25), 22px);--helpai-callout-nudge-direction: -1;position:absolute;display:inline-flex;align-items:center;gap:var(--helpai-space-2);padding:10px 14px;background:var(--helpai-fg);color:var(--helpai-bg);border-radius:999px;font-size:var(--helpai-text-sm);font-weight:600;line-height:1.2;box-shadow:0 10px 30px -8px #00000059;pointer-events:auto;animation:helpai-callout-in var(--helpai-dur-slow) var(--helpai-ease);z-index:1;max-width:240px;white-space:nowrap}.helpai-callout[data-position=left]{right:calc(100% + var(--helpai-callout-gap));bottom:calc(var(--helpai-callout-fab-h) / 2);transform:translateY(50%)}.helpai-callout[data-position=right]{left:calc(100% + var(--helpai-callout-gap));bottom:calc(var(--helpai-callout-fab-h) / 2);transform:translateY(50%);--helpai-callout-nudge-direction: 1}.helpai-callout[data-position=top]{bottom:calc(100% + var(--helpai-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}.helpai-callout[data-position=bottom]{top:calc(100% + var(--helpai-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}:host([data-position$="-left"]) .helpai-callout[data-position=top],:host([data-position$="-left"]) .helpai-callout[data-position=bottom]{right:auto;left:0}.helpai-callout[data-shape=bubble]{border-radius:var(--helpai-radius-md);white-space:normal;width:max-content;max-width:min(280px,calc(100vw - 32px))}.helpai-callout[data-shape=callout]{padding:12px 18px;font-size:14px;background:var(--helpai-accent);color:var(--helpai-accent-text)}.helpai-callout:after{content:"";position:absolute;width:12px;height:12px;background:inherit;border-radius:2px;transform:rotate(45deg)}.helpai-callout[data-position=left]:after{right:-5px;top:50%;margin-top:-6px}.helpai-callout[data-position=right]:after{left:-5px;top:50%;margin-top:-6px}.helpai-callout[data-position=top]:after{bottom:-5px;right:calc(var(--helpai-fab-size, 56px) / 2 - 6px)}.helpai-callout[data-position=bottom]:after{top:-5px;right:calc(var(--helpai-fab-size, 56px) / 2 - 6px)}:host([data-position$="-left"]) .helpai-callout[data-position=top]:after,:host([data-position$="-left"]) .helpai-callout[data-position=bottom]:after{right:auto;left:calc(var(--helpai-fab-size, 56px) / 2 - 6px)}.helpai-callout[data-animated]{animation:helpai-callout-in var(--helpai-dur-slow) var(--helpai-ease),helpai-callout-nudge 1.6s var(--helpai-ease-in-out) var(--helpai-dur-slow) infinite}@keyframes helpai-callout-in{0%{opacity:0}to{opacity:1}}@keyframes helpai-callout-nudge{0%,to{margin-left:0;margin-right:0}50%{margin-left:calc(6px * var(--helpai-callout-nudge-direction));margin-right:calc(-6px * var(--helpai-callout-nudge-direction))}}@media(prefers-reduced-motion:reduce){.helpai-callout[data-animated]{animation:helpai-callout-in 1ms var(--helpai-ease)}.helpai-icon-btn[data-recording=true],.helpai-typing span{animation:none}}.helpai-callout-close{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:inherit;opacity:.7;cursor:pointer}.helpai-callout-close:hover{opacity:1;background:#ffffff26}.helpai-callout-close svg{width:12px;height:12px}.helpai-panel{width:var(--helpai-panel-w);height:var(--helpai-panel-h);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);background:var(--helpai-bg);color:var(--helpai-fg);border-radius:var(--helpai-radius-lg);box-shadow:var(--helpai-shadow-panel);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:helpai-panel-in var(--helpai-dur-slow) var(--helpai-ease);border:1px solid var(--helpai-border)}:host([data-mode="open"]) .helpai-panel{width:var(--helpai-widget-w, var(--helpai-panel-w));height:var(--helpai-widget-h, var(--helpai-panel-h));min-width:var(--helpai-resize-min-w, auto);min-height:var(--helpai-resize-min-h, auto);max-width:var(--helpai-resize-max-w, calc(100vw - 32px) );max-height:var(--helpai-resize-max-h, calc(100dvh - 32px) )}@keyframes helpai-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}:host([data-mode="expanded"]) .helpai-panel{width:var(--helpai-expanded-w, 640px);height:var(--helpai-expanded-h, 820px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}:host([data-mode="fullscreen"]){z-index:var(--helpai-z-panel)!important}:host([data-mode="fullscreen"]) .helpai-anchor{inset:0;align-items:stretch;padding:0}:host([data-mode="fullscreen"]) .helpai-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}:host([data-mode="fullscreen"]) .helpai-fab{display:none}:host([data-mode="inline"]) .helpai-anchor,:host([data-mode="standalone"]) .helpai-anchor{position:static;inset:auto;padding:0;align-items:stretch;width:100%;height:100%;min-height:0}:host([data-mode="inline"]) .helpai-panel,:host([data-mode="standalone"]) .helpai-panel{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;animation:none}:host([data-mode="inline"]) .helpai-fab,:host([data-mode="standalone"]) .helpai-fab{display:none}:host([data-mode="inline"]){min-height:320px}:host([data-mode="inline"]) .helpai-panel{border-radius:var(--helpai-radius)}:host([data-mode="standalone"]) .helpai-panel{border-radius:0;border:0;box-shadow:none}:host([data-mode="modal"]){position:fixed!important;inset:0!important;z-index:var(--helpai-z-panel)!important;display:block!important;width:100vw;height:100dvh;background:var(--helpai-modal-backdrop, var(--helpai-backdrop));animation:helpai-backdrop-in var(--helpai-dur-base) var(--helpai-ease) both;--helpai-panel-w: min(960px, 92vw);--helpai-panel-h: min(720px, 88dvh)}:host([data-mode="modal"]) .helpai-anchor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--helpai-space-6);pointer-events:none}:host([data-mode="modal"]) .helpai-panel{pointer-events:auto;width:var(--helpai-widget-w, var(--helpai-panel-w));height:var(--helpai-widget-h, var(--helpai-panel-h));max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);min-width:0;min-height:0;border-radius:var(--helpai-radius);box-shadow:var(--helpai-shadow-panel);animation:helpai-modal-in var(--helpai-dur-base) var(--helpai-ease);translate:var(--helpai-modal-dx, 0px) var(--helpai-modal-dy, 0px)}:host([data-mode="modal"]) .helpai-header,:host([data-mode="modal"]) .helpai-back-header,:host([data-mode="modal"]) .helpai-home-hero{cursor:grab;touch-action:none}:host([data-mode="modal"]) .helpai-panel[data-dragging]{cursor:grabbing;user-select:none}:host([data-mode="modal"]) .helpai-panel[data-dragging] *{cursor:grabbing}:host([data-mode="modal"]) .helpai-fab{display:none}@keyframes helpai-backdrop-in{0%{background:#0000}to{background:var(--helpai-modal-backdrop, var(--helpai-backdrop))}}@keyframes helpai-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}:host([data-mode="drawer"]){--helpai-panel-w: min(440px, calc(100vw - 32px) );--helpai-panel-h: 100dvh}:host([data-mode="drawer"]) .helpai-anchor{position:fixed;--helpai-inset-x: var(--helpai-panel-inset, 12px);--helpai-inset-y: var(--helpai-panel-inset, 3dvh);top:var(--helpai-inset-y);bottom:auto;right:var(--helpai-inset-x);left:auto;width:min(var(--helpai-widget-w, var(--helpai-panel-w)),calc(100vw - var(--helpai-inset-x) * 2));height:min(var(--helpai-widget-h, var(--helpai-panel-h)),calc(100dvh - var(--helpai-inset-y) * 2));padding:0;display:block;pointer-events:auto}:host([data-mode="drawer"][data-position$="-left"]) .helpai-anchor{right:auto;left:var(--helpai-inset-x)}:host([data-mode="drawer"][data-position^="bottom-"]) .helpai-anchor{top:auto;bottom:var(--helpai-inset-y)}:host([data-mode="drawer"]) .helpai-panel{width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;border-radius:var(--helpai-radius, 12px);border:1px solid var(--helpai-border);box-shadow:-8px 16px 32px -12px #00000038;animation:helpai-drawer-in var(--helpai-dur-base) var(--helpai-ease)}:host([data-mode="drawer"][data-position$="-left"]) .helpai-panel{box-shadow:8px 16px 32px -12px #00000038;animation:helpai-drawer-in-left var(--helpai-dur-base) var(--helpai-ease)}.helpai-fab[data-edge-tab]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--helpai-space-2);position:fixed;top:50%;height:140px;width:auto;min-width:0;padding:10px 8px;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);transform-origin:center;animation:helpai-edge-tab-in var(--helpai-dur-base) var(--helpai-ease) both}.helpai-fab[data-edge-tab] svg{writing-mode:horizontal-tb}.helpai-fab[data-edge-tab]:hover{transform:translateY(-50%) scale(1.03)}.helpai-fab[data-edge-tab]:active{transform:translateY(-50%) scale(.97)}:host([data-position$="-right"]) .helpai-fab[data-edge-tab]{right:0;left:auto;border-radius:12px 0 0 12px;box-shadow:-6px 0 18px -8px #0000004d}:host([data-position$="-left"]) .helpai-fab[data-edge-tab]{left:0;right:auto;border-radius:0 12px 12px 0;box-shadow:6px 0 18px -8px #0000004d}.helpai-fab[data-edge-tab][data-leaving]{position:fixed;top:50%;bottom:auto;animation:helpai-edge-tab-out var(--helpai-dur-quick) var(--helpai-ease) forwards}@keyframes helpai-edge-tab-in{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes helpai-edge-tab-out{0%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(.85)}}@keyframes helpai-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes helpai-drawer-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){:host([data-mode="drawer"]) .helpai-panel,.helpai-fab[data-edge-tab]{animation:none}}.helpai-header{display:flex;align-items:center;gap:var(--helpai-space-2);padding:10px 12px;border-bottom:1px solid var(--helpai-border);background:var(--helpai-bg)}.helpai-header h1{font-size:14px;font-weight:600;flex:1;letter-spacing:-.01em}.helpai-header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--helpai-space-1);flex-shrink:0}.helpai-agent{flex:1;display:inline-flex;align-items:center;gap:10px;min-width:0}.helpai-agent-avatar{position:relative;width:32px;height:32px;border-radius:999px;background:var(--helpai-bg-elevated);color:var(--helpai-fg-muted);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--helpai-text-xs);overflow:hidden;flex-shrink:0}.helpai-agent-avatar img{width:100%;height:100%;object-fit:cover}.helpai-agent-avatar:after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:999px;border:2px solid var(--helpai-bg);background:var(--helpai-neutral)}.helpai-agent-avatar[data-status=online]:after{background:var(--helpai-success)}.helpai-agent-avatar[data-status=away]:after{background:var(--helpai-warning)}.helpai-agent-avatar[data-status=offline]:after{background:var(--helpai-neutral)}.helpai-agent-meta{display:flex;flex-direction:column;line-height:1.15;min-width:0}.helpai-agent-meta strong{font-size:14px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-agent-meta span{font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-suggestions{display:flex;flex-wrap:nowrap;gap:var(--helpai-space-2);padding:6px 14px 10px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;min-width:0}.helpai-suggestions::-webkit-scrollbar{display:none}.helpai-suggestions:before,.helpai-suggestions:after{content:"";flex:1 1 0;min-width:0}.helpai-suggestion{flex:0 0 auto;scroll-snap-align:center;padding:7px 14px;border-radius:999px;background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);color:var(--helpai-fg);font-size:var(--helpai-text-sm);font-weight:500;white-space:nowrap;transition:background var(--helpai-dur-quick) var(--helpai-ease),border-color var(--helpai-dur-quick) var(--helpai-ease),transform var(--helpai-dur-quick) var(--helpai-ease)}.helpai-suggestion:hover{border-color:var(--helpai-accent);color:var(--helpai-accent);transform:translateY(-1px)}.helpai-suggestion:focus-visible{outline:2px solid var(--helpai-accent);outline-offset:2px;border-color:var(--helpai-accent)}.helpai-suggestion:active{transform:translateY(0)}.helpai-icon-btn{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--helpai-fg-muted);transition:background var(--helpai-dur-quick) var(--helpai-ease),color var(--helpai-dur-quick) var(--helpai-ease)}.helpai-icon-btn:hover{background:var(--helpai-bg-elevated);color:var(--helpai-fg)}.helpai-icon-btn:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-icon-btn:active{background:var(--helpai-border)}.helpai-icon-btn:disabled{opacity:.45;cursor:not-allowed}.helpai-icon-btn:before{content:"";position:absolute;inset:-6px}.helpai-icon-btn{position:relative}.helpai-icon-btn svg{width:18px;height:18px}.helpai-icon-btn[data-recording=true]{color:var(--helpai-accent);background:color-mix(in srgb,var(--helpai-accent) 12%,transparent);animation:helpai-pulse 1.2s var(--helpai-ease) infinite}@keyframes helpai-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--helpai-accent) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--helpai-accent) 0%,transparent)}}.helpai-list-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.helpai-jump{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--helpai-border);background:var(--helpai-bg-elevated);color:var(--helpai-fg);box-shadow:var(--helpai-shadow-panel);cursor:pointer;opacity:.85;transition:opacity var(--helpai-dur-quick) var(--helpai-ease),transform var(--helpai-dur-quick) var(--helpai-ease);animation:helpai-bubble-in var(--helpai-dur-base) var(--helpai-ease)}.helpai-jump:hover{opacity:1}.helpai-jump:active{transform:translateY(1px)}.helpai-jump svg{width:18px;height:18px}.helpai-list{flex:1;min-height:0;overflow-y:auto;padding:var(--helpai-space-4);padding-bottom:var(--helpai-space-8);display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:var(--helpai-border-strong) transparent;scrollbar-gutter:stable}.helpai-list::-webkit-scrollbar{width:8px}.helpai-list::-webkit-scrollbar-thumb{background:var(--helpai-border-strong);border-radius:8px}.helpai-date-divider{position:sticky;top:var(--helpai-space-2);z-index:2;display:flex;justify-content:center;margin:var(--helpai-space-1) 0;pointer-events:none}.helpai-date-pill{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;color:var(--helpai-fg-muted);background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);box-shadow:var(--helpai-shadow-card);opacity:0;pointer-events:none;transition:opacity var(--helpai-dur-base) var(--helpai-ease)}.helpai-list[data-scrolling=true] .helpai-date-pill{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.helpai-date-pill{transition:none}}.helpai-bubble-row{display:flex}.helpai-bubble-row[data-role=user]{justify-content:flex-end}.helpai-bubble-row[data-role=assistant]{justify-content:flex-start}.helpai-bubble{max-width:100%;padding:var(--helpai-space-3) var(--helpai-space-4);border-radius:var(--helpai-radius);line-height:1.6;font-size:14px;word-wrap:break-word;overflow-wrap:anywhere;box-shadow:0 1px 2px #0000000a,0 1px 8px -4px #0000000f;animation:helpai-bubble-in var(--helpai-dur-base) var(--helpai-ease)}.helpai-bubble ::selection{background:color-mix(in srgb,var(--helpai-accent) 30%,transparent)}.helpai-bubble-row[data-role=user] .helpai-bubble ::selection{background:#fff6;color:var(--helpai-bubble-user-text)}@keyframes helpai-bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.helpai-bubble-row[data-role=user] .helpai-bubble{background:var(--helpai-bubble-user);color:var(--helpai-bubble-user-text);border-bottom-right-radius:5px}.helpai-bubble-row[data-role=assistant] .helpai-bubble{background:var(--helpai-bubble-assistant);color:var(--helpai-bubble-assistant-text);border-bottom-left-radius:5px}.helpai-bubble-col{display:flex;flex-direction:column;max-width:85%;min-width:0}.helpai-bubble-row[data-role=user] .helpai-bubble-col{align-items:flex-end}.helpai-bubble-row[data-role=assistant] .helpai-bubble-col{align-items:flex-start}.helpai-bubble-time{margin-top:3px;padding:0 4px;font-size:11px;line-height:1;color:var(--helpai-fg-muted);user-select:none}.helpai-md>*:first-child{margin-top:0}.helpai-md>*:last-child{margin-bottom:0}.helpai-md p{margin:10px 0}.helpai-md h1,.helpai-md h2,.helpai-md h3,.helpai-md h4,.helpai-md h5,.helpai-md h6{margin:18px 0 8px;line-height:1.3;letter-spacing:-.01em;font-weight:700}.helpai-md h1{font-size:1.4em}.helpai-md h2{font-size:1.22em}.helpai-md h3{font-size:1.08em}.helpai-md h4,.helpai-md h5,.helpai-md h6{font-size:1em}.helpai-md>h1:first-child,.helpai-md>h2:first-child,.helpai-md>h3:first-child,.helpai-md>h4:first-child,.helpai-md>h5:first-child,.helpai-md>h6:first-child{margin-top:0}.helpai-md ul,.helpai-md ol{padding-left:1.5em;margin:10px 0}.helpai-md ul{list-style:disc}.helpai-md ol{list-style:decimal}.helpai-md li{margin:6px 0;padding-left:2px}.helpai-md li::marker{color:var(--helpai-fg-muted)}.helpai-md li>p{margin:6px 0}.helpai-md li>ul,.helpai-md li>ol{margin:6px 0}.helpai-md strong,.helpai-md b{font-weight:650;letter-spacing:-.005em}.helpai-md em,.helpai-md i{font-style:italic}.helpai-md code{font-family:var(--helpai-font-mono);font-size:.86em;padding:1px 6px;border-radius:5px;background:color-mix(in srgb,var(--helpai-accent) 10%,transparent);color:var(--helpai-fg);border:1px solid color-mix(in srgb,var(--helpai-accent) 16%,transparent)}.helpai-md pre{font-family:var(--helpai-font-mono);font-size:12.5px;padding:12px 14px;border-radius:var(--helpai-radius-sm);background:#7f7f7f1f;overflow-x:auto;margin:var(--helpai-space-3) 0;line-height:1.5}.helpai-md pre code{padding:0;background:none}.helpai-md a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.helpai-md a:hover{text-decoration-thickness:2px}.helpai-md blockquote{margin:14px 0;padding:6px 14px;border-left:3px solid color-mix(in srgb,var(--helpai-accent) 50%,transparent);background:color-mix(in srgb,var(--helpai-accent) 5%,transparent);border-radius:0 var(--helpai-radius-sm) var(--helpai-radius-sm) 0;color:var(--helpai-fg-muted)}.helpai-md blockquote>:first-child{margin-top:0}.helpai-md blockquote>:last-child{margin-bottom:0}.helpai-md hr{border:0;height:1px;background:color-mix(in srgb,currentColor 18%,transparent);margin:var(--helpai-space-4) 0}.helpai-md table{border-collapse:collapse;margin:var(--helpai-space-3) 0;font-size:.95em;display:block;overflow-x:auto;max-width:100%;font-variant-numeric:tabular-nums}.helpai-md th,.helpai-md td{padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);text-align:left}.helpai-md th{font-weight:700;background:color-mix(in srgb,currentColor 6%,transparent)}.helpai-md h1+ul,.helpai-md h1+ol,.helpai-md h2+ul,.helpai-md h2+ol,.helpai-md h3+ul,.helpai-md h3+ol,.helpai-md h4+ul,.helpai-md h4+ol{margin-top:var(--helpai-space-1)}.helpai-loading{display:inline-flex;align-items:center;gap:var(--helpai-space-2);color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm)}.helpai-loading-spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:helpai-spin .8s linear infinite}@keyframes helpai-spin{to{transform:rotate(1turn)}}.helpai-typing{display:inline-flex;gap:var(--helpai-space-1);padding:var(--helpai-space-1) 0}.helpai-typing span{width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.4;animation:helpai-blink 1.2s var(--helpai-ease) infinite}.helpai-typing span:nth-child(2){animation-delay:.2s}.helpai-typing span:nth-child(3){animation-delay:.4s}@keyframes helpai-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.helpai-reasoning{margin:var(--helpai-space-1) 0 var(--helpai-space-2);padding-left:var(--helpai-space-3);border-left:2px solid var(--helpai-border-strong)}.helpai-reasoning-summary{display:inline-flex;align-items:center;gap:var(--helpai-space-1);cursor:pointer;list-style:none;user-select:none;color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);font-weight:600}.helpai-reasoning-summary::-webkit-details-marker{display:none}.helpai-reasoning-summary:before{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.7;transition:transform var(--helpai-dur-quick) var(--helpai-ease)}.helpai-reasoning[open] .helpai-reasoning-summary:before{transform:rotate(45deg)}.helpai-reasoning[data-active=true] .helpai-reasoning-label{animation:helpai-reasoning-pulse 1.4s var(--helpai-ease) infinite}@keyframes helpai-reasoning-pulse{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.helpai-reasoning[data-active=true] .helpai-reasoning-label{animation:none}}.helpai-reasoning-body{margin-top:var(--helpai-space-1);color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm)}.helpai-reasoning-body>:first-child{margin-top:0}.helpai-reasoning-body>:last-child{margin-bottom:0}.helpai-tool-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--helpai-space-1) var(--helpai-space-2);margin-top:6px;border-radius:999px;background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs)}.helpai-composer{border-top:1px solid var(--helpai-border);padding:10px 12px;background:var(--helpai-bg);display:flex;flex-direction:column;gap:var(--helpai-space-2)}.helpai-composer-row{display:flex;align-items:flex-end;gap:6px}.helpai-textarea{flex:1;height:40px;max-height:160px;padding:10px 12px;border-radius:var(--helpai-radius);background:var(--helpai-bg-elevated);border:1px solid transparent;font-size:14px;line-height:1.4;transition:height var(--helpai-dur-quick) var(--helpai-ease),border-color var(--helpai-dur-quick) var(--helpai-ease),box-shadow var(--helpai-dur-quick) var(--helpai-ease)}.helpai-textarea:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:1px;border-color:var(--helpai-focus)}@media(pointer:coarse){.helpai-textarea,.helpai-home-search-input{font-size:16px}.helpai-textarea{height:44px}}.helpai-send{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;transition:opacity var(--helpai-dur-quick) var(--helpai-ease),transform var(--helpai-dur-quick) var(--helpai-ease),background var(--helpai-dur-quick) var(--helpai-ease)}.helpai-send[data-shape=circle]{border-radius:999px}.helpai-send[data-shape=square]{border-radius:var(--helpai-radius-sm)}.helpai-send[data-shape=pill]{width:auto;padding:0 18px;border-radius:999px}.helpai-send[data-variant=filled]{background:var(--helpai-accent);color:var(--helpai-accent-text)}.helpai-send[data-variant=outline]{background:transparent;color:var(--helpai-accent);border-color:var(--helpai-accent)}.helpai-send[data-variant=outline]:not(:disabled):hover{background:color-mix(in srgb,var(--helpai-accent) 10%,transparent)}.helpai-send[data-variant=ghost]{background:transparent;color:var(--helpai-accent)}.helpai-send[data-variant=ghost]:not(:disabled):hover{background:color-mix(in srgb,var(--helpai-accent) 8%,transparent)}.helpai-send:disabled{opacity:.4;cursor:not-allowed}.helpai-send:not(:disabled):hover{transform:translateY(-1px)}.helpai-send:not(:disabled):active{transform:translateY(0)}.helpai-send:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-send svg{width:18px;height:18px}.helpai-composer-actions{display:flex;gap:var(--helpai-space-1);flex-wrap:wrap}.helpai-attachments{display:flex;flex-wrap:wrap;gap:6px}.helpai-attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--helpai-space-1) var(--helpai-space-2) var(--helpai-space-1) var(--helpai-space-1);border-radius:999px;background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);font-size:var(--helpai-text-xs);max-width:200px}.helpai-attachment-thumb{width:24px;height:24px;border-radius:999px;object-fit:cover;background:var(--helpai-border)}.helpai-attachment-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.helpai-attachment-remove{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--helpai-fg-muted)}.helpai-attachment-remove:hover{background:var(--helpai-border);color:var(--helpai-fg)}.helpai-dropzone{position:absolute;inset:8px;border:2px dashed var(--helpai-accent);border-radius:var(--helpai-radius);background:color-mix(in srgb,var(--helpai-accent) 8%,transparent);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--helpai-accent);pointer-events:none;z-index:10;animation:helpai-fade-in var(--helpai-dur-quick) var(--helpai-ease)}@keyframes helpai-fade-in{0%{opacity:0}to{opacity:1}}.helpai-error{margin-top:var(--helpai-space-1);padding:8px 10px;border-radius:var(--helpai-radius-sm);background:var(--helpai-danger-bg);color:var(--helpai-danger-text);font-size:var(--helpai-text-sm);display:flex;align-items:center;gap:var(--helpai-space-2)}.helpai-error button{color:inherit;text-decoration:underline;font-size:var(--helpai-text-sm)}.helpai-history{flex:1;overflow-y:auto;padding:var(--helpai-space-2) var(--helpai-space-1) var(--helpai-space-3)}.helpai-history-footer{flex:none;padding:var(--helpai-space-2) var(--helpai-space-3) var(--helpai-space-3);border-top:1px solid var(--helpai-border);background:var(--helpai-surface)}.helpai-history-new{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--helpai-space-2);padding:var(--helpai-space-2) var(--helpai-space-3);border:none;border-radius:var(--helpai-radius-md);background:var(--helpai-accent);color:var(--helpai-on-accent);cursor:pointer;font-size:var(--helpai-text-sm);font-weight:600;transition:filter var(--helpai-dur-quick) var(--helpai-ease-out),transform var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-history-new svg{width:16px;height:16px}.helpai-history-new:hover{filter:brightness(1.08)}.helpai-history-new:active{transform:translateY(1px)}.helpai-history-new:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-history-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--helpai-fg-muted);font-size:14px;text-align:center}.helpai-history-group{display:flex;flex-direction:column;padding:0 var(--helpai-space-2)}.helpai-history-heading{font-size:var(--helpai-text-xs);font-weight:600;color:var(--helpai-fg-muted);padding:12px 8px 6px;text-transform:uppercase;letter-spacing:.04em}.helpai-history-item{all:unset;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:var(--helpai-radius-md);cursor:pointer;transition:background var(--helpai-dur-base) var(--helpai-ease)}.helpai-history-item:hover{background:var(--helpai-bg-elevated)}.helpai-history-item:focus-visible{background:var(--helpai-bg-elevated);outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-history-title{font-size:14px;font-weight:500;color:var(--helpai-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-history-preview{font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-history-item[data-closed=true] .helpai-history-title:after{content:"\2022";margin-left:var(--helpai-space-2);opacity:.5}.helpai-list-loading{margin:auto;padding:var(--helpai-space-6) var(--helpai-space-4);color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm);text-align:center}.helpai-readonly-banner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;margin:0 var(--helpai-space-3) var(--helpai-space-3);border-radius:var(--helpai-radius-md);background:var(--helpai-bg-elevated);color:var(--helpai-fg-muted);text-align:center;font-size:var(--helpai-text-sm)}.helpai-readonly-label{line-height:1.4}.helpai-readonly-cta{appearance:none;border:0;cursor:pointer;padding:var(--helpai-space-2) var(--helpai-space-4);border-radius:999px;background:var(--helpai-accent);color:var(--helpai-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--helpai-text-sm);transition:filter var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-readonly-cta:hover,.helpai-readonly-cta:focus-visible{filter:brightness(1.1)}.helpai-readonly-cta:focus-visible{outline:2px solid var(--helpai-accent);outline-offset:2px}.helpai-composer-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 16px;margin:0 var(--helpai-space-3);border-top:1px solid var(--helpai-border);text-align:center;font-size:11px;line-height:1.4;color:var(--helpai-fg-muted)}.helpai-disclaimer{max-width:320px;margin:0 auto;opacity:.9;letter-spacing:.01em}.helpai-poweredby{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:inherit;text-decoration:none;opacity:.7;transition:opacity var(--helpai-dur-base) var(--helpai-ease);font-size:11px;letter-spacing:.02em}.helpai-poweredby:hover{opacity:1}.helpai-poweredby-logo{height:12px;width:auto;display:inline-block;vertical-align:middle}.helpai-poweredby-bar{flex:none;display:flex;align-items:center;justify-content:center;padding:6px 16px;border-top:1px solid var(--helpai-border);background:var(--helpai-bg-elevated)}.helpai-menu-wrap{position:relative;display:inline-flex}.helpai-menu{position:absolute;top:100%;right:0;margin-top:6px;min-width:200px;padding:6px;background:var(--helpai-bg);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);box-shadow:var(--helpai-shadow-panel);z-index:10;display:flex;flex-direction:column;gap:2px;animation:helpai-menu-in var(--helpai-dur-base) var(--helpai-ease)}@media(prefers-reduced-motion:reduce){.helpai-menu{animation:none}}@keyframes helpai-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top right}to{opacity:1;transform:none}}.helpai-menu-item{all:unset;display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:var(--helpai-text-sm);color:var(--helpai-fg);border-radius:var(--helpai-radius-sm);cursor:pointer;user-select:none}.helpai-menu-item:hover{background:var(--helpai-bg-elevated)}.helpai-menu-item:focus-visible{background:var(--helpai-bg-elevated);outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-menu-item[disabled]{opacity:.45;cursor:not-allowed}.helpai-menu-icon{display:inline-flex;width:16px;height:16px;color:var(--helpai-fg-muted)}.helpai-menu-icon svg{width:16px;height:16px}.helpai-menu-label{flex:1}.helpai-menu-check{display:inline-flex;color:var(--helpai-accent)}.helpai-menu-check svg{width:14px;height:14px}.helpai-resize-grip{position:absolute;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--helpai-fg-muted);opacity:.45;transition:opacity var(--helpai-dur-base) var(--helpai-ease);z-index:2;touch-action:none;user-select:none}.helpai-resize-grip:hover,.helpai-resize-grip:focus-visible{opacity:1}.helpai-resize-grip svg{width:10px;height:10px}.helpai-resize-grip--bottom-left{bottom:2px;left:2px;cursor:nesw-resize;transform:scaleX(-1)}.helpai-resize-grip--bottom-right{bottom:2px;right:2px;cursor:nwse-resize}.helpai-resize-grip--top-left{top:2px;left:2px;cursor:nwse-resize;transform:rotate(180deg)}.helpai-resize-grip--top-right{top:2px;right:2px;cursor:nesw-resize;transform:scaleY(-1)}:host(:not([data-mode="open"])) .helpai-resize-grip{display:none}.helpai-messenger{display:flex;flex-direction:column;overflow:hidden}.helpai-messenger-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.helpai-module{display:flex;flex-direction:column;height:100%;min-height:0}.helpai-module-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--helpai-space-3);display:flex;flex-direction:column;gap:var(--helpai-space-3)}.helpai-home{background:radial-gradient(125% 65% at 88% 0%,color-mix(in srgb,#fff 16%,transparent),transparent 55%),linear-gradient(180deg,var(--helpai-accent) 0%,var(--helpai-accent) 22%,color-mix(in srgb,var(--helpai-accent) 28%,var(--helpai-surface)) 44%,var(--helpai-surface) 70%);border-radius:var(--helpai-radius-lg) var(--helpai-radius-lg) 0 0}.helpai-home-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;background:transparent}.helpai-home-cards{display:flex;flex-direction:column;gap:var(--helpai-space-3);padding:4px 14px 16px}.helpai-module-pad{padding:var(--helpai-space-3) var(--helpai-space-3) 0}.helpai-module-empty{display:flex;flex-direction:column;align-items:center;gap:var(--helpai-space-3);padding:var(--helpai-space-8) var(--helpai-space-4);text-align:center;color:var(--helpai-fg-muted);font-size:var(--helpai-text-base)}.helpai-module-retry{padding:var(--helpai-space-2) var(--helpai-space-4);border:1px solid var(--helpai-border-strong);border-radius:var(--helpai-radius-sm);color:var(--helpai-fg);font-weight:600;cursor:pointer;transition:background var(--helpai-dur-quick) var(--helpai-ease-out),border-color var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-module-retry:hover{background:var(--helpai-hover);border-color:var(--helpai-accent)}.helpai-module-retry:active{background:var(--helpai-border)}.helpai-module-retry:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-help-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--helpai-space-3)}.helpai-help-group{display:flex;flex-direction:column}.helpai-help-section-title{position:sticky;top:0;z-index:1;margin:0;padding:var(--helpai-space-3) var(--helpai-space-5) var(--helpai-space-2);font-size:var(--helpai-text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--helpai-fg-muted);background:var(--helpai-bg)}.helpai-help-card{margin:0 var(--helpai-space-3) var(--helpai-space-3);background:var(--helpai-surface);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);overflow:hidden}.helpai-help-card .helpai-list-row{border-bottom:0;border-radius:0}.helpai-help-card .helpai-list-row+.helpai-list-row{border-top:1px solid var(--helpai-border)}.helpai-help-card .helpai-list-row:hover{background:var(--helpai-hover)}.helpai-module-cta{padding:var(--helpai-space-3);border-top:1px solid var(--helpai-border)}.helpai-tabbar{display:flex;border-top:1px solid var(--helpai-border);background:var(--helpai-bg-elevated);flex-shrink:0}.helpai-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--helpai-space-1);min-height:48px;padding:var(--helpai-space-2) var(--helpai-space-1);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);font-weight:600;transition:color var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-tab:hover{color:var(--helpai-fg)}.helpai-tab[aria-selected=true]{color:var(--helpai-accent)}.helpai-tab:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-tab:active{background:var(--helpai-hover)}.helpai-tab-icon{position:relative;display:inline-flex}.helpai-tab-icon svg{width:22px;height:22px}.helpai-tab-badge{position:absolute;top:-4px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--helpai-accent);color:var(--helpai-on-accent);font-size:10px;font-weight:600;line-height:1}.helpai-home-hero{flex-shrink:0;padding:var(--helpai-space-5) var(--helpai-space-5) var(--helpai-space-3);color:var(--helpai-on-accent);--helpai-focus: var(--helpai-on-accent)}.helpai-home-hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--helpai-space-3);min-height:32px}.helpai-home-brand{font-size:14px;font-weight:600;letter-spacing:.01em;color:color-mix(in srgb,#fff 82%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.helpai-home-brand-spacer{flex:1}.helpai-home-hero-actions{display:flex;align-items:center;gap:var(--helpai-space-2);flex-shrink:0}.helpai-home-hero-actions .helpai-icon-btn{color:#fff}.helpai-home-greeting{margin:28px 0 0;font-family:var(--helpai-font-display);font-size:var(--helpai-text-2xl);font-weight:800;line-height:1.18;letter-spacing:-.01em;overflow-wrap:anywhere}.helpai-home-lead{margin:2px 0 0;font-family:var(--helpai-font-display);font-size:var(--helpai-text-2xl);font-weight:800;line-height:1.18;letter-spacing:-.01em;color:color-mix(in srgb,var(--helpai-on-accent) 88%,transparent);overflow-wrap:anywhere}.helpai-home-avatars{display:flex}.helpai-home-avatar{width:30px;height:30px;border-radius:999px;overflow:hidden;margin-left:-10px;border:2px solid color-mix(in srgb,#fff 92%,transparent);box-shadow:0 1px 3px #0000002e;background:var(--helpai-surface);display:inline-flex;align-items:center;justify-content:center;font-size:var(--helpai-text-xs);font-weight:700;color:var(--helpai-fg)}.helpai-home-avatar:first-child{margin-left:0}.helpai-home-avatar img{width:100%;height:100%;object-fit:cover}.helpai-home-content{background:var(--helpai-surface);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);box-shadow:var(--helpai-shadow-card);overflow:hidden}.helpai-home-content-title{padding:var(--helpai-space-4) var(--helpai-space-4) var(--helpai-space-3);font-size:var(--helpai-text-sm);font-weight:700}.helpai-home-content-list{display:flex;flex-direction:column;padding:0 var(--helpai-space-2) var(--helpai-space-2)}.helpai-home-content-list .helpai-list-row+.helpai-list-row{border-top:1px solid var(--helpai-border)}.helpai-home-card{display:block;width:100%;text-align:left;background:var(--helpai-surface);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);padding:var(--helpai-space-4);box-shadow:var(--helpai-shadow-card)}.helpai-home-card[data-interactive=true]{cursor:pointer;transition:background var(--helpai-dur-quick) var(--helpai-ease-out),transform var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-home-card[data-interactive=true]:hover{background:var(--helpai-bg-elevated)}.helpai-home-card[data-interactive=true]:active{transform:translateY(1px)}.helpai-home-card[data-interactive=true]:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-home-recent-row{display:flex;align-items:center;gap:var(--helpai-space-3)}.helpai-home-recent-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:999px;background:color-mix(in oklch,var(--helpai-accent) 14%,transparent);color:var(--helpai-accent)}.helpai-home-recent-avatar svg{width:20px;height:20px}.helpai-home-recent-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.helpai-home-recent-title{font-weight:600;font-size:14px}.helpai-home-recent-preview{color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.helpai-home-recent-at{color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);flex-shrink:0}.helpai-home-recent-dot{width:8px;height:8px;border-radius:999px;background:var(--helpai-accent);flex-shrink:0}.helpai-home-recent-row[data-unread=true] .helpai-home-recent-title{font-weight:700}.helpai-home-status{display:flex;align-items:center;gap:var(--helpai-space-3)}.helpai-home-status-icon svg{width:22px;height:22px;color:var(--helpai-success)}.helpai-home-status[data-level=degraded] .helpai-home-status-icon svg{color:var(--helpai-warning)}.helpai-home-status[data-level=down] .helpai-home-status-icon svg{color:var(--helpai-danger)}.helpai-home-status-text{font-weight:600;font-size:14px}.helpai-home-search{display:flex;align-items:center;gap:var(--helpai-space-2);width:100%;padding:var(--helpai-space-3) var(--helpai-space-4);border-radius:var(--helpai-radius);border:1px solid var(--helpai-border);background:var(--helpai-surface);text-align:left}.helpai-home-search[data-input=true]{background:var(--helpai-bg-elevated)}.helpai-home-search:hover{border-color:var(--helpai-border-strong)}.helpai-home-search:focus-visible,.helpai-home-search:focus-within{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-home-search-text{flex:1;color:var(--helpai-fg-muted);font-size:14px}.helpai-home-search-input{flex:1;border:0;background:transparent;font-size:14px;color:var(--helpai-fg);outline:none}.helpai-home-search-icon svg{width:18px;height:18px;color:var(--helpai-accent)}.helpai-list-row{display:flex;align-items:center;gap:var(--helpai-space-3);width:100%;min-height:44px;text-align:left;padding:var(--helpai-space-3) var(--helpai-space-2);border-radius:var(--helpai-radius-sm)}.helpai-list-row:hover{background:var(--helpai-bg-elevated)}.helpai-list-row:active{background:var(--helpai-border)}.helpai-list-row:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-list-row-body{display:flex;flex-direction:column;min-width:0;flex:1}.helpai-list-row-title{font-weight:600;font-size:var(--helpai-text-md);line-height:1.35}.helpai-list-row-sub{color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm);margin-top:var(--helpai-space-1);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.helpai-list-row-chevron svg{width:18px;height:18px;color:var(--helpai-accent);flex-shrink:0}.helpai-back-header{display:flex;align-items:center;gap:var(--helpai-space-2);padding:10px 12px;border-bottom:1px solid var(--helpai-border);flex-shrink:0}.helpai-back-title{flex:1;text-align:center;font-size:var(--helpai-text-md);font-weight:700;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-back-spacer{width:32px;height:1px}.helpai-content{display:flex;flex-direction:column;gap:14px;width:100%;max-width:68ch;margin:0 auto}.helpai-content-hero{width:100%;border-radius:var(--helpai-radius)}.helpai-content-subtitle{color:var(--helpai-fg-muted);margin:0}.helpai-content-frame{flex:1;min-height:0;width:100%;border:0;background:#fff}.helpai-news-list{display:flex;flex-direction:column;gap:var(--helpai-space-3)}.helpai-news-card{display:block;width:100%;text-align:left;border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);overflow:hidden;background:var(--helpai-surface)}.helpai-news-card{transition:background var(--helpai-dur-quick) var(--helpai-ease-out),transform var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-news-card:hover{background:var(--helpai-bg-elevated)}.helpai-news-card:active{transform:translateY(1px)}.helpai-news-card:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-news-hero{width:100%;display:block}.helpai-news-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px}.helpai-news-tags{display:flex;gap:6px;flex-wrap:wrap}.helpai-news-tag{font-size:var(--helpai-text-xs);font-weight:600;color:var(--helpai-accent);background:color-mix(in srgb,var(--helpai-accent) 12%,transparent);padding:2px 8px;border-radius:999px}.helpai-news-title{font-weight:700;font-size:var(--helpai-text-md)}.helpai-news-summary{color:var(--helpai-fg-muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.helpai-modules-empty{display:flex;align-items:center;justify-content:center;position:relative}.helpai-modules-empty-close{position:absolute;top:12px;right:12px}.helpai-modules-empty-text{color:var(--helpai-fg-muted);font-size:var(--helpai-text-base)}.helpai-form{display:flex;flex-direction:column;gap:var(--helpai-space-3)}.helpai-field{display:flex;flex-direction:column;gap:4px}.helpai-field-label{font-size:var(--helpai-text-sm);font-weight:600;color:var(--helpai-fg)}.helpai-field-req{color:var(--helpai-danger)}.helpai-field-input{width:100%;box-sizing:border-box;padding:var(--helpai-space-2) var(--helpai-space-3);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);background:var(--helpai-bg);color:var(--helpai-fg);font:inherit;font-size:var(--helpai-text-sm);resize:vertical;transition:border-color var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-field-input:focus-visible{outline:none;border-color:var(--helpai-accent)}.helpai-field[data-invalid=true] .helpai-field-input{border-color:var(--helpai-danger)}.helpai-field-hint{font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted)}.helpai-field-error{font-size:var(--helpai-text-xs);color:var(--helpai-danger)}.helpai-field-choices{display:flex;flex-direction:column;gap:6px}.helpai-choice{display:flex;align-items:flex-start;gap:8px;font-size:var(--helpai-text-sm);color:var(--helpai-fg);cursor:pointer}.helpai-choice input{margin-top:2px;accent-color:var(--helpai-accent)}.helpai-form-actions{display:flex;justify-content:flex-end;gap:var(--helpai-space-2);margin-top:2px}.helpai-form-submit,.helpai-tool-approve{padding:var(--helpai-space-2) var(--helpai-space-4);border:none;border-radius:var(--helpai-radius-md);background:var(--helpai-accent);color:var(--helpai-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--helpai-text-sm);cursor:pointer;transition:filter var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-form-submit:hover:not(:disabled),.helpai-tool-approve:hover:not(:disabled){filter:brightness(1.06)}.helpai-form-submit:disabled{opacity:.6;cursor:default}.helpai-form-skip,.helpai-tool-reject{padding:var(--helpai-space-2) var(--helpai-space-4);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);background:transparent;color:var(--helpai-fg-muted);font:inherit;font-size:var(--helpai-text-sm);cursor:pointer;transition:background var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-form-skip:hover:not(:disabled),.helpai-tool-reject:hover:not(:disabled){background:var(--helpai-bg-elevated)}.helpai-form-gate{display:flex;flex-direction:column;gap:var(--helpai-space-2);padding:var(--helpai-space-3) var(--helpai-space-4) var(--helpai-space-4);border-top:1px solid var(--helpai-border);max-height:60%;overflow-y:auto}.helpai-form-gate-title{margin:0;font-size:var(--helpai-text-base);font-weight:700;color:var(--helpai-fg)}.helpai-form-gate-desc{margin:0 0 var(--helpai-space-1);font-size:var(--helpai-text-sm);color:var(--helpai-fg-muted)}.helpai-tool-ask-input,.helpai-tool-approval{display:flex;flex-direction:column;gap:var(--helpai-space-2);margin-top:6px;padding:var(--helpai-space-3);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);background:var(--helpai-bg-elevated)}.helpai-tool-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.helpai-tool-badge{padding:2px 8px;border-radius:999px;background:var(--helpai-warning, #f59e0b);color:#1a1206;font-size:var(--helpai-text-xs);font-weight:600}.helpai-tool-title{font-size:var(--helpai-text-sm);color:var(--helpai-fg)}.helpai-tool-question{margin:0;font-size:var(--helpai-text-sm);font-weight:600;color:var(--helpai-fg)}.helpai-tool-desc{margin:0;font-size:var(--helpai-text-sm);color:var(--helpai-fg-muted)}.helpai-tool-args{margin:0;padding:var(--helpai-space-2);max-height:160px;overflow:auto;border-radius:var(--helpai-radius-sm);background:var(--helpai-bg);border:1px solid var(--helpai-border);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);white-space:pre-wrap;word-break:break-word}.helpai-tool-stale-note{margin:0;font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted)}.helpai-tool-decided{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.helpai-tool-decided-label{padding:2px 8px;border-radius:999px;background:var(--helpai-bg);border:1px solid var(--helpai-border);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);font-weight:600}.helpai-tool-decided-label[data-approved=true]{color:var(--helpai-success, #16a34a);border-color:var(--helpai-success, #16a34a)}.helpai-tool-decided-label[data-approved=false]{color:var(--helpai-danger);border-color:var(--helpai-danger)}.helpai-tool-decided-value{font-size:var(--helpai-text-sm);color:var(--helpai-fg)}
5
+ .helpai-anchor{right:16px;bottom:16px}:host([data-position="bottom-left"]) .helpai-anchor,:host([data-position="top-left"]) .helpai-anchor{right:auto;left:16px}:host([data-position="top-right"]) .helpai-anchor,:host([data-position="top-left"]) .helpai-anchor{bottom:auto;top:16px}.helpai-anchor{position:fixed;display:flex;flex-direction:column;align-items:flex-end;gap:var(--helpai-space-3);pointer-events:none}.helpai-anchor{--helpai-fab-size: 56px}.helpai-anchor[data-launcher-size=sm]{--helpai-fab-size: 44px}.helpai-anchor[data-launcher-size=md]{--helpai-fab-size: 56px}.helpai-anchor[data-launcher-size=lg]{--helpai-fab-size: 68px}.helpai-anchor>*{pointer-events:auto}.helpai-fab[data-size=sm]{--helpai-fab-size: 44px;font-size:var(--helpai-text-sm)}.helpai-fab[data-size=md]{--helpai-fab-size: 56px;font-size:14px}.helpai-fab[data-size=lg]{--helpai-fab-size: 68px;font-size:var(--helpai-text-base)}.helpai-fab{display:inline-flex;align-items:center;justify-content:center;gap:var(--helpai-space-2);color:var(--helpai-accent-text);background:var(--helpai-accent);box-shadow:var(--helpai-shadow-fab);font-weight:600;line-height:1;transform-origin:bottom right;animation:helpai-fab-in var(--helpai-dur-base) var(--helpai-ease) both;transition:transform var(--helpai-dur-base) var(--helpai-ease),opacity var(--helpai-dur-base) var(--helpai-ease),box-shadow var(--helpai-dur-base) var(--helpai-ease)}.helpai-fab:hover{transform:translateY(-2px)}.helpai-fab:active{transform:translateY(0)}.helpai-fab:focus-visible{outline:2px solid var(--helpai-on-accent);outline-offset:3px}.helpai-fab svg{width:24px;height:24px;flex-shrink:0}@keyframes helpai-fab-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.helpai-fab[data-leaving]{position:absolute;right:0;bottom:0;animation:helpai-fab-out var(--helpai-dur-quick) var(--helpai-ease) forwards;pointer-events:none}:host([data-position^="top-"]) .helpai-fab[data-leaving]{bottom:auto;top:0}:host([data-position$="-left"]) .helpai-fab[data-leaving]{right:auto;left:0}@keyframes helpai-fab-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.85)}}.helpai-fab[data-variant=circle]{width:var(--helpai-fab-size);height:var(--helpai-fab-size);border-radius:999px}.helpai-fab[data-variant=circle] .helpai-fab-label{display:none}.helpai-fab[data-variant=pill]{height:var(--helpai-fab-size);padding:0 18px 0 16px;border-radius:999px}.helpai-fab[data-variant=bar]{height:var(--helpai-fab-size);padding:0 22px;border-radius:var(--helpai-radius)}.helpai-fab[data-variant=minimal]{height:var(--helpai-fab-size);padding:0 var(--helpai-space-4);border-radius:999px;background:transparent;color:var(--helpai-accent);box-shadow:none;border:1px solid currentColor}.helpai-fab[data-variant=minimal]:hover{background:color-mix(in srgb,var(--helpai-accent) 12%,transparent)}.helpai-callout{--helpai-callout-fab-h: var(--helpai-fab-size, 56px);--helpai-callout-gap: clamp(12px, calc(var(--helpai-callout-fab-h) * .25), 22px);--helpai-callout-nudge-direction: -1;position:absolute;display:inline-flex;align-items:center;gap:var(--helpai-space-2);padding:10px 14px;background:var(--helpai-fg);color:var(--helpai-bg);border-radius:999px;font-size:var(--helpai-text-sm);font-weight:600;line-height:1.2;box-shadow:0 10px 30px -8px #00000059;pointer-events:auto;animation:helpai-callout-in var(--helpai-dur-slow) var(--helpai-ease);z-index:1;max-width:240px;white-space:nowrap}.helpai-callout[data-position=left]{right:calc(100% + var(--helpai-callout-gap));bottom:calc(var(--helpai-callout-fab-h) / 2);transform:translateY(50%)}.helpai-callout[data-position=right]{left:calc(100% + var(--helpai-callout-gap));bottom:calc(var(--helpai-callout-fab-h) / 2);transform:translateY(50%);--helpai-callout-nudge-direction: 1}.helpai-callout[data-position=top]{bottom:calc(100% + var(--helpai-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}.helpai-callout[data-position=bottom]{top:calc(100% + var(--helpai-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}:host([data-position$="-left"]) .helpai-callout[data-position=top],:host([data-position$="-left"]) .helpai-callout[data-position=bottom]{right:auto;left:0}.helpai-callout[data-shape=bubble]{border-radius:var(--helpai-radius-md);white-space:normal;width:max-content;max-width:min(280px,calc(100vw - 32px))}.helpai-callout[data-shape=callout]{padding:12px 18px;font-size:14px;background:var(--helpai-accent);color:var(--helpai-accent-text)}.helpai-callout:after{content:"";position:absolute;width:12px;height:12px;background:inherit;border-radius:2px;transform:rotate(45deg)}.helpai-callout[data-position=left]:after{right:-5px;top:50%;margin-top:-6px}.helpai-callout[data-position=right]:after{left:-5px;top:50%;margin-top:-6px}.helpai-callout[data-position=top]:after{bottom:-5px;right:calc(var(--helpai-fab-size, 56px) / 2 - 6px)}.helpai-callout[data-position=bottom]:after{top:-5px;right:calc(var(--helpai-fab-size, 56px) / 2 - 6px)}:host([data-position$="-left"]) .helpai-callout[data-position=top]:after,:host([data-position$="-left"]) .helpai-callout[data-position=bottom]:after{right:auto;left:calc(var(--helpai-fab-size, 56px) / 2 - 6px)}.helpai-callout[data-animated]{animation:helpai-callout-in var(--helpai-dur-slow) var(--helpai-ease),helpai-callout-nudge 1.6s var(--helpai-ease-in-out) var(--helpai-dur-slow) infinite}@keyframes helpai-callout-in{0%{opacity:0}to{opacity:1}}@keyframes helpai-callout-nudge{0%,to{margin-left:0;margin-right:0}50%{margin-left:calc(6px * var(--helpai-callout-nudge-direction));margin-right:calc(-6px * var(--helpai-callout-nudge-direction))}}@media(prefers-reduced-motion:reduce){.helpai-callout[data-animated]{animation:helpai-callout-in 1ms var(--helpai-ease)}.helpai-icon-btn[data-recording=true],.helpai-typing span{animation:none}}.helpai-callout-close{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:inherit;opacity:.7;cursor:pointer}.helpai-callout-close:hover{opacity:1;background:#ffffff26}.helpai-callout-close svg{width:12px;height:12px}.helpai-panel{width:var(--helpai-panel-w);height:var(--helpai-panel-h);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);background:var(--helpai-bg);color:var(--helpai-fg);border-radius:var(--helpai-radius-lg);box-shadow:var(--helpai-shadow-panel);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:helpai-panel-in var(--helpai-dur-slow) var(--helpai-ease);border:1px solid var(--helpai-border)}:host([data-mode="open"]) .helpai-panel{width:var(--helpai-widget-w, var(--helpai-panel-w));height:var(--helpai-widget-h, var(--helpai-panel-h));min-width:var(--helpai-resize-min-w, auto);min-height:var(--helpai-resize-min-h, auto);max-width:var(--helpai-resize-max-w, calc(100vw - 32px) );max-height:var(--helpai-resize-max-h, calc(100dvh - 32px) )}@keyframes helpai-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}:host([data-mode="expanded"]) .helpai-panel{width:var(--helpai-expanded-w, 640px);height:var(--helpai-expanded-h, 820px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}:host([data-mode="fullscreen"]){z-index:var(--helpai-z-panel)!important}:host([data-mode="fullscreen"]) .helpai-anchor{inset:0;align-items:stretch;padding:0}:host([data-mode="fullscreen"]) .helpai-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}:host([data-mode="fullscreen"]) .helpai-fab{display:none}:host([data-mode="inline"]) .helpai-anchor,:host([data-mode="standalone"]) .helpai-anchor{position:static;inset:auto;padding:0;align-items:stretch;width:100%;height:100%;min-height:0}:host([data-mode="inline"]) .helpai-panel,:host([data-mode="standalone"]) .helpai-panel{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;animation:none}:host([data-mode="inline"]) .helpai-fab,:host([data-mode="standalone"]) .helpai-fab{display:none}:host([data-mode="inline"]){min-height:320px}:host([data-mode="inline"]) .helpai-panel{border-radius:var(--helpai-radius)}:host([data-mode="standalone"]) .helpai-panel{border-radius:0;border:0;box-shadow:none}:host([data-mode="modal"]){position:fixed!important;inset:0!important;z-index:var(--helpai-z-panel)!important;display:block!important;width:100vw;height:100dvh;background:var(--helpai-modal-backdrop, var(--helpai-backdrop));animation:helpai-backdrop-in var(--helpai-dur-base) var(--helpai-ease) both;--helpai-panel-w: min(960px, 92vw);--helpai-panel-h: min(720px, 88dvh)}:host([data-mode="modal"]) .helpai-anchor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--helpai-space-6);pointer-events:none}:host([data-mode="modal"]) .helpai-panel{pointer-events:auto;width:var(--helpai-widget-w, var(--helpai-panel-w));height:var(--helpai-widget-h, var(--helpai-panel-h));max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);min-width:0;min-height:0;border-radius:var(--helpai-radius);box-shadow:var(--helpai-shadow-panel);animation:helpai-modal-in var(--helpai-dur-base) var(--helpai-ease);translate:var(--helpai-modal-dx, 0px) var(--helpai-modal-dy, 0px)}:host([data-mode="modal"]) .helpai-header,:host([data-mode="modal"]) .helpai-back-header,:host([data-mode="modal"]) .helpai-home-hero{cursor:grab;touch-action:none}:host([data-mode="modal"]) .helpai-panel[data-dragging]{cursor:grabbing;user-select:none}:host([data-mode="modal"]) .helpai-panel[data-dragging] *{cursor:grabbing}:host([data-mode="modal"]) .helpai-fab{display:none}@keyframes helpai-backdrop-in{0%{background:#0000}to{background:var(--helpai-modal-backdrop, var(--helpai-backdrop))}}@keyframes helpai-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}:host([data-mode="drawer"]){--helpai-panel-w: min(440px, calc(100vw - 32px) );--helpai-panel-h: 100dvh}:host([data-mode="drawer"]) .helpai-anchor{position:fixed;--helpai-inset-x: var(--helpai-panel-inset, 12px);--helpai-inset-y: var(--helpai-panel-inset, 3dvh);top:var(--helpai-inset-y);bottom:auto;right:var(--helpai-inset-x);left:auto;width:min(var(--helpai-widget-w, var(--helpai-panel-w)),calc(100vw - var(--helpai-inset-x) * 2));height:min(var(--helpai-widget-h, var(--helpai-panel-h)),calc(100dvh - var(--helpai-inset-y) * 2));padding:0;display:block;pointer-events:auto}:host([data-mode="drawer"][data-position$="-left"]) .helpai-anchor{right:auto;left:var(--helpai-inset-x)}:host([data-mode="drawer"][data-position^="bottom-"]) .helpai-anchor{top:auto;bottom:var(--helpai-inset-y)}:host([data-mode="drawer"]) .helpai-panel{width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;border-radius:var(--helpai-radius, 12px);border:1px solid var(--helpai-border);box-shadow:-8px 16px 32px -12px #00000038;animation:helpai-drawer-in var(--helpai-dur-base) var(--helpai-ease)}:host([data-mode="drawer"][data-position$="-left"]) .helpai-panel{box-shadow:8px 16px 32px -12px #00000038;animation:helpai-drawer-in-left var(--helpai-dur-base) var(--helpai-ease)}.helpai-fab[data-edge-tab]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--helpai-space-2);position:fixed;top:50%;height:140px;width:auto;min-width:0;padding:10px 8px;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);transform-origin:center;animation:helpai-edge-tab-in var(--helpai-dur-base) var(--helpai-ease) both}.helpai-fab[data-edge-tab] svg{writing-mode:horizontal-tb}.helpai-fab[data-edge-tab]:hover{transform:translateY(-50%) scale(1.03)}.helpai-fab[data-edge-tab]:active{transform:translateY(-50%) scale(.97)}:host([data-position$="-right"]) .helpai-fab[data-edge-tab]{right:0;left:auto;border-radius:12px 0 0 12px;box-shadow:-6px 0 18px -8px #0000004d}:host([data-position$="-left"]) .helpai-fab[data-edge-tab]{left:0;right:auto;border-radius:0 12px 12px 0;box-shadow:6px 0 18px -8px #0000004d}.helpai-fab[data-edge-tab][data-leaving]{position:fixed;top:50%;bottom:auto;animation:helpai-edge-tab-out var(--helpai-dur-quick) var(--helpai-ease) forwards}@keyframes helpai-edge-tab-in{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes helpai-edge-tab-out{0%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(.85)}}@keyframes helpai-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes helpai-drawer-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){:host([data-mode="drawer"]) .helpai-panel,.helpai-fab[data-edge-tab]{animation:none}}.helpai-header{display:flex;align-items:center;gap:var(--helpai-space-2);padding:10px 12px;border-bottom:1px solid var(--helpai-border);background:var(--helpai-bg)}.helpai-header h1{font-size:14px;font-weight:600;flex:1;letter-spacing:-.01em}.helpai-header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--helpai-space-1);flex-shrink:0}.helpai-agent{flex:1;display:inline-flex;align-items:center;gap:10px;min-width:0}.helpai-agent-avatar{position:relative;width:32px;height:32px;border-radius:999px;background:var(--helpai-bg-elevated);color:var(--helpai-fg-muted);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--helpai-text-xs);overflow:hidden;flex-shrink:0}.helpai-agent-avatar img{width:100%;height:100%;object-fit:cover}.helpai-agent-avatar:after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:999px;border:2px solid var(--helpai-bg);background:var(--helpai-neutral)}.helpai-agent-avatar[data-status=online]:after{background:var(--helpai-success)}.helpai-agent-avatar[data-status=away]:after{background:var(--helpai-warning)}.helpai-agent-avatar[data-status=offline]:after{background:var(--helpai-neutral)}.helpai-agent-meta{display:flex;flex-direction:column;line-height:1.15;min-width:0}.helpai-agent-meta strong{font-size:14px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-agent-meta span{font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-suggestions{display:flex;flex-wrap:nowrap;gap:var(--helpai-space-2);padding:6px 14px 10px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;min-width:0}.helpai-suggestions::-webkit-scrollbar{display:none}.helpai-suggestions:before,.helpai-suggestions:after{content:"";flex:1 1 0;min-width:0}.helpai-suggestion{flex:0 0 auto;scroll-snap-align:center;padding:7px 14px;border-radius:999px;background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);color:var(--helpai-fg);font-size:var(--helpai-text-sm);font-weight:500;white-space:nowrap;transition:background var(--helpai-dur-quick) var(--helpai-ease),border-color var(--helpai-dur-quick) var(--helpai-ease),transform var(--helpai-dur-quick) var(--helpai-ease)}.helpai-suggestion:hover{border-color:var(--helpai-accent);color:var(--helpai-accent);transform:translateY(-1px)}.helpai-suggestion:focus-visible{outline:2px solid var(--helpai-accent);outline-offset:2px;border-color:var(--helpai-accent)}.helpai-suggestion:active{transform:translateY(0)}.helpai-icon-btn{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--helpai-fg-muted);transition:background var(--helpai-dur-quick) var(--helpai-ease),color var(--helpai-dur-quick) var(--helpai-ease)}.helpai-icon-btn:hover{background:var(--helpai-bg-elevated);color:var(--helpai-fg)}.helpai-icon-btn:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-icon-btn:active{background:var(--helpai-border)}.helpai-icon-btn:disabled{opacity:.45;cursor:not-allowed}.helpai-icon-btn:before{content:"";position:absolute;inset:-6px}.helpai-icon-btn{position:relative}.helpai-icon-btn svg{width:18px;height:18px}.helpai-icon-btn[data-recording=true]{color:var(--helpai-accent);background:color-mix(in srgb,var(--helpai-accent) 12%,transparent);animation:helpai-pulse 1.2s var(--helpai-ease) infinite}@keyframes helpai-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--helpai-accent) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--helpai-accent) 0%,transparent)}}.helpai-list-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.helpai-jump{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--helpai-border);background:var(--helpai-bg-elevated);color:var(--helpai-fg);box-shadow:var(--helpai-shadow-panel);cursor:pointer;opacity:.85;transition:opacity var(--helpai-dur-quick) var(--helpai-ease),transform var(--helpai-dur-quick) var(--helpai-ease);animation:helpai-bubble-in var(--helpai-dur-base) var(--helpai-ease)}.helpai-jump:hover{opacity:1}.helpai-jump:active{transform:translateY(1px)}.helpai-jump svg{width:18px;height:18px}.helpai-list{flex:1;min-height:0;overflow-y:auto;padding:var(--helpai-space-4);padding-bottom:var(--helpai-space-8);display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:var(--helpai-border-strong) transparent;scrollbar-gutter:stable}.helpai-list::-webkit-scrollbar{width:8px}.helpai-list::-webkit-scrollbar-thumb{background:var(--helpai-border-strong);border-radius:8px}.helpai-date-divider{position:sticky;top:var(--helpai-space-2);z-index:2;display:flex;justify-content:center;align-items:flex-start;height:0;margin:0;pointer-events:none}.helpai-date-pill{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;color:var(--helpai-fg-muted);background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);box-shadow:var(--helpai-shadow-card);opacity:0;pointer-events:none;transition:opacity var(--helpai-dur-base) var(--helpai-ease)}.helpai-list[data-scrolling=true] .helpai-date-pill{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.helpai-date-pill{transition:none}}.helpai-bubble-row{display:flex}.helpai-bubble-row[data-role=user]{justify-content:flex-end}.helpai-bubble-row[data-role=assistant]{justify-content:flex-start}.helpai-bubble{max-width:100%;padding:var(--helpai-space-3) var(--helpai-space-4);border-radius:var(--helpai-radius);line-height:1.6;font-size:14px;word-wrap:break-word;overflow-wrap:anywhere;box-shadow:0 1px 2px #0000000a,0 1px 8px -4px #0000000f;animation:helpai-bubble-in var(--helpai-dur-base) var(--helpai-ease)}.helpai-bubble ::selection{background:color-mix(in srgb,var(--helpai-accent) 30%,transparent)}.helpai-bubble-row[data-role=user] .helpai-bubble ::selection{background:#fff6;color:var(--helpai-bubble-user-text)}@keyframes helpai-bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.helpai-bubble-row[data-role=user] .helpai-bubble{background:var(--helpai-bubble-user);color:var(--helpai-bubble-user-text);border-bottom-right-radius:5px}.helpai-bubble-row[data-role=assistant] .helpai-bubble{background:var(--helpai-bubble-assistant);color:var(--helpai-bubble-assistant-text);border-bottom-left-radius:5px}.helpai-bubble-col{display:flex;flex-direction:column;max-width:85%;min-width:0}.helpai-bubble-row[data-role=user] .helpai-bubble-col{align-items:flex-end}.helpai-bubble-row[data-role=assistant] .helpai-bubble-col{align-items:flex-start}.helpai-bubble-time{margin-top:3px;padding:0 4px;font-size:11px;line-height:1;color:var(--helpai-fg-muted);user-select:none}.helpai-md>*:first-child{margin-top:0}.helpai-md>*:last-child{margin-bottom:0}.helpai-md p{margin:10px 0}.helpai-md h1,.helpai-md h2,.helpai-md h3,.helpai-md h4,.helpai-md h5,.helpai-md h6{margin:18px 0 8px;line-height:1.3;letter-spacing:-.01em;font-weight:700}.helpai-md h1{font-size:1.4em}.helpai-md h2{font-size:1.22em}.helpai-md h3{font-size:1.08em}.helpai-md h4,.helpai-md h5,.helpai-md h6{font-size:1em}.helpai-md>h1:first-child,.helpai-md>h2:first-child,.helpai-md>h3:first-child,.helpai-md>h4:first-child,.helpai-md>h5:first-child,.helpai-md>h6:first-child{margin-top:0}.helpai-md ul,.helpai-md ol{padding-left:1.5em;margin:10px 0}.helpai-md ul{list-style:disc}.helpai-md ol{list-style:decimal}.helpai-md li{margin:6px 0;padding-left:2px}.helpai-md li::marker{color:var(--helpai-fg-muted)}.helpai-md li>p{margin:6px 0}.helpai-md li>ul,.helpai-md li>ol{margin:6px 0}.helpai-md strong,.helpai-md b{font-weight:650;letter-spacing:-.005em}.helpai-md em,.helpai-md i{font-style:italic}.helpai-md code{font-family:var(--helpai-font-mono);font-size:.86em;padding:1px 6px;border-radius:5px;background:color-mix(in srgb,var(--helpai-accent) 10%,transparent);color:var(--helpai-fg);border:1px solid color-mix(in srgb,var(--helpai-accent) 16%,transparent)}.helpai-md pre{font-family:var(--helpai-font-mono);font-size:12.5px;padding:12px 14px;border-radius:var(--helpai-radius-sm);background:#7f7f7f1f;overflow-x:auto;margin:var(--helpai-space-3) 0;line-height:1.5}.helpai-md pre code{padding:0;background:none}.helpai-md a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.helpai-md a:hover{text-decoration-thickness:2px}.helpai-md blockquote{margin:14px 0;padding:6px 14px;border-left:3px solid color-mix(in srgb,var(--helpai-accent) 50%,transparent);background:color-mix(in srgb,var(--helpai-accent) 5%,transparent);border-radius:0 var(--helpai-radius-sm) var(--helpai-radius-sm) 0;color:var(--helpai-fg-muted)}.helpai-md blockquote>:first-child{margin-top:0}.helpai-md blockquote>:last-child{margin-bottom:0}.helpai-md hr{border:0;height:1px;background:color-mix(in srgb,currentColor 18%,transparent);margin:var(--helpai-space-4) 0}.helpai-md table{border-collapse:collapse;margin:var(--helpai-space-3) 0;font-size:.95em;display:block;overflow-x:auto;max-width:100%;font-variant-numeric:tabular-nums}.helpai-md th,.helpai-md td{padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);text-align:left}.helpai-md th{font-weight:700;background:color-mix(in srgb,currentColor 6%,transparent)}.helpai-md h1+ul,.helpai-md h1+ol,.helpai-md h2+ul,.helpai-md h2+ol,.helpai-md h3+ul,.helpai-md h3+ol,.helpai-md h4+ul,.helpai-md h4+ol{margin-top:var(--helpai-space-1)}.helpai-loading{display:inline-flex;align-items:center;gap:var(--helpai-space-2);color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm)}.helpai-loading-spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:helpai-spin .8s linear infinite}@keyframes helpai-spin{to{transform:rotate(1turn)}}.helpai-typing{display:inline-flex;gap:var(--helpai-space-1);padding:var(--helpai-space-1) 0}.helpai-typing span{width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.4;animation:helpai-blink 1.2s var(--helpai-ease) infinite}.helpai-typing span:nth-child(2){animation-delay:.2s}.helpai-typing span:nth-child(3){animation-delay:.4s}@keyframes helpai-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.helpai-reasoning{margin:var(--helpai-space-1) 0 var(--helpai-space-2);padding-left:var(--helpai-space-3);border-left:2px solid var(--helpai-border-strong)}.helpai-reasoning-summary{display:inline-flex;align-items:center;gap:var(--helpai-space-1);cursor:pointer;list-style:none;user-select:none;color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);font-weight:600}.helpai-reasoning-summary::-webkit-details-marker{display:none}.helpai-reasoning-summary:before{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.7;transition:transform var(--helpai-dur-quick) var(--helpai-ease)}.helpai-reasoning[open] .helpai-reasoning-summary:before{transform:rotate(45deg)}.helpai-reasoning[data-active=true] .helpai-reasoning-label{animation:helpai-reasoning-pulse 1.4s var(--helpai-ease) infinite}@keyframes helpai-reasoning-pulse{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.helpai-reasoning[data-active=true] .helpai-reasoning-label{animation:none}}.helpai-reasoning-body{margin-top:var(--helpai-space-1);color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm)}.helpai-reasoning-body>:first-child{margin-top:0}.helpai-reasoning-body>:last-child{margin-bottom:0}.helpai-tool-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--helpai-space-1) var(--helpai-space-2);margin-top:6px;border-radius:999px;background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs)}.helpai-composer{border-top:1px solid var(--helpai-border);padding:10px 12px;background:var(--helpai-bg);display:flex;flex-direction:column;gap:var(--helpai-space-2)}.helpai-composer-row{display:flex;align-items:flex-end;gap:6px}.helpai-textarea{flex:1;height:40px;max-height:160px;padding:10px 12px;border-radius:var(--helpai-radius);background:var(--helpai-bg-elevated);border:1px solid transparent;font-size:14px;line-height:1.4;transition:height var(--helpai-dur-quick) var(--helpai-ease),border-color var(--helpai-dur-quick) var(--helpai-ease),box-shadow var(--helpai-dur-quick) var(--helpai-ease)}.helpai-textarea:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:1px;border-color:var(--helpai-focus)}@media(pointer:coarse){.helpai-textarea,.helpai-home-search-input{font-size:16px}.helpai-textarea{height:44px}}.helpai-send{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;transition:opacity var(--helpai-dur-quick) var(--helpai-ease),transform var(--helpai-dur-quick) var(--helpai-ease),background var(--helpai-dur-quick) var(--helpai-ease)}.helpai-send[data-shape=circle]{border-radius:999px}.helpai-send[data-shape=square]{border-radius:var(--helpai-radius-sm)}.helpai-send[data-shape=pill]{width:auto;padding:0 18px;border-radius:999px}.helpai-send[data-variant=filled]{background:var(--helpai-accent);color:var(--helpai-accent-text)}.helpai-send[data-variant=outline]{background:transparent;color:var(--helpai-accent);border-color:var(--helpai-accent)}.helpai-send[data-variant=outline]:not(:disabled):hover{background:color-mix(in srgb,var(--helpai-accent) 10%,transparent)}.helpai-send[data-variant=ghost]{background:transparent;color:var(--helpai-accent)}.helpai-send[data-variant=ghost]:not(:disabled):hover{background:color-mix(in srgb,var(--helpai-accent) 8%,transparent)}.helpai-send:disabled{opacity:.4;cursor:not-allowed}.helpai-send:not(:disabled):hover{transform:translateY(-1px)}.helpai-send:not(:disabled):active{transform:translateY(0)}.helpai-send:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-send svg{width:18px;height:18px}.helpai-composer-actions{display:flex;gap:var(--helpai-space-1);flex-wrap:wrap}.helpai-attachments{display:flex;flex-wrap:wrap;gap:6px}.helpai-attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--helpai-space-1) var(--helpai-space-2) var(--helpai-space-1) var(--helpai-space-1);border-radius:999px;background:var(--helpai-bg-elevated);border:1px solid var(--helpai-border);font-size:var(--helpai-text-xs);max-width:200px}.helpai-attachment-thumb{width:24px;height:24px;border-radius:999px;object-fit:cover;background:var(--helpai-border)}.helpai-attachment-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.helpai-attachment-remove{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--helpai-fg-muted)}.helpai-attachment-remove:hover{background:var(--helpai-border);color:var(--helpai-fg)}.helpai-dropzone{position:absolute;inset:8px;border:2px dashed var(--helpai-accent);border-radius:var(--helpai-radius);background:color-mix(in srgb,var(--helpai-accent) 8%,transparent);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--helpai-accent);pointer-events:none;z-index:10;animation:helpai-fade-in var(--helpai-dur-quick) var(--helpai-ease)}@keyframes helpai-fade-in{0%{opacity:0}to{opacity:1}}.helpai-error{margin-top:var(--helpai-space-1);padding:8px 10px;border-radius:var(--helpai-radius-sm);background:var(--helpai-danger-bg);color:var(--helpai-danger-text);font-size:var(--helpai-text-sm);display:flex;align-items:center;gap:var(--helpai-space-2)}.helpai-error button{color:inherit;text-decoration:underline;font-size:var(--helpai-text-sm)}.helpai-history{flex:1;overflow-y:auto;padding:var(--helpai-space-2) var(--helpai-space-1) var(--helpai-space-3)}.helpai-history-footer{flex:none;padding:var(--helpai-space-2) var(--helpai-space-3) var(--helpai-space-3);border-top:1px solid var(--helpai-border);background:var(--helpai-surface)}.helpai-history-new{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--helpai-space-2);padding:var(--helpai-space-2) var(--helpai-space-3);border:none;border-radius:var(--helpai-radius-md);background:var(--helpai-accent);color:var(--helpai-on-accent);cursor:pointer;font-size:var(--helpai-text-sm);font-weight:600;transition:filter var(--helpai-dur-quick) var(--helpai-ease-out),transform var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-history-new svg{width:16px;height:16px}.helpai-history-new:hover{filter:brightness(1.08)}.helpai-history-new:active{transform:translateY(1px)}.helpai-history-new:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-history-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--helpai-fg-muted);font-size:14px;text-align:center}.helpai-history-group{display:flex;flex-direction:column;padding:0 var(--helpai-space-2)}.helpai-history-heading{font-size:var(--helpai-text-xs);font-weight:600;color:var(--helpai-fg-muted);padding:12px 8px 6px;text-transform:uppercase;letter-spacing:.04em}.helpai-history-item{all:unset;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:var(--helpai-radius-md);cursor:pointer;transition:background var(--helpai-dur-base) var(--helpai-ease)}.helpai-history-item:hover{background:var(--helpai-bg-elevated)}.helpai-history-item:focus-visible{background:var(--helpai-bg-elevated);outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-history-title{font-size:14px;font-weight:500;color:var(--helpai-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-history-preview{font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-history-item[data-closed=true] .helpai-history-title:after{content:"\2022";margin-left:var(--helpai-space-2);opacity:.5}.helpai-list-loading{margin:auto;padding:var(--helpai-space-6) var(--helpai-space-4);color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm);text-align:center}.helpai-readonly-banner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;margin:0 var(--helpai-space-3) var(--helpai-space-3);border-radius:var(--helpai-radius-md);background:var(--helpai-bg-elevated);color:var(--helpai-fg-muted);text-align:center;font-size:var(--helpai-text-sm)}.helpai-readonly-label{line-height:1.4}.helpai-readonly-cta{appearance:none;border:0;cursor:pointer;padding:var(--helpai-space-2) var(--helpai-space-4);border-radius:999px;background:var(--helpai-accent);color:var(--helpai-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--helpai-text-sm);transition:filter var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-readonly-cta:hover,.helpai-readonly-cta:focus-visible{filter:brightness(1.1)}.helpai-readonly-cta:focus-visible{outline:2px solid var(--helpai-accent);outline-offset:2px}.helpai-composer-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 16px;margin:0 var(--helpai-space-3);border-top:1px solid var(--helpai-border);text-align:center;font-size:11px;line-height:1.4;color:var(--helpai-fg-muted)}.helpai-disclaimer{max-width:320px;margin:0 auto;opacity:.9;letter-spacing:.01em}.helpai-poweredby{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:inherit;text-decoration:none;opacity:.7;transition:opacity var(--helpai-dur-base) var(--helpai-ease);font-size:11px;letter-spacing:.02em}.helpai-poweredby:hover{opacity:1}.helpai-poweredby-logo{height:12px;width:auto;display:inline-block;vertical-align:middle}.helpai-poweredby-bar{flex:none;display:flex;align-items:center;justify-content:center;padding:6px 16px;border-top:1px solid var(--helpai-border);background:var(--helpai-bg-elevated)}.helpai-menu-wrap{position:relative;display:inline-flex}.helpai-menu{position:absolute;top:100%;right:0;margin-top:6px;min-width:200px;padding:6px;background:var(--helpai-bg);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);box-shadow:var(--helpai-shadow-panel);z-index:10;display:flex;flex-direction:column;gap:2px;animation:helpai-menu-in var(--helpai-dur-base) var(--helpai-ease)}@media(prefers-reduced-motion:reduce){.helpai-menu{animation:none}}@keyframes helpai-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top right}to{opacity:1;transform:none}}.helpai-menu-item{all:unset;display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:var(--helpai-text-sm);color:var(--helpai-fg);border-radius:var(--helpai-radius-sm);cursor:pointer;user-select:none}.helpai-menu-item:hover{background:var(--helpai-bg-elevated)}.helpai-menu-item:focus-visible{background:var(--helpai-bg-elevated);outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-menu-item[disabled]{opacity:.45;cursor:not-allowed}.helpai-menu-icon{display:inline-flex;width:16px;height:16px;color:var(--helpai-fg-muted)}.helpai-menu-icon svg{width:16px;height:16px}.helpai-menu-label{flex:1}.helpai-menu-check{display:inline-flex;color:var(--helpai-accent)}.helpai-menu-check svg{width:14px;height:14px}.helpai-resize-grip{position:absolute;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--helpai-fg-muted);opacity:.45;transition:opacity var(--helpai-dur-base) var(--helpai-ease);z-index:2;touch-action:none;user-select:none}.helpai-resize-grip:hover,.helpai-resize-grip:focus-visible{opacity:1}.helpai-resize-grip svg{width:10px;height:10px}.helpai-resize-grip--bottom-left{bottom:2px;left:2px;cursor:nesw-resize;transform:scaleX(-1)}.helpai-resize-grip--bottom-right{bottom:2px;right:2px;cursor:nwse-resize}.helpai-resize-grip--top-left{top:2px;left:2px;cursor:nwse-resize;transform:rotate(180deg)}.helpai-resize-grip--top-right{top:2px;right:2px;cursor:nesw-resize;transform:scaleY(-1)}:host(:not([data-mode="open"])) .helpai-resize-grip{display:none}.helpai-messenger{display:flex;flex-direction:column;overflow:hidden}.helpai-messenger-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.helpai-module{display:flex;flex-direction:column;height:100%;min-height:0}.helpai-module-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--helpai-space-3);display:flex;flex-direction:column;gap:var(--helpai-space-3)}.helpai-home{background:radial-gradient(125% 65% at 88% 0%,color-mix(in srgb,#fff 16%,transparent),transparent 55%),linear-gradient(180deg,var(--helpai-accent) 0%,var(--helpai-accent) 22%,color-mix(in srgb,var(--helpai-accent) 28%,var(--helpai-surface)) 44%,var(--helpai-surface) 70%);border-radius:var(--helpai-radius-lg) var(--helpai-radius-lg) 0 0}.helpai-home-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;background:transparent}.helpai-home-cards{display:flex;flex-direction:column;gap:var(--helpai-space-3);padding:4px 14px 16px}.helpai-module-pad{padding:var(--helpai-space-3) var(--helpai-space-3) 0}.helpai-module-empty{display:flex;flex-direction:column;align-items:center;gap:var(--helpai-space-3);padding:var(--helpai-space-8) var(--helpai-space-4);text-align:center;color:var(--helpai-fg-muted);font-size:var(--helpai-text-base)}.helpai-module-retry{padding:var(--helpai-space-2) var(--helpai-space-4);border:1px solid var(--helpai-border-strong);border-radius:var(--helpai-radius-sm);color:var(--helpai-fg);font-weight:600;cursor:pointer;transition:background var(--helpai-dur-quick) var(--helpai-ease-out),border-color var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-module-retry:hover{background:var(--helpai-hover);border-color:var(--helpai-accent)}.helpai-module-retry:active{background:var(--helpai-border)}.helpai-module-retry:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-help-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--helpai-space-3)}.helpai-help-group{display:flex;flex-direction:column}.helpai-help-section-title{position:sticky;top:0;z-index:1;margin:0;padding:var(--helpai-space-3) var(--helpai-space-5) var(--helpai-space-2);font-size:var(--helpai-text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--helpai-fg-muted);background:var(--helpai-bg)}.helpai-help-card{margin:0 var(--helpai-space-3) var(--helpai-space-3);background:var(--helpai-surface);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);overflow:hidden}.helpai-help-card .helpai-list-row{border-bottom:0;border-radius:0}.helpai-help-card .helpai-list-row+.helpai-list-row{border-top:1px solid var(--helpai-border)}.helpai-help-card .helpai-list-row:hover{background:var(--helpai-hover)}.helpai-module-cta{padding:var(--helpai-space-3);border-top:1px solid var(--helpai-border)}.helpai-tabbar{display:flex;border-top:1px solid var(--helpai-border);background:var(--helpai-bg-elevated);flex-shrink:0}.helpai-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--helpai-space-1);min-height:48px;padding:var(--helpai-space-2) var(--helpai-space-1);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);font-weight:600;transition:color var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-tab:hover{color:var(--helpai-fg)}.helpai-tab[aria-selected=true]{color:var(--helpai-accent)}.helpai-tab:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-tab:active{background:var(--helpai-hover)}.helpai-tab-icon{position:relative;display:inline-flex}.helpai-tab-icon svg{width:22px;height:22px}.helpai-tab-badge{position:absolute;top:-4px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--helpai-accent);color:var(--helpai-on-accent);font-size:10px;font-weight:600;line-height:1}.helpai-home-hero{flex-shrink:0;padding:var(--helpai-space-5) var(--helpai-space-5) var(--helpai-space-3);color:var(--helpai-on-accent);--helpai-focus: var(--helpai-on-accent)}.helpai-home-hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--helpai-space-3);min-height:32px}.helpai-home-brand{font-size:14px;font-weight:600;letter-spacing:.01em;color:color-mix(in srgb,#fff 82%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.helpai-home-brand-spacer{flex:1}.helpai-home-hero-actions{display:flex;align-items:center;gap:var(--helpai-space-2);flex-shrink:0}.helpai-home-hero-actions .helpai-icon-btn{color:#fff}.helpai-home-greeting{margin:28px 0 0;font-family:var(--helpai-font-display);font-size:var(--helpai-text-2xl);font-weight:800;line-height:1.18;letter-spacing:-.01em;overflow-wrap:anywhere}.helpai-home-lead{margin:2px 0 0;font-family:var(--helpai-font-display);font-size:var(--helpai-text-2xl);font-weight:800;line-height:1.18;letter-spacing:-.01em;color:color-mix(in srgb,var(--helpai-on-accent) 88%,transparent);overflow-wrap:anywhere}.helpai-home-avatars{display:flex}.helpai-home-avatar{width:30px;height:30px;border-radius:999px;overflow:hidden;margin-left:-10px;border:2px solid color-mix(in srgb,#fff 92%,transparent);box-shadow:0 1px 3px #0000002e;background:var(--helpai-surface);display:inline-flex;align-items:center;justify-content:center;font-size:var(--helpai-text-xs);font-weight:700;color:var(--helpai-fg)}.helpai-home-avatar:first-child{margin-left:0}.helpai-home-avatar img{width:100%;height:100%;object-fit:cover}.helpai-home-content{background:var(--helpai-surface);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);box-shadow:var(--helpai-shadow-card);overflow:hidden}.helpai-home-content-title{padding:var(--helpai-space-4) var(--helpai-space-4) var(--helpai-space-3);font-size:var(--helpai-text-sm);font-weight:700}.helpai-home-content-list{display:flex;flex-direction:column;padding:0 var(--helpai-space-2) var(--helpai-space-2)}.helpai-home-content-list .helpai-list-row+.helpai-list-row{border-top:1px solid var(--helpai-border)}.helpai-home-card{display:block;width:100%;text-align:left;background:var(--helpai-surface);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);padding:var(--helpai-space-4);box-shadow:var(--helpai-shadow-card)}.helpai-home-card[data-interactive=true]{cursor:pointer;transition:background var(--helpai-dur-quick) var(--helpai-ease-out),transform var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-home-card[data-interactive=true]:hover{background:var(--helpai-bg-elevated)}.helpai-home-card[data-interactive=true]:active{transform:translateY(1px)}.helpai-home-card[data-interactive=true]:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-home-recent-row{display:flex;align-items:center;gap:var(--helpai-space-3)}.helpai-home-recent-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:999px;background:color-mix(in oklch,var(--helpai-accent) 14%,transparent);color:var(--helpai-accent)}.helpai-home-recent-avatar svg{width:20px;height:20px}.helpai-home-recent-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.helpai-home-recent-title{font-weight:600;font-size:14px}.helpai-home-recent-preview{color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.helpai-home-recent-at{color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);flex-shrink:0}.helpai-home-recent-dot{width:8px;height:8px;border-radius:999px;background:var(--helpai-accent);flex-shrink:0}.helpai-home-recent-row[data-unread=true] .helpai-home-recent-title{font-weight:700}.helpai-home-status{display:flex;align-items:center;gap:var(--helpai-space-3)}.helpai-home-status-icon svg{width:22px;height:22px;color:var(--helpai-success)}.helpai-home-status[data-level=degraded] .helpai-home-status-icon svg{color:var(--helpai-warning)}.helpai-home-status[data-level=down] .helpai-home-status-icon svg{color:var(--helpai-danger)}.helpai-home-status-text{font-weight:600;font-size:14px}.helpai-home-search{display:flex;align-items:center;gap:var(--helpai-space-2);width:100%;padding:var(--helpai-space-3) var(--helpai-space-4);border-radius:var(--helpai-radius);border:1px solid var(--helpai-border);background:var(--helpai-surface);text-align:left}.helpai-home-search[data-input=true]{background:var(--helpai-bg-elevated)}.helpai-home-search:hover{border-color:var(--helpai-border-strong)}.helpai-home-search:focus-visible,.helpai-home-search:focus-within{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-home-search-text{flex:1;color:var(--helpai-fg-muted);font-size:14px}.helpai-home-search-input{flex:1;border:0;background:transparent;font-size:14px;color:var(--helpai-fg);outline:none}.helpai-home-search-icon svg{width:18px;height:18px;color:var(--helpai-accent)}.helpai-list-row{display:flex;align-items:center;gap:var(--helpai-space-3);width:100%;min-height:44px;text-align:left;padding:var(--helpai-space-3) var(--helpai-space-2);border-radius:var(--helpai-radius-sm)}.helpai-list-row:hover{background:var(--helpai-bg-elevated)}.helpai-list-row:active{background:var(--helpai-border)}.helpai-list-row:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:-2px}.helpai-list-row-body{display:flex;flex-direction:column;min-width:0;flex:1}.helpai-list-row-title{font-weight:600;font-size:var(--helpai-text-md);line-height:1.35}.helpai-list-row-sub{color:var(--helpai-fg-muted);font-size:var(--helpai-text-sm);margin-top:var(--helpai-space-1);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.helpai-list-row-chevron svg{width:18px;height:18px;color:var(--helpai-accent);flex-shrink:0}.helpai-back-header{display:flex;align-items:center;gap:var(--helpai-space-2);padding:10px 12px;border-bottom:1px solid var(--helpai-border);flex-shrink:0}.helpai-back-title{flex:1;text-align:center;font-size:var(--helpai-text-md);font-weight:700;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpai-back-spacer{width:32px;height:1px}.helpai-content{display:flex;flex-direction:column;gap:14px;width:100%;max-width:68ch;margin:0 auto}.helpai-content-hero{width:100%;border-radius:var(--helpai-radius)}.helpai-content-subtitle{color:var(--helpai-fg-muted);margin:0}.helpai-content-frame{flex:1;min-height:0;width:100%;border:0;background:#fff}.helpai-news-list{display:flex;flex-direction:column;gap:var(--helpai-space-3)}.helpai-news-card{display:block;width:100%;text-align:left;border:1px solid var(--helpai-border);border-radius:var(--helpai-radius);overflow:hidden;background:var(--helpai-surface)}.helpai-news-card{transition:background var(--helpai-dur-quick) var(--helpai-ease-out),transform var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-news-card:hover{background:var(--helpai-bg-elevated)}.helpai-news-card:active{transform:translateY(1px)}.helpai-news-card:focus-visible{outline:2px solid var(--helpai-focus);outline-offset:2px}.helpai-news-hero{width:100%;display:block}.helpai-news-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px}.helpai-news-tags{display:flex;gap:6px;flex-wrap:wrap}.helpai-news-tag{font-size:var(--helpai-text-xs);font-weight:600;color:var(--helpai-accent);background:color-mix(in srgb,var(--helpai-accent) 12%,transparent);padding:2px 8px;border-radius:999px}.helpai-news-title{font-weight:700;font-size:var(--helpai-text-md)}.helpai-news-summary{color:var(--helpai-fg-muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.helpai-modules-empty{display:flex;align-items:center;justify-content:center;position:relative}.helpai-modules-empty-close{position:absolute;top:12px;right:12px}.helpai-modules-empty-text{color:var(--helpai-fg-muted);font-size:var(--helpai-text-base)}.helpai-form{display:flex;flex-direction:column;gap:var(--helpai-space-3)}.helpai-field{display:flex;flex-direction:column;gap:4px}.helpai-field-label{font-size:var(--helpai-text-sm);font-weight:600;color:var(--helpai-fg)}.helpai-field-req{color:var(--helpai-danger)}.helpai-field-input{width:100%;box-sizing:border-box;padding:var(--helpai-space-2) var(--helpai-space-3);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);background:var(--helpai-bg);color:var(--helpai-fg);font:inherit;font-size:var(--helpai-text-sm);resize:vertical;transition:border-color var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-field-input:focus-visible{outline:none;border-color:var(--helpai-accent)}.helpai-field[data-invalid=true] .helpai-field-input{border-color:var(--helpai-danger)}.helpai-field-hint{font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted)}.helpai-field-error{font-size:var(--helpai-text-xs);color:var(--helpai-danger)}.helpai-field-choices{display:flex;flex-direction:column;gap:6px}.helpai-choice{display:flex;align-items:flex-start;gap:8px;font-size:var(--helpai-text-sm);color:var(--helpai-fg);cursor:pointer}.helpai-choice input{margin-top:2px;accent-color:var(--helpai-accent)}.helpai-form-actions{display:flex;justify-content:flex-end;gap:var(--helpai-space-2);margin-top:2px}.helpai-form-submit,.helpai-tool-approve{padding:var(--helpai-space-2) var(--helpai-space-4);border:none;border-radius:var(--helpai-radius-md);background:var(--helpai-accent);color:var(--helpai-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--helpai-text-sm);cursor:pointer;transition:filter var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-form-submit:hover:not(:disabled),.helpai-tool-approve:hover:not(:disabled){filter:brightness(1.06)}.helpai-form-submit:disabled{opacity:.6;cursor:default}.helpai-form-skip,.helpai-tool-reject{padding:var(--helpai-space-2) var(--helpai-space-4);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);background:transparent;color:var(--helpai-fg-muted);font:inherit;font-size:var(--helpai-text-sm);cursor:pointer;transition:background var(--helpai-dur-quick) var(--helpai-ease-out)}.helpai-form-skip:hover:not(:disabled),.helpai-tool-reject:hover:not(:disabled){background:var(--helpai-bg-elevated)}.helpai-form-gate{display:flex;flex-direction:column;gap:var(--helpai-space-2);padding:var(--helpai-space-3) var(--helpai-space-4) var(--helpai-space-4);border-top:1px solid var(--helpai-border);flex:1 1 auto;min-height:0;overflow-y:auto}.helpai-list-wrap:has(+.helpai-form-gate){flex:0 1 auto;max-height:40%}.helpai-list-wrap:has(+.helpai-form-gate) .helpai-list:empty{padding:0}.helpai-form-gate-title{margin:0;font-size:var(--helpai-text-base);font-weight:700;color:var(--helpai-fg)}.helpai-form-gate-desc{margin:0 0 var(--helpai-space-1);font-size:var(--helpai-text-sm);color:var(--helpai-fg-muted)}.helpai-tool-ask-input,.helpai-tool-approval{display:flex;flex-direction:column;gap:var(--helpai-space-2);margin-top:6px;padding:var(--helpai-space-3);border:1px solid var(--helpai-border);border-radius:var(--helpai-radius-md);background:var(--helpai-bg-elevated)}.helpai-tool-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.helpai-tool-badge{padding:2px 8px;border-radius:999px;background:var(--helpai-warning, #f59e0b);color:#1a1206;font-size:var(--helpai-text-xs);font-weight:600}.helpai-tool-title{font-size:var(--helpai-text-sm);color:var(--helpai-fg)}.helpai-tool-question{margin:0;font-size:var(--helpai-text-sm);font-weight:600;color:var(--helpai-fg)}.helpai-tool-desc{margin:0;font-size:var(--helpai-text-sm);color:var(--helpai-fg-muted)}.helpai-tool-args{margin:0;padding:var(--helpai-space-2);max-height:160px;overflow:auto;border-radius:var(--helpai-radius-sm);background:var(--helpai-bg);border:1px solid var(--helpai-border);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);white-space:pre-wrap;word-break:break-word}.helpai-tool-stale-note{margin:0;font-size:var(--helpai-text-xs);color:var(--helpai-fg-muted)}.helpai-tool-decided{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.helpai-tool-decided-label{padding:2px 8px;border-radius:999px;background:var(--helpai-bg);border:1px solid var(--helpai-border);color:var(--helpai-fg-muted);font-size:var(--helpai-text-xs);font-weight:600}.helpai-tool-decided-label[data-approved=true]{color:var(--helpai-success, #16a34a);border-color:var(--helpai-success, #16a34a)}.helpai-tool-decided-label[data-approved=false]{color:var(--helpai-danger);border-color:var(--helpai-danger)}.helpai-tool-decided-value{font-size:var(--helpai-text-sm);color:var(--helpai-fg)}
6
6
 
7
7
  .helpai-standalone-page{margin:0;height:100vh;background:var(--helpai-bg, #fff);display:grid;place-items:stretch}
8
8