# zip-ai/0.0.13/assets/css/dist/chat-assistant.css

ZIP AI – AI Website Builder &amp; AI Agent, version 0.0.13. 6,270 lines.

- Page: https://pluginprobe.com/plugins/zip-ai/0.0.13/code/assets/css/dist/chat-assistant.css
- Raw: https://pluginprobe.com/plugins/zip-ai/0.0.13/raw/assets/css/dist/chat-assistant.css
- Modified: 2026-10-06T13:42:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/zip-ai/0.0.13/code/assets/css/dist/chat-assistant.css#L10-L20`.

```css
@import url(https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap);
/* ── Popover / Floating card mode ────────────────────────────────────────────
 * Panel renders as a compact floating card anchored to the bottom-right,
 * above the FAB trigger. No body margin shift, no admin bar adjustment.
 * The container shrinks from full-height sidebar to a fixed-size card.
 */

/* Prevent WP content from shifting when popover is open */
body.zip-ai-popover-mode.zip-ai-assistant-open {
  margin-right: 0 !important;
  width: 100vw !important;
  overflow-x: clip;
}

body.zip-ai-popover-mode.zip-ai-assistant-open #wpadminbar {
  right: 0 !important;
}

body.zip-ai-popover-mode.zip-ai-assistant-open .interface-interface-skeleton,
.block-editor-page body.zip-ai-popover-mode.zip-ai-assistant-open .interface-interface-skeleton {
  margin-right: 0 !important;
}

/* Card shape and size — double body class for specificity over block-editor rules */
body.zip-ai-popover-mode .zip-ai-iframe-container,
body.zip-ai-popover-mode.block-editor-page .zip-ai-iframe-container {
  top: auto;
  /* Default box mirrors the sidebar: from below the admin bar down to a 2px
     bottom gap, flush right. The height default is admin-bar-aware (see the
     rules just below) since the bar is 32px on desktop, 46px on mobile, and
     absent on a front-end page with the toolbar off. */
  bottom: 2px;
  right: -420px;
  /* Size: CSS vars so JS resize can override. !important keeps precedence
     over sidebar width variables. */
  width: var(--zipwp-popover-w, 420px) !important;
  height: var(--zipwp-popover-h, calc(100vh - 34px)) !important;
  max-height: var(--zipwp-popover-max-h, calc(100vh - 34px));
  border-radius: 16px;
  /* Even subtle border on all four sides (sidebar only bordered the left) */
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow:
    0 25px 50px -12px rgba(0, 0, 0, 0.25),
    0 12px 24px -8px rgba(0, 0, 0, 0.15);
  /* No overflow:hidden — tooltips and dropdowns portal inside this container
     and must not be clipped. Inner content handles its own overflow. */
  overflow: visible;
}

/* Front-end with the toolbar off: no admin bar, so run full height (top 0).
   Overrides the 34px default and main.css's body:not(.admin-bar) rule. */
body.zip-ai-popover-mode:not(.admin-bar) .zip-ai-iframe-container {
  height: var(--zipwp-popover-h, calc(100vh - 2px)) !important;
  max-height: var(--zipwp-popover-max-h, calc(100vh - 2px));
}

/* Mobile: the WP admin bar is 46px tall below 782px. */
@media screen and (max-width: 782px) {
  body.zip-ai-popover-mode.admin-bar .zip-ai-iframe-container {
    height: var(--zipwp-popover-h, calc(100vh - 48px)) !important;
    max-height: var(--zipwp-popover-max-h, calc(100vh - 48px));
  }
}

/* Inner React root clips content to the rounded card shape.
   `clip`, not `hidden`: an overflow:hidden box is still a SCROLL CONTAINER, so
   the browser's "scroll the focused element into view" could shift the whole
   card up — taking the screen header with it, with no scrollbar to get back
   (the import wizard's step 2 did exactly this). `clip` clips identically but
   creates no scroll container, so nothing can scroll it. */
body.zip-ai-popover-mode .zip-ai-iframe-container #chat-assistant-root {
  border-radius: 16px;
  overflow: clip;
}

body.zip-ai-popover-mode .zip-ai-iframe-container.zip-ai-iframe-visible {
  right: 0;
}

/* Fixed overlays (Radix dialogs, the fullscreen design-preview stage) are
   React portals rendered INTO #chat-assistant-root so they keep the app's
   scoped styles. In popover mode the container carries a transform from its
   entry animation, which makes it the containing block for the portal's
   `position: fixed` — trapping the overlay inside the card. While any overlay
   is open, drop the transform so the fixed overlay escapes to the real
   viewport. (The root keeps overflow:hidden — a viewport-fixed element isn't
   clipped by it once the transform is gone — so the card corners stay
   rounded even if the overlay flag lingers.) */
body.zip-ai-popover-mode.zip-ai-overlay-open .zip-ai-iframe-container {
  transform: none !important;
  animation: none !important;
}

/* Hide sidebar resize handle in popover mode */
body.zip-ai-popover-mode .zip-ai-resize-handle {
  display: none !important;
}

/* Drag cursor on popover header */
body.zip-ai-popover-mode [data-popover-drag] {
  cursor: grab;
}
body.zip-ai-popover-mode [data-popover-drag]:active {
  cursor: grabbing;
}

/* Popover entry animation — only when not dragged to a custom position.
   `backwards` (not `both`): the panel must NOT retain the animation's identity
   transform at rest — a lingering transform makes the container a containing
   block that traps `position: fixed` portals (Radix tooltips, dialogs) inside
   the card. The to-state and the base style are both identity, so dropping the
   forwards fill is visually identical. */
body.zip-ai-popover-mode .zip-ai-iframe-container.zip-ai-iframe-visible:not([style*="left"]) {
  animation: zipwp-popover-in 0.25s cubic-bezier(0.32, 0.72, 0, 1) backwards;
}
@media (prefers-reduced-motion: reduce) {
  body.zip-ai-popover-mode .zip-ai-iframe-container.zip-ai-iframe-visible:not([style*="left"]) {
    animation: none;
  }
}

/* ── Resize handles ────────────────────────────────────────────────────────
 * Injected by popover-drag.js — 4 edges + 4 corners.
 * Only active in popover mode; hidden elsewhere.
 */
.zipwp-popover-resize {
  display: none;
}
body.zip-ai-popover-mode .zipwp-popover-resize {
  display: block;
  position: absolute;
  z-index: 10;
}
/* Edges — 6px thick, along the side */
body.zip-ai-popover-mode .zipwp-popover-resize--n { top: -3px; left: 12px; right: 12px; height: 6px; cursor: n-resize; }
body.zip-ai-popover-mode .zipwp-popover-resize--s { bottom: -3px; left: 12px; right: 12px; height: 6px; cursor: s-resize; }
body.zip-ai-popover-mode .zipwp-popover-resize--e { right: -3px; top: 12px; bottom: 12px; width: 6px; cursor: e-resize; }
body.zip-ai-popover-mode .zipwp-popover-resize--w { left: -3px; top: 12px; bottom: 12px; width: 6px; cursor: w-resize; }
/* Corners — 14x14, on top of edges */
body.zip-ai-popover-mode .zipwp-popover-resize--nw { top: -4px; left: -4px; width: 14px; height: 14px; cursor: nw-resize; }
body.zip-ai-popover-mode .zipwp-popover-resize--ne { top: -4px; right: -4px; width: 14px; height: 14px; cursor: ne-resize; }
body.zip-ai-popover-mode .zipwp-popover-resize--sw { bottom: -4px; left: -4px; width: 14px; height: 14px; cursor: sw-resize; }
body.zip-ai-popover-mode .zipwp-popover-resize--se { bottom: -4px; right: -4px; width: 14px; height: 14px; cursor: se-resize; }

@keyframes zipwp-popover-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

*, ::before, ::after{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

::backdrop{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

/* Light — Era design tokens (bundle: era.html) */

:is(#chat-assistant-root, #zip-ai-snippets-root) {
    --background: 0 0% 100%;             /* app-container #FFFFFF */
    --foreground: 222 47% 11%;          /* app-heading #0F172A — crisp */
    --card: 0 0% 100%;
    --card-foreground: 222 47% 11%;
    --popover: 0 0% 100%;
    --popover-foreground: 222 47% 11%;
    --primary: 234 41% 41%;             /* #3D4592 — primary button/accent (as shipped) */
    --primary-foreground: 0 0% 100%;
    --secondary: 216 33% 97%;           /* app-background #F5F7FA (subtle surface) */
    --secondary-foreground: 222 47% 11%;/* app-heading */
    --muted: 216 33% 97%;
    --muted-foreground: 215 19% 35%;    /* app-text #475569 */
    --accent: 234 44% 95%;              /* soft indigo hover surface */
    --accent-foreground: 234 41% 41%;   /* indigo on --accent */
    --destructive: 0 84% 60%;           /* alert-error #EF4444 */
    --destructive-foreground: 0 0% 100%;
    --border: 214 32% 91%;              /* app-border #E2E8F0 */
    --input: 214 32% 91%;
    --ring: 234 41% 41%;                /* focus outline */
    --radius: 0.625rem;
    /* App palette — ZipWP color design system (Color Tokens SSOT).
       NOTE: primary button ships as #3D4592 (the sheet's $secondary); the
       table's $app-primary #005AE0 is not what the live CTA uses. */
    --app-primary: 234 41% 41%;         /* #3D4592 — primary button (as shipped) */
    --app-hover: 234 42% 49%;           /* #4953B2 */
    --app-secondary: 214 100% 97%;      /* #EFF6FF — secondary button */
    --app-secondary-hover: 214 95% 93%; /* #DBEAFE */
    --app-heading: 222 47% 11%;         /* #0F172A — crisp headings */
    --app-text: 215 19% 35%;            /* #475569 — text + input text */
    --app-background: 216 33% 97%;      /* #F5F7FA — main background */
    --app-container: 0 0% 100%;         /* #FFFFFF */
    --app-border: 214 32% 91%;          /* #E2E8F0 — border/separator */
    --app-border-hover: 213 28% 86%;    /* #D1DAE5 */
    --app-inactive-icon: 215 20% 65%;   /* #94A3B8 — icon + placeholder */
    --app-active-icon: 215 19% 35%;     /* #475569 */
    --app-table-row: 214 47% 97%;       /* #F4F7FB */
    --alert-info: 217 91% 60%;          /* #3B82F6 */
    --alert-info-bg: 214 100% 97%;      /* #EFF6FF */
    --alert-info-text: 221 83% 53%;     /* #2563EB */
    --alert-success: 142 71% 45%;       /* #22C55E */
    --alert-success-bg: 138 76% 97%;    /* #F0FDF4 */
    --alert-success-text: 142 76% 36%;  /* #16A34A */
    --alert-warning: 48 96% 53%;        /* #FACC15 */
    --alert-warning-bg: 55 92% 95%;     /* #FEFCE8 */
    --alert-warning-text: 41 96% 40%;   /* #CA8A04 */
    --alert-error: 0 84% 60%;           /* #EF4444 */
    --alert-error-bg: 0 86% 97%;        /* #FEF2F2 */
    --alert-error-text: 0 72% 51%;      /* #DC2626 */
    --line-2: 213 28% 86%;              /* #D1DAE5 */
    --line-3: 214 20% 78%;
    --bg-sunken: 216 33% 97%;           /* #F5F7FA */
    --ok: 142 71% 45%;                  /* alert-success #22C55E */
    --ok-soft: 138 76% 97%;             /* alert-success-bg */
    --warn: 41 96% 40%;                 /* alert-warning-text #CA8A04 */
    --warn-soft: 55 92% 95%;            /* alert-warning-bg */
    --accent-50: 234 44% 97%;           /* soft indigo */
    --chart-1: 12 76% 61%;
    --chart-2: 173 58% 39%;
    --chart-3: 197 37% 24%;
    --chart-4: 43 74% 66%;
    --chart-5: 27 87% 67%;

    /* Legacy semantic tokens (markdown, inline styles, older components) */
    --color-heading: hsl(var(--foreground));
    --color-body: hsl(var(--foreground));
    --color-medium: hsl(var(--muted-foreground));
    --color-muted: hsl(var(--muted-foreground));
    --color-faint: hsl(var(--muted-foreground));
    --color-brand: hsl(var(--primary));
    --color-brand-hover: hsl(234 42% 49%);
    --color-brand-dark: hsl(234 42% 35%);
    --color-surface: hsl(var(--background));
    --color-surface-secondary: hsl(var(--muted));
    --color-surface-hover: hsl(var(--accent));
    --color-border-main: hsl(var(--border));
    --color-border-light: hsl(var(--border));
    --color-glass-border: hsl(var(--border) / 0.45);
    --font-mono: "JetBrains Mono", "Fira Code", consolas, monospace;
    --font-sans: "Figtree", -apple-system, blinkmacsystemfont, "Segoe UI",
      sans-serif;
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 10px;
    --radius-xl: 12px;
    --radius-2xl: 16px;
    --color-surface-active: hsl(var(--accent));
    --color-surface-blue: hsl(var(--primary) / 0.1);
    /* Legacy — prefer border + bg-card / bg-primary in components */
    --shadow-bubble-user: none;
    --shadow-bubble-assistant: none;
  }

/* Dark — Era tokens (elevated ink-1 + accent with contrast lift) */

:is(#chat-assistant-root.dark, #zip-ai-snippets-root.dark) {
    --background: 216 24% 16%;          /* dark-app-background #1F2733 */
    --foreground: 240 20% 99%;          /* dark-app-heading #FCFCFD */
    --card: 215 24% 20%;                /* dark-app-container #27313F */
    --card-foreground: 240 20% 99%;
    --popover: 215 24% 20%;
    --popover-foreground: 240 20% 99%;
    --primary: 234 55% 64%;             /* #3D4592 lifted for dark */
    --primary-foreground: 0 0% 100%;
    --secondary: 215 24% 20%;
    --secondary-foreground: 212 32% 92%;
    --muted: 215 24% 20%;
    --muted-foreground: 216 24% 64%;
    --accent: 234 30% 24%;              /* soft indigo */
    --accent-foreground: 234 60% 80%;
    --destructive: 0 84% 63%;
    --destructive-foreground: 0 0% 100%;
    --border: 219 23% 26%;              /* dark-app-border #333E52 */
    --input: 215 24% 24%;               /* dark-app-input #2F3B4C */
    --ring: 234 55% 64%;
    /* App palette (dark) — dark values approximated from the design system's
       dark panel (exact hex were not legible in the reference). */
    --app-primary: 234 55% 64%;
    --app-hover: 234 55% 72%;
    --app-secondary: 215 24% 22%;       /* secondary button (dark) */
    --app-secondary-hover: 215 24% 28%;
    --app-heading: 240 20% 99%;         /* #FCFCFD */
    --app-text: 212 32% 92%;            /* #E4EAF1 */
    --app-background: 216 24% 16%;      /* #1F2733 */
    --app-container: 215 24% 20%;       /* #27313F */
    --app-border: 219 23% 26%;          /* #333E52 */
    --app-border-hover: 217 24% 32%;    /* #3E4D65 */
    --app-inactive-icon: 216 31% 80%;   /* #BCC9DC */
    --app-active-icon: 212 32% 92%;
    --app-table-row: 215 24% 22%;
    --alert-info: 216 98% 62%;
    --alert-info-bg: 216 40% 20%;
    --alert-info-text: 216 98% 72%;
    --alert-success: 142 65% 55%;
    --alert-success-bg: 146 40% 16%;
    --alert-success-text: 142 65% 65%;
    --alert-warning: 48 90% 60%;
    --alert-warning-bg: 34 45% 18%;
    --alert-warning-text: 41 90% 62%;
    --alert-error: 0 84% 63%;
    --alert-error-bg: 0 40% 20%;
    --alert-error-text: 0 84% 72%;
    --line-2: 217 24% 32%;
    --line-3: 217 24% 38%;
    --bg-sunken: 215 24% 20%;
    --ok: 142 65% 55%;
    --ok-soft: 146 40% 16%;
    --warn: 41 90% 62%;
    --warn-soft: 34 45% 18%;
    --accent-50: 234 30% 18%;
    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;
  }
.container{
    width: 100%;
}
@media (min-width: 640px){

    .container{
        max-width: 640px;
    }
}
@media (min-width: 768px){

    .container{
        max-width: 768px;
    }
}
@media (min-width: 1024px){

    .container{
        max-width: 1024px;
    }
}
@media (min-width: 1280px){

    .container{
        max-width: 1280px;
    }
}
@media (min-width: 1536px){

    .container{
        max-width: 1536px;
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pointer-events-none{
    pointer-events: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pointer-events-auto{
    pointer-events: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .visible{
    visibility: visible;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .invisible{
    visibility: hidden;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .collapse{
    visibility: collapse;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .static{
    position: static;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .fixed{
    position: fixed;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .absolute{
    position: absolute;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .relative{
    position: relative;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .sticky{
    position: sticky;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inset-0{
    inset: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inset-x-0{
    left: 0px;
    right: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inset-x-\[4\%\]{
    left: 4%;
    right: 4%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inset-y-0{
    top: 0px;
    bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-bottom-0\.5{
    bottom: -0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-bottom-px{
    bottom: -1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-left-0\.5{
    left: -0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-right-1\.5{
    right: -0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-top-1\.5{
    top: -0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bottom-0{
    bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bottom-2{
    bottom: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bottom-3{
    bottom: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bottom-\[5\%\]{
    bottom: 5%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bottom-full{
    bottom: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-0{
    left: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-0\.5{
    left: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-1\/2{
    left: 50%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-2{
    left: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-3{
    left: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-\[14px\]{
    left: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-\[50\%\]{
    left: 50%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .left-\[9px\]{
    left: 9px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .right-0{
    right: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .right-1{
    right: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .right-1\.5{
    right: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .right-2{
    right: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .right-3{
    right: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .right-4{
    right: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .right-5{
    right: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-0{
    top: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-0\.5{
    top: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-1\.5{
    top: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-2{
    top: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-3{
    top: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-4{
    top: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-5{
    top: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-\[32px\]{
    top: 32px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-\[50\%\]{
    top: 50%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-\[88px\]{
    top: 88px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .top-full{
    top: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .isolate{
    isolation: isolate;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-10{
    z-index: 10;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-30{
    z-index: 30;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-50{
    z-index: 50;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[1000000\]{
    z-index: 1000000;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[1000001\]{
    z-index: 1000001;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[100\]{
    z-index: 100;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[1200\]{
    z-index: 1200;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[120\]{
    z-index: 120;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[125\]{
    z-index: 125;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[126\]{
    z-index: 126;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[128\]{
    z-index: 128;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[130\]{
    z-index: 130;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[150\]{
    z-index: 150;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[160\]{
    z-index: 160;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[1\]{
    z-index: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[200\]{
    z-index: 200;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[2\]{
    z-index: 2;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-\[999998\]{
    z-index: 999998;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-annotation{
    z-index: 100001;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-modal{
    z-index: 1000;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-overlay{
    z-index: 1100;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .z-tooltip{
    z-index: 100002;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .col-span-full{
    grid-column: 1 / -1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .m-0{
    margin: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .m-3{
    margin: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-mx-3\.5{
    margin-left: -0.875rem;
    margin-right: -0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-0\.5{
    margin-left: 0.125rem;
    margin-right: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-1\.5{
    margin-left: 0.375rem;
    margin-right: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-2\.5{
    margin-left: 0.625rem;
    margin-right: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-\[22px\]{
    margin-left: 22px;
    margin-right: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mx-auto{
    margin-left: auto;
    margin-right: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .my-1\.5{
    margin-top: 0.375rem;
    margin-bottom: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .my-3\.5{
    margin-top: 0.875rem;
    margin-bottom: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-ml-1\.5{
    margin-left: -0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-ml-2{
    margin-left: -0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-mr-1{
    margin-right: -0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-mt-0\.5{
    margin-top: -0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-0{
    margin-bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-0\.5{
    margin-bottom: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-1{
    margin-bottom: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-1\.5{
    margin-bottom: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-2{
    margin-bottom: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-2\.5{
    margin-bottom: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-3{
    margin-bottom: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-3\.5{
    margin-bottom: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-4{
    margin-bottom: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-5{
    margin-bottom: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-6{
    margin-bottom: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-8{
    margin-bottom: 2rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-\[18px\]{
    margin-bottom: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mb-\[22px\]{
    margin-bottom: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-0\.5{
    margin-left: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-1{
    margin-left: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-1\.5{
    margin-left: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-2{
    margin-left: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-3{
    margin-left: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-9{
    margin-left: 2.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-\[9px\]{
    margin-left: 9px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-auto{
    margin-left: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ml-px{
    margin-left: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mr-0\.5{
    margin-right: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mr-1{
    margin-right: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mr-1\.5{
    margin-right: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mr-auto{
    margin-right: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-0{
    margin-top: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-0\.5{
    margin-top: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-1{
    margin-top: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-1\.5{
    margin-top: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-2{
    margin-top: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-2\.5{
    margin-top: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-3{
    margin-top: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-3\.5{
    margin-top: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-4{
    margin-top: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-5{
    margin-top: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-6{
    margin-top: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-7{
    margin-top: 1.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-\[3px\]{
    margin-top: 3px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-\[7px\]{
    margin-top: 7px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .mt-px{
    margin-top: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .box-border{
    box-sizing: border-box;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .line-clamp-1{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .line-clamp-2{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .line-clamp-4{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .block{
    display: block;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inline-block{
    display: inline-block;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inline{
    display: inline;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex{
    display: flex;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inline-flex{
    display: inline-flex;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .table{
    display: table;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid{
    display: grid;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .inline-grid{
    display: inline-grid;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .contents{
    display: contents;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hidden{
    display: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .aspect-\[4\/3\]{
    aspect-ratio: 4/3;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .aspect-square{
    aspect-ratio: 1 / 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .size-1{
    width: 0.25rem;
    height: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .size-1\.5{
    width: 0.375rem;
    height: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .size-2\.5{
    width: 0.625rem;
    height: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .size-3{
    width: 0.75rem;
    height: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .size-full{
    width: 100%;
    height: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-0{
    height: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-1{
    height: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-1\.5{
    height: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-10{
    height: 2.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-11{
    height: 2.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-12{
    height: 3rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-14{
    height: 3.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-16{
    height: 4rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-2{
    height: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-2\.5{
    height: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-20{
    height: 5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-28{
    height: 7rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-3{
    height: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-3\.5{
    height: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-4{
    height: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-5{
    height: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-6{
    height: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-7{
    height: 1.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-8{
    height: 2rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-9{
    height: 2.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[0\.95em\]{
    height: 0.95em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[11px\]{
    height: 11px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[13px\]{
    height: 13px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[14px\]{
    height: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[15px\]{
    height: 15px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[18px\]{
    height: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[20px\]{
    height: 20px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[22px\]{
    height: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[26px\]{
    height: 26px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[28px\]{
    height: 28px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[2px\]{
    height: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[30\%\]{
    height: 30%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[30px\]{
    height: 30px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[34px\]{
    height: 34px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[36px\]{
    height: 36px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[38px\]{
    height: 38px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[3px\]{
    height: 3px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[40\%\]{
    height: 40%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[40px\]{
    height: 40px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[44px\]{
    height: 44px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[52px\]{
    height: 52px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[5px\]{
    height: 5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[60px\]{
    height: 60px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[7px\]{
    height: 7px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[86px\]{
    height: 86px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-\[calc\(100vh-152px\)\]{
    height: calc(100vh - 152px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-auto{
    height: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-full{
    height: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .h-px{
    height: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-20{
    max-height: 5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-60{
    max-height: 15rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-64{
    max-height: 16rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-72{
    max-height: 18rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[120px\]{
    max-height: 120px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[13\.5rem\]{
    max-height: 13.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[160px\]{
    max-height: 160px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[200px\]{
    max-height: 200px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[240px\]{
    max-height: 240px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[280px\]{
    max-height: 280px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[80vh\]{
    max-height: 80vh;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[85vh\]{
    max-height: 85vh;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[88px\]{
    max-height: 88px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[96px\]{
    max-height: 96px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[min\(260px\2c 32vh\)\]{
    max-height: min(260px, 32vh);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[min\(300px\2c 38vh\)\]{
    max-height: min(300px, 38vh);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{
    max-height: var(--radix-dropdown-menu-content-available-height);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-0{
    min-height: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-4{
    min-height: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-8{
    min-height: 2rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-9{
    min-height: 2.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[120px\]{
    min-height: 120px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[168px\]{
    min-height: 168px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[26px\]{
    min-height: 26px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[40px\]{
    min-height: 40px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[440px\]{
    min-height: 440px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[44px\]{
    min-height: 44px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[560px\]{
    min-height: 560px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[58px\]{
    min-height: 58px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[80px\]{
    min-height: 80px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[84px\]{
    min-height: 84px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[96px\]{
    min-height: 96px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[98px\]{
    min-height: 98px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-\[calc\(100vh-32px\)\]{
    min-height: calc(100vh - 32px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-full{
    min-height: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-h-screen{
    min-height: 100vh;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-0{
    width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-1\.5{
    width: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-1\/3{
    width: 33.333333%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-10{
    width: 2.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-11{
    width: 2.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-12{
    width: 3rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-16{
    width: 4rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-2{
    width: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-2\.5{
    width: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-20{
    width: 5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-24{
    width: 6rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-3{
    width: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-3\.5{
    width: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-3\/4{
    width: 75%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-4{
    width: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-40{
    width: 10rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-5{
    width: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-5\/6{
    width: 83.333333%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-56{
    width: 14rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-6{
    width: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-7{
    width: 1.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-72{
    width: 18rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-8{
    width: 2rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-80{
    width: 20rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-9{
    width: 2.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[1\.5px\]{
    width: 1.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[100px\]{
    width: 100px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[112px\]{
    width: 112px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[11px\]{
    width: 11px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[13px\]{
    width: 13px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[14px\]{
    width: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[150px\]{
    width: 150px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[15px\]{
    width: 15px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[16\%\]{
    width: 16%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[180px\]{
    width: 180px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[18px\]{
    width: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[20px\]{
    width: 20px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[220px\]{
    width: 220px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[22px\]{
    width: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[26px\]{
    width: 26px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[28px\]{
    width: 28px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[292px\]{
    width: 292px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[30px\]{
    width: 30px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[330px\]{
    width: 330px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[340px\]{
    width: 340px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[34px\]{
    width: 34px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[38px\]{
    width: 38px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[400px\]{
    width: 400px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[460px\]{
    width: 460px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[54px\]{
    width: 54px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[560px\]{
    width: 560px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[58px\]{
    width: 58px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[5px\]{
    width: 5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[60px\]{
    width: 60px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[70px\]{
    width: 70px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[7px\]{
    width: 7px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[88\%\]{
    width: 88%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[9\%\]{
    width: 9%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[90px\]{
    width: 90px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-\[min\(100\%\2c 640px\)\]{
    width: min(100%, 640px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-auto{
    width: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-fit{
    width: -moz-fit-content;
    width: fit-content;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-full{
    width: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .w-px{
    width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-0{
    min-width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[120px\]{
    min-width: 120px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[140px\]{
    min-width: 140px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[150px\]{
    min-width: 150px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[180px\]{
    min-width: 180px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[18px\]{
    min-width: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[190px\]{
    min-width: 190px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[220px\]{
    min-width: 220px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[280px\]{
    min-width: 280px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[80px\]{
    min-width: 80px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .min-w-\[8rem\]{
    min-width: 8rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[140px\]{
    max-width: 140px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[16rem\]{
    max-width: 16rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[180px\]{
    max-width: 180px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[200px\]{
    max-width: 200px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[260px\]{
    max-width: 260px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[280px\]{
    max-width: 280px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[340px\]{
    max-width: 340px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[380px\]{
    max-width: 380px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[420px\]{
    max-width: 420px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[440px\]{
    max-width: 440px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[44px\]{
    max-width: 44px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[460px\]{
    max-width: 460px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[480px\]{
    max-width: 480px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[520px\]{
    max-width: 520px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[60\%\]{
    max-width: 60%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[640px\]{
    max-width: 640px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[720px\]{
    max-width: 720px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[75\%\]{
    max-width: 75%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[760px\]{
    max-width: 760px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[85\%\]{
    max-width: 85%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[860px\]{
    max-width: 860px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[92\%\]{
    max-width: 92%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[calc\(100\%-24px\)\]{
    max-width: calc(100% - 24px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[calc\(100\%-32px\)\]{
    max-width: calc(100% - 32px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[calc\(100vw-24px\)\]{
    max-width: calc(100vw - 24px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[calc\(100vw-32px\)\]{
    max-width: calc(100vw - 32px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-\[min\(70vw\2c 26rem\)\]{
    max-width: min(70vw, 26rem);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-full{
    max-width: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .max-w-lg{
    max-width: 32rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-1{
    flex: 1 1 0%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-\[0_1_320px\]{
    flex: 0 1 320px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-none{
    flex: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-shrink-0{
    flex-shrink: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shrink{
    flex-shrink: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shrink-0{
    flex-shrink: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grow{
    flex-grow: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grow-\[15\]{
    flex-grow: 15;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grow-\[18\]{
    flex-grow: 18;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grow-\[34\]{
    flex-grow: 34;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .basis-0{
    flex-basis: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .basis-\[9\%\]{
    flex-basis: 9%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .basis-full{
    flex-basis: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-collapse{
    border-collapse: collapse;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-separate{
    border-collapse: separate;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-spacing-0{
    --tw-border-spacing-x: 0px;
    --tw-border-spacing-y: 0px;
    border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .origin-\[var\(--radix-popover-content-transform-origin\)\]{
    transform-origin: var(--radix-popover-content-transform-origin);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .origin-left{
    transform-origin: left;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .origin-top-right{
    transform-origin: top right;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-translate-x-1{
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-translate-x-1\/2{
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-translate-y-1\/2{
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-translate-y-2{
    --tw-translate-y: -0.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-translate-y-6{
    --tw-translate-y: -1.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .translate-x-0{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .translate-x-10{
    --tw-translate-x: 2.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .translate-x-\[-50\%\]{
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .translate-y-0{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .translate-y-1{
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .translate-y-\[-50\%\]{
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .translate-y-px{
    --tw-translate-y: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-rotate-180{
    --tw-rotate: -180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .-rotate-90{
    --tw-rotate: -90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rotate-0{
    --tw-rotate: 0deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rotate-180{
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rotate-90{
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .scale-50{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transform{
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transform-gpu{
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-\[eraCaretBlink_0\.9s_steps\(2\2c jump-none\)_infinite\]{
    animation: eraCaretBlink 0.9s steps(2,jump-none) infinite;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-\[slideInLeft_0\.2s_ease-out\]{
    animation: slideInLeft 0.2s ease-out;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-\[slideInRight_0\.2s_ease-out\]{
    animation: slideInRight 0.2s ease-out;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-\[zipAiShimmer_1\.4s_linear_infinite\]{
    animation: zipAiShimmer 1.4s linear infinite;
}
@keyframes barSheen{

    0%{
        transform: translateX(-100%);
    }

    100%{
        transform: translateX(100%);
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-bar-sheen{
    animation: barSheen 1.8s ease-in-out infinite;
}
@keyframes ping{

    75%, 100%{
        transform: scale(2);
        opacity: 0;
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-ping{
    animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes previewGlow{

    0%, 100%{
        border-color: rgb(255 255 255 / 0.18);
        box-shadow: 0 0 0 0 rgb(255 255 255 / 0), 0 24px 64px -16px rgb(0 0 0 / 0.55);
    }

    50%{
        border-color: rgb(255 255 255 / 0.5);
        box-shadow: 0 0 32px 2px rgb(255 255 255 / 0.18), 0 24px 64px -16px rgb(0 0 0 / 0.55);
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-preview-glow{
    animation: previewGlow 3s ease-in-out infinite;
}
@keyframes pulse{

    50%{
        opacity: .5;
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-pulse{
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes shake{

    0%, 100%{
        transform: translateX(0);
    }

    20%, 60%{
        transform: translateX(-5px);
    }

    40%, 80%{
        transform: translateX(5px);
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-shake{
    animation: shake 0.4s ease-in-out;
}
@keyframes spin{

    to{
        transform: rotate(360deg);
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-spin{
    animation: spin 1s linear infinite;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .cursor-default{
    cursor: default;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .cursor-grab{
    cursor: grab;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .cursor-help{
    cursor: help;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .cursor-not-allowed{
    cursor: not-allowed;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .cursor-ns-resize{
    cursor: ns-resize;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .cursor-pointer{
    cursor: pointer;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .touch-none{
    touch-action: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .resize-none{
    resize: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .resize-y{
    resize: vertical;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .resize{
    resize: both;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .list-decimal{
    list-style-type: decimal;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .list-disc{
    list-style-type: disc;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .list-none{
    list-style-type: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-\[120px_1fr\]{
    grid-template-columns: 120px 1fr;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-\[124px_1fr\]{
    grid-template-columns: 124px 1fr;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-\[20px_80px_1fr_auto_auto\]{
    grid-template-columns: 20px 80px 1fr auto auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .grid-cols-\[64px_1fr\]{
    grid-template-columns: 64px 1fr;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-row{
    flex-direction: row;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-col{
    flex-direction: column;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-col-reverse{
    flex-direction: column-reverse;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .flex-wrap{
    flex-wrap: wrap;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .place-items-center{
    place-items: center;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .items-start{
    align-items: flex-start;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .items-end{
    align-items: flex-end;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .items-center{
    align-items: center;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .items-baseline{
    align-items: baseline;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .items-stretch{
    align-items: stretch;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .justify-start{
    justify-content: flex-start;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .justify-end{
    justify-content: flex-end;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .justify-center{
    justify-content: center;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .justify-between{
    justify-content: space-between;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-0{
    gap: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-0\.5{
    gap: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-1{
    gap: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-1\.5{
    gap: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-2{
    gap: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-2\.5{
    gap: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-3{
    gap: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-3\.5{
    gap: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-4{
    gap: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-5{
    gap: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-6{
    gap: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-\[1\.5\%\]{
    gap: 1.5%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-\[10px\]{
    gap: 10px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-\[2\%\]{
    gap: 2%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-\[3px\]{
    gap: 3px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-\[5px\]{
    gap: 5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-\[7px\]{
    gap: 7px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-px{
    gap: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-x-1{
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-y-1{
    row-gap: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .gap-y-1\.5{
    row-gap: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.space-y-0\.5 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.space-y-2 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.divide-y > :not([hidden]) ~ :not([hidden])){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.divide-border > :not([hidden]) ~ :not([hidden])){
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .self-start{
    align-self: flex-start;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .self-end{
    align-self: flex-end;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .self-center{
    align-self: center;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .self-stretch{
    align-self: stretch;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .justify-self-center{
    justify-self: center;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-hidden{
    overflow: hidden;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-clip{
    overflow: clip;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-visible{
    overflow: visible;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-x-auto{
    overflow-x: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-y-auto{
    overflow-y: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-x-hidden{
    overflow-x: hidden;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-y-hidden{
    overflow-y: hidden;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overflow-x-visible{
    overflow-x: visible;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .overscroll-contain{
    overscroll-behavior: contain;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .whitespace-nowrap{
    white-space: nowrap;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .whitespace-pre-wrap{
    white-space: pre-wrap;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .break-words{
    overflow-wrap: break-word;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .break-all{
    word-break: break-all;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded{
    border-radius: var(--radius);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-2xl{
    border-radius: 16px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[10px\]{
    border-radius: 10px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[12px\]{
    border-radius: 12px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[14px\]{
    border-radius: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[1px\]{
    border-radius: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[2px\]{
    border-radius: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[3px\]{
    border-radius: 3px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[4px\]{
    border-radius: 4px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[5px\]{
    border-radius: 5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[7px\]{
    border-radius: 7px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[8\.33px\]{
    border-radius: 8.33px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[9px\]{
    border-radius: 9px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-\[inherit\]{
    border-radius: inherit;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-full{
    border-radius: 9999px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-lg{
    border-radius: var(--radius);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-md{
    border-radius: calc(var(--radius) - 2px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-none{
    border-radius: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-sm{
    border-radius: calc(var(--radius) - 4px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-xl{
    border-radius: calc(var(--radius) + 2px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-xs{
    border-radius: 4px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-xxs{
    border-radius: 3px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-b-md{
    border-bottom-right-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-l-lg{
    border-top-left-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-l-md{
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-r-md{
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .rounded-t-xl{
    border-top-left-radius: calc(var(--radius) + 2px);
    border-top-right-radius: calc(var(--radius) + 2px);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border{
    border-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-0{
    border-width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-2{
    border-width: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[1\.5px\]{
    border-width: 1.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[1\.6px\]{
    border-width: 1.6px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-b{
    border-bottom-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-b-2{
    border-bottom-width: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-l{
    border-left-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-l-2{
    border-left-width: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-l-\[3px\]{
    border-left-width: 3px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-r{
    border-right-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t{
    border-top-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-2{
    border-top-width: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-solid{
    border-style: solid;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-dashed{
    border-style: dashed;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-dotted{
    border-style: dotted;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-none{
    border-style: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[\#232128\]{
    --tw-border-opacity: 1;
    border-color: rgb(35 33 40 / var(--tw-border-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[\#2A2830\]{
    --tw-border-opacity: 1;
    border-color: rgb(42 40 48 / var(--tw-border-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[\#3A3741\]{
    --tw-border-opacity: 1;
    border-color: rgb(58 55 65 / var(--tw-border-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[hsl\(var\(--destructive\)\/0\.3\)\]{
    border-color: hsl(var(--destructive)/0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[hsl\(var\(--ok\)\/0\.3\)\]{
    border-color: hsl(var(--ok)/0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[hsl\(var\(--primary\)\/0\.22\)\]{
    border-color: hsl(var(--primary)/0.22);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[hsl\(var\(--ring\)\)\]{
    border-color: hsl(var(--ring));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[hsl\(var\(--warn\)\/0\.3\)\]{
    border-color: hsl(var(--warn)/0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[hsl\(var\(--warn\)\/0\.4\)\]{
    border-color: hsl(var(--warn)/0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[rgba\(139\2c 146\2c 163\2c 0\.15\)\]{
    border-color: rgba(139,146,163,0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[rgba\(22\2c 163\2c 74\2c 0\.15\)\]{
    border-color: rgba(22,163,74,0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-\[rgba\(245\2c 158\2c 11\2c 0\.5\)\]{
    border-color: rgba(245,158,11,0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-accent{
    border-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-accent-ink{
    border-color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-alert-error\/25{
    border-color: hsl(var(--alert-error) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-amber-200{
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-amber-400\/40{
    border-color: rgb(251 191 36 / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-app-body-text{
    border-color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-app-primary{
    border-color: hsl(var(--app-primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-background{
    border-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-background\/20{
    border-color: hsl(var(--background) / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-background\/30{
    border-color: hsl(var(--background) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-black\/5{
    border-color: rgb(0 0 0 / 0.05);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border{
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border-dark{
    border-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border-main{
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border-main\/70{
    border-color: hsl(var(--border) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border\/30{
    border-color: hsl(var(--border) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border\/40{
    border-color: hsl(var(--border) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border\/50{
    border-color: hsl(var(--border) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border\/60{
    border-color: hsl(var(--border) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-border\/70{
    border-color: hsl(var(--border) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-brand{
    border-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-brand\/20{
    border-color: hsl(var(--primary) / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-brand\/25{
    border-color: hsl(var(--primary) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-danger{
    border-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-destructive{
    border-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-destructive\/20{
    border-color: hsl(var(--destructive) / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-destructive\/30{
    border-color: hsl(var(--destructive) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-foreground{
    border-color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-foreground\/30{
    border-color: hsl(var(--foreground) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-line{
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-line-2{
    border-color: hsl(var(--line-2));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-line-3{
    border-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-muted-foreground\/50{
    border-color: hsl(var(--muted-foreground) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-primary{
    border-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-primary-foreground\/30{
    border-color: hsl(var(--primary-foreground) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-primary\/15{
    border-color: hsl(var(--primary) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-primary\/20{
    border-color: hsl(var(--primary) / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-primary\/25{
    border-color: hsl(var(--primary) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-primary\/55{
    border-color: hsl(var(--primary) / 0.55);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-primary\/60{
    border-color: hsl(var(--primary) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-stop{
    border-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-stop\/30{
    border-color: hsl(var(--destructive) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-stop\/60{
    border-color: hsl(var(--destructive) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-transparent{
    border-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-warn{
    border-color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-warn\/40{
    border-color: hsl(var(--warn) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-warning-border{
    border-color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-warning-border\/40{
    border-color: hsl(var(--warn) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-white\/10{
    border-color: rgb(255 255 255 / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-white\/15{
    border-color: rgb(255 255 255 / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-white\/20{
    border-color: rgb(255 255 255 / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-white\/25{
    border-color: rgb(255 255 255 / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-white\/30{
    border-color: rgb(255 255 255 / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-l-transparent{
    border-left-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-l-warning-border{
    border-left-color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-background{
    border-top-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-foreground{
    border-top-color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-muted-foreground{
    border-top-color: hsl(var(--muted-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-ok{
    border-top-color: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-primary{
    border-top-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-primary-foreground{
    border-top-color: hsl(var(--primary-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-transparent{
    border-top-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .border-t-white{
    --tw-border-opacity: 1;
    border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[\#0E0D11\]{
    --tw-bg-opacity: 1;
    background-color: rgb(14 13 17 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[\#1B1A1F\]{
    --tw-bg-opacity: 1;
    background-color: rgb(27 26 31 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[\#22C55E\]{
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[\#252329\]{
    --tw-bg-opacity: 1;
    background-color: rgb(37 35 41 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[\#F5C475\]{
    --tw-bg-opacity: 1;
    background-color: rgb(245 196 117 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[\#eef0f3\]{
    --tw-bg-opacity: 1;
    background-color: rgb(238 240 243 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(152_60\%_94\%\)\]{
    --tw-bg-opacity: 1;
    background-color: hsl(152 60% 94% / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(214_94\%_60\%\)\]{
    --tw-bg-opacity: 1;
    background-color: hsl(214 94% 60% / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(214_94\%_94\%\)\]{
    --tw-bg-opacity: 1;
    background-color: hsl(214 94% 94% / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(222_47\%_11\%\)\]{
    --tw-bg-opacity: 1;
    background-color: hsl(222 47% 11% / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--app-placeholder\)\)\]{
    background-color: hsl(var(--app-placeholder));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--destructive\)\/0\.06\)\]{
    background-color: hsl(var(--destructive)/0.06);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--destructive\)\/0\.08\)\]{
    background-color: hsl(var(--destructive)/0.08);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--destructive\)\/0\.1\)\]{
    background-color: hsl(var(--destructive)/0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--destructive\)\/0\.15\)\]{
    background-color: hsl(var(--destructive)/0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--foreground\)\/0\.4\)\]{
    background-color: hsl(var(--foreground)/0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--foreground\)\/0\.45\)\]{
    background-color: hsl(var(--foreground)/0.45);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[hsl\(var\(--ring\)\)\]{
    background-color: hsl(var(--ring));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[rgba\(139\2c 146\2c 163\2c 0\.06\)\]{
    background-color: rgba(139,146,163,0.06);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[rgba\(168\2c 224\2c 125\2c 0\.1\)\]{
    background-color: rgba(168,224,125,0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[rgba\(22\2c 163\2c 74\2c 0\.06\)\]{
    background-color: rgba(22,163,74,0.06);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[rgba\(22\2c 163\2c 74\2c 0\.12\)\]{
    background-color: rgba(22,163,74,0.12);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[rgba\(245\2c 196\2c 117\2c 0\.1\)\]{
    background-color: rgba(245,196,117,0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-accent{
    background-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-accent-50{
    background-color: hsl(var(--accent-50));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-accent-foreground{
    background-color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-accent-soft{
    background-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-alert-error-bg{
    background-color: hsl(var(--alert-error-bg));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-amber-400\/15{
    background-color: rgb(251 191 36 / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-amber-50{
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-amber-900\/10{
    background-color: rgb(120 53 15 / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-app-body-text{
    background-color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-app-body-text-2{
    background-color: hsl(var(--app-heading));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-app-placeholder{
    background-color: hsl(var(--app-inactive-icon));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-app-primary{
    background-color: hsl(var(--app-primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-app-text{
    background-color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-background{
    background-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-background\/20{
    background-color: hsl(var(--background) / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-background\/25{
    background-color: hsl(var(--background) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-background\/85{
    background-color: hsl(var(--background) / 0.85);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-background\/90{
    background-color: hsl(var(--background) / 0.9);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-background\/95{
    background-color: hsl(var(--background) / 0.95);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-black{
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-black\/10{
    background-color: rgb(0 0 0 / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-black\/15{
    background-color: rgb(0 0 0 / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-black\/20{
    background-color: rgb(0 0 0 / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-black\/55{
    background-color: rgb(0 0 0 / 0.55);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-black\/60{
    background-color: rgb(0 0 0 / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-border{
    background-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-border-dark{
    background-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-border-main{
    background-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-brand{
    background-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-brand\/10{
    background-color: hsl(var(--primary) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-brand\/\[0\.06\]{
    background-color: hsl(var(--primary) / 0.06);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-card{
    background-color: hsl(var(--card));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-card\/40{
    background-color: hsl(var(--card) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-card\/60{
    background-color: hsl(var(--card) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-card\/95{
    background-color: hsl(var(--card) / 0.95);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-destructive{
    background-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-destructive\/10{
    background-color: hsl(var(--destructive) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-emerald-300{
    --tw-bg-opacity: 1;
    background-color: rgb(110 231 183 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-emerald-400\/15{
    background-color: rgb(52 211 153 / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-foreground{
    background-color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-foreground\/40{
    background-color: hsl(var(--foreground) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-foreground\/\[0\.035\]{
    background-color: hsl(var(--foreground) / 0.035);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line{
    background-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line-2{
    background-color: hsl(var(--line-2));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line-2\/50{
    background-color: hsl(var(--line-2) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line-3{
    background-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line-3\/20{
    background-color: hsl(var(--line-3) / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line-3\/25{
    background-color: hsl(var(--line-3) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line-3\/40{
    background-color: hsl(var(--line-3) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-line-3\/45{
    background-color: hsl(var(--line-3) / 0.45);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-muted{
    background-color: hsl(var(--muted));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-muted\/30{
    background-color: hsl(var(--muted) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-muted\/40{
    background-color: hsl(var(--muted) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-muted\/60{
    background-color: hsl(var(--muted) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-muted\/70{
    background-color: hsl(var(--muted) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-neutral-900\/95{
    background-color: rgb(23 23 23 / 0.95);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-ok{
    background-color: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-ok-soft{
    background-color: hsl(var(--ok-soft));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-popover{
    background-color: hsl(var(--popover));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-primary{
    background-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-primary-foreground{
    background-color: hsl(var(--primary-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-primary\/10{
    background-color: hsl(var(--primary) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-primary\/5{
    background-color: hsl(var(--primary) / 0.05);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-primary\/\[0\.08\]{
    background-color: hsl(var(--primary) / 0.08);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-red-600{
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-sky-300{
    --tw-bg-opacity: 1;
    background-color: rgb(125 211 252 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-stop{
    background-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-stop\/10{
    background-color: hsl(var(--destructive) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-stop\/5{
    background-color: hsl(var(--destructive) / 0.05);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-success{
    background-color: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-success\/10{
    background-color: hsl(var(--ok) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-sunken{
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-sunken\/30{
    background-color: hsl(var(--bg-sunken) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-sunken\/40{
    background-color: hsl(var(--bg-sunken) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-sunken\/60{
    background-color: hsl(var(--bg-sunken) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-sunken\/70{
    background-color: hsl(var(--bg-sunken) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-transparent{
    background-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-warn{
    background-color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-warn-soft{
    background-color: hsl(var(--warn-soft));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-warn\/10{
    background-color: hsl(var(--warn) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-warning-bg{
    background-color: hsl(var(--warn-soft));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-warning-bg\/50{
    background-color: hsl(var(--warn-soft) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-warning-border{
    background-color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-white\/15{
    background-color: rgb(255 255 255 / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-white\/35{
    background-color: rgb(255 255 255 / 0.35);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-white\/5{
    background-color: rgb(255 255 255 / 0.05);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-white\/\[0\.14\]{
    background-color: rgb(255 255 255 / 0.14);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-\[linear-gradient\(110deg\2c transparent_30\%\2c hsl\(0_0\%_100\%_\/_0\.55\)_50\%\2c transparent_70\%\)\]{
    background-image: linear-gradient(110deg,transparent 30%,hsl(0 0% 100% / 0.55) 50%,transparent 70%);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-gradient-to-b{
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-gradient-to-r{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-gradient-to-t{
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .bg-none{
    background-image: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .from-black\/25{
    --tw-gradient-from: rgb(0 0 0 / 0.25) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .from-card{
    --tw-gradient-from: hsl(var(--card)) var(--tw-gradient-from-position);
    --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .from-primary\/85{
    --tw-gradient-from: hsl(var(--primary) / 0.85) var(--tw-gradient-from-position);
    --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .from-transparent{
    --tw-gradient-from: transparent var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .via-border{
    --tw-gradient-to: hsl(var(--border) / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--border)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .via-white\/30{
    --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .to-primary{
    --tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .to-transparent{
    --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .fill-current{
    fill: currentColor;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .fill-ok{
    fill: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .stroke-white{
    stroke: #fff;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .object-contain{
    -o-object-fit: contain;
       object-fit: contain;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .object-cover{
    -o-object-fit: cover;
       object-fit: cover;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-0{
    padding: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-0\.5{
    padding: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-1{
    padding: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-1\.5{
    padding: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-2{
    padding: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-2\.5{
    padding: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-3{
    padding: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-3\.5{
    padding: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-4{
    padding: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-5{
    padding: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-6{
    padding: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-7{
    padding: 1.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-\[1px\]{
    padding: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .p-\[22px\]{
    padding: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-0{
    padding-left: 0px;
    padding-right: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-0\.5{
    padding-left: 0.125rem;
    padding-right: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-2\.5{
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-3\.5{
    padding-left: 0.875rem;
    padding-right: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-4{
    padding-left: 1rem;
    padding-right: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-8{
    padding-left: 2rem;
    padding-right: 2rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-\[18px\]{
    padding-left: 18px;
    padding-right: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-\[22px\]{
    padding-left: 22px;
    padding-right: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-\[4\%\]{
    padding-left: 4%;
    padding-right: 4%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-\[5px\]{
    padding-left: 5px;
    padding-right: 5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .px-\[8\%\]{
    padding-left: 8%;
    padding-right: 8%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-0{
    padding-top: 0px;
    padding-bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-0\.5{
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-3\.5{
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[0\.5px\]{
    padding-top: 0.5px;
    padding-bottom: 0.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[11px\]{
    padding-top: 11px;
    padding-bottom: 11px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[14px\]{
    padding-top: 14px;
    padding-bottom: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[18px\]{
    padding-top: 18px;
    padding-bottom: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[2px\]{
    padding-top: 2px;
    padding-bottom: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[3\%\]{
    padding-top: 3%;
    padding-bottom: 3%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[3px\]{
    padding-top: 3px;
    padding-bottom: 3px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[5px\]{
    padding-top: 5px;
    padding-bottom: 5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[7px\]{
    padding-top: 7px;
    padding-bottom: 7px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-\[9px\]{
    padding-top: 9px;
    padding-bottom: 9px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .py-px{
    padding-top: 1px;
    padding-bottom: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-0{
    padding-bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-1{
    padding-bottom: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-1\.5{
    padding-bottom: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-10{
    padding-bottom: 2.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-2{
    padding-bottom: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-2\.5{
    padding-bottom: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-3{
    padding-bottom: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-3\.5{
    padding-bottom: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-4{
    padding-bottom: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-5{
    padding-bottom: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pb-6{
    padding-bottom: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-0{
    padding-left: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-1{
    padding-left: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-1\.5{
    padding-left: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-2{
    padding-left: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-2\.5{
    padding-left: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-3{
    padding-left: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-4{
    padding-left: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-5{
    padding-left: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-7{
    padding-left: 1.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-8{
    padding-left: 2rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pl-\[26px\]{
    padding-left: 26px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-1{
    padding-right: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-1\.5{
    padding-right: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-11{
    padding-right: 2.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-2{
    padding-right: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-2\.5{
    padding-right: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-20{
    padding-right: 5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-5{
    padding-right: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pr-6{
    padding-right: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-0{
    padding-top: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-0\.5{
    padding-top: 0.125rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-1{
    padding-top: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-1\.5{
    padding-top: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-2{
    padding-top: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-2\.5{
    padding-top: 0.625rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-3{
    padding-top: 0.75rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-3\.5{
    padding-top: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-4{
    padding-top: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-5{
    padding-top: 1.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-6{
    padding-top: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .pt-px{
    padding-top: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-left{
    text-align: left;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-center{
    text-align: center;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-right{
    text-align: right;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .align-top{
    vertical-align: top;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .align-middle{
    vertical-align: middle;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-\[inherit\]{
    font-family: inherit;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-mono{
    font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-sans{
    font-family: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-2xs{
    font-size: 10px;
    line-height: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-3xl{
    font-size: 30px;
    line-height: 36px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[0\.9em\]{
    font-size: 0.9em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[10\.5px\]{
    font-size: 10.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[10px\]{
    font-size: 10px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[11\.5px\]{
    font-size: 11.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[11px\]{
    font-size: 11px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[12\.5px\]{
    font-size: 12.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[12px\]{
    font-size: 12px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[13\.5px\]{
    font-size: 13.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[13px\]{
    font-size: 13px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[14\.5px\]{
    font-size: 14.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[14px\]{
    font-size: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[15\.5px\]{
    font-size: 15.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[15px\]{
    font-size: 15px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[16px\]{
    font-size: 16px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[17px\]{
    font-size: 17px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[18px\]{
    font-size: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[20px\]{
    font-size: 20px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[22px\]{
    font-size: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[28px\]{
    font-size: 28px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[8\.5px\]{
    font-size: 8.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[9\.5px\]{
    font-size: 9.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[9px\]{
    font-size: 9px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-base{
    font-size: 16px;
    line-height: 24px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-lg{
    font-size: 18px;
    line-height: 28px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-md{
    font-size: 15px;
    line-height: 22px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-sm{
    font-size: 14px;
    line-height: 20px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-xs{
    font-size: 12px;
    line-height: 16px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-\[450\]{
    font-weight: 450;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-bold{
    font-weight: 700;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-medium{
    font-weight: 500;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-normal{
    font-weight: 400;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .font-semibold{
    font-weight: 600;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .uppercase{
    text-transform: uppercase;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .capitalize{
    text-transform: capitalize;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .normal-case{
    text-transform: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .italic{
    font-style: italic;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tabular-nums{
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-4{
    line-height: 1rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-6{
    line-height: 1.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.25\]{
    line-height: 1.25;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.2\]{
    line-height: 1.2;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.35\]{
    line-height: 1.35;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.3\]{
    line-height: 1.3;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.45\]{
    line-height: 1.45;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.4\]{
    line-height: 1.4;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.55\]{
    line-height: 1.55;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.5\]{
    line-height: 1.5;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.65\]{
    line-height: 1.65;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.6\]{
    line-height: 1.6;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.75\]{
    line-height: 1.75;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.78\]{
    line-height: 1.78;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[1\.7\]{
    line-height: 1.7;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[14px\]{
    line-height: 14px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-\[18px\]{
    line-height: 18px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-none{
    line-height: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-normal{
    line-height: 1.5;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-relaxed{
    line-height: 1.625;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-snug{
    line-height: 1.375;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .leading-tight{
    line-height: 1.25;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[-0\.003em\]{
    letter-spacing: -0.003em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[-0\.005em\]{
    letter-spacing: -0.005em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[-0\.015em\]{
    letter-spacing: -0.015em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[-0\.01em\]{
    letter-spacing: -0.01em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[-0\.02em\]{
    letter-spacing: -0.02em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.02em\]{
    letter-spacing: 0.02em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.04em\]{
    letter-spacing: 0.04em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.06em\]{
    letter-spacing: 0.06em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.08em\]{
    letter-spacing: 0.08em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.09em\]{
    letter-spacing: 0.09em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.12em\]{
    letter-spacing: 0.12em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.14em\]{
    letter-spacing: 0.14em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.16em\]{
    letter-spacing: 0.16em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.1em\]{
    letter-spacing: 0.1em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-\[0\.5px\]{
    letter-spacing: 0.5px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-normal{
    letter-spacing: 0em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-tight{
    letter-spacing: -0.025em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-wide{
    letter-spacing: 0.025em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .tracking-wider{
    letter-spacing: 0.05em;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[\#7A7880\]{
    --tw-text-opacity: 1;
    color: rgb(122 120 128 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[\#9A98A3\]{
    --tw-text-opacity: 1;
    color: rgb(154 152 163 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[\#A8E07D\]{
    --tw-text-opacity: 1;
    color: rgb(168 224 125 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[\#E5E3EA\]{
    --tw-text-opacity: 1;
    color: rgb(229 227 234 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[\#F5C475\]{
    --tw-text-opacity: 1;
    color: rgb(245 196 117 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[hsl\(160_84\%_27\%\)\]{
    --tw-text-opacity: 1;
    color: hsl(160 84% 27% / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[hsl\(210_20\%_98\%\)\]{
    --tw-text-opacity: 1;
    color: hsl(210 20% 98% / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[hsl\(217_91\%_42\%\)\]{
    --tw-text-opacity: 1;
    color: hsl(217 91% 42% / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-\[hsl\(var\(--foreground\)_\/_0\.86\)\]{
    color: hsl(var(--foreground) / 0.86);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-accent-foreground{
    color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-accent-foreground\/70{
    color: hsl(var(--accent-foreground) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-accent-ink{
    color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-alert-error{
    color: hsl(var(--alert-error));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-alert-error-text{
    color: hsl(var(--alert-error-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-alert-error-text\/80{
    color: hsl(var(--alert-error-text) / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-amber-200{
    --tw-text-opacity: 1;
    color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-amber-900{
    --tw-text-opacity: 1;
    color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-body-text{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-body-text-2{
    color: hsl(var(--app-heading));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-body-text-2\/70{
    color: hsl(var(--app-heading) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-body-text\/70{
    color: hsl(var(--app-text) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-body-text\/80{
    color: hsl(var(--app-text) / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-heading{
    color: hsl(var(--app-heading));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-placeholder{
    color: hsl(var(--app-inactive-icon));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-text{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-app-text\/60{
    color: hsl(var(--app-text) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-background{
    color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-background\/60{
    color: hsl(var(--background) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-background\/80{
    color: hsl(var(--background) / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-black{
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-black\/40{
    color: rgb(0 0 0 / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-brand{
    color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-brand-dark{
    color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-danger{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-destructive{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-emerald-200{
    --tw-text-opacity: 1;
    color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-error-text{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-foreground{
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-foreground\/55{
    color: hsl(var(--foreground) / 0.55);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-foreground\/70{
    color: hsl(var(--foreground) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-foreground\/80{
    color: hsl(var(--foreground) / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-foreground\/85{
    color: hsl(var(--foreground) / 0.85);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-foreground\/90{
    color: hsl(var(--foreground) / 0.9);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-foreground\/95{
    color: hsl(var(--foreground) / 0.95);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-inherit{
    color: inherit;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-line-3{
    color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-muted-foreground{
    color: hsl(var(--muted-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-muted-foreground\/40{
    color: hsl(var(--muted-foreground) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-muted-foreground\/50{
    color: hsl(var(--muted-foreground) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-muted-foreground\/60{
    color: hsl(var(--muted-foreground) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-muted-foreground\/70{
    color: hsl(var(--muted-foreground) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-muted-foreground\/75{
    color: hsl(var(--muted-foreground) / 0.75);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-muted-foreground\/80{
    color: hsl(var(--muted-foreground) / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-neutral-900{
    --tw-text-opacity: 1;
    color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-ok{
    color: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-popover-foreground{
    color: hsl(var(--popover-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-primary{
    color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-primary-foreground{
    color: hsl(var(--primary-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-primary-foreground\/40{
    color: hsl(var(--primary-foreground) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-primary-foreground\/60{
    color: hsl(var(--primary-foreground) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-primary-foreground\/70{
    color: hsl(var(--primary-foreground) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-primary\/70{
    color: hsl(var(--primary) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-stop{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-success{
    color: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-warn{
    color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-warn-soft{
    color: hsl(var(--warn-soft));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-warning-border{
    color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-warning-text{
    color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-warning-text\/80{
    color: hsl(var(--warn) / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/40{
    color: rgb(255 255 255 / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/50{
    color: rgb(255 255 255 / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/55{
    color: rgb(255 255 255 / 0.55);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/60{
    color: rgb(255 255 255 / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/70{
    color: rgb(255 255 255 / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/75{
    color: rgb(255 255 255 / 0.75);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/80{
    color: rgb(255 255 255 / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .text-white\/90{
    color: rgb(255 255 255 / 0.9);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .underline{
    text-decoration-line: underline;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .line-through{
    text-decoration-line: line-through;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .no-underline{
    text-decoration-line: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .decoration-line-3{
    text-decoration-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .decoration-primary\/40{
    text-decoration-color: hsl(var(--primary) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .decoration-1{
    text-decoration-thickness: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .underline-offset-2{
    text-underline-offset: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .underline-offset-4{
    text-underline-offset: 4px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .accent-primary{
    accent-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-0{
    opacity: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-100{
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-40{
    opacity: 0.4;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-50{
    opacity: 0.5;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-55{
    opacity: 0.55;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-60{
    opacity: 0.6;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-70{
    opacity: 0.7;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-75{
    opacity: 0.75;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-80{
    opacity: 0.8;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .opacity-90{
    opacity: 0.9;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow{
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[0_0_0_3px_hsl\(var\(--warn\)\/0\.18\)\]{
    --tw-shadow: 0 0 0 3px hsl(var(--warn)/0.18);
    --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[0_18px_50px_-12px_rgba\(15\2c 18\2c 35\2c 0\.35\)\]{
    --tw-shadow: 0 18px 50px -12px rgba(15,18,35,0.35);
    --tw-shadow-colored: 0 18px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.18\)\]{
    --tw-shadow: 0 1px 2px rgba(0,0,0,0.18);
    --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[0_1px_3px_rgba\(17\2c 24\2c 39\2c 0\.12\)\]{
    --tw-shadow: 0 1px 3px rgba(17,24,39,0.12);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.10\)\]{
    --tw-shadow: 0 2px 8px rgba(0,0,0,0.10);
    --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[inset_0_0_0_1px_hsl\(var\(--border\)\)\]{
    --tw-shadow: inset 0 0 0 1px hsl(var(--border));
    --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[inset_0_0_0_1px_rgba\(0\2c 0\2c 0\2c 0\.08\)\2c 0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{
    --tw-shadow: inset 0 0 0 1px rgba(0,0,0,0.08),0 1px 3px rgba(0,0,0,0.08);
    --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color), 0 1px 3px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[inset_0_0_0_1px_rgba\(17\2c 24\2c 39\2c 0\.08\)\]{
    --tw-shadow: inset 0 0 0 1px rgba(17,24,39,0.08);
    --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.12\)\]{
    --tw-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
    --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-\[inset_2px_0_0_hsl\(var\(--ring\)\)\]{
    --tw-shadow: inset 2px 0 0 hsl(var(--ring));
    --tw-shadow-colored: inset 2px 0 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-card{
    --tw-shadow: 0 1px 2px hsl(0 0% 0% / 0.04);
    --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-inner{
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-lg{
    --tw-shadow: 0 4px 16px -4px hsl(var(--foreground) / 0.10), 0 2px 6px -2px hsl(var(--foreground) / 0.04);
    --tw-shadow-colored: 0 4px 16px -4px var(--tw-shadow-color), 0 2px 6px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-md{
    --tw-shadow: 0 2px 8px -2px hsl(var(--foreground) / 0.08), 0 1px 3px hsl(var(--foreground) / 0.04);
    --tw-shadow-colored: 0 2px 8px -2px var(--tw-shadow-color), 0 1px 3px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-none{
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-popover{
    --tw-shadow: 0 16px 36px -12px rgb(0 0 0 / 0.18), 0 2px 6px -2px rgb(0 0 0 / 0.06);
    --tw-shadow-colored: 0 16px 36px -12px var(--tw-shadow-color), 0 2px 6px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-sm{
    --tw-shadow: 0 1px 3px hsl(var(--foreground) / 0.04), 0 1px 2px hsl(var(--foreground) / 0.02);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-xl{
    --tw-shadow: 0 8px 30px -6px hsl(var(--foreground) / 0.12), 0 4px 10px -4px hsl(var(--foreground) / 0.04);
    --tw-shadow-colored: 0 8px 30px -6px var(--tw-shadow-color), 0 4px 10px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-xs{
    --tw-shadow: 0 1px 2px hsl(var(--foreground) / 0.03);
    --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-card{
    --tw-shadow-color: hsl(var(--card));
    --tw-shadow: var(--tw-shadow-colored);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .shadow-popover{
    --tw-shadow-color: hsl(var(--popover));
    --tw-shadow: var(--tw-shadow-colored);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .outline{
    outline-style: solid;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-2{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-inset{
    --tw-ring-inset: inset;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-amber-300\/40{
    --tw-ring-color: rgb(252 211 77 / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-background{
    --tw-ring-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-black\/10{
    --tw-ring-color: rgb(0 0 0 / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-black\/5{
    --tw-ring-color: rgb(0 0 0 / 0.05);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-border{
    --tw-ring-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-border-main{
    --tw-ring-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-brand\/15{
    --tw-ring-color: hsl(var(--primary) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-brand\/40{
    --tw-ring-color: hsl(var(--primary) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-card{
    --tw-ring-color: hsl(var(--card));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-danger\/25{
    --tw-ring-color: hsl(var(--destructive) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-emerald-300\/40{
    --tw-ring-color: rgb(110 231 183 / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-foreground\/10{
    --tw-ring-color: hsl(var(--foreground) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-foreground\/25{
    --tw-ring-color: hsl(var(--foreground) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-primary{
    --tw-ring-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-primary\/25{
    --tw-ring-color: hsl(var(--primary) / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-primary\/30{
    --tw-ring-color: hsl(var(--primary) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-white{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-white\/15{
    --tw-ring-color: rgb(255 255 255 / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-white\/20{
    --tw-ring-color: rgb(255 255 255 / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-white\/60{
    --tw-ring-color: rgb(255 255 255 / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-offset-1{
    --tw-ring-offset-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ring-offset-background{
    --tw-ring-offset-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .blur{
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .invert{
    --tw-invert: invert(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .saturate-50{
    --tw-saturate: saturate(.5);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .filter{
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .backdrop-blur{
    --tw-backdrop-blur: blur(8px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .backdrop-blur-\[2px\]{
    --tw-backdrop-blur: blur(2px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .backdrop-blur-sm{
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[background\2c border\2c box-shadow\]{
    transition-property: background,border,box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[background\2c border\]{
    transition-property: background,border;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[border-color\2c box-shadow\]{
    transition-property: border-color,box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[border-color\]{
    transition-property: border-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[clip-path\]{
    transition-property: clip-path;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[color\2c background\2c border-color\]{
    transition-property: color,background,border-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[color\2c background\]{
    transition-property: color,background;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[left\]{
    transition-property: left;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[opacity\2c filter\]{
    transition-property: opacity,filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[opacity\2c transform\]{
    transition-property: opacity,transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-\[width\]{
    transition-property: width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-colors{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-none{
    transition-property: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-100{
    transition-duration: 100ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-150{
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-200{
    transition-duration: 200ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-300{
    transition-duration: 300ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-500{
    transition-duration: 500ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-700{
    transition-duration: 700ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ease-in-out{
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .will-change-\[opacity\2c transform\]{
    will-change: opacity,transform;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .will-change-transform{
    will-change: transform;
}
@keyframes enter{

    from{
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    }
}
@keyframes exit{

    to{
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .animate-in{
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .fade-in{
    --tw-enter-opacity: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .fade-in-0{
    --tw-enter-opacity: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .zoom-in-95{
    --tw-enter-scale: .95;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-100{
    animation-duration: 100ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-150{
    animation-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-200{
    animation-duration: 200ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-300{
    animation-duration: 300ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-500{
    animation-duration: 500ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .duration-700{
    animation-duration: 700ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ease-in-out{
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .ease-out{
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .running{
    animation-play-state: running;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .paused{
    animation-play-state: paused;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .\[border\:none\]{
    border: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .\[box-shadow\:none\]{
    box-shadow: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .\[outline\:none\]{
    outline: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .\[scrollbar-gutter\:stable\]{
    scrollbar-gutter: stable;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .\[scrollbar-width\:none\]{
    scrollbar-width: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .\[scrollbar-width\:thin\]{
    scrollbar-width: thin;
}

/* ── Spectra-style purple theme (shadcn HSL tokens) + legacy aliases ── */

#chat-assistant-root [data-message-list] {
  scrollbar-width: thin;
  scrollbar-color: hsl(var(--muted-foreground) / 0.35) transparent;
  overflow-anchor: auto;
}

/* Native browser scroll anchoring — pin only the chosen anchor element. */
#chat-assistant-root [data-message-list] [data-msg-role] {
  overflow-anchor: none;
}
#chat-assistant-root [data-message-list] [data-msg-role][data-anchor="true"],
#chat-assistant-root [data-message-list] [data-approval-card][data-anchor="true"] {
  overflow-anchor: auto;
  scroll-margin-top: 16px;
}

/* ── Keyframe animations (minimal) ── */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes dotPulse {
  0%, 80%, 100% {
    opacity: 0.25;
    transform: scale(0.7);
  }
  40% {
    opacity: 1;
    transform: scale(1.1);
  }
}

/* Keyframes consumed by `shared/ShimmerLoader.jsx` via Tailwind's
   `animate-[name_…]` arbitrary value. The component owns all layout/color
   via utility classes — only the keyframes live here. */
@keyframes zipAiShimmer {
  0%   { transform: translateX(-120%); }
  100% { transform: translateX(120%);  }
}
@keyframes eraCaretBlink {
  to { opacity: 0; }
}

/* ── Spinner classes ── */
.spinner {
  width: 24px;
  height: 24px;
  border: 3px solid hsl(var(--line-2));
  border-top-color: hsl(var(--foreground));
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.spinner-small {
  width: 16px;
  height: 16px;
  border: 2px solid hsl(var(--line-2));
  border-top-color: hsl(var(--foreground));
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.spinner-tiny {
  width: 12px;
  height: 12px;
  border: 2px solid hsl(var(--line-2));
  border-top-color: hsl(var(--foreground));
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

/* ── Scoped base styles (inside #chat-assistant-root only) ── */
.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;
}

/* ── Root container reset ──
   Applies preflight + WP-admin isolation to BOTH SPA roots so that the
   chat iframe and the Snippets admin page get the same baseline. */
:is(#chat-assistant-root, #zip-ai-snippets-root) {
  /* Isolate from WP admin styles without using `all: initial`
     which breaks Tailwind utility specificity on child elements */
  background-color: hsl(var(--background));
  font-family:
    Figtree,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: hsl(var(--foreground));
  box-sizing: border-box;
  /* Reset common inherited WP admin styles */
  text-align: left;
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0;
  text-decoration: none;
  direction: ltr;

  /* Scoped preflight — replaces @import "tailwindcss/preflight" which leaks globally.
     Uses :where() for zero specificity so Tailwind utility classes always win. */
  & :where(*),
  & :where(::before, ::after) {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }

  & :where(h1, h2, h3, h4, h5, h6) {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
  }

  & :where(a) {
    color: inherit;
    text-decoration: inherit;
  }

  & :where(img, svg, video, canvas) {
    display: block;
    max-width: 100%;
    height: auto;
  }

  & :where(button) {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    cursor: pointer;
    background: transparent;
    border: none;
  }

  & :where(input, textarea, select) {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    background: transparent;
  }

  & :where(ul, ol) {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  & :where(table) {
    border-collapse: collapse;
  }
}

/* Chat iframe takes full viewport. Snippets admin page lives inside
   `.wrap` — it must NOT be position:absolute. */
#chat-assistant-root {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* ── WP-admin form isolation for #zip-ai-snippets-root ──
   WP core ships heavy styles for native form controls (min-height:30px,
   1px borders, default box-shadow, padding, hardcoded backgrounds). Those
   selectors use `input[type="text"]` (specificity 0,1,1) which beats the
   zero-specificity `:where()` preflight above. We can't rely on Tailwind
   utility !important alone because some of those props (min-height, native
   appearance, box-shadow defaults) aren't always set by our utility class
   strings. Reset them here with admin-scoped selectors that match WP's
   specificity. */
#zip-ai-snippets-root :where(input[type="text"], input[type="number"], input[type="search"], input[type="email"], input[type="url"], input[type="password"], textarea, select) {
  min-height: 0;
  box-shadow: none;
  border-radius: 0;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
#zip-ai-snippets-root :where(input[type="checkbox"], input[type="radio"]) {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  min-height: 0;
  min-width: 0;
}
#zip-ai-snippets-root :where(button) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: none;
  text-shadow: none;
  box-shadow: none;
  border-radius: 0;
}
#zip-ai-snippets-root :where(table) {
  border-spacing: 0;
}
#zip-ai-snippets-root :where(a) {
  box-shadow: none;
}
#zip-ai-snippets-root :where(a):focus,
#zip-ai-snippets-root :where(button):focus,
#zip-ai-snippets-root :where(input):focus,
#zip-ai-snippets-root :where(textarea):focus,
#zip-ai-snippets-root :where(select):focus {
  box-shadow: none;
  outline: none;
}

/* ── Frontend theme isolation ──
   On the frontend, theme stylesheets often target plain element selectors
   (e.g. `body p { font-family: ... }`, `body { font-size: 18px }`) which beat
   the zero-specificity `:where()` preflight and the inherited root rules.
   Force every descendant of `#chat-assistant-root` to inherit typography from
   the root so theme rules can't leak in. Tailwind utilities (`.font-mono`,
   `.text-sm`, etc.) keep higher specificity (class beats `*`), so they still
   override these baselines where needed. */
:is(#chat-assistant-root, #zip-ai-snippets-root) * {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* ── Tooltip system (data-attribute based, needs global CSS) ── */
[data-tooltip] {
  position: relative;

  &::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) scale(0.9);
    padding: 5px 10px;
    background: hsl(var(--foreground));
    color: hsl(var(--background));
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    /* Short labels stay one line (max-content); long ones wrap instead of
       overflowing the panel. */
    width: -moz-max-content;
    width: max-content;
    max-width: 220px;
    white-space: normal;
    text-align: center;
    border-radius: var(--radius-md);
    pointer-events: none;
    opacity: 0;
    transition:
      opacity 0.15s ease,
      transform 0.15s ease;
    z-index: 100001;
  }

  &::before {
    content: "";
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%) scale(0.9);
    border: 5px solid transparent;
    border-top-color: hsl(var(--foreground));
    pointer-events: none;
    opacity: 0;
    transition:
      opacity 0.15s ease,
      transform 0.15s ease;
    z-index: 100001;
  }

  &:hover::after,
  &:hover::before {
    opacity: 1;
    transform: translateX(-50%) scale(1);
  }
}

/* Left-anchored tooltip — for controls near the panel's left edge (e.g. the
   Editor Mode pill) where a centered tooltip would overflow + clip. Grows
   rightward from the element's left edge instead of centering. */
[data-tooltip-align="start"] {
  &::after {
    left: 0;
    transform: translateX(0) scale(0.9);
  }
  &::before {
    left: 14px;
  }
  &:hover::after {
    transform: translateX(0) scale(1);
  }
}

[data-tooltip-pos="below"] {
  &::after {
    bottom: auto;
    top: calc(100% + 8px);
  }
  &::before {
    bottom: auto;
    top: calc(100% + -2px);
    border-top-color: transparent;
    border-bottom-color: var(--color-heading);
  }
}

[data-tooltip-pos="left"] {
  &::after {
    bottom: auto;
    top: 50%;
    left: auto;
    right: calc(100% + 10px);
    transform: translateY(-50%) scale(0.9);
  }
  &::before {
    bottom: auto;
    top: 50%;
    left: auto;
    right: calc(100% + 0px);
    transform: translateY(-50%) scale(0.9);
    border-top-color: transparent;
    border-left-color: var(--color-heading);
  }
  &:hover::after,
  &:hover::before {
    transform: translateY(-50%) scale(1);
  }
}

[data-tooltip-pos="right"] {
  &::after {
    bottom: auto;
    top: 50%;
    left: calc(100% + 10px);
    right: auto;
    transform: translateY(-50%) scale(0.9);
  }
  &::before {
    bottom: auto;
    top: 50%;
    left: calc(100% + 0px);
    right: auto;
    transform: translateY(-50%) scale(0.9);
    border-top-color: transparent;
    border-right-color: var(--color-heading);
  }
  &:hover::after,
  &:hover::before {
    transform: translateY(-50%) scale(1);
  }
}

/* ── Message markdown styles now handled by SmartMarkdown.jsx (Tailwind) ── */

/* ── Message fade-in ── */
@keyframes msg-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-msg-in {
  animation: msg-in 0.25s ease-out both;
}

/* ── Tool calls summary — SSE-driven choreography ── */
@keyframes tool-row-in {
  from {
    opacity: 0;
    transform: translateX(-6px);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }
}

.animate-tool-row-in {
  animation: tool-row-in 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Respect reduced-motion: skip message + row entrance animations */
@media (prefers-reduced-motion: reduce) {
  .animate-msg-in,
  .animate-tool-row-in {
    animation: none;
  }
}

/* ── Import success — one orchestrated entrance (no scattered micro-anims) ── */
@keyframes success-pop {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}
.animate-success-pop {
  animation: success-pop 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes success-check {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 1; transform: scale(1); }
}
.animate-success-check {
  /* slight delay so the check lands just after the card settles; smooth
     ease-out (no overshoot/bounce). */
  animation: success-check 0.4s 0.1s cubic-bezier(0.22, 1, 0.36, 1) both;
  transform-origin: center;
}
@media (prefers-reduced-motion: reduce) {
  .animate-success-pop,
  .animate-success-check {
    animation: none;
  }
}

/* ── Website build celebration — confetti falling over the chat panel ── */
@keyframes confetti-fall {
  0%        { opacity: 0; }
  8%, 85%   { opacity: 1; }
  100% { opacity: 0; transform: translate3d(var(--zip-ai-confetti-drift), 110vh, 0) rotate(var(--zip-ai-confetti-spin)); }
}
.zip-ai-confetti-piece {
  position: absolute;
  top: -20px;
  animation-name: confetti-fall;
  animation-timing-function: cubic-bezier(0.35, 0.15, 0.5, 1);
  animation-fill-mode: both;
}
/* tailwindcss-animate's animate-in / animate-out (overlay enter+exit on
   tooltip, dialog, popover, dropdown, select) run unconditionally — the plugin
   ships no reduced-motion guard. Disable them app-wide for motion-sensitive
   users. !important to beat the scoped (:is(#root)) utility specificity. */
@media (prefers-reduced-motion: reduce) {
  .animate-in,
  .animate-out {
    animation: none !important;
  }
}

/* ── Resize handle states (outside #chat-assistant-root, needs plain CSS) ── */
.zip-ai-resize-handle .resize-dots {
  opacity: 0;
}
.zip-ai-resize-handle:hover {
  background-color: hsl(var(--primary, 18 100% 53%) / 0.12);
}
.zip-ai-resize-handle:hover .resize-dots,
.zip-ai-resize-handle.dragging .resize-dots {
  opacity: 1;
}
.zip-ai-resize-handle.dragging {
  background-color: hsl(var(--primary, 18 100% 53%) / 0.22);
}

/* ══════════════════════════════════════════════════════════════════
   WP DOM targeting styles — these MUST be global CSS because they
   style WordPress elements (body, admin bar, block editor) that
   live outside the React app. Toggled by vanilla JS in wp-bridge-host.js.
   ══════════════════════════════════════════════════════════════════ */

:root {
  /* Matches the popover default width (ZIPWP_LAYOUT.popover.defaultWidth). */
  --zipwp-sidebar-width: 420px;
}

/* ── Full-page assistant admin screen ──────────────────────────────────── */

/* Strip WP admin content-area chrome so chat can go edge-to-edge */
body.zip-ai-fullpage-page #wpcontent {
  padding-left: 0 !important;
}

body.zip-ai-fullpage-page #wpbody-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Hide WP footer version text on the fullpage assistant screen */
body.zip-ai-fullpage-page #wpfooter {
  display: none !important;
}

/* Hide all WP admin notices on the fullpage assistant screen */
body.zip-ai-fullpage-page .notice,
body.zip-ai-fullpage-page .error,
body.zip-ai-fullpage-page .updated,
body.zip-ai-fullpage-page .update-nag,
body.zip-ai-fullpage-page .wp-header-end ~ .notice,
body.zip-ai-fullpage-page #wpbody-content > .notice,
body.zip-ai-fullpage-page #wpbody-content > .error,
body.zip-ai-fullpage-page #wpbody-content > .updated {
  display: none !important;
}

/* Outer screen wrapper — fills available viewport below the admin bar */
.zip-ai-fullpage-screen {
  margin: 0;
  padding: 0;
  height: calc(100vh - 32px); /* 32px = WP admin bar height */
  overflow: hidden;
}

/* Without admin bar (e.g. ?noheader or custom screens) */
body:not(.admin-bar) .zip-ai-fullpage-screen {
  height: 100vh;
}

/* Inner container: fills the screen wrapper, no radius at this level */
.zip-ai-fullpage-container {
  position: relative;
  height: 100%;
  min-height: 480px;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  padding: 0;
}

/* Hide trigger when sidebar is open (trigger is React portal on body) */
body.zip-ai-assistant-open .zip-ai-floating-trigger {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(0.5);
  transition:
    transform 0.2s ease,
    opacity 0.2s ease,
    visibility 0s 0.2s;
}

/* Sidebar container (PHP-rendered, toggled by vanilla JS) */
.zip-ai-iframe-container {
  position: fixed;
  right: calc(-1 * var(--zipwp-sidebar-width));
  /* Hidden by default, slides in from right */
  top: 32px;
  /* WordPress admin bar height */
  width: var(--zipwp-sidebar-width);
  height: calc(100vh - 32px);
  background: #fff;
  /* Subtle left hairline so the white panel stays distinct from a white page. */
  border-left: 1px solid rgba(0, 0, 0, 0.14);
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  /* Match the launcher's band so third-party widgets (e.g. SureCart's)
     don't poke through the open chat panel either. */
  z-index: 2147483646;
  display: flex;
  flex-direction: column;
  transition:
    right 0.3s ease-in-out,
    width 0.05s ease-out;
  visibility: hidden;
  /* Hide when off-screen */
  opacity: 0;
}

/* Visible state - slide in */
.zip-ai-iframe-container.zip-ai-iframe-visible {
  right: 0;
  visibility: visible;
  opacity: 1;
  transition:
    right 0.3s ease-in-out,
    opacity 0.3s ease-in-out;
}

/* Push WordPress content to the left when assistant is open */
/* Default: no margin (hidden state) */
body {
  margin-right: 0;
  transition: margin-right 0.3s ease-in-out;
}

body.zip-ai-assistant-open {
  margin-right: var(--zipwp-sidebar-width);
  overflow-x: clip;
  width: calc(100vw - var(--zipwp-sidebar-width));
}

/* Fix for alignfull blocks - recalculate width accounting for assistant panel */
/* These blocks use calc(-50vw + 50%) which doesn't account for body margin */
body.zip-ai-assistant-open .alignfull,
body.zip-ai-assistant-open .uagb-is-root-container.alignfull,
body.zip-ai-assistant-open .spectra-is-root-container.alignfull,
body.zip-ai-assistant-open .wp-block-uagb-container.alignfull,
body.zip-ai-assistant-open .wp-block-spectra-container.alignfull,
body.zip-ai-assistant-open .wp-block-cover.alignfull,
body.zip-ai-assistant-open .wp-block-group.alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Astra theme header - constrain to available width */
body.zip-ai-assistant-open .site-header,
body.zip-ai-assistant-open .ast-primary-header-bar,
body.zip-ai-assistant-open .ast-main-header-wrap,
body.zip-ai-assistant-open .site-primary-header-wrap {
  max-width: 100% !important;
  width: 100% !important;
}

/* Main content containers */
body.zip-ai-assistant-open #page,
body.zip-ai-assistant-open .site,
body.zip-ai-assistant-open #content,
body.zip-ai-assistant-open .site-content,
body.zip-ai-assistant-open .ast-container {
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* Plugin install cards (wp-admin/plugin-install.php) — when the assistant
   sidebar narrows the admin content area, the default 2/3-column grid squeezes
   the title column until text wraps character-by-character. Collapse to a
   single column so cards stay legible. Excluded in popover mode (body keeps
   full width there, so default WP grid still fits). */
body.zip-ai-assistant-open:not(.zip-ai-popover-mode) .wp-list-table.plugin-install .plugin-card,
body.zip-ai-assistant-open:not(.zip-ai-popover-mode) .plugin-install .plugin-card {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  float: none !important;
}

/* Also transition the admin bar */
#wpadminbar {
  right: 0;
  transition: right 0.3s ease-in-out;
}

body.zip-ai-assistant-open #wpadminbar {
  right: var(--zipwp-sidebar-width);
}

/* Adjust for frontend (no admin bar) */
body:not(.admin-bar) .zip-ai-iframe-container {
  top: 0;
  height: 100vh;
}

/* Block Editor (Gutenberg) specific adjustments */
/* Always apply transition to skeleton, not just when open */
.block-editor-page .interface-interface-skeleton,
.edit-post .interface-interface-skeleton,
body.block-editor-page .interface-interface-skeleton {
  margin-right: 0;
  transition: margin-right 0.3s ease-in-out;
}

/* Apply margin when assistant is open */
.block-editor-page body.zip-ai-assistant-open .interface-interface-skeleton,
.edit-post body.zip-ai-assistant-open .interface-interface-skeleton,
body.block-editor-page.zip-ai-assistant-open .interface-interface-skeleton {
  margin-right: var(--zipwp-sidebar-width);
}

/* Reset body margin in block editor (let skeleton handle it) */
.block-editor-page body.zip-ai-assistant-open,
.edit-post body.zip-ai-assistant-open,
body.block-editor-page.zip-ai-assistant-open {
  margin-right: 0 !important;
}

/* Adjust editor content area */
.block-editor-page .interface-interface-skeleton__content,
.edit-post .interface-interface-skeleton__content {
  transition: margin-right 0.3s ease-in-out;
}

/* Full height iframe in block editor */
.block-editor-page .zip-ai-iframe-container,
.edit-post .zip-ai-iframe-container,
body.block-editor-page .zip-ai-iframe-container {
  top: 0;
  height: 100vh;
}

/* Post-publish panel — shift left so it doesn't hide under chat sidebar.
   Gutenberg slides `.editor-post-publish-panel` in from viewport right.
   In some versions it's portal'd to body (position: fixed; right: 0), so the
   skeleton's margin-right doesn't push it. Only applies in sidebar mode —
   popover mode is a floating card that doesn't occupy the full right edge. */
body.zip-ai-assistant-open:not(.zip-ai-popover-mode) .editor-post-publish-panel {
  right: var(--zipwp-sidebar-width) !important;
  transition: right 0.3s ease-in-out;
}

/* ── Popover / Floating card mode (see src/styles/popover.css) ────────────── */
/* stylelint-disable-next-line no-invalid-position-at-import-rule -- intentional load point; kept here to preserve the existing cascade order. */

/* Prevent text selection during resize */
body.zip-ai-resizing {
  cursor: ew-resize !important;
  -moz-user-select: none !important;
       user-select: none !important;
  -webkit-user-select: none !important;
}

body.zip-ai-resizing iframe {
  pointer-events: none;
}

/* Fullscreen mode - iframe takes over entire viewport */
.zip-ai-iframe-container.zip-ai-iframe-fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  top: 0 !important;
  right: 0 !important;
  box-shadow: none !important;
  transition:
    width 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    top 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.3s ease;
}

/* Hide resize handle in fullscreen */
.zip-ai-iframe-container.zip-ai-iframe-fullscreen
  .zip-ai-resize-handle {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

/* Smooth exit back to sidebar */
.zip-ai-iframe-container.zip-ai-iframe-visible:not(
    .zip-ai-iframe-fullscreen
  ) {
  transition:
    right 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    width 0.35s cubic-bezier(0.33, 1, 0.68, 1),
    height 0.35s cubic-bezier(0.33, 1, 0.68, 1),
    top 0.35s cubic-bezier(0.33, 1, 0.68, 1),
    box-shadow 0.3s ease;
}

/* Remove body margin push in fullscreen */
body.zip-ai-assistant-fullscreen,
body.zip-ai-iframe-fullscreen {
  margin-right: 0 !important;
  width: 100vw !important;
  overflow: hidden;
}

body.zip-ai-assistant-fullscreen #wpadminbar,
body.zip-ai-iframe-fullscreen #wpadminbar {
  right: 0 !important;
  transition: right 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Block editor: remove skeleton margin in fullscreen */
body.zip-ai-assistant-fullscreen .interface-interface-skeleton,
body.zip-ai-iframe-fullscreen .interface-interface-skeleton {
  margin-right: 0 !important;
  transition: margin-right 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Fullscreen preview stage open: hide wp-admin's fixed chrome. The admin bar
   (z 99999) and admin menu (z 9990) paint OVER the edge-to-edge stage, clipping
   the previewed page's own header and left edge. NOT keyed on
   `zip-ai-overlay-open` — every Radix dialog sets that, and small dialogs must
   not tear the admin chrome away. */
body.zip-ai-stage-open #wpadminbar,
body.zip-ai-stage-open #adminmenumain {
  display: none !important;
}

body.zip-ai-stage-open {
  overflow: hidden;
}

/* ===== Block Context Picker ===== */

/* Floating "+" pin button — repositions on hover over blocks */
.zipwp-context-pin {
  display: none;
  position: absolute;
  z-index: 100000;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 12px;
  background: hsl(var(--primary, 18 100% 53%));
  color: #fff;
  cursor: pointer;
  box-shadow: 0 2px 8px hsl(var(--primary, 18 100% 53%) / 0.35);
  transition:
    background-color 0.15s ease,
    box-shadow 0.15s ease;
}

.zipwp-context-pin:hover {
  background: hsl(var(--primary, 18 100% 53%) / 0.88);
  box-shadow: 0 4px 12px hsl(var(--primary, 18 100% 53%) / 0.4);
}

.zipwp-context-pin svg {
  width: 16px;
  height: 16px;
  display: block;
  pointer-events: none;
}

/* Active state — block already pinned, show checkmark */
.zipwp-context-pin--active {
  background: #16a34a;
}

.zipwp-context-pin--active:hover {
  background: #dc2626;
}

/* Highlight on pinned blocks — uses box-shadow
   so it doesn't conflict with Gutenberg's outline */
.zipwp-context-selected {
  box-shadow: 0 0 0 2px hsl(var(--primary, 18 100% 53%)) !important;
  border-radius: 2px;
}

/* Count badge on ERA FAB button */
.zipwp-context-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  border-radius: 10px;
  pointer-events: none;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  font-family:
    Figtree,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .zip-ai-fullpage-screen.wrap {
    margin: 8px 10px 0 0;
    height: calc(100vh - 48px);
  }

  .zip-ai-fullpage-container {
    min-height: 520px;
    border-radius: 16px;
  }

  .zip-ai-iframe-container {
    width: 100%;
    max-width: 360px;
  }

  /* On mobile, use overlay instead of pushing content */
  body.zip-ai-assistant-open {
    margin-right: 0;
    overflow: hidden;
    /* Prevent scrolling when assistant is open */
  }

  body.zip-ai-assistant-open #wpadminbar {
    right: 0;
  }
}

/* Tablet and larger screens - slightly wider assistant panel */
@media (min-width: 1024px) {
  .zip-ai-iframe-container {
    width: var(--zipwp-sidebar-width);
    right: calc(-1 * var(--zipwp-sidebar-width));
    /* Keep hidden position in sync with persisted resized widths */
  }

  .zip-ai-iframe-container.zip-ai-iframe-visible {
    right: 0;
  }

  body.zip-ai-assistant-open {
    margin-right: var(--zipwp-sidebar-width);
    width: calc(100vw - var(--zipwp-sidebar-width));
  }

  body.zip-ai-assistant-open #wpadminbar {
    right: var(--zipwp-sidebar-width);
  }

  /* Block editor adjustments for larger screens */
  .block-editor-page
    body.zip-ai-assistant-open
    .interface-interface-skeleton,
  .edit-post body.zip-ai-assistant-open .interface-interface-skeleton,
  body.block-editor-page.zip-ai-assistant-open
    .interface-interface-skeleton {
    margin-right: var(--zipwp-sidebar-width);
  }

  /* Ensure skeleton still has transition on larger screens */
  .block-editor-page .interface-interface-skeleton,
  .edit-post .interface-interface-skeleton,
  body.block-editor-page .interface-interface-skeleton {
    margin-right: 0;
  }
}

/* Colour wheel (ColorPickerPopover): panel CSS bloats react-colorful's thumbs; scope-reset to a compact wheel. */
.zip-ai-color-wheel .react-colorful {
  width: 100%;
  height: 150px;
}
.zip-ai-color-wheel .react-colorful__saturation {
  border-radius: 10px 10px 0 0;
}
.zip-ai-color-wheel .react-colorful__hue {
  height: 18px;
  border-radius: 0 0 10px 10px;
}
.zip-ai-color-wheel .react-colorful__pointer {
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25), 0 1px 3px rgba(0, 0, 0, 0.35);
}
.zip-ai-color-wheel .react-colorful__pointer-fill {
  border-radius: 50%;
}

/* Indeterminate progress sliver — slides across when a total isn't known
   (wp-cli id-list sweeps). Determinate bars fill by width instead. */
@keyframes zipaiProgressIndeterminate {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(300%); }
}
.zipai-progress-indeterminate {
  animation: zipaiProgressIndeterminate 1.1s ease-in-out infinite;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.marker\:font-mono *)::marker{
    font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.marker\:text-\[12px\] *)::marker{
    font-size: 12px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.marker\:text-app-body-text *)::marker{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .marker\:font-mono::marker{
    font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .marker\:text-\[12px\]::marker{
    font-size: 12px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .marker\:text-app-body-text::marker{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.selection\:bg-accent *)::-moz-selection{
    background-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.selection\:bg-accent *)::selection{
    background-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.selection\:text-accent-foreground *)::-moz-selection{
    color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.selection\:text-accent-foreground *)::selection{
    color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .selection\:bg-accent::-moz-selection{
    background-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .selection\:bg-accent::selection{
    background-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .selection\:text-accent-foreground::-moz-selection{
    color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .selection\:text-accent-foreground::selection{
    color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-app-body-text::-moz-placeholder{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-app-body-text::placeholder{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-app-placeholder::-moz-placeholder{
    color: hsl(var(--app-inactive-icon));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-app-placeholder::placeholder{
    color: hsl(var(--app-inactive-icon));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-app-text::-moz-placeholder{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-app-text::placeholder{
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground::-moz-placeholder{
    color: hsl(var(--muted-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground::placeholder{
    color: hsl(var(--muted-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground\/40::-moz-placeholder{
    color: hsl(var(--muted-foreground) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground\/40::placeholder{
    color: hsl(var(--muted-foreground) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground\/50::-moz-placeholder{
    color: hsl(var(--muted-foreground) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground\/50::placeholder{
    color: hsl(var(--muted-foreground) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground\/70::-moz-placeholder{
    color: hsl(var(--muted-foreground) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .placeholder\:text-muted-foreground\/70::placeholder{
    color: hsl(var(--muted-foreground) / 0.7);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .first\:mt-0:first-child{
    margin-top: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .last\:mb-0:last-child{
    margin-bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .last\:border-b-0:last-child{
    border-bottom-width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .odd\:bg-sunken:nth-child(odd){
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:border-line-2:focus-within{
    border-color: hsl(var(--line-2));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:border-line-3:focus-within{
    border-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:border-primary:focus-within{
    border-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:border-primary\/50:focus-within{
    border-color: hsl(var(--primary) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:bg-background:focus-within{
    background-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:bg-card:focus-within{
    background-color: hsl(var(--card));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:bg-sunken:focus-within{
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:opacity-100:focus-within{
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:shadow-\[0_0_0_3px_hsl\(var\(--primary\)\/0\.12\)\]:focus-within{
    --tw-shadow: 0 0 0 3px hsl(var(--primary)/0.12);
    --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:shadow-sm:focus-within{
    --tw-shadow: 0 1px 3px hsl(var(--foreground) / 0.04), 0 1px 2px hsl(var(--foreground) / 0.02);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:ring-2:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:ring-\[3px\]:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:ring-primary\/15:focus-within{
    --tw-ring-color: hsl(var(--primary) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-within\:ring-ring\/15:focus-within{
    --tw-ring-color: hsl(var(--ring) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:-translate-y-px:hover{
    --tw-translate-y: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:scale-105:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border:hover{
    border-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-\[\#3A3741\]:hover{
    --tw-border-opacity: 1;
    border-color: rgb(58 55 65 / var(--tw-border-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-app-body-text:hover{
    border-color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-border:hover{
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-border-dark:hover{
    border-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-danger:hover{
    border-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-danger-dark:hover{
    border-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-foreground:hover{
    border-color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-line-2:hover{
    border-color: hsl(var(--line-2));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-line-3:hover{
    border-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-ok\/40:hover{
    border-color: hsl(var(--ok) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-primary:hover{
    border-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-primary\/40:hover{
    border-color: hsl(var(--primary) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-stop:hover{
    border-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-warn:hover{
    border-color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:border-warning-border:hover{
    border-color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[\#252329\]:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(37 35 41 / var(--tw-bg-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[hsl\(var\(--destructive\)\/0\.08\)\]:hover{
    background-color: hsl(var(--destructive)/0.08);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[hsl\(var\(--ring\)\/0\.18\)\]:hover{
    background-color: hsl(var(--ring)/0.18);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[hsl\(var\(--warn\)\/0\.08\)\]:hover{
    background-color: hsl(var(--warn)/0.08);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[hsl\(var\(--warn\)\/0\.18\)\]:hover{
    background-color: hsl(var(--warn)/0.18);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[rgba\(239\2c 68\2c 68\2c 0\.08\)\]:hover{
    background-color: rgba(239,68,68,0.08);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[rgba\(239\2c 68\2c 68\2c 0\.15\)\]:hover{
    background-color: rgba(239,68,68,0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-\[rgba\(245\2c 158\2c 11\2c 0\.15\)\]:hover{
    background-color: rgba(245,158,11,0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-accent:hover{
    background-color: hsl(var(--accent));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-accent-foreground\/10:hover{
    background-color: hsl(var(--accent-foreground) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-accent-foreground\/15:hover{
    background-color: hsl(var(--accent-foreground) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-accent\/80:hover{
    background-color: hsl(var(--accent) / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-amber-400\/25:hover{
    background-color: rgb(251 191 36 / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-amber-900\/20:hover{
    background-color: rgb(120 53 15 / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-app-hover:hover{
    background-color: hsl(var(--app-hover));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-background\/10:hover{
    background-color: hsl(var(--background) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-brand\/15:hover{
    background-color: hsl(var(--primary) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-card:hover{
    background-color: hsl(var(--card));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-card\/50:hover{
    background-color: hsl(var(--card) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-danger:hover{
    background-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-destructive\/10:hover{
    background-color: hsl(var(--destructive) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-destructive\/5:hover{
    background-color: hsl(var(--destructive) / 0.05);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-emerald-400\/25:hover{
    background-color: rgb(52 211 153 / 0.25);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-muted:hover{
    background-color: hsl(var(--muted));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-muted\/50:hover{
    background-color: hsl(var(--muted) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-ok-soft:hover{
    background-color: hsl(var(--ok-soft));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-primary:hover{
    background-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-primary\/10:hover{
    background-color: hsl(var(--primary) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-primary\/5:hover{
    background-color: hsl(var(--primary) / 0.05);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-stop\/10:hover{
    background-color: hsl(var(--destructive) / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-success-dark:hover{
    background-color: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-sunken:hover{
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-sunken\/40:hover{
    background-color: hsl(var(--bg-sunken) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-transparent:hover{
    background-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-warning-bg:hover{
    background-color: hsl(var(--warn-soft));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-white\/10:hover{
    background-color: rgb(255 255 255 / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-white\/90:hover{
    background-color: rgb(255 255 255 / 0.9);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:bg-white\/\[0\.06\]:hover{
    background-color: rgb(255 255 255 / 0.06);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-\[\#E5E3EA\]:hover{
    --tw-text-opacity: 1;
    color: rgb(229 227 234 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-accent-foreground:hover{
    color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-app-body-text-2:hover{
    color: hsl(var(--app-heading));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-app-heading:hover{
    color: hsl(var(--app-heading));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-background:hover{
    color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-brand-hover:hover{
    color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-danger:hover{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-danger-dark:hover{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-destructive:hover{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-foreground:hover{
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-muted-foreground:hover{
    color: hsl(var(--muted-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-ok:hover{
    color: hsl(var(--ok));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-primary:hover{
    color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-primary-foreground:hover{
    color: hsl(var(--primary-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-stop:hover{
    color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-warning-text:hover{
    color: hsl(var(--warn));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-white:hover{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:text-white\/80:hover{
    color: rgb(255 255 255 / 0.8);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:underline:hover{
    text-decoration-line: underline;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:no-underline:hover{
    text-decoration-line: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:decoration-brand-hover:hover{
    text-decoration-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:decoration-primary:hover{
    text-decoration-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:\!opacity-100:hover{
    opacity: 1 !important;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:opacity-70:hover{
    opacity: 0.7;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:opacity-80:hover{
    opacity: 0.8;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:opacity-90:hover{
    opacity: 0.9;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:opacity-95:hover{
    opacity: 0.95;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:opacity-\[0\.94\]:hover{
    opacity: 0.94;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:opacity-\[0\.96\]:hover{
    opacity: 0.96;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.14\)\]:hover{
    --tw-shadow: 0 4px 12px rgba(0,0,0,0.14);
    --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:shadow-\[inset_0_0_0_1px_hsl\(var\(--accent-foreground\)\/0\.35\)\]:hover{
    --tw-shadow: inset 0 0 0 1px hsl(var(--accent-foreground)/0.35);
    --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:shadow-md:hover{
    --tw-shadow: 0 2px 8px -2px hsl(var(--foreground) / 0.08), 0 1px 3px hsl(var(--foreground) / 0.04);
    --tw-shadow-colored: 0 2px 8px -2px var(--tw-shadow-color), 0 1px 3px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:ring-white\/60:hover{
    --tw-ring-color: rgb(255 255 255 / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:border-0:focus{
    border-width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:border-none:focus{
    border-style: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:border-accent-foreground:focus{
    border-color: hsl(var(--accent-foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:border-primary:focus{
    border-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:border-ring:focus{
    border-color: hsl(var(--ring));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:border-stop:focus{
    border-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:border-transparent:focus{
    border-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:bg-card:focus{
    background-color: hsl(var(--card));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:bg-sunken:focus{
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:opacity-100:focus{
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:shadow-\[0_0_0_3px_hsl\(var\(--primary\)\/0\.15\)\]:focus{
    --tw-shadow: 0 0 0 3px hsl(var(--primary)/0.15);
    --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:shadow-none:focus{
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:ring-0:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:ring-1:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:ring-2:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:ring-\[3px\]:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:ring-primary\/15:focus{
    --tw-ring-color: hsl(var(--primary) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:ring-ring:focus{
    --tw-ring-color: hsl(var(--ring));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:ring-ring\/20:focus{
    --tw-ring-color: hsl(var(--ring) / 0.2);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:\[border\:none\]:focus{
    border: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:\[box-shadow\:none\]:focus{
    box-shadow: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus\:\[outline\:none\]:focus{
    outline: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:bg-sunken:focus-visible{
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:bg-sunken\/40:focus-visible{
    background-color: hsl(var(--bg-sunken) / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:text-foreground:focus-visible{
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:\!opacity-100:focus-visible{
    opacity: 1 !important;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:opacity-100:focus-visible{
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:outline-none:focus-visible{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:outline:focus-visible{
    outline-style: solid;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:outline-2:focus-visible{
    outline-width: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:outline-offset-2:focus-visible{
    outline-offset: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:outline-current:focus-visible{
    outline-color: currentColor;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-1:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-2:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-inset:focus-visible{
    --tw-ring-inset: inset;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-\[hsl\(var\(--destructive\)\)\]:focus-visible{
    --tw-ring-color: hsl(var(--destructive));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-\[hsl\(var\(--ring\)\)\]:focus-visible{
    --tw-ring-color: hsl(var(--ring));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-app-primary:focus-visible{
    --tw-ring-color: hsl(var(--app-primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-border-focus:focus-visible{
    --tw-ring-color: hsl(var(--ring) / 0.35);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-foreground\/15:focus-visible{
    --tw-ring-color: hsl(var(--foreground) / 0.15);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-ring:focus-visible{
    --tw-ring-color: hsl(var(--ring));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-ring\/30:focus-visible{
    --tw-ring-color: hsl(var(--ring) / 0.3);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-ring\/50:focus-visible{
    --tw-ring-color: hsl(var(--ring) / 0.5);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-offset-1:focus-visible{
    --tw-ring-offset-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-offset-2:focus-visible{
    --tw-ring-offset-width: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .focus-visible\:ring-offset-background:focus-visible{
    --tw-ring-offset-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .active\:scale-\[0\.97\]:active{
    --tw-scale-x: 0.97;
    --tw-scale-y: 0.97;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .active\:scale-\[0\.98\]:active{
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .active\:cursor-grabbing:active{
    cursor: grabbing;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:enabled\:border-line-3:enabled:hover{
    border-color: hsl(var(--line-3));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:enabled\:bg-muted\/60:enabled:hover{
    background-color: hsl(var(--muted) / 0.6);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:enabled\:bg-white\/10:enabled:hover{
    background-color: rgb(255 255 255 / 0.1);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:enabled\:bg-white\/\[0\.24\]:enabled:hover{
    background-color: rgb(255 255 255 / 0.24);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .hover\:enabled\:text-foreground:enabled:hover{
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:pointer-events-none:disabled{
    pointer-events: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:cursor-default:disabled{
    cursor: default;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:cursor-not-allowed:disabled{
    cursor: not-allowed;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:bg-transparent:disabled{
    background-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:opacity-40:disabled{
    opacity: 0.4;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:opacity-50:disabled{
    opacity: 0.5;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:opacity-60:disabled{
    opacity: 0.6;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:opacity-65:disabled{
    opacity: 0.65;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:opacity-70:disabled{
    opacity: 0.7;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:hover\:border-line:hover:disabled{
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:hover\:bg-background:hover:disabled{
    background-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:hover\:bg-sunken:hover:disabled{
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .disabled\:hover\:text-app-body-text-2:hover:disabled{
    color: hsl(var(--app-heading));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group\/swatch:focus-within .group-focus-within\/swatch\:opacity-100){
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:focus-within .group-focus-within\:opacity-100){
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:focus-within .group-focus-within\:opacity-60){
    opacity: 0.6;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group\/row:hover .group-hover\/row\:border-line-2){
    border-color: hsl(var(--line-2));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:hover .group-hover\:border-app-text){
    border-color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group\/row:hover .group-hover\/row\:bg-sunken){
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group\/row:hover .group-hover\/row\:text-foreground\/85){
    color: hsl(var(--foreground) / 0.85);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:hover .group-hover\:text-app-text){
    color: hsl(var(--app-text));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group\/msg:hover .group-hover\/msg\:opacity-100){
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group\/row:hover .group-hover\/row\:opacity-100){
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group\/swatch:hover .group-hover\/swatch\:opacity-100){
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:hover .group-hover\:opacity-100){
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:hover .group-hover\:opacity-60){
    opacity: 0.6;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:hover .group-hover\:ring-2){
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:hover .group-hover\:ring-white\/40){
    --tw-ring-color: rgb(255 255 255 / 0.4);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.peer:checked ~ .peer-checked\:border-primary){
    border-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.peer:checked ~ .peer-checked\:bg-primary){
    background-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.peer:focus-visible ~ .peer-focus-visible\:ring-2){
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.peer:focus-visible ~ .peer-focus-visible\:ring-primary){
    --tw-ring-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.peer:disabled ~ .peer-disabled\:cursor-not-allowed){
    cursor: not-allowed;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.peer:disabled ~ .peer-disabled\:opacity-70){
    opacity: 0.7;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[disabled\]\:pointer-events-none[data-disabled]{
    pointer-events: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=checked\]\:translate-x-4[data-state="checked"]{
    --tw-translate-x: 1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"]{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=checked\]\:bg-primary[data-state="checked"]{
    background-color: hsl(var(--primary));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:bg-sunken[data-state="open"]{
    background-color: hsl(var(--bg-sunken));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=unchecked\]\:bg-line-2[data-state="unchecked"]{
    background-color: hsl(var(--line-2));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:text-foreground[data-state="open"]{
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[disabled\]\:opacity-50[data-disabled]{
    opacity: 0.5;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:duration-200[data-state="closed"]{
    transition-duration: 200ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:duration-200[data-state="open"]{
    transition-duration: 200ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:animate-in[data-state="open"]{
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:animate-out[data-state="closed"]{
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:fade-out-0[data-state="closed"]{
    --tw-exit-opacity: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:fade-in-0[data-state="open"]{
    --tw-enter-opacity: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:zoom-out-75[data-state="closed"]{
    --tw-exit-scale: .75;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:zoom-out-95[data-state="closed"]{
    --tw-exit-scale: .95;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:zoom-in-90[data-state="open"]{
    --tw-enter-scale: .9;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:zoom-in-95[data-state="open"]{
    --tw-enter-scale: .95;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"]{
    --tw-enter-translate-y: -0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"]{
    --tw-enter-translate-x: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"]{
    --tw-enter-translate-x: -0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"]{
    --tw-enter-translate-y: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"]{
    --tw-exit-translate-x: -50%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"]{
    --tw-exit-translate-y: -48%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"]{
    --tw-enter-translate-x: -50%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"]{
    --tw-enter-translate-y: -48%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=closed\]\:duration-200[data-state="closed"]{
    animation-duration: 200ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .data-\[state\=open\]\:duration-200[data-state="open"]{
    animation-duration: 200ms;
}
@media (prefers-reduced-motion: no-preference){

    @keyframes ping{

        75%, 100%{
            transform: scale(2);
            opacity: 0;
        }
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:animate-ping{
        animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:transition-all{
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:duration-300{
        transition-duration: 300ms;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:ease-out{
        transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:animate-in{
        animation-name: enter;
        animation-duration: 150ms;
        --tw-enter-opacity: initial;
        --tw-enter-scale: initial;
        --tw-enter-rotate: initial;
        --tw-enter-translate-x: initial;
        --tw-enter-translate-y: initial;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:zoom-in-50{
        --tw-enter-scale: .5;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:duration-300{
        animation-duration: 300ms;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-safe\:ease-out{
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
}
@media (prefers-reduced-motion: reduce){

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-reduce\:hidden{
        display: none;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .motion-reduce\:transition-none{
        transition-property: none;
    }
}
@media (min-width: 640px){

    :is(#chat-assistant-root, #zip-ai-snippets-root) .sm\:block{
        display: block;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .sm\:flex-row{
        flex-direction: row;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .sm\:justify-end{
        justify-content: flex-end;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .sm\:gap-2{
        gap: 0.5rem;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .sm\:text-left{
        text-align: left;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .sm\:text-\[36px\]{
        font-size: 36px;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .sm\:opacity-0{
        opacity: 0;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:focus-within .sm\:group-focus-within\:opacity-100){
        opacity: 1;
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) :is(.group:hover .sm\:group-hover\:opacity-100){
        opacity: 1;
    }
}
@media (min-width: 1024px){

    :is(#chat-assistant-root, #zip-ai-snippets-root) .lg\:grid-cols-\[420px_1fr\]{
        grid-template-columns: 420px 1fr;
    }
}
@media (prefers-color-scheme: dark){

    :is(#chat-assistant-root, #zip-ai-snippets-root) .dark\:border-amber-900\/60{
        border-color: rgb(120 53 15 / 0.6);
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .dark\:bg-amber-100\/10{
        background-color: rgb(254 243 199 / 0.1);
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .dark\:bg-amber-950\/30{
        background-color: rgb(69 26 3 / 0.3);
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .dark\:text-amber-100{
        --tw-text-opacity: 1;
        color: rgb(254 243 199 / var(--tw-text-opacity, 1));
    }

    :is(#chat-assistant-root, #zip-ai-snippets-root) .dark\:hover\:bg-amber-100\/20:hover{
        background-color: rgb(254 243 199 / 0.2);
    }
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\+\&\]\:border-t+.\[\&\+\&\]\:border-t){
    border-top-width: 1px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\+\&\]\:border-border+.\[\&\+\&\]\:border-border){
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) .\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{
    display: none;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\:last-child\>td\]\:border-b-0:last-child>td){
    border-bottom-width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>\*\:first-child\]\:mt-0>*:first-child){
    margin-top: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>\*\:last-child\]\:mb-0>*:last-child){
    margin-bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>\:first-child\]\:\!mt-0>:first-child){
    margin-top: 0px !important;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>\:last-child\]\:\!mb-0>:last-child){
    margin-bottom: 0px !important;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>p\:last-child\]\:mb-0>p:last-child){
    margin-bottom: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>p\]\:mb-1\.5>p){
    margin-bottom: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>svg\]\:h-3\.5>svg){
    height: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>svg\]\:w-3\.5>svg){
    width: 0.875rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>svg\]\:transition-transform>svg){
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>svg\]\:duration-200>svg){
    transition-duration: 200ms;
    animation-duration: 200ms;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.hover\:\[\&\>svg\]\:rotate-90>svg:hover){
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&\>tr\:last-child\>td\]\:border-b-0>tr:last-child>td){
    border-bottom-width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\*\]\:\!my-1 *){
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\.cm-editor\]\:h-full .cm-editor){
    height: 100%;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\.cm-editor\]\:bg-transparent .cm-editor){
    background-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\.cm-editor\]\:outline-none .cm-editor){
    outline: 2px solid transparent;
    outline-offset: 2px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\.cm-scroller\]\:overflow-auto .cm-scroller){
    overflow: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\.msg-content\]\:border-border .msg-content){
    border-color: hsl(var(--border));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\.msg-content\]\:bg-background .msg-content){
    background-color: hsl(var(--background));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_\.msg-content\]\:text-foreground .msg-content){
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_a\]\:text-inherit a){
    color: inherit;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_code\]\:border-0 code){
    border-width: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_code\]\:bg-transparent code){
    background-color: transparent;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_code\]\:p-0 code){
    padding: 0px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_code\]\:text-inherit code){
    color: inherit;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:my-1 img){
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:h-auto img){
    height: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:max-h-\[80px\] img){
    max-height: 80px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:w-auto img){
    width: auto;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:max-w-\[80px\] img){
    max-width: 80px;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:rounded img){
    border-radius: var(--radius);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:object-cover img){
    -o-object-fit: cover;
       object-fit: cover;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_img\]\:shadow-sm img){
    --tw-shadow: 0 1px 3px hsl(var(--foreground) / 0.04), 0 1px 2px hsl(var(--foreground) / 0.02);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_input\]\:mt-1 input){
    margin-top: 0.25rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_li\]\:flex li){
    display: flex;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_li\]\:items-start li){
    align-items: flex-start;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_li\]\:gap-2 li){
    gap: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_p\]\:mb-2 p){
    margin-bottom: 0.5rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_p\]\:\!leading-relaxed p){
    line-height: 1.625 !important;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_p\]\:leading-\[1\.7\] p){
    line-height: 1.7;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_strong\]\:capitalize strong){
    text-transform: capitalize;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_strong\]\:text-foreground strong){
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_svg\]\:shrink-0 svg){
    flex-shrink: 0;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.\[\&_svg\]\:text-foreground svg){
    color: hsl(var(--foreground));
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(.peer:checked ~ .peer-checked\:\[\&_svg\]\:opacity-100 svg){
    opacity: 1;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(ol .\[ol_\&\]\:my-1\.5){
    margin-top: 0.375rem;
    margin-bottom: 0.375rem;
}
:is(#chat-assistant-root, #zip-ai-snippets-root) :is(ul .\[ul_\&\]\:my-1\.5){
    margin-top: 0.375rem;
    margin-bottom: 0.375rem;
}


```
