@charset "UTF-8";
@media (prefers-reduced-motion: reduce) {
  .str-chat,
  .str-chat *,
  .str-chat *::before,
  .str-chat *::after {
    animation-delay: 0ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0ms !important;
    transition-duration: 0.01ms !important;
  }
  .str-chat__attachment-selector__menu-button__icon {
    transform: none;
  }
}
.str-chat__prepare-rotate45 {
  transition: transform 200ms ease;
  transform: rotate(0);
  transform-origin: center center;
}

.str-chat__rotate45 {
  transform: rotate(45deg);
}

/**
 * Do not edit directly, this file was auto-generated.
 */
/**
 * Do not edit directly, this file was auto-generated.
 */
.str-chat,
.str-chat__theme-dark .str-chat__theme-inverse {
  --str-chat__base-transparent-0: rgba(255, 255, 255, 0);
  --str-chat__base-transparent-white-10: rgba(255, 255, 255, 0.1);
  --str-chat__base-transparent-white-20: rgba(255, 255, 255, 0.2);
  --str-chat__base-transparent-white-30: rgba(255, 255, 255, 0.3);
  --str-chat__base-transparent-white-70: rgba(255, 255, 255, 0.7);
  --str-chat__base-transparent-black-5: rgba(
    0,
    0,
    0,
    0.05
  ); /** Used for bg in closeButton */
  --str-chat__base-transparent-black-10: rgba(
    0,
    0,
    0,
    0.1
  ); /** Used for bg in closeButton */
  --str-chat__base-transparent-black-70: rgba(
    0,
    0,
    0,
    0.7
  ); /** Used for bg in closeButton */
  --str-chat__base-black: #000000;
  --str-chat__base-white: #ffffff;
  --str-chat__slate-50: #f6f8fa;
  --str-chat__slate-100: #ebeef1;
  --str-chat__slate-150: #d5dbe1;
  --str-chat__slate-200: #c0c8d2;
  --str-chat__slate-300: #a3acba;
  --str-chat__slate-400: #87909f;
  --str-chat__slate-500: #687385;
  --str-chat__slate-600: #545969;
  --str-chat__slate-700: #414552;
  --str-chat__slate-800: #30313d;
  --str-chat__slate-900: #1a1b25;
  --str-chat__neutral-50: #f8f8f8;
  --str-chat__neutral-100: #efefef;
  --str-chat__neutral-150: #d8d8d8;
  --str-chat__neutral-200: #c4c4c4;
  --str-chat__neutral-300: #ababab;
  --str-chat__neutral-400: #8f8f8f;
  --str-chat__neutral-500: #6a6a6a;
  --str-chat__neutral-600: #565656;
  --str-chat__neutral-700: #464646;
  --str-chat__neutral-800: #323232;
  --str-chat__neutral-900: #1c1c1c;
  --str-chat__blue-50: #f3f7ff;
  --str-chat__blue-100: #e3edff;
  --str-chat__blue-150: #c3d9ff;
  --str-chat__blue-200: #a5c5ff;
  --str-chat__blue-300: #78a8ff;
  --str-chat__blue-400: #4586ff;
  --str-chat__blue-500: #005fff;
  --str-chat__blue-600: #1b53bd;
  --str-chat__blue-700: #19418d;
  --str-chat__blue-800: #142f63;
  --str-chat__blue-900: #091a3b;
  --str-chat__cyan-50: #f1fbfc;
  --str-chat__cyan-100: #d1f3f6;
  --str-chat__cyan-150: #a9e4ea;
  --str-chat__cyan-200: #72d7e0;
  --str-chat__cyan-300: #45bcc7;
  --str-chat__cyan-400: #1e9ea9;
  --str-chat__cyan-500: #248088;
  --str-chat__cyan-600: #006970;
  --str-chat__cyan-700: #065056;
  --str-chat__cyan-800: #003a3f;
  --str-chat__cyan-900: #002124;
  --str-chat__green-50: #e1ffee;
  --str-chat__green-100: #bdfcdb;
  --str-chat__green-150: #8febbd;
  --str-chat__green-200: #59dea3;
  --str-chat__green-300: #00c384;
  --str-chat__green-400: #00a46e;
  --str-chat__green-500: #277e59;
  --str-chat__green-600: #006643;
  --str-chat__green-700: #004f33;
  --str-chat__green-800: #003a25;
  --str-chat__green-900: #002213;
  --str-chat__purple-50: #f7f8ff;
  --str-chat__purple-100: #ecedff;
  --str-chat__purple-150: #d4d7ff;
  --str-chat__purple-200: #c1c5ff;
  --str-chat__purple-300: #a1a3ff;
  --str-chat__purple-400: #8482fc;
  --str-chat__purple-500: #644af9;
  --str-chat__purple-600: #553bd8;
  --str-chat__purple-700: #4032a1;
  --str-chat__purple-800: #2e2576;
  --str-chat__purple-900: #1a114d;
  --str-chat__yellow-50: #fef9da;
  --str-chat__yellow-100: #fcedb9;
  --str-chat__yellow-150: #fcd579;
  --str-chat__yellow-200: #f6bf57;
  --str-chat__yellow-300: #fa922b;
  --str-chat__yellow-400: #f26d10;
  --str-chat__yellow-500: #c84801;
  --str-chat__yellow-600: #a82c00;
  --str-chat__yellow-700: #842106;
  --str-chat__yellow-800: #5f1a05;
  --str-chat__yellow-900: #331302;
  --str-chat__red-50: #fff5fa;
  --str-chat__red-100: #ffe7f2;
  --str-chat__red-150: #ffccdf;
  --str-chat__red-200: #ffb1cd;
  --str-chat__red-300: #fe87a1;
  --str-chat__red-400: #fc526a;
  --str-chat__red-500: #d90d10;
  --str-chat__red-600: #b3093c;
  --str-chat__red-700: #890d37;
  --str-chat__red-800: #68052b;
  --str-chat__red-900: #3e021a;
  --str-chat__violet-50: #fef4ff;
  --str-chat__violet-100: #fbe8fe;
  --str-chat__violet-150: #f7cffc;
  --str-chat__violet-200: #eeb5f4;
  --str-chat__violet-300: #e68bec;
  --str-chat__violet-400: #d75fe7;
  --str-chat__violet-500: #b716ca;
  --str-chat__violet-600: #9d00ae;
  --str-chat__violet-700: #7c0089;
  --str-chat__violet-800: #5c0066;
  --str-chat__violet-900: #36003d;
  --str-chat__lime-50: #f1fde8;
  --str-chat__lime-100: #d4ffb0;
  --str-chat__lime-150: #b1ee79;
  --str-chat__lime-200: #9cda5d;
  --str-chat__lime-300: #78c100;
  --str-chat__lime-400: #639e11;
  --str-chat__lime-500: #4b7a0a;
  --str-chat__lime-600: #3e6213;
  --str-chat__lime-700: #355315;
  --str-chat__lime-800: #203a00;
  --str-chat__lime-900: #112100;
  --str-chat__size-2: 2px;
  --str-chat__size-4: 4px;
  --str-chat__size-6: 6px;
  --str-chat__size-8: 8px;
  --str-chat__size-12: 12px;
  --str-chat__size-16: 16px;
  --str-chat__size-20: 20px;
  --str-chat__size-24: 24px;
  --str-chat__size-32: 32px;
  --str-chat__size-40: 40px;
  --str-chat__size-48: 48px;
  --str-chat__size-64: 64px;
  --str-chat__size-28: 28px;
  --str-chat__size-80: 80px;
  --str-chat__size-128: 128px;
  --str-chat__size-240: 240px;
  --str-chat__size-320: 320px;
  --str-chat__size-480: 480px;
  --str-chat__size-560: 560px;
  --str-chat__size-640: 640px;
  --str-chat__size-760: 760px;
  --str-chat__size-144: 144px;
  --str-chat__size-208: 208px;
  --str-chat__size-56: 56px;
  --str-chat__radius-0: 0px;
  --str-chat__radius-2: 2px;
  --str-chat__radius-4: 4px;
  --str-chat__radius-6: 6px;
  --str-chat__radius-8: 8px;
  --str-chat__radius-12: 12px;
  --str-chat__radius-16: 16px;
  --str-chat__radius-20: 20px;
  --str-chat__radius-24: 24px;
  --str-chat__radius-32: 32px;
  --str-chat__radius-full: 9999px;
  --str-chat__space-0: 0px;
  --str-chat__space-2: 2px;
  --str-chat__space-4: 4px;
  --str-chat__space-8: 8px;
  --str-chat__space-12: 12px;
  --str-chat__space-16: 16px;
  --str-chat__space-20: 20px;
  --str-chat__space-24: 24px;
  --str-chat__space-32: 32px;
  --str-chat__space-40: 40px;
  --str-chat__space-48: 48px;
  --str-chat__space-64: 64px;
  --str-chat__space-80: 80px;
  --str-chat__w100: 1px;
  --str-chat__w150: 1.5px;
  --str-chat__w200: 2px;
  --str-chat__w300: 3px;
  --str-chat__w400: 4px;
  --str-chat__w120: 1.2px;
  --str-chat__font-family-geist: 'Geist'; /** Primary sans-serif font for web typography. Use Geist as the main typeface. Recommended fallbacks: system-ui, -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, sans-serif. */
  --str-chat__font-family-geist-mono: 'Geist Mono'; /** Primary monospace font for web typography. Use Geist Mono for code, timestamps, and technical text. Recommended fallbacks: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace. */
  --str-chat__font-family-sf-pro: 'SF Pro'; /** Primary sans-serif font for iOS typography. Use SF Pro as the main typeface. Recommended fallbacks: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, sans-serif. */
  --str-chat__font-family-sf-mono: 'SF Mono'; /** Primary monospace font for iOS typography. Use SF Mono for code, timestamps, and technical text. Recommended fallbacks: SFMono-Regular, Menlo, Monaco, Consolas, monospace. */
  --str-chat__font-family-roboto: 'Roboto'; /** Primary sans-serif font for Android typography. Use Roboto as the main typeface, aligned with Material and system defaults. Recommended fallbacks: Roboto, “Noto Sans”, system-ui, sans-serif. */
  --str-chat__font-family-roboto-mono: 'Roboto Mono'; /** Primary monospace font for Android typography. Use Roboto Mono for code, timestamps, and technical text. Recommended fallbacks: Roboto Mono, “Noto Sans Mono”, monospace. */
  --str-chat__font-weight-w400: 400;
  --str-chat__font-weight-w500: 500;
  --str-chat__font-weight-w600: 600;
  --str-chat__font-weight-w700: 700;
  --str-chat__font-size-size-8: 8px;
  --str-chat__font-size-size-10: 10px;
  --str-chat__font-size-size-11: 11px;
  --str-chat__font-size-size-12: 12px;
  --str-chat__font-size-size-13: 13px;
  --str-chat__font-size-size-14: 14px;
  --str-chat__font-size-size-16: 16px;
  --str-chat__font-size-size-15: 15px;
  --str-chat__font-size-size-17: 17px;
  --str-chat__font-size-size-18: 18px;
  --str-chat__font-size-size-20: 20px;
  --str-chat__font-size-size-22: 22px;
  --str-chat__font-size-size-24: 24px;
  --str-chat__font-size-size-28: 28px;
  --str-chat__font-size-size-32: 32px;
  --str-chat__font-size-size-40: 40px;
  --str-chat__font-size-size-48: 48px;
  --str-chat__font-size-size-64: 64px;
  --str-chat__line-height-line-height-8: 8px;
  --str-chat__line-height-line-height-10: 10px;
  --str-chat__line-height-line-height-12: 12px;
  --str-chat__line-height-line-height-13: 13px;
  --str-chat__line-height-line-height-14: 14px;
  --str-chat__line-height-line-height-15: 15px;
  --str-chat__line-height-line-height-16: 16px;
  --str-chat__line-height-line-height-17: 17px;
  --str-chat__line-height-line-height-18: 18px;
  --str-chat__line-height-line-height-20: 20px;
  --str-chat__line-height-line-height-24: 24px;
  --str-chat__line-height-line-height-28: 28px;
  --str-chat__line-height-line-height-32: 32px;
  --str-chat__line-height-line-height-40: 40px;
  --str-chat__line-height-line-height-48: 48px;
  --str-chat__typography-font-weight-regular: 400;
  --str-chat__typography-font-weight-medium: 500;
  --str-chat__typography-font-weight-semi-bold: 600;
  --str-chat__typography-font-weight-bold: 700;
  --str-chat__light-elevation-1:
    0px 0px 0px 1px rgba(0, 0, 0, 0.05), 0px 1px 2px 0px rgba(0, 0, 0, 0.1),
    0px 4px 8px 0px rgba(0, 0, 0, 0.06); /** Low elevation level for subtle separation. */
  --str-chat__light-elevation-2:
    0px 0px 0px 1px rgba(0, 0, 0, 0.05), 0px 2px 4px 0px rgba(0, 0, 0, 0.12),
    0px 6px 16px 0px rgba(0, 0, 0, 0.06);
  --str-chat__light-elevation-3:
    0px 0px 0px 1px rgba(0, 0, 0, 0.05), 0px 4px 8px 0px rgba(0, 0, 0, 0.14),
    0px 12px 24px 0px rgba(0, 0, 0, 0.1);
  --str-chat__light-elevation-4:
    0px 0px 0px 1px rgba(0, 0, 0, 0.05), 0px 6px 12px 0px rgba(0, 0, 0, 0.16),
    0px 20px 32px 0px rgba(0, 0, 0, 0.12);
  --str-chat__dark-elevation-1:
    0px 0px 0px 1px rgba(255, 255, 255, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.2),
    0px 4px 8px 0px rgba(0, 0, 0, 0.1);
  --str-chat__dark-elevation-2:
    0px 0px 0px 1px rgba(255, 255, 255, 0.15), 0px 2px 4px 0px rgba(0, 0, 0, 0.22),
    0px 6px 16px 0px rgba(0, 0, 0, 0.12);
  --str-chat__dark-elevation-3:
    0px 0px 0px 1px rgba(255, 255, 255, 0.15), 0px 4px 8px 0px rgba(0, 0, 0, 0.24),
    0px 12px 24px 0px rgba(0, 0, 0, 0.14);
  --str-chat__dark-elevation-4:
    0px 0px 0px 1px rgba(255, 255, 255, 0.15), 0px 6px 12px 0px rgba(0, 0, 0, 0.28),
    0px 20px 32px 0px rgba(0, 0, 0, 0.16);
  --str-chat__button-padding-y-lg: 14px;
  --str-chat__button-padding-y-md: 10px;
  --str-chat__button-padding-y-sm: 6px;
  --str-chat__button-padding-y-xs: 4px;
  --str-chat__button-padding-x-icon-only-lg: 14px;
  --str-chat__button-padding-x-icon-only-md: 10px;
  --str-chat__button-padding-x-icon-only-sm: 6px;
  --str-chat__button-padding-x-icon-only-xs: 4px;
  --str-chat__button-padding-x-with-label-lg: 16px;
  --str-chat__button-padding-x-with-label-md: 16px;
  --str-chat__button-padding-x-with-label-sm: 16px;
  --str-chat__button-padding-x-with-label-xs: 12px;
  --str-chat__background-core-overlay-light: rgba(
    255,
    255,
    255,
    0.75
  ); /** A light semi-transparent layer. Used to lighten surfaces and for hover states on dark backgrounds. */
  --str-chat__background-core-overlay-dark: rgba(
    26,
    27,
    37,
    0.25
  ); /** A dark semi-transparent layer. Used for image overlays. */
  --str-chat__background-core-scrim: rgba(
    26,
    27,
    37,
    0.5
  ); /** A heavy semi-transparent layer. Used behind sheets, drawers, and modals to separate them from content. */
  --str-chat__background-utility-hover: rgba(
    26,
    27,
    37,
    0.1
  ); /** A semi-transparent overlay applied on pointer hover. Sits on top of any surface without replacing it. */
  --str-chat__background-utility-pressed: rgba(
    26,
    27,
    37,
    0.15
  ); /** A slightly stronger overlay applied during an active press or tap. Provides tactile feedback on interactive elements. */
  --str-chat__background-utility-selected: rgba(
    26,
    27,
    37,
    0.2
  ); /** Indicates an active or selected state. Used for selected messages, active list items, and toggled controls. */
  --str-chat__border-utility-hover: rgba(
    26,
    27,
    37,
    0.1
  ); /** Applied on pointer hover over bordered interactive elements. */
  --str-chat__border-utility-pressed: rgba(
    26,
    27,
    37,
    0.2
  ); /** Applied during an active press on bordered interactive elements. */
  --str-chat__border-utility-selected: rgba(
    26,
    27,
    37,
    0.15
  ); /** Border for selected or active items. Used for highlighted list items and active controls. */
  --str-chat__border-core-opacity-subtle: rgba(
    26,
    27,
    37,
    0.1
  ); /** A very light transparent border. Used as a frame treatment on images and media attachments. */
  --str-chat__border-core-opacity-strong: rgba(
    26,
    27,
    37,
    0.25
  ); /** A stronger transparent border for elements on colored or dark backgrounds. Used for waveform bars and similar treatments. */
  --str-chat__system-bg-blur: rgba(255, 255, 255, 0.01);
  --str-chat__system-scrollbar: rgba(0, 0, 0, 0.5);
  --str-chat__badge-bg-overlay: rgba(0, 0, 0, 0.75);
  --str-chat__control-play-button-bg: rgba(0, 0, 0, 0.75);
  --str-chat__typography-font-family-sans: var(--str-chat__font-family-geist);
  --str-chat__typography-font-family-mono: var(--str-chat__font-family-geist-mono);
  --str-chat__typography-font-size-xxs: var(
    --str-chat__font-size-size-10
  ); /** Micro text such as timestamps or subtle metadata. */
  --str-chat__typography-font-size-xs: var(
    --str-chat__font-size-size-12
  ); /** Compact secondary text, small UI labels. */
  --str-chat__typography-font-size-sm: var(
    --str-chat__font-size-size-14
  ); /** Default mobile body size, small controls. */
  --str-chat__typography-font-size-md: var(
    --str-chat__font-size-size-16
  ); /** Default desktop body size, main text. */
  --str-chat__typography-font-size-lg: var(
    --str-chat__font-size-size-18
  ); /** Medium emphasis, section labels. */
  --str-chat__typography-font-size-xl: var(
    --str-chat__font-size-size-20
  ); /** Small headings. */
  --str-chat__typography-font-size-2xl: var(
    --str-chat__font-size-size-24
  ); /** Section titles, important headings. */
  --str-chat__typography-font-size-micro: var(
    --str-chat__font-size-size-8
  ); /** Micro text such as timestamps or subtle metadata. */
  --str-chat__typography-line-height-tight: var(
    --str-chat__line-height-line-height-16
  ); /** Compact text, headers, UI labels. */
  --str-chat__typography-line-height-normal: var(
    --str-chat__line-height-line-height-20
  ); /** Default reading line-height for sizes 14–16px. */
  --str-chat__typography-line-height-relaxed: var(
    --str-chat__line-height-line-height-24
  ); /** For larger text sizes or multiline descriptions. */
  --str-chat__radius-none: var(--str-chat__radius-0);
  --str-chat__radius-xxs: var(--str-chat__radius-2);
  --str-chat__radius-xs: var(--str-chat__radius-4);
  --str-chat__radius-sm: var(--str-chat__radius-6);
  --str-chat__radius-md: var(--str-chat__radius-8);
  --str-chat__radius-lg: var(--str-chat__radius-12);
  --str-chat__radius-xl: var(--str-chat__radius-16);
  --str-chat__radius-2xl: var(--str-chat__radius-20);
  --str-chat__radius-max: var(--str-chat__radius-full);
  --str-chat__radius-3xl: var(--str-chat__radius-24);
  --str-chat__radius-4xl: var(--str-chat__radius-32);
  --str-chat__spacing-none: var(
    --str-chat__space-0
  ); /** No spacing. Used for tight component joins. */
  --str-chat__spacing-xxs: var(
    --str-chat__space-4
  ); /** Base unit. Minimal padding, tight gaps. */
  --str-chat__spacing-xs: var(
    --str-chat__space-8
  ); /** Small padding and default vertical gaps. */
  --str-chat__spacing-sm: var(
    --str-chat__space-12
  ); /** Common internal spacing in inputs and buttons. */
  --str-chat__spacing-md: var(
    --str-chat__space-16
  ); /** Default large padding for sections and cards. */
  --str-chat__spacing-xl: var(
    --str-chat__space-24
  ); /** Comfortable spacing for chat bubbles and list items. */
  --str-chat__spacing-2xl: var(
    --str-chat__space-32
  ); /** Larger spacing for panels, modals, and gutters. */
  --str-chat__spacing-3xl: var(
    --str-chat__space-40
  ); /** Used for wide layout spacing and breathing room. */
  --str-chat__spacing-lg: var(
    --str-chat__space-20
  ); /** Medium spacing for grouping elements and section breaks. */
  --str-chat__spacing-xxxs: var(--str-chat__space-2);
  --str-chat__device-safe-area-bottom: var(--str-chat__space-0);
  --str-chat__device-safe-area-top: var(--str-chat__space-0);
  --str-chat__button-radius-lg: var(--str-chat__radius-full);
  --str-chat__button-radius-md: var(--str-chat__radius-full);
  --str-chat__button-radius-sm: var(--str-chat__radius-full);
  --str-chat__button-radius-full: var(--str-chat__radius-full);
  --str-chat__button-visual-height-sm: var(--str-chat__size-32);
  --str-chat__button-visual-height-md: var(--str-chat__size-40);
  --str-chat__button-visual-height-lg: var(--str-chat__size-48);
  --str-chat__button-visual-height-xs: var(--str-chat__size-24);
  /**
   * Minimum interactive hit target size.
   * 
   * iOS / Android: enforce minimum touch target.
   * Web: do not apply a min-width or min-height; size to content.
   * 
   * Note: Web uses a placeholder value in Figma due to variable mode constraints.
   */
  --str-chat__button-hit-target-min-height: var(--str-chat__size-48);
  /**
   * Minimum interactive hit target size.
   * 
   * iOS / Android: enforce minimum touch target.
   * Web: do not apply a min-width or min-height; size to content.
   * 
   * Note: Web uses a placeholder value in Figma due to variable mode constraints.
   */
  --str-chat__button-hit-target-min-width: var(--str-chat__size-48);
  --str-chat__button-primary-bg-liquid-glass: var(--str-chat__base-transparent-0);
  --str-chat__icon-size-xs: var(--str-chat__size-12);
  --str-chat__icon-size-sm: var(--str-chat__size-16);
  --str-chat__icon-size-md: var(--str-chat__size-20);
  --str-chat__icon-size-lg: var(--str-chat__size-32);
  --str-chat__icon-stroke-subtle: var(--str-chat__w120);
  --str-chat__icon-stroke-default: var(--str-chat__w150);
  --str-chat__icon-stroke-emphasis: var(--str-chat__w200);
  --str-chat__emoji-md: var(--str-chat__font-size-size-24);
  --str-chat__emoji-lg: var(--str-chat__font-size-size-32);
  --str-chat__emoji-xl: var(--str-chat__font-size-size-48);
  --str-chat__emoji-2xl: var(--str-chat__font-size-size-64);
  --str-chat__background-core-highlight: var(
    --str-chat__yellow-50
  ); /** A tint for drawing attention to content. Used for highlights and pinned messages. */
  --str-chat__chat-waveform-bar: var(--str-chat__border-core-opacity-strong);
  --str-chat__control-checkbox-bg: var(--str-chat__base-transparent-0);
  --str-chat__control-playback-thumb-border-default: var(
    --str-chat__border-core-opacity-strong
  );
  --str-chat__control-radio-button-bg: var(--str-chat__base-transparent-0);
  --str-chat__control-radio-check-bg: var(--str-chat__base-transparent-0);
  --str-chat__avatar-palette-bg-1: var(--str-chat__blue-150);
  --str-chat__avatar-palette-bg-2: var(--str-chat__cyan-150);
  --str-chat__avatar-palette-bg-3: var(--str-chat__green-150);
  --str-chat__avatar-palette-bg-4: var(--str-chat__purple-150);
  --str-chat__avatar-palette-bg-5: var(--str-chat__yellow-150);
  --str-chat__avatar-palette-text-1: var(--str-chat__blue-900);
  --str-chat__avatar-palette-text-2: var(--str-chat__cyan-900);
  --str-chat__avatar-palette-text-3: var(--str-chat__green-900);
  --str-chat__avatar-palette-text-4: var(--str-chat__purple-900);
  --str-chat__avatar-palette-text-5: var(--str-chat__yellow-900);
  --str-chat__accent-success: var(
    --str-chat__green-400
  ); /** Indicates a positive or completed state. Used for confirmations, sent indicators, and success feedback. */
  --str-chat__accent-warning: var(
    --str-chat__yellow-400
  ); /** Indicates a cautionary state that requires attention. Used for moderation flags and non-critical alerts. */
  --str-chat__accent-error: var(
    --str-chat__red-500
  ); /** Indicates a failure or destructive state. Used for failed messages, validation errors, and deletions. */
  --str-chat__brand-50: var(--str-chat__blue-50);
  --str-chat__brand-100: var(--str-chat__blue-100);
  --str-chat__brand-150: var(--str-chat__blue-150);
  --str-chat__brand-200: var(--str-chat__blue-200);
  --str-chat__brand-300: var(--str-chat__blue-300);
  --str-chat__brand-400: var(--str-chat__blue-400);
  --str-chat__brand-500: var(--str-chat__blue-500);
  --str-chat__brand-600: var(--str-chat__blue-600);
  --str-chat__brand-700: var(--str-chat__blue-700);
  --str-chat__brand-800: var(--str-chat__blue-800);
  --str-chat__brand-900: var(--str-chat__blue-900);
  --str-chat__skeleton-loading-base: var(
    --str-chat__base-transparent-0
  ); /** Base color for the default skeleton loading gradient. Used as the background tone for placeholder surfaces. */
  --str-chat__skeleton-loading-highlight: var(
    --str-chat__background-core-overlay-light
  ); /** Highlight color for the default skeleton loading gradient. Used for the moving shimmer to indicate loading activity. */
  --str-chat__chrome-0: var(--str-chat__base-white);
  --str-chat__chrome-50: var(--str-chat__slate-50);
  --str-chat__chrome-100: var(--str-chat__slate-100);
  --str-chat__chrome-150: var(--str-chat__slate-150);
  --str-chat__chrome-200: var(--str-chat__slate-200);
  --str-chat__chrome-300: var(--str-chat__slate-300);
  --str-chat__chrome-400: var(--str-chat__slate-400);
  --str-chat__chrome-500: var(--str-chat__slate-500);
  --str-chat__chrome-600: var(--str-chat__slate-600);
  --str-chat__chrome-700: var(--str-chat__slate-700);
  --str-chat__chrome-800: var(--str-chat__slate-800);
  --str-chat__chrome-900: var(--str-chat__slate-900);
  --str-chat__chrome-1000: var(--str-chat__base-black);
  --str-chat__device-radius: var(--str-chat__radius-md);
  --str-chat__message-bubble-radius-group-top: var(--str-chat__radius-2xl);
  --str-chat__message-bubble-radius-group-middle: var(--str-chat__radius-2xl);
  --str-chat__message-bubble-radius-group-bottom: var(--str-chat__radius-2xl);
  --str-chat__message-bubble-radius-tail: var(--str-chat__radius-none);
  --str-chat__message-bubble-radius-attachment: var(--str-chat__radius-lg);
  --str-chat__message-bubble-radius-attachment-inline: var(--str-chat__radius-md);
  --str-chat__composer-radius-fixed: var(--str-chat__radius-3xl);
  --str-chat__composer-radius-floating: var(--str-chat__radius-3xl);
  --str-chat__button-primary-border: var(--str-chat__brand-200);
  --str-chat__button-destructive-bg: var(--str-chat__accent-error);
  --str-chat__button-destructive-text: var(--str-chat__accent-error);
  --str-chat__button-destructive-border: var(--str-chat__accent-error);
  --str-chat__emoji-sm: var(--str-chat__typography-font-size-md);
  --str-chat__background-core-app: var(
    --str-chat__chrome-0
  ); /** The outermost application background. Sits behind all surfaces and is generally not overridden directly. */
  --str-chat__background-core-elevation-0: var(
    --str-chat__chrome-0
  ); /** The base layer. Always white, used as the reference point for the elevation scale. Steps above this gain depth in dark mode through progressively lighter backgrounds. */
  --str-chat__background-core-elevation-1: var(
    --str-chat__chrome-0
  ); /** Slightly raised surfaces. Used for content containers that sit directly on the base layer, such as the message list and channel list. */
  --str-chat__background-core-elevation-2: var(
    --str-chat__chrome-0
  ); /** Floating and modal surfaces. Used for popovers, dropdowns, dialogs, and any element that interrupts the content flow. */
  --str-chat__background-core-elevation-3: var(
    --str-chat__chrome-0
  ); /** Used for badge counts that float above other UI elements. */
  --str-chat__background-core-surface-default: var(
    --str-chat__chrome-100
  ); /** Background for sectioned content areas. Used for grouped containers, and distinct content regions. */
  --str-chat__background-core-surface-subtle: var(
    --str-chat__chrome-50
  ); /** A slightly receded background. Used for secondary containers or to create soft visual separation. */
  --str-chat__background-core-surface-card: var(
    --str-chat__chrome-50
  ); /** Background for contained, card-style elements. Matches the surface in light mode but lifts slightly in dark mode to maintain visual separation. */
  --str-chat__background-core-surface-strong: var(
    --str-chat__chrome-150
  ); /** A more prominent background. Used for elements that need to stand out from the main surface. */
  --str-chat__background-core-inverse: var(
    --str-chat__chrome-1000
  ); /** The opposite of the primary surface. Used for tooltips, snackbars, and high-contrast floating elements. */
  --str-chat__background-core-on-accent: var(
    --str-chat__chrome-0
  ); /** Background for elements placed on an accent-colored surface. Ensures legibility against brand colors. */
  --str-chat__background-utility-disabled: var(
    --str-chat__chrome-100
  ); /** Background for non-interactive elements. Flattens the element visually to signal unavailability. */
  --str-chat__border-utility-focused: var(
    --str-chat__brand-150
  ); /** Focus ring for keyboard and accessibility navigation. Uses the brand color to signal input focus. */
  --str-chat__border-utility-success: var(
    --str-chat__accent-success
  ); /** Border for positive or confirmed states. Used on validated inputs and success indicators. */
  --str-chat__border-utility-warning: var(
    --str-chat__accent-warning
  ); /** Border for cautionary states. Used on inputs or elements requiring attention. */
  --str-chat__border-utility-error: var(
    --str-chat__accent-error
  ); /** Border for failure or invalid states. Used on failed inputs and destructive confirmations. */
  --str-chat__border-utility-disabled: var(
    --str-chat__chrome-100
  ); /** Border for non-interactive elements. Matches the disabled surface to visually flatten the element. */
  --str-chat__border-utility-disabled-on-surface: var(
    --str-chat__chrome-150
  ); /** Border for disabled elements on elevated surfaces. Stays visually distinct from the surface without drawing attention to a non-interactive element. */
  --str-chat__border-core-default: var(
    --str-chat__chrome-150
  ); /** Standard border for surfaces and containers. Used for input fields, cards, and dividers on neutral backgrounds. */
  --str-chat__border-core-subtle: var(
    --str-chat__chrome-100
  ); /** A lighter border for minimal separation. Used where a full-strength border would feel too heavy. */
  --str-chat__border-core-strong: var(
    --str-chat__chrome-300
  ); /** An emphatic border for elements that need clear definition. Used for focused containers and prominent dividers. */
  --str-chat__border-core-inverse: var(
    --str-chat__chrome-0
  ); /** Used on dark backgrounds. */
  --str-chat__border-core-on-accent: var(
    --str-chat__chrome-0
  ); /** Border on accent-colored surfaces. Stays white in both modes since the accent background doesn't invert. */
  --str-chat__border-core-on-surface: var(
    --str-chat__chrome-300
  ); /** Border for elements sitting on elevated surfaces. Uses a stronger value than default to maintain visible separation when the background is darker. */
  --str-chat__border-core-on-inverse: var(
    --str-chat__chrome-0
  ); /** Border on inverse-colored surfaces. Stays legible when the background flips between light and dark mode. */
  --str-chat__chat-bg-outgoing: var(
    --str-chat__brand-100
  ); /** Outgoing bubble background. */
  --str-chat__chat-bg-attachment-outgoing: var(
    --str-chat__brand-150
  ); /** Attachment card in outgoing bubble. */
  --str-chat__chat-text-outgoing: var(--str-chat__brand-900); /** Message body text. */
  --str-chat__chat-border-outgoing: var(--str-chat__brand-100);
  --str-chat__chat-border-on-chat-outgoing: var(--str-chat__brand-300);
  --str-chat__chat-reply-indicator-incoming: var(
    --str-chat__chrome-400
  ); /** Reply indicator shading for incoming. */
  --str-chat__chat-reply-indicator-outgoing: var(
    --str-chat__brand-400
  ); /** Reply indicator shading for outgoing. */
  --str-chat__chat-poll-progress-track-outgoing: var(--str-chat__brand-200);
  --str-chat__chat-thread-connector-outgoing: var(--str-chat__brand-150);
  --str-chat__presence-bg-online: var(
    --str-chat__accent-success
  ); /** The green online indicator. Uses success accent in normal themes. In high-contrast, color is dropped and replaced with strong black for maximum clarity. */
  --str-chat__system-text: var(--str-chat__chrome-1000);
  --str-chat__badge-bg-error: var(--str-chat__accent-error);
  --str-chat__badge-bg-inverse: var(--str-chat__chrome-1000);
  --str-chat__text-primary: var(
    --str-chat__chrome-900
  ); /** Main body text. Used for message content, titles, and any text that carries primary meaning. */
  --str-chat__text-secondary: var(
    --str-chat__chrome-700
  ); /** Supporting metadata text. Used for timestamps, subtitles, and secondary labels. */
  --str-chat__text-tertiary: var(
    --str-chat__chrome-500
  ); /** De-emphasized text. Used for hints, placeholders, and lowest-priority supporting information. */
  --str-chat__text-on-inverse: var(
    --str-chat__chrome-0
  ); /** Text on inverse-colored surfaces. Flips between light and dark to maintain legibility when the background inverts. */
  --str-chat__text-on-accent: var(
    --str-chat__chrome-0
  ); /** Text on accent-colored surfaces. Stays white in both light and dark mode since the accent background doesn't invert. */
  --str-chat__text-disabled: var(
    --str-chat__chrome-300
  ); /** Text for non-interactive or unavailable states. Communicates that an element can't be interacted with. */
  --str-chat__text-link: var(
    --str-chat__brand-500
  ); /** Hyperlinks and inline actions. Uses the brand color to signal interactivity within text content. */
  --str-chat__avatar-bg-default: var(--str-chat__avatar-palette-bg-1);
  --str-chat__avatar-bg-placeholder: var(--str-chat__chrome-150);
  --str-chat__avatar-text-default: var(--str-chat__avatar-palette-text-1);
  --str-chat__avatar-text-placeholder: var(--str-chat__chrome-500);
  --str-chat__avatar-presence-bg-online: var(
    --str-chat__accent-success
  ); /** The green online indicator. Uses success accent in normal themes. In high-contrast, color is dropped and replaced with strong black for maximum clarity. */
  --str-chat__accent-primary: var(
    --str-chat__brand-500
  ); /** The main brand color. Used for interactive elements, buttons, links, and primary actions. Override this to apply your brand color across the SDK. */
  --str-chat__accent-neutral: var(
    --str-chat__chrome-500
  ); /** A mid-tone gray for de-emphasized UI elements. */
  --str-chat__button-primary-bg: var(--str-chat__accent-primary);
  --str-chat__button-primary-text: var(--str-chat__accent-primary);
  --str-chat__button-primary-text-on-accent: var(--str-chat__text-on-accent);
  --str-chat__button-primary-text-on-dark: var(--str-chat__text-on-inverse);
  --str-chat__button-primary-border-on-dark: var(--str-chat__border-core-on-inverse);
  --str-chat__button-secondary-bg: var(--str-chat__background-core-surface-default);
  --str-chat__button-secondary-bg-liquid-glass: var(
    --str-chat__background-core-elevation-0
  );
  --str-chat__button-secondary-text: var(--str-chat__text-primary);
  --str-chat__button-secondary-text-on-accent: var(--str-chat__text-primary);
  --str-chat__button-secondary-text-on-dark: var(--str-chat__text-on-inverse);
  --str-chat__button-secondary-border: var(--str-chat__border-core-default);
  --str-chat__button-secondary-border-on-dark: var(--str-chat__border-core-on-inverse);
  --str-chat__button-destructive-bg-liquid-glass: var(
    --str-chat__background-core-elevation-0
  );
  --str-chat__button-destructive-text-on-accent: var(--str-chat__text-on-accent);
  --str-chat__button-destructive-text-on-dark: var(--str-chat__text-on-inverse);
  --str-chat__button-destructive-border-on-dark: var(--str-chat__text-on-inverse);
  --str-chat__border-utility-active: var(
    --str-chat__accent-primary
  ); /** Active input border. Used for focused text fields and selected form elements. */
  --str-chat__chat-bg-incoming: var(
    --str-chat__background-core-surface-default
  ); /** Incoming bubble background. */
  --str-chat__chat-bg-attachment-incoming: var(
    --str-chat__background-core-surface-strong
  ); /** Attachment card in incoming bubble. */
  --str-chat__chat-text-incoming: var(--str-chat__text-primary); /** Message body text. */
  --str-chat__chat-text-username: var(--str-chat__text-secondary); /** Username label. */
  --str-chat__chat-text-timestamp: var(--str-chat__text-tertiary); /** Time labels. */
  --str-chat__chat-text-read: var(--str-chat__accent-primary);
  --str-chat__chat-text-mention: var(--str-chat__text-link); /** Mention styling. */
  --str-chat__chat-text-link: var(
    --str-chat__text-link
  ); /** Links inside message bubbles. */
  --str-chat__chat-text-reaction: var(
    --str-chat__text-secondary
  ); /** Reaction count text. */
  --str-chat__chat-text-system: var(
    --str-chat__text-secondary
  ); /** System messages like date separators. */
  --str-chat__chat-border-incoming: var(--str-chat__border-core-subtle);
  --str-chat__chat-border-on-chat-incoming: var(--str-chat__border-core-strong);
  --str-chat__chat-waveform-bar-playing: var(--str-chat__accent-primary);
  --str-chat__chat-poll-progress-fill-outgoing: var(--str-chat__accent-primary);
  --str-chat__chat-thread-connector-incoming: var(--str-chat__border-core-default);
  --str-chat__input-text-default: var(
    --str-chat__text-primary
  ); /** Main text inside the chat input. */
  --str-chat__input-text-placeholder: var(
    --str-chat__text-tertiary
  ); /** Placeholder text for the input. Lower emphasis than main text. */
  --str-chat__input-text-disabled: var(
    --str-chat__text-disabled
  ); /** Placeholder text for the input. Lower emphasis than main text. */
  --str-chat__input-text-icon: var(
    --str-chat__text-tertiary
  ); /** Icons inside the input area (attach, emoji, camera, send when idle). Matches secondary text strength. */
  --str-chat__input-send-icon: var(
    --str-chat__accent-primary
  ); /** Default send icon color in the input. Uses the brand accent. */
  --str-chat__input-send-icon-disabled: var(
    --str-chat__text-disabled
  ); /** Send icon when disabled (e.g. empty input). */
  --str-chat__reaction-bg: var(--str-chat__background-core-elevation-3);
  --str-chat__reaction-border: var(--str-chat__border-core-default);
  --str-chat__reaction-text: var(--str-chat__text-primary);
  --str-chat__reaction-emoji: var(--str-chat__text-primary);
  --str-chat__presence-border: var(
    --str-chat__border-core-inverse
  ); /** The thin outline around the presence dot. Matches the local surface behind the avatar. In high-contrast it uses the base surface. */
  --str-chat__presence-bg-offline: var(
    --str-chat__accent-neutral
  ); /** The green online indicator. Uses success accent in normal themes. In high-contrast, color is dropped and replaced with strong black for maximum clarity. */
  --str-chat__system-caret: var(--str-chat__accent-primary);
  --str-chat__badge-bg-default: var(--str-chat__background-core-elevation-3);
  --str-chat__badge-bg-primary: var(--str-chat__accent-primary);
  --str-chat__badge-bg-neutral: var(--str-chat__accent-neutral);
  --str-chat__badge-text: var(--str-chat__text-primary);
  --str-chat__badge-text-on-inverse: var(--str-chat__text-on-inverse);
  --str-chat__badge-text-on-accent: var(--str-chat__text-on-accent);
  --str-chat__badge-border: var(--str-chat__border-core-on-inverse);
  --str-chat__control-remove-control-bg: var(--str-chat__background-core-inverse);
  --str-chat__control-remove-control-icon: var(--str-chat__text-on-inverse);
  --str-chat__control-remove-control-border: var(--str-chat__border-core-on-inverse);
  --str-chat__control-progress-bar-fill: var(--str-chat__accent-neutral);
  --str-chat__control-progress-bar-track: var(--str-chat__background-core-surface-strong);
  --str-chat__control-toggle-switch-bg: var(--str-chat__accent-neutral);
  --str-chat__control-toggle-switch-bg-selected: var(--str-chat__accent-primary);
  --str-chat__control-toggle-switch-bg-disabled: var(
    --str-chat__background-utility-disabled
  );
  --str-chat__control-toggle-switch-knob: var(--str-chat__background-core-on-accent);
  --str-chat__control-playback-toggle-text: var(--str-chat__text-primary);
  --str-chat__control-playback-toggle-border: var(--str-chat__border-core-default);
  --str-chat__control-checkbox-border: var(--str-chat__border-core-default);
  --str-chat__control-checkbox-bg-selected: var(--str-chat__accent-primary);
  --str-chat__control-checkbox-icon: var(--str-chat__text-on-accent);
  --str-chat__control-play-button-icon: var(--str-chat__text-on-accent);
  --str-chat__control-playback-thumb-bg-default: var(
    --str-chat__background-core-on-accent
  );
  --str-chat__control-playback-thumb-bg-active: var(--str-chat__accent-primary);
  --str-chat__control-playback-thumb-border-active: var(
    --str-chat__border-core-on-accent
  );
  --str-chat__control-radio-button-border: var(--str-chat__border-core-default);
  --str-chat__control-radio-button-bg-selected: var(--str-chat__accent-primary);
  --str-chat__control-radio-button-indicator: var(--str-chat__text-on-accent);
  --str-chat__control-radio-check-border: var(--str-chat__border-core-default);
  --str-chat__control-radio-check-bg-selected: var(--str-chat__accent-primary);
  --str-chat__control-radio-check-icon: var(--str-chat__text-on-accent);
  --str-chat__control-chip-border: var(--str-chat__border-core-default);
  --str-chat__control-chip-text: var(--str-chat__text-primary);
  --str-chat__avatar-presence-bg-offline: var(
    --str-chat__accent-neutral
  ); /** The green online indicator. Uses success accent in normal themes. In high-contrast, color is dropped and replaced with strong black for maximum clarity. */
  --str-chat__avatar-presence-border: var(
    --str-chat__border-core-on-inverse
  ); /** The thin outline around the presence dot. Matches the local surface behind the avatar. In high-contrast it uses the base surface. */
  --str-chat__chat-text-typing-indicator: var(
    --str-chat__chat-text-incoming
  ); /** Typing indicator chip. */
  --str-chat__chat-poll-progress-track-incoming: var(
    --str-chat__control-progress-bar-track
  );
  --str-chat__chat-poll-progress-fill-incoming: var(
    --str-chat__control-progress-bar-fill
  );
}

.str-chat__theme-dark,
.str-chat:not(.str-chat__theme-dark) *:not(.str-chat__theme-dark) .str-chat__theme-inverse {
  --str-chat__background-core-overlay-light: rgba(
    0,
    0,
    0,
    0.75
  ); /** A light semi-transparent layer. Used to lighten surfaces and for hover states on dark backgrounds. */
  --str-chat__background-core-overlay-dark: rgba(
    0,
    0,
    0,
    0.5
  ); /** A dark semi-transparent layer. Used for image overlays. */
  --str-chat__background-core-scrim: rgba(
    0,
    0,
    0,
    0.75
  ); /** A heavy semi-transparent layer. Used behind sheets, drawers, and modals to separate them from content. */
  --str-chat__background-utility-hover: rgba(
    255,
    255,
    255,
    0.15
  ); /** A semi-transparent overlay applied on pointer hover. Sits on top of any surface without replacing it. */
  --str-chat__background-utility-pressed: rgba(
    255,
    255,
    255,
    0.2
  ); /** A slightly stronger overlay applied during an active press or tap. Provides tactile feedback on interactive elements. */
  --str-chat__background-utility-selected: rgba(
    255,
    255,
    255,
    0.25
  ); /** Indicates an active or selected state. Used for selected messages, active list items, and toggled controls. */
  --str-chat__border-utility-selected: rgba(
    255,
    255,
    255,
    0.15
  ); /** Border for selected or active items. Used for highlighted list items and active controls. */
  --str-chat__border-utility-hover: rgba(
    255,
    255,
    255,
    0.1
  ); /** Applied on pointer hover over bordered interactive elements. */
  --str-chat__border-utility-pressed: rgba(
    255,
    255,
    255,
    0.2
  ); /** Applied during an active press on bordered interactive elements. */
  --str-chat__border-core-opacity-subtle: rgba(
    255,
    255,
    255,
    0.2
  ); /** A very light transparent border. Used as a frame treatment on images and media attachments. */
  --str-chat__border-core-opacity-strong: rgba(
    255,
    255,
    255,
    0.25
  ); /** A stronger transparent border for elements on colored or dark backgrounds. Used for waveform bars and similar treatments. */
  --str-chat__system-bg-blur: rgba(0, 0, 0, 0.01);
  --str-chat__system-scrollbar: rgba(255, 255, 255, 0.5);
  /**
   * Minimum interactive hit target size.
   * 
   * iOS / Android: enforce minimum touch target.
   * Web: do not apply a min-width or min-height; size to content.
   * 
   * Note: Web uses a placeholder value in Figma due to variable mode constraints.
   */
  /**
   * Minimum interactive hit target size.
   * 
   * iOS / Android: enforce minimum touch target.
   * Web: do not apply a min-width or min-height; size to content.
   * 
   * Note: Web uses a placeholder value in Figma due to variable mode constraints.
   */
  --str-chat__background-core-highlight: var(
    --str-chat__yellow-800
  ); /** A tint for drawing attention to content. Used for highlights and pinned messages. */
  --str-chat__avatar-palette-bg-1: var(--str-chat__blue-600);
  --str-chat__avatar-palette-bg-2: var(--str-chat__cyan-600);
  --str-chat__avatar-palette-bg-3: var(--str-chat__green-600);
  --str-chat__avatar-palette-bg-4: var(--str-chat__purple-600);
  --str-chat__avatar-palette-bg-5: var(--str-chat__yellow-600);
  --str-chat__avatar-palette-text-1: var(--str-chat__blue-100);
  --str-chat__avatar-palette-text-2: var(--str-chat__cyan-100);
  --str-chat__avatar-palette-text-3: var(--str-chat__green-100);
  --str-chat__avatar-palette-text-4: var(--str-chat__purple-100);
  --str-chat__avatar-palette-text-5: var(--str-chat__yellow-100);
  --str-chat__accent-success: var(
    --str-chat__green-300
  ); /** Indicates a positive or completed state. Used for confirmations, sent indicators, and success feedback. */
  --str-chat__accent-warning: var(
    --str-chat__yellow-300
  ); /** Indicates a cautionary state that requires attention. Used for moderation flags and non-critical alerts. */
  --str-chat__accent-error: var(
    --str-chat__red-400
  ); /** Indicates a failure or destructive state. Used for failed messages, validation errors, and deletions. */
  --str-chat__brand-50: var(--str-chat__blue-900);
  --str-chat__brand-100: var(--str-chat__blue-800);
  --str-chat__brand-150: var(--str-chat__blue-700);
  --str-chat__brand-200: var(--str-chat__blue-600);
  --str-chat__brand-300: var(--str-chat__blue-500);
  --str-chat__brand-500: var(--str-chat__blue-300);
  --str-chat__brand-600: var(--str-chat__blue-200);
  --str-chat__brand-700: var(--str-chat__blue-150);
  --str-chat__brand-800: var(--str-chat__blue-100);
  --str-chat__brand-900: var(--str-chat__blue-50);
  --str-chat__chrome-0: var(--str-chat__base-black);
  --str-chat__chrome-50: var(--str-chat__neutral-900);
  --str-chat__chrome-100: var(--str-chat__neutral-800);
  --str-chat__chrome-150: var(--str-chat__neutral-700);
  --str-chat__chrome-200: var(--str-chat__neutral-600);
  --str-chat__chrome-300: var(--str-chat__neutral-500);
  --str-chat__chrome-400: var(--str-chat__neutral-400);
  --str-chat__chrome-500: var(--str-chat__neutral-300);
  --str-chat__chrome-600: var(--str-chat__neutral-200);
  --str-chat__chrome-700: var(--str-chat__neutral-150);
  --str-chat__chrome-800: var(--str-chat__neutral-100);
  --str-chat__chrome-900: var(--str-chat__neutral-50);
  --str-chat__chrome-1000: var(--str-chat__base-white);
  --str-chat__background-core-elevation-1: var(
    --str-chat__chrome-50
  ); /** Slightly raised surfaces. Used for content containers that sit directly on the base layer, such as the message list and channel list. */
  --str-chat__background-core-elevation-2: var(
    --str-chat__chrome-100
  ); /** Floating and modal surfaces. Used for popovers, dropdowns, dialogs, and any element that interrupts the content flow. */
  --str-chat__background-core-elevation-3: var(
    --str-chat__chrome-200
  ); /** Used for badge counts that float above other UI elements. */
  --str-chat__background-core-surface-card: var(
    --str-chat__chrome-100
  ); /** Background for contained, card-style elements. Matches the surface in light mode but lifts slightly in dark mode to maintain visual separation. */
  --str-chat__background-core-on-accent: var(
    --str-chat__chrome-1000
  ); /** Background for elements placed on an accent-colored surface. Ensures legibility against brand colors. */
  --str-chat__border-core-default: var(
    --str-chat__chrome-200
  ); /** Standard border for surfaces and containers. Used for input fields, cards, and dividers on neutral backgrounds. */
  --str-chat__border-core-on-accent: var(
    --str-chat__chrome-1000
  ); /** Border on accent-colored surfaces. Stays white in both modes since the accent background doesn't invert. */
  --str-chat__text-on-accent: var(
    --str-chat__chrome-1000
  ); /** Text on accent-colored surfaces. Stays white in both light and dark mode since the accent background doesn't invert. */
  --str-chat__text-link: var(
    --str-chat__brand-600
  ); /** Hyperlinks and inline actions. Uses the brand color to signal interactivity within text content. */
  --str-chat__accent-primary: var(
    --str-chat__brand-400
  ); /** The main brand color. Used for interactive elements, buttons, links, and primary actions. Override this to apply your brand color across the SDK. */
}

/* Numeric styles are used for compact, layout-critical UI elements such as:
    - badge counts,
    - avatar initials,
    - keyboard key labels, and
    - numeric labels inside pills.
    Numeric tokens are classified as layout-stable UI indicators, not content text. */
.str-chat {
  /* The font used in the chat, by default, we use [preinstalled OS fonts](https://systemfontstack.com/) */
  --str-chat__font-family:
    var(--str-chat__typography-font-family-sans), -apple-system, BlinkMacSystemFont,
    avenir next, avenir, segoe ui, helvetica neue, Adwaita Sans, Cantarell, Ubuntu,
    roboto, noto, helvetica, arial, sans-serif;
  --str-chat__font-heading-xs: normal var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-sm) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-heading-sm: normal var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-md) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-heading-md: normal var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-lg) /
    var(--str-chat__typography-line-height-relaxed) var(--str-chat__font-family);
  --str-chat__font-heading-lg: normal var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-xl) /
    var(--str-chat__typography-line-height-relaxed) var(--str-chat__font-family);
  --str-chat__font-body-default: normal var(--str-chat__typography-font-weight-regular)
    var(--str-chat__typography-font-size-md) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-body-emphasis: normal var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-md) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-body-link: normal var(--str-chat__typography-font-weight-regular)
    var(--str-chat__typography-font-size-md) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-body-link-emphasis: normal
    var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-md) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-caption-default: normal var(--str-chat__typography-font-weight-regular)
    var(--str-chat__typography-font-size-sm) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-caption-emphasis: normal
    var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-sm) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-caption-link: normal var(--str-chat__typography-font-weight-regular)
    var(--str-chat__typography-font-size-sm) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-caption-link-emphasis: normal
    var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-sm) /
    var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
  --str-chat__font-metadata-default: normal
    var(--str-chat__typography-font-weight-regular)
    var(--str-chat__typography-font-size-xs) /
    var(--str-chat__typography-line-height-tight) var(--str-chat__font-family);
  --str-chat__font-metadata-emphasis: normal
    var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-xs) /
    var(--str-chat__typography-line-height-tight) var(--str-chat__font-family);
  --str-chat__font-metadata-link: normal var(--str-chat__typography-font-weight-regular)
    var(--str-chat__typography-font-size-xs) /
    var(--str-chat__typography-line-height-tight) var(--str-chat__font-family);
  --str-chat__font-metadata-link-emphasis: normal
    var(--str-chat__typography-font-weight-semi-bold)
    var(--str-chat__typography-font-size-xs) /
    var(--str-chat__typography-line-height-tight) var(--str-chat__font-family);
  --str-chat__font-numeric-sm: normal var(--str-chat__typography-font-weight-bold)
    var(--str-chat__typography-font-size-micro) / 100% var(--str-chat__font-family);
  --str-chat__font-numeric-md: normal var(--str-chat__typography-font-weight-bold)
    var(--str-chat__typography-font-size-xxs) / 100% var(--str-chat__font-family);
  --str-chat__font-numeric-lg: normal var(--str-chat__typography-font-weight-bold)
    var(--str-chat__typography-font-size-xs) / 100% var(--str-chat__font-family);
  --str-chat__font-numeric-xl: normal var(--str-chat__typography-font-weight-bold)
    var(--str-chat__typography-font-size-sm) / 100% var(--str-chat__font-family);
}

/*
Shadows on Web communicate visual separation and hierarchy through composed box-shadow layers.

Unlike iOS (single shadow token) and Android (dp elevation), web elevation is constructed
from multiple shadow layers to simulate depth and ambient light.

Each shadow level consists of predefined layered shadows.
Components must use these tokens instead of defining custom box-shadow values.

Higher levels combine stronger blur, increased offset, and additional ambient layers
to create clearer separation from the base surface.
 */
.str-chat,
.str-chat__theme-light {
  --str-chat__box-shadow-1: var(--str-chat__light-elevation-1);
  --str-chat__box-shadow-2: var(--str-chat__light-elevation-2);
  --str-chat__box-shadow-3: var(--str-chat__light-elevation-3);
  --str-chat__box-shadow-4: var(--str-chat__light-elevation-4);
}

.str-chat__theme-dark,
.str-chat:not(.str-chat__theme-dark) *:not(.str-chat__theme-dark) .str-chat__theme-inverse {
  --str-chat__box-shadow-1: var(--str-chat__dark-elevation-1);
  --str-chat__box-shadow-2: var(--str-chat__dark-elevation-2);
  --str-chat__box-shadow-3: var(--str-chat__dark-elevation-3);
  --str-chat__box-shadow-4: var(--str-chat__dark-elevation-4);
}

@layer minimal-normalize {
  .str-chat *,
  .str-chat ::before,
  .str-chat ::after {
    box-sizing: border-box;
  }
  .str-chat button,
  .str-chat input,
  .str-chat optgroup,
  .str-chat select,
  .str-chat textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
  }
}
.str-chat {
  --str-chat__focus-outline-color: var(--str-chat__border-utility-focused);
  --str-chat__focus-outline: 2px solid var(--str-chat__focus-outline-color);
  --str-chat__focus-outline-offset: 2px;
  font: var(--str-chat__font-body-default);
  letter-spacing: var(--typography-letter-spacing-default);
  color: var(--str-chat__text-primary);
}
.str-chat *:not(:disabled):focus-visible {
  outline: var(--str-chat__focus-outline);
  outline-offset: var(--str-chat__focus-outline-offset, 2px);
}
.str-chat {
  /* Chrome, Safari, Edge, Opera */
}
.str-chat input::-webkit-outer-spin-button,
.str-chat input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.str-chat {
  /* Firefox */
}
.str-chat input[type=number] {
  -moz-appearance: textfield;
}
.str-chat input::placeholder,
.str-chat textarea::placeholder {
  color: var(--str-chat__input-text-placeholder);
}

.str-chat__icon {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentColor;
}
[dir=rtl] .str-chat__icon[data-rtl-mirror] {
  transform: scaleX(-1);
}

.str-chat__icon--exclamation-mark {
  stroke: currentColor;
}

.str-chat .str-chat__file-icon {
  fill: none;
}
.str-chat .str-chat__file-icon .str-chat__file-icon__label {
  fill: white;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1px;
  text-anchor: middle;
}
.str-chat .str-chat__file-icon {
  /* Hide label via CSS: .str-chat__file-icon__label { display: none; } then add .str-chat__file-icon--no-label for centering */
}
.str-chat .str-chat__file-icon.str-chat__file-icon--no-label .str-chat__file-icon__graphic {
  transform: translate(0, 6); /* viewBox units: center graphic in (0 0 32 40) when label hidden */
}
.str-chat .str-chat__file-icon.str-chat__file-icon--size-sm .str-chat__file-icon__label {
  font-size: 0;
  height: 0;
}
.str-chat .str-chat__file-icon {
  /* sm size hides label visually; center the graphic */
}
.str-chat .str-chat__file-icon.str-chat__file-icon--size-sm .str-chat__file-icon__graphic {
  transform: translate(0, 6);
}
.str-chat .str-chat__file-icon.str-chat__file-icon--size-md .str-chat__file-icon__label {
  font-size: 8px;
}
.str-chat .str-chat__file-icon.str-chat__file-icon--size-lg .str-chat__file-icon__label {
  font-size: 10px;
}
.str-chat .str-chat__file-icon.str-chat__file-icon--size-xl .str-chat__file-icon__label {
  font-size: 12px;
}

.str-chat__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--str-chat__typography-font-weight-bold);
  border-radius: var(--str-chat__radius-max);
  line-height: 1;
  border-style: solid;
}

.str-chat__badge--variant-default {
  background: var(--str-chat__badge-bg-default);
  color: var(--str-chat__badge-text);
  border-color: var(--str-chat__badge-border);
}

.str-chat__badge--variant-primary {
  background: var(--str-chat__badge-bg-primary);
  color: var(--str-chat__badge-text-on-accent);
  border-color: var(--str-chat__badge-border);
}

.str-chat__badge--variant-error {
  background: var(--str-chat__badge-bg-error);
  color: var(--str-chat__badge-text-on-accent);
  border-color: var(--str-chat__badge-border);
}

.str-chat__badge--variant-neutral {
  background: var(--str-chat__badge-bg-neutral);
  color: var(--str-chat__badge-text-on-accent);
  border-color: var(--str-chat__badge-border);
}

.str-chat__badge--variant-inverse {
  background: var(--str-chat__badge-bg-inverse);
  color: var(--str-chat__badge-text-on-inverse);
  border-color: var(--str-chat__badge-border);
}

.str-chat__badge--size-sm {
  font-size: var(--str-chat__typography-font-size-xxs);
  min-width: 16px;
  min-height: 16px;
  padding-inline: var(--str-chat__spacing-xxxs);
  border-width: 1px;
}

.str-chat__badge--size-md {
  font-size: var(--str-chat__typography-font-size-xs);
  min-width: 20px;
  min-height: 20px;
  padding-inline: var(--str-chat__spacing-xxs);
  border-width: 2px;
}

.str-chat__badge--size-lg {
  font-size: var(--str-chat__typography-font-size-sm);
  min-width: 24px;
  min-height: 24px;
  padding-inline: var(--str-chat__spacing-xs);
  border-width: 2px;
}

.str-chat__badge--variant-counter {
  border-radius: var(--str-chat__radius-max);
  border: 1px solid var(--str-chat__border-core-subtle);
  background: var(--str-chat__badge-bg-default);
  font: var(--str-chat__font-numeric-xl);
  color: var(--str-chat__badge-text);
  box-shadow: var(--str-chat__box-shadow-2);
}
.str-chat__badge--variant-counter.str-chat__badge--size-xs {
  min-width: 20px;
  min-height: 20px;
  padding-inline: var(--str-chat__spacing-xxs);
  font: var(--str-chat__font-numeric-md);
}
.str-chat__badge--variant-counter.str-chat__badge--size-sm {
  min-width: 24px;
  min-height: 24px;
  padding-inline: var(--str-chat__spacing-xs);
}
.str-chat__badge--variant-counter.str-chat__badge--size-md {
  min-width: 32px;
  min-height: 32px;
  padding-inline: var(--str-chat__spacing-xs);
}
.str-chat__badge--variant-counter.str-chat__badge--size-lg {
  min-width: 40px;
  min-height: 40px;
  padding-inline: var(--str-chat__spacing-sm);
}

.str-chat__badge--variant-error.str-chat__badge--size-xs {
  min-width: 16px;
  min-height: 16px;
}
.str-chat__badge--variant-error.str-chat__badge--size-sm {
  min-width: 20px;
  min-height: 20px;
}
.str-chat__badge--variant-error.str-chat__badge--size-md {
  min-width: 24px;
  min-height: 24px;
}

.str-chat__media-badge {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  position: absolute;
  bottom: var(--str-chat__spacing-xs);
  inset-inline-start: var(--str-chat__spacing-xs);
  padding: var(--str-chat__spacing-xxs) var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-max);
  background: var(--str-chat__badge-bg-inverse);
  color: var(--str-chat__badge-text-on-inverse);
  font: var(--str-chat__font-numeric-md);
  overflow: hidden;
  text-overflow: ellipsis;
}
.str-chat__media-badge .str-chat__icon {
  width: var(--str-chat__icon-size-xs);
  height: var(--str-chat__icon-size-xs);
  fill: currentColor;
}

.str-chat .str-chat__image-placeholder {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--str-chat__background-core-overlay-light);
}
.str-chat .str-chat__image-placeholder svg {
  fill: var(--str-chat__accent-neutral);
  width: min(var(--str-chat__icon-size-lg, 32px), 50%);
  height: min(var(--str-chat__icon-size-lg, 32px), 50%);
  flex-shrink: 0;
}

.str-chat .str-chat__button {
  background: none;
  border: none;
  padding: 0;
  position: relative; /* creates positioning context for pseudo ::after overlay */
  white-space: nowrap;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font: var(--str-chat__font-heading-xs);
  text-transform: capitalize;
}
.str-chat .str-chat__button.str-chat__button--solid.str-chat__button--primary {
  background-color: var(--str-chat__button-primary-bg);
  color: var(--str-chat__button-primary-text-on-accent);
}
.str-chat .str-chat__button.str-chat__button--solid.str-chat__button--secondary {
  background-color: var(--str-chat__button-secondary-bg);
  color: var(--str-chat__button-secondary-text-on-accent);
}
.str-chat .str-chat__button.str-chat__button--solid.str-chat__button--destructive {
  background-color: var(--str-chat__button-destructive-bg);
  color: var(--str-chat__button-destructive-text-on-accent);
}
.str-chat .str-chat__button.str-chat__button--solid:disabled {
  background-color: var(--str-chat__background-utility-disabled);
}
.str-chat .str-chat__button.str-chat__button--ghost.str-chat__button--primary {
  color: var(--str-chat__button-primary-text);
}
.str-chat .str-chat__button.str-chat__button--ghost.str-chat__button--secondary {
  color: var(--str-chat__button-secondary-text);
}
.str-chat .str-chat__button.str-chat__button--ghost.str-chat__button--destructive {
  color: var(--str-chat__button-destructive-text);
}
.str-chat .str-chat__button.str-chat__button--outline.str-chat__button--primary {
  color: var(--str-chat__button-primary-text);
  border-color: var(--str-chat__button-primary-border);
}
.str-chat .str-chat__button.str-chat__button--outline.str-chat__button--secondary {
  color: var(--str-chat__button-secondary-text);
  border-color: var(--str-chat__button-secondary-border);
}
.str-chat .str-chat__button.str-chat__button--outline.str-chat__button--destructive {
  color: var(--str-chat__button-destructive-text);
  border-color: var(--str-chat__button-destructive-border);
}
.str-chat .str-chat__button.str-chat__button--outline {
  border-width: 1px;
  border-style: solid;
}
.str-chat .str-chat__button.str-chat__button--solid:not(:disabled):hover::after, .str-chat .str-chat__button.str-chat__button--outline:not(:disabled):hover::after, .str-chat .str-chat__button.str-chat__button--ghost:not(:disabled):hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__background-utility-hover);
  pointer-events: none;
}
.str-chat .str-chat__button.str-chat__button--solid[aria-expanded=true]::after, .str-chat .str-chat__button.str-chat__button--solid:not(:disabled):active::after, .str-chat .str-chat__button.str-chat__button--outline[aria-expanded=true]::after, .str-chat .str-chat__button.str-chat__button--outline:not(:disabled):active::after, .str-chat .str-chat__button.str-chat__button--ghost[aria-expanded=true]::after, .str-chat .str-chat__button.str-chat__button--ghost:not(:disabled):active::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__background-utility-pressed);
  pointer-events: none;
}
.str-chat .str-chat__button.str-chat__button--solid:not(:disabled):focus-visible, .str-chat .str-chat__button.str-chat__button--outline:not(:disabled):focus-visible, .str-chat .str-chat__button.str-chat__button--ghost:not(:disabled):focus-visible {
  outline: 2px solid var(--str-chat__border-utility-focused);
  outline-offset: 2px;
}
.str-chat .str-chat__button.str-chat__button--solid:not(:disabled)[aria-pressed=true]::after, .str-chat .str-chat__button.str-chat__button--outline:not(:disabled)[aria-pressed=true]::after, .str-chat .str-chat__button.str-chat__button--ghost:not(:disabled)[aria-pressed=true]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__background-utility-selected);
  pointer-events: none;
}
.str-chat .str-chat__button.str-chat__button--solid:disabled, .str-chat .str-chat__button.str-chat__button--outline:disabled, .str-chat .str-chat__button.str-chat__button--ghost:disabled {
  color: var(--str-chat__text-disabled);
  cursor: default;
}
.str-chat .str-chat__button.str-chat__button--outline:disabled {
  border-color: var(--str-chat__border-utility-disabled);
}
.str-chat .str-chat__button.str-chat__button--floating {
  box-shadow: var(--str-chat__box-shadow-2);
}
.str-chat .str-chat__button::after {
  border-radius: inherit;
}
.str-chat .str-chat__button.str-chat__button--size-lg {
  padding-block: var(--str-chat__button-padding-y-lg);
  padding-inline: var(--str-chat__button-padding-x-with-label-lg);
  border-radius: var(--str-chat__button-radius-lg);
}
.str-chat .str-chat__button.str-chat__button--size-lg.str-chat__button--circular {
  padding-inline: var(--str-chat__button-padding-x-icon-only-lg);
}
.str-chat .str-chat__button.str-chat__button--size-md {
  padding-block: var(--str-chat__button-padding-y-md);
  padding-inline: var(--str-chat__button-padding-x-with-label-md);
  border-radius: var(--str-chat__button-radius-md);
}
.str-chat .str-chat__button.str-chat__button--size-md.str-chat__button--circular {
  padding-inline: var(--str-chat__button-padding-x-icon-only-md);
}
.str-chat .str-chat__button.str-chat__button--size-sm {
  padding-block: var(--str-chat__button-padding-y-sm);
  padding-inline: var(--str-chat__button-padding-x-with-label-sm);
  border-radius: var(--str-chat__button-radius-md);
}
.str-chat .str-chat__button.str-chat__button--size-sm.str-chat__button--circular {
  padding-inline: var(--str-chat__button-padding-x-icon-only-sm);
}
.str-chat .str-chat__button.str-chat__button--size-xs {
  padding-block: var(--str-chat__button-padding-y-xs);
  padding-inline: var(--str-chat__button-padding-x-with-label-xs);
  border-radius: var(--str-chat__button-radius-md);
}
.str-chat .str-chat__button.str-chat__button--size-xs.str-chat__button--circular {
  padding-inline: var(--str-chat__button-padding-x-icon-only-xs);
}
.str-chat .str-chat__button.str-chat__button--circular {
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--str-chat__button-radius-full);
}
.str-chat .str-chat__button.str-chat__button--circular .str-chat__icon {
  height: var(--str-chat__icon-size-sm);
  width: var(--str-chat__icon-size-sm);
}
.str-chat .str-chat__button .str-chat__button__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--str-chat__spacing-xs);
}
.str-chat .str-chat__theme-dark .str-chat__button.str-chat__button--floating {
  box-shadow: var(--str-chat__box-shadow-2);
}

.str-chat__button-play svg {
  width: 20px;
  height: 20px;
}

.str-chat__dropdown .str-chat__dropdown__open-button {
  background: none;
  border: none;
  padding: 0;
  width: 100%;
  text-align: start;
  cursor: pointer;
}
.str-chat__dropdown .str-chat__dropdown__items {
  background-color: transparent;
}

.str-chat__form-field-error {
  font-size: var(--str-chat__typography-font-size-xs);
  line-height: var(--str-chat__typography-line-height-tight);
  color: var(--str-chat__accent-error);
}

.str-chat__form-numeric-input {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xs, 0.5rem);
}
.str-chat__form-numeric-input__label {
  font: var(--str-chat__caption-default-text);
}
.str-chat__form-numeric-input__wrapper {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs, 0.5rem);
  padding: 0;
  background: transparent;
  border-radius: var(--str-chat__radius-md, 0.5rem);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.str-chat__form-numeric-input__input {
  flex: 0 1 auto;
  min-width: 2ch;
  width: 2.5rem;
  padding: var(--str-chat__spacing-xs, 0.5rem) 0;
  font-size: var(--str-chat__typography-font-size-sm, 0.875rem);
  font-weight: var(--str-chat__typography-font-weight-medium, 500);
  line-height: var(--str-chat__typography-line-height-tight, 1.25);
  color: var(--str-chat__input-text-default);
  text-align: center;
  background: transparent;
  border: none;
  box-shadow: none;
}
.str-chat__form-numeric-input--disabled .str-chat__form-numeric-input__input {
  color: var(--str-chat__input-text-placeholder);
  cursor: not-allowed;
}

.str-chat {
  --str-chat__switch-field-background-color: var(
    --str-chat__background-core-surface-card
  );
  --str-chat__switch-field-border-radius: var(--str-chat__radius-md);
}
.str-chat .str-chat__form__switch-fieldset {
  width: 100%;
  background-color: var(--str-chat__switch-field-background-color);
  border-radius: var(--str-chat__switch-field-border-radius);
}
.str-chat .str-chat__form__switch-field {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-sm);
  width: 100%;
  padding: var(--str-chat__spacing-sm) var(--str-chat__spacing-md);
  background-color: var(--str-chat__switch-field-background-color);
  border-radius: var(--str-chat__switch-field-border-radius);
  box-sizing: border-box;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__label {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__input {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch {
  position: relative;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 44px;
  height: 24px;
  padding: var(--str-chat__spacing-xxs);
  cursor: pointer;
  background-color: var(--str-chat__control-toggle-switch-bg);
  border-radius: var(--str-chat__button-radius-full, 9999px);
  transition: background-color 0.2s ease;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch-handle {
  width: 16px;
  height: 16px;
  border-radius: var(--str-chat__button-radius-full, 9999px);
  background-color: var(--str-chat__base-white, #ffffff);
  transition: transform 0.2s ease;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch:focus-within {
  outline: var(--str-chat__focus-outline, 2px solid var(--border-utility-focused));
  outline-offset: var(--str-chat__focus-outline-offset, 2px);
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch--on {
  background-color: var(--str-chat__control-toggle-switch-bg-selected);
  justify-content: flex-end;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch--on .str-chat__form__switch-field__switch-handle {
  background-color: var(--str-chat__base-white, #ffffff);
}
.str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__label,
.str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__switch,
.str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__input {
  cursor: not-allowed;
}
.str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__switch {
  opacity: 0.7;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__label .str-chat__form__switch-field__label__text {
  color: var(--str-chat__text-primary);
  font: var(--str-chat__font-heading-xs);
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__label .str-chat__form__switch-field__label__description {
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-metadata-default);
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__label,
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__label__content {
  flex: 1;
}
.str-chat .str-chat__form__switch-field .str-chat__form__switch-field__label--as-error .str-chat__form__switch-field__label__description {
  color: var(--str-chat__accent-error);
}

.str-chat__form-text-input {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xs);
}

.str-chat__form-text-input__label {
  font: var(--str-chat__font-heading-xs);
  color: var(--str-chat__text-primary);
}

/* Column shell: control row + optional in-border error */
.str-chat__form-text-input__wrapper {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  background-color: var(--str-chat__background-core-elevation-0);
  border-radius: var(--str-chat__radius-md);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.str-chat__form-text-input__control-row {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-sm);
  min-width: 0;
  width: 100%;
}

.str-chat__form-text-input__wrapper--outline {
  border: 1px solid var(--str-chat__border-core-default);
  box-shadow: none;
}

.str-chat__form-text-input:focus-within .str-chat__form-text-input__wrapper--outline {
  box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
}

.str-chat__form-text-input--error .str-chat__form-text-input__wrapper--outline {
  border: 1px solid var(--str-chat__border-utility-error);
}

/* In-border error: shell keeps default outline (red only on message row) */
.str-chat__form-text-input--error.str-chat__form-text-input--field-message-inside .str-chat__form-text-input__wrapper--outline {
  border: 1px solid var(--str-chat__border-core-default);
}

.str-chat__form-text-input:focus-within.str-chat__form-text-input--error .str-chat__form-text-input__wrapper--outline {
  border: 1px solid var(--str-chat__border-utility-error);
  box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--border-utility-focused));
}

.str-chat__form-text-input:focus-within.str-chat__form-text-input--error.str-chat__form-text-input--field-message-inside .str-chat__form-text-input__wrapper--outline {
  box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
}

.str-chat__form-text-input--disabled .str-chat__form-text-input__wrapper--outline {
  border: 1px solid var(--str-chat__border-utility-disabled);
}

.str-chat__form-text-input__wrapper--ghost {
  border: none;
  box-shadow: none;
}

.str-chat__form-text-input:focus-within .str-chat__form-text-input__wrapper--ghost {
  border: none;
  box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
}

.str-chat__form-text-input--error .str-chat__form-text-input__wrapper--ghost {
  border: 1px solid var(--str-chat__border-utility-error);
  box-shadow: none;
}

.str-chat__form-text-input--error.str-chat__form-text-input--field-message-inside .str-chat__form-text-input__wrapper--ghost {
  border: none;
  box-shadow: none;
}

.str-chat__form-text-input:focus-within.str-chat__form-text-input--error .str-chat__form-text-input__wrapper--ghost {
  border: 1px solid var(--str-chat__border-utility-error);
  box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--border-utility-focused));
}

.str-chat__form-text-input:focus-within.str-chat__form-text-input--error.str-chat__form-text-input--field-message-inside .str-chat__form-text-input__wrapper--ghost {
  border: none;
  box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
}

.str-chat__form-text-input__leading {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--str-chat__input-text-icon);
}

.str-chat__form-text-input .str-chat__form-text-input__input {
  flex: 1;
  min-width: 0;
  padding: 0;
  font: var(--str-chat__caption-default-text);
  color: var(--str-chat__input-text-default);
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
}

.str-chat__form-text-input.str-chat__form-text-input--disabled .str-chat__form-text-input__input {
  color: var(--str-chat__input-text-placeholder);
  cursor: not-allowed;
}

.str-chat__form-text-input.str-chat__form-text-input--disabled .str-chat__form-text-input__input::placeholder {
  color: var(--str-chat__input-text-placeholder);
}

.str-chat__form-text-input .str-chat__form-text-input__input:focus,
.str-chat__form-text-input .str-chat__form-text-input__input:focus-visible {
  outline: none;
  box-shadow: none;
}

.str-chat__form-text-input__suffix {
  flex-shrink: 0;
  font-size: var(--str-chat__typography-font-size-sm);
  line-height: var(--str-chat__typography-line-height-normal);
  color: var(--str-chat__text-tertiary);
}

.str-chat__form-text-input__trailing {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-inline-end: calc(-1 * var(--str-chat__space-4));
  color: var(--str-chat__input-text-icon);
}

.str-chat__form-text-input--error .str-chat__form-text-input__trailing {
  color: var(--str-chat__accent-error);
}

.str-chat__form-text-input__message {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  font: var(--str-chat__metadata-default-text);
}

/* Base typography/color only when not error (error uses str-chat__form-field-error) */
.str-chat__form-text-input__message:not(.str-chat__form-field-error) {
  color: var(--str-chat__text-tertiary);
}

.str-chat__form-text-input__message--field-message-inside {
  padding: var(--str-chat__spacing-none) var(--str-chat__spacing-sm) var(--str-chat__spacing-sm);
}

.str-chat__form-text-input__message--success {
  color: var(--str-chat__accent-success);
}

.str-chat__form-text-input__message-text {
  min-width: 0;
  flex: 1 1 auto;
}

.str-chat__form-text-input__message-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: inherit;
}
.str-chat__form-text-input__message-icon svg {
  height: 13px;
  width: 13px;
}

.str-chat__form__input-fieldset {
  margin: 0;
  padding: 0;
  border: none;
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__label {
  font: var(--str-chat__font-heading-xs);
  color: var(--str-chat__text-primary);
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__values {
  display: flex;
  flex-direction: column;
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__values .str-chat__form__input-field--draggable {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__values .str-chat__form__input-field--draggable input {
  pointer-events: auto;
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__values .str-chat__form__input-field--draggable .str-chat__drag-handle {
  height: 1rem;
  width: 1rem;
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__values .str-chat__form__input-field {
  width: 100%;
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__values .str-chat__form__input-field .str-chat__form__input-field__value {
  width: 100%;
}
.str-chat__form__input-fieldset .str-chat__form__input-fieldset__values .str-chat__form__input-field .str-chat__form__input-field__value .str-chat__form__input-field__error {
  width: 100%;
}

.str-chat__alert-root {
  border-radius: var(--str-chat__radius-xl);
  background: var(--str-chat__background-core-elevation-1);
  /* shadow/web/light/elevation-4 */
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 6px 12px 0 rgba(0, 0, 0, 0.16), 0 20px 32px 0 rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--str-chat__spacing-2xl);
  padding: var(--str-chat__spacing-xl);
  text-align: center;
}
.str-chat__alert-root .str-chat__alert-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--str-chat__spacing-md);
  width: 100%;
}
.str-chat__alert-root .str-chat__alert-header svg {
  height: var(--str-chat__button-visual-height-sm);
  width: var(--str-chat__button-visual-height-sm);
}
.str-chat__alert-root .str-chat__alert-header .str-chat__alert-header__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  width: 100%;
}
.str-chat__alert-root .str-chat__alert-header .str-chat__alert-header__copy .str-chat__alert-header__title {
  font: var(--str-chat__font-heading-sm);
}
.str-chat__alert-root .str-chat__alert-header .str-chat__alert-header__copy .str-chat__alert-header__description {
  font: var(--str-chat__font-caption-default);
}
.str-chat__alert-root .str-chat__alert-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  width: 100%;
}
.str-chat__alert-root .str-chat__alert-actions button {
  width: 100%;
}

.str-chat__callout {
  position: relative;
  max-width: 320px;
  border-radius: var(--str-chat__radius-lg);
  background-color: var(--str-chat__background-core-elevation-2);
  box-shadow: var(--str-chat__box-shadow-3);
}
.str-chat__callout .str-chat__callout__close-button {
  position: absolute;
  inset-inline-end: var(--str-chat__spacing-xs);
  top: var(--str-chat__spacing-xs);
}

@keyframes str-chat-context-menu-roll-in-from-left {
  from {
    opacity: 0.12;
    transform: translateX(16px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
@keyframes str-chat-context-menu-roll-in-from-right {
  from {
    opacity: 0.12;
    transform: translateX(-16px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
@keyframes str-chat-context-menu-roll-in-from-top {
  from {
    opacity: 0.12;
    transform: translateY(14px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes str-chat-context-menu-roll-in-from-bottom {
  from {
    opacity: 0.12;
    transform: translateY(-14px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes str-chat-context-menu-submenu-forward {
  from {
    opacity: 0.18;
    transform: translateX(28px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes str-chat-context-menu-submenu-backward {
  from {
    opacity: 0.18;
    transform: translateX(-32px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.str-chat {
  --str-chat__dialog-menu-button-hover-background-color: var(
    --str-chat__background-utility-hover
  );
  --str-chat__menu-roll-duration: 170ms;
  --str-chat__menu-roll-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
.str-chat .str-chat__context-menu {
  background: var(--str-chat__background-core-elevation-2);
  color: var(--str-chat__text-primary);
  box-shadow: var(--str-chat__box-shadow-3);
  border-radius: var(--str-chat__radius-lg);
  display: flex;
  flex-direction: column;
  padding: var(--str-chat__spacing-xxs);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__header {
  width: 100%;
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__back-button {
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  height: 32px;
  width: 100%;
  padding: var(--str-chat__spacing-xs);
  text-align: center;
  cursor: pointer;
  border-radius: var(--str-chat__radius-md);
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__back-button:hover:not(:disabled) {
  background-color: var(--str-chat__background-utility-hover);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__back-button:active:not(:disabled) {
  background-color: var(--str-chat__background-utility-pressed);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__back-button:focus-visible:not(:disabled) {
  background-color: transparent;
}
.str-chat .str-chat__context-menu .str-chat__context-menu__back-button:disabled {
  background-color: transparent;
}
.str-chat .str-chat__context-menu .str-chat__context-menu__back-button .str-chat__icon--chevron-right {
  transform: rotate(180deg);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__body {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxxs);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__body.str-chat__context-menu__body--submenu-forward {
  overflow-x: hidden;
  animation-duration: 280ms;
  animation-name: var(--str-chat__context-menu-submenu-forward-animation, str-chat-context-menu-submenu-forward);
  animation-timing-function: cubic-bezier(0.2, 0.95, 0.25, 1);
  transform-origin: var(--str-chat__context-menu-submenu-forward-transform-origin, left center);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__body.str-chat__context-menu__body--submenu-backward {
  overflow-x: hidden;
  animation-duration: 400ms;
  animation-name: var(--str-chat__context-menu-submenu-backward-animation, str-chat-context-menu-submenu-backward);
  animation-timing-function: cubic-bezier(0.16, 0.92, 0.2, 1);
  transform-origin: var(--str-chat__context-menu-submenu-backward-transform-origin, right center);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: var(--str-chat__radius-md);
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  width: 100%;
  padding: var(--str-chat__spacing-xs);
  cursor: pointer;
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button.str-chat__context-menu__button--destructive .str-chat__context-menu__button__label,
.str-chat .str-chat__context-menu .str-chat__context-menu__button.str-chat__context-menu__button--destructive .str-chat__icon {
  color: var(--str-chat__accent-error);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button:hover:not(:disabled) {
  background-color: var(--str-chat__dialog-menu-button-hover-background-color);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button:active:not(:disabled) {
  background-color: var(--str-chat__background-utility-pressed);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button:focus-visible:not(:disabled) {
  background-color: transparent;
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled {
  background-color: transparent;
  color: var(--str-chat__text-disabled);
  cursor: default;
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled .str-chat__context-menu__button__details,
.str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled .str-chat__icon {
  color: inherit;
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button .str-chat__icon {
  height: var(--str-chat__icon-size-sm);
  width: var(--str-chat__icon-size-sm);
  color: var(--str-chat__text-secondary);
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button .str-chat__context-menu__button__label {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  flex: auto;
  text-align: start;
  white-space: nowrap;
  min-width: 0;
}
.str-chat .str-chat__context-menu .str-chat__context-menu__button .str-chat__context-menu__button__details {
  flex: 1;
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-caption-default);
  white-space: nowrap;
}
.str-chat .str-chat__context-menu .str-chat__emoji-context-menu__button,
.str-chat .str-chat__context-menu .str-chat__user-context-menu__button {
  font: var(--str-chat__font-caption-default);
}
.str-chat .str-chat__context-menu .str-chat__emoji-context-menu__button .str-chat__context-menu__button__emoji,
.str-chat .str-chat__context-menu .str-chat__user-context-menu__button .str-chat__context-menu__button__emoji {
  font-size: var(--str-chat__typography-font-size-md);
  width: var(--str-chat__typography-font-size-md);
  height: var(--str-chat__typography-font-size-md);
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.str-chat [data-str-chat-placement^=right] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-left var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: left center;
}
.str-chat [data-str-chat-placement^=left] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-right var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: right center;
}
.str-chat [data-str-chat-placement^=bottom] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-bottom var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: center top;
}
.str-chat [data-str-chat-placement^=top] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-top var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: center bottom;
}
.str-chat [data-str-chat-dialog-state=closing][data-str-chat-placement^=right] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-left var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease) reverse forwards;
  transform-origin: left center;
}
.str-chat [data-str-chat-dialog-state=closing][data-str-chat-placement^=left] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-right var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease) reverse forwards;
  transform-origin: right center;
}
.str-chat [data-str-chat-dialog-state=closing][data-str-chat-placement^=bottom] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-bottom var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease) reverse forwards;
  transform-origin: center top;
}
.str-chat [data-str-chat-dialog-state=closing][data-str-chat-placement^=top] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-top var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease) reverse forwards;
  transform-origin: center bottom;
}
.str-chat .str-chat__context-menu__submenu-container:not([data-str-chat-roll-from])[data-str-chat-roll-axis=x][data-str-chat-placement^=left] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-right var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: right center;
}
.str-chat .str-chat__context-menu__submenu-container:not([data-str-chat-roll-from])[data-str-chat-roll-axis=x]:not([data-str-chat-placement^=left]) > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-left var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: left center;
}
.str-chat .str-chat__context-menu__submenu-container[data-str-chat-roll-from=left] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-left var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: left center;
}
.str-chat .str-chat__context-menu__submenu-container[data-str-chat-roll-from=right] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-right var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: right center;
}
.str-chat .str-chat__context-menu__submenu-container[data-str-chat-roll-from=top] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-top var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: center top;
}
.str-chat .str-chat__context-menu__submenu-container[data-str-chat-roll-from=bottom] > .str-chat__context-menu {
  animation: str-chat-context-menu-roll-in-from-bottom var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
  transform-origin: center bottom;
}
.str-chat .str-chat__context-menu[data-str-chat-enable-animations=false],
.str-chat .str-chat__context-menu[data-str-chat-enable-animations=false] .str-chat__context-menu__body {
  animation: none !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .str-chat [data-str-chat-placement] > .str-chat__context-menu {
    animation: none;
  }
}

.str-chat__dialog-overlay {
  inset: 0;
  position: absolute;
  height: var(--str-chat__dialog-overlay-height);
  width: 100%;
  z-index: 2;
  pointer-events: none;
}
.str-chat__dialog-overlay .str-chat__dialog-contents {
  pointer-events: auto;
}

.str-chat__prompt {
  border-radius: var(--str-chat__radius-xl);
  background: var(--str-chat__background-core-elevation-1);
  /* shadow/web/light/elevation-4 */
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 6px 12px 0 rgba(0, 0, 0, 0.16), 0 20px 32px 0 rgba(0, 0, 0, 0.12);
  width: 100%;
}
.str-chat__prompt .str-chat__prompt__header {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs) var(--str-chat__spacing-md);
  width: 100%;
  padding: var(--str-chat__spacing-xl);
}
.str-chat__prompt .str-chat__prompt__header .str-chat__prompt__header__title-group {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxs);
  flex: 1;
  min-width: 0;
}
.str-chat__prompt .str-chat__prompt__header .str-chat__prompt__header__title {
  margin: 0;
  font: var(--str-chat__font-heading-sm);
  color: var(--str-chat__text-primary);
}
.str-chat__prompt .str-chat__prompt__header .str-chat__prompt__header__description {
  font: var(--str-chat__font-caption-default);
  color: var(--str-chat__text-secondary);
}
.str-chat__prompt .str-chat__prompt__header .str-chat__prompt__header__close-button {
  align-self: flex-start;
  flex-shrink: 0;
  color: var(--str-chat__text-primary);
}
.str-chat__prompt .str-chat__prompt__header .str-chat__prompt__header__close-button .str-chat__icon {
  width: var(--str-chat__icon-size-md);
  height: var(--str-chat__icon-size-md);
}
.str-chat__prompt .str-chat__prompt__body {
  /* Vertical padding so focus rings (e.g. TextInput wrapper box-shadow) are not clipped by scrollable-y */
  padding: var(--str-chat__spacing-xxs) var(--str-chat__spacing-xl);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.str-chat__prompt .str-chat__prompt__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: var(--str-chat__spacing-xl);
}
.str-chat__prompt .str-chat__prompt__footer .str-chat__prompt__footer__controls {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
}

.str-chat__viewer {
  border-radius: var(--str-chat__radius-xl);
  background: var(--str-chat__background-core-elevation-1);
  /* shadow/web/light/elevation-4 */
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 6px 12px 0 rgba(0, 0, 0, 0.16), 0 20px 32px 0 rgba(0, 0, 0, 0.12);
  width: 100%;
  max-width: 520px;
  height: 100%;
  max-height: 640px;
  display: flex;
  flex-direction: column;
}
.str-chat__viewer .str-chat__viewer__header {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs) var(--str-chat__spacing-md);
  width: 100%;
  padding: var(--str-chat__spacing-xl);
}
.str-chat__viewer .str-chat__viewer__header .str-chat__viewer__header__title-group {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxs);
  flex: 1;
  min-width: 0;
}
.str-chat__viewer .str-chat__viewer__header .str-chat__viewer__header__title {
  margin: 0;
  font: var(--str-chat__font-heading-sm);
  color: var(--str-chat__text-primary);
}
.str-chat__viewer .str-chat__viewer__header .str-chat__viewer__header__description {
  font: var(--str-chat__font-caption-default);
  color: var(--str-chat__text-secondary);
}
.str-chat__viewer .str-chat__viewer__header .str-chat__viewer__header__go-back-button path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5px;
}
.str-chat__viewer .str-chat__viewer__header .str-chat__viewer__header__close-button {
  align-self: flex-start;
  flex-shrink: 0;
  color: var(--str-chat__text-primary);
}
.str-chat__viewer .str-chat__viewer__body {
  padding: 0 var(--str-chat__spacing-xl);
  flex: 1;
  min-height: 0;
}
.str-chat__viewer .str-chat__viewer__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: var(--str-chat__spacing-xl);
}
.str-chat__viewer .str-chat__viewer__footer .str-chat__viewer__footer__controls {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
}

.str-chat {
  /* The border radius used for the borders of the content area of the component of the content area of the component */
  --str-chat__modal-border-radius: var(--str-chat__radius-xl);
  /* The text/icon color of the content area of the component */
  --str-chat__modal-color: var(--str-chat__text-primary);
  /* The background color of the content area of the component */
  --str-chat__modal-background-color: var(--str-chat__background-core-elevation-1);
  /* The overlay color of the component */
  --str-chat__modal-overlay-color: var(--str-chat__background-core-scrim);
  /* The backdrop filter applied to the component */
  --str-chat__modal-overlay-backdrop-filter: blur(3px);
  /* Top border of the content area of the component */
  --str-chat__modal-border-block-start: none;
  /* Bottom border of the content area of the component */
  --str-chat__modal-border-block-end: none;
  /* Left (right in RTL layout) border of the content area of the component */
  --str-chat__modal-border-inline-start: none;
  /* Right (left in RTL layout) border of the content area of the component */
  --str-chat__modal-border-inline-end: none;
  /* Box shadow applied to the content area of the component */
  --str-chat__modal-box-shadow: var(--str-chat__box-shadow-4);
}

.str-chat__modal--open {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  pointer-events: auto;
  background-color: var(--str-chat__modal-overlay-color);
  backdrop-filter: var(--str-chat__modal-overlay-backdrop-filter);
}
.str-chat__modal--open .str-chat__modal__overlay__close-button {
  position: absolute;
  inset-inline-end: 10px;
  top: 10px;
  padding: var(--str-chat__spacing-xs);
  color: var(--str-chat__text-on-accent);
}
.str-chat__modal--open .str-chat__modal__overlay__close-button svg {
  height: 12px;
  width: 12px;
}

.str-chat__ai-state-indicator-container {
  padding: 0 8px;
  background-color: var(--str-chat__background-core-surface-default);
}

.str-chat__ai-state-indicator-text {
  color: var(--str-chat__text-primary);
}

.str-chat {
  /* The margin applied to every attachment in the attachment list */
  --str-chat__attachment-margin: var(--str-chat__spacing-xs);
}

.str-chat__attachment-list {
  /* The maximum allowed width and height of attachments, in case of gallery images this is the maximum size of the whole gallery (not just for a single image inside the gallery). There are some constraints for the acceptable values you can provide for this variable, [Angular documentation](https://getstream.io/chat/docs/sdk/angular/components/AttachmentListComponent/#maximum-size), [React documentation](https://getstream.io/chat/docs/sdk/react/message-components/attachment/#image-and-video-sizing). */
  --str-chat__attachment-max-width: calc(
    var(--str-chat__message-max-width) - calc(2 * var(--str-chat__attachment-margin))
  );
  /* The maximum height of videos, the default value is the mase as `--str-chat__attachment-max-width`. The rendered video can be smaller based on the aspect ratio */
  --str-chat__video-height: var(--str-chat__attachment-max-width);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--str-chat__spacing-xs);
  min-width: 0;
  background: transparent;
  color: var(--str-chat__text-primary);
}
.str-chat__attachment-list .str-chat__message-attachment--image,
.str-chat__attachment-list .str-chat__message-attachment--video {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
}
.str-chat__attachment-list .str-chat__message-attachment {
  overflow: hidden;
  background-color: var(--chat-bg-attachment);
  border-radius: var(--str-chat__message-bubble-radius-attachment);
}
.str-chat__attachment-list .str-chat__message-attachment .str-chat__button-play.str-chat__button--secondary.str-chat__button--outline {
  border-color: var(--chat-border-on-chat);
  background-color: transparent;
}
.str-chat__attachment-list .str-chat__message-attachment--image,
.str-chat__attachment-list .str-chat__message-attachment--video {
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.str-chat__attachment-list .str-chat__message-attachment--audio,
.str-chat__attachment-list .str-chat__message-attachment--file,
.str-chat__attachment-list .str-chat__message-attachment--unsupported,
.str-chat__attachment-list .str-chat__message-attachment--geolocation,
.str-chat__attachment-list .str-chat__message-attachment--voiceRecording,
.str-chat__attachment-list .str-chat__message-attachment--card {
  width: var(--str-chat__attachment-max-width);
  max-width: 100%;
}
.str-chat__attachment-list .str-chat__message-attachment--image:not(.str-chat__message-attachment--card) img {
  height: min(var(--str-chat__attachment-max-width), min(var(--str-chat__attachment-max-width, 1000000) / var(--original-width, 1000000), 1px) * var(--original-height, 1000000));
  max-width: var(--str-chat__attachment-max-width);
  max-height: var(--str-chat__attachment-max-width);
  object-fit: cover;
  width: 100%;
  cursor: zoom-in;
}
.str-chat__attachment-list .str-chat__message-attachment-card--video .str-chat__message-attachment-card--header,
.str-chat__attachment-list .str-chat__message-attachment--video:not(.str-chat__message-attachment--card) {
  max-width: var(--str-chat__attachment-max-width);
  display: flex;
}
.str-chat__attachment-list .str-chat__message-attachment-card--video .str-chat__message-attachment-card--header .str-chat__player-wrapper,
.str-chat__attachment-list .str-chat__message-attachment--video:not(.str-chat__message-attachment--card) .str-chat__player-wrapper {
  height: 100%;
  width: 100%;
  min-width: 0;
  max-width: var(--str-chat__attachment-max-width);
  display: flex;
  flex-direction: column;
}
.str-chat__attachment-list .str-chat__message-attachment-card--video .str-chat__message-attachment-card--header .str-chat__player-wrapper .react-player,
.str-chat__attachment-list .str-chat__message-attachment--video:not(.str-chat__message-attachment--card) .str-chat__player-wrapper .react-player {
  height: 100%;
  width: 100%;
  max-width: var(--str-chat__attachment-max-width);
  max-height: 100%;
  min-height: 0;
}
.str-chat__attachment-list .str-chat__message-attachment--video:not(.str-chat__message-attachment--card):not(.str-chat__message-attachment-dynamic-size) {
  height: var(--str-chat__video-height);
}
.str-chat__attachment-list .str-chat__message-attachment--video.str-chat__message-attachment-dynamic-size:not(.str-chat__message-attachment--card) {
  max-height: var(--str-chat__video-height);
}
.str-chat__attachment-list .str-chat__message-attachment--video.str-chat__message-attachment-dynamic-size:not(.str-chat__message-attachment--card) .str-chat__player-wrapper {
  height: min(var(--str-chat__video-height), min(var(--str-chat__attachment-max-width, 1000000) / var(--original-width, 1000000), 1px) * var(--original-height, 1000000));
  max-height: var(--str-chat__video-height);
}
.str-chat__attachment-list .str-chat__message-attachment--svg-image {
  background-image: repeating-conic-gradient(#d4d5d7 0% 25%, #f4f4f4 0% 50%);
  background-size: 24px 24px;
}
.str-chat__attachment-list .str-chat__gallery .str-chat__message-attachment--svg-image,
.str-chat__attachment-list .str-chat__message-attachment--image.str-chat__message-attachment--svg-image {
  padding: var(--str-chat__space-24);
}
.str-chat__attachment-list .str-chat__gallery .str-chat__message-attachment--svg-image img,
.str-chat__attachment-list .str-chat__message-attachment--image.str-chat__message-attachment--svg-image img {
  object-fit: contain;
  max-width: calc(var(--str-chat__attachment-max-width) - var(--str-chat__space-24));
  max-height: calc(var(--str-chat__attachment-max-width) - var(--str-chat__space-24));
}
.str-chat__attachment-list .str-chat__message-attachment-file--item,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--str-chat__spacing-sm);
  column-gap: var(--str-chat__spacing-sm);
}
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  row-gap: var(--str-chat__space-2);
  min-width: 0;
  line-height: var(--str-chat__typography-line-height-tight);
}
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-audio-widget--text-first-row,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__first-row,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-audio-widget--text-first-row,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-audio-widget--text-first-row,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__first-row,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-audio-widget--text-first-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: var(--str-chat__space-8);
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-audio-widget--title,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-audio-widget--title,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-audio-widget--title,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-audio-widget--title,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-audio-widget--title,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-audio-widget--title,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-audio-widget--title,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-file--item__name,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-audio-widget--text-first-row .str-chat__message-attachment-audio-widget--title {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  min-width: 0;
}
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__data,
.str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__data,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__data,
.str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__data {
  font: var(--str-chat__font-metadata-default);
}
.str-chat__attachment-list .str-chat__message-attachment-file--item {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
}
.str-chat__attachment-list .str-chat__message-attachment-download-icon {
  --str-chat-icon-height: var(--str-chat__size-16);
}

.str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-no-text:not(.str-chat__message--has-quoted-message) .str-chat__message-bubble {
  padding: 0;
}

.str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__attachment-list {
  --str-chat__attachment-max-width: var(--str-chat__message-max-width);
}
.str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-bubble {
  border: 1px solid var(--chat-border);
  box-shadow: var(--str-chat__background-core-elevation-0);
}
.str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-attachment {
  background-color: var(--chat-bg);
}

.str-chat__message--me .str-chat__attachment-list {
  align-items: flex-end;
}

.str-chat__li--single .str-chat__message--other.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-attachment,
.str-chat__li--bottom .str-chat__message--other.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-attachment {
  border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__li--single .str-chat__message--me.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-attachment,
.str-chat__li--bottom .str-chat__message--me.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-attachment {
  border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
}

.str-chat__li--top.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-attachment,
.str-chat__li--middle.str-chat__message--has-single-attachment.str-chat__message--has-no-text .str-chat__message-attachment {
  border-radius: var(--str-chat__message-bubble-radius-group-middle);
}

.str-chat__message--has-text .str-chat__attachment-list {
  padding-bottom: 0;
}

.str-chat__message-attachment-actions {
  background: transparent;
  color: var(--str-chat__button-secondary-text);
}
.str-chat__message-attachment-actions .str-chat__message-attachment-actions-form {
  display: flex;
  justify-content: stretch;
  height: 48px;
}
.str-chat__message-attachment-actions .str-chat__message-attachment-actions-form .str-chat__message-attachment-actions-button {
  background: transparent;
  color: var(--str-chat__button-secondary-text);
  width: 100%;
  padding: var(--str-chat__button-padding-y-sm) var(--str-chat__button-padding-x-with-label-sm);
  white-space: nowrap;
  border-collapse: collapse;
  font: var(--str-chat__font-body-emphasis);
}
.str-chat__message-attachment-actions .str-chat__message-attachment-actions-form .str-chat__message-attachment-actions-button.str-chat__button:active {
  color: var(--str-chat__accent-primary);
}
.str-chat__message-attachment-actions .str-chat__message-attachment-actions-form .str-chat__message-attachment-actions-button.str-chat__button:focus-visible {
  color: var(--str-chat__accent-primary);
  outline: 2px solid var(--str-chat__border-utility-focused);
  outline-offset: 2px;
}

.str-chat__message-attachment-audio-widget {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}
.str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--play-controls {
  display: flex;
  align-items: center;
  justify-content: center;
}
.str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--data {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text-first-row {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: var(--str-chat__spacing-xs);
}
.str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text-first-row svg {
  flex-shrink: 0;
}
.str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--title {
  font: var(--str-chat__font-caption-emphasis);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.str-chat__message-attachment-audio-widget .str-chat__duration-display {
  width: 40px;
  font: var(--str-chat__font-metadata-default);
  color: var(--str-chat__text-secondary);
}
.str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text-second-row {
  display: flex;
  align-items: center;
  width: 100%;
  gap: var(--str-chat__spacing-xs);
}
.str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text-second-row .str-chat__message-attachment-file--item-size {
  font: var(--str-chat__font-metadata-default);
}

.str-chat__message-attachment-card--audio .str-chat__message-attachment-card--content {
  padding: 0;
}
.str-chat__message-attachment-card--audio .str-chat__message-attachment-card--content .str-chat__message-attachment-card-audio-widget {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--str-chat__spacing-md);
}

.str-chat__button.str-chat__button--secondary.str-chat__button--outline.str-chat__audio-attachment-download-button {
  border-color: var(--str-chat__chat-border-on-chat-incoming);
  flex-shrink: 0;
}
.str-chat__button.str-chat__button--secondary.str-chat__button--outline.str-chat__audio-attachment-download-button .str-chat__attachment-download-button__icon {
  height: 20px;
  width: 20px;
}

.str-chat__message--me .str-chat__button.str-chat__button--outline.str-chat__audio-attachment-download-button {
  border-color: var(--str-chat__chat-border-on-chat-outgoing);
}

.str-chat__message-attachment-geolocation {
  background: var(--chat-bg-attachment);
  color: var(--chat-text);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
  display: flex;
  flex-direction: column;
  height: 200px;
  width: 100%;
  max-width: var(--str-chat__attachment-max-width);
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__location-preview {
  flex: 1;
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__placeholder {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--str-chat__background-core-overlay-light);
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__placeholder .str-chat__icon {
  fill: var(--str-chat__accent-neutral);
  height: 40px;
  width: 40px;
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__placeholder .str-chat__message-attachment-geolocation__placeholder-link {
  position: absolute;
  inset-inline-end: 0.5rem;
  inset-block: 0.5rem;
  height: 12px;
  width: 12px;
  color: var(--str-chat__accent-neutral);
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__status {
  display: flex;
  justify-content: center;
  padding: 0.5rem;
  background-color: var(--str-chat__background-core-surface-subtle);
  font: var(--str-chat__font-caption-default);
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__status .str-chat__message-attachment-geolocation__status--active {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__status .str-chat__message-attachment-geolocation__status--active .str-chat__message-attachment-geolocation__status--active-status {
  color: var(--str-chat__accent-success);
}
.str-chat__message-attachment-geolocation .str-chat__message-attachment-geolocation__status .str-chat__message-attachment-geolocation__status--active .str-chat__message-attachment-geolocation__status--active-until {
  text-transform: lowercase;
  font: var(--str-chat__font-metadata-emphasis);
}

.str-chat__message-attachment-giphy {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.str-chat__message-attachment-giphy img.str-chat__base-image {
  height: min(var(--str-chat__attachment-max-width), min(var(--str-chat__attachment-max-width, 1000000) / var(--original-width, 1000000), 1px) * var(--original-height, 1000000));
  object-fit: contain;
  max-height: var(--str-chat__attachment-max-width);
  max-width: var(--str-chat__attachment-max-width);
  width: 100%;
  cursor: default;
}
.str-chat__message-attachment-giphy .str-chat__image-placeholder {
  height: 200px;
  width: var(--str-chat__attachment-max-width);
}

.str-chat__giphy-badge {
  display: inline-flex;
  height: 24px;
  padding: var(--str-chat__spacing-xxxs) var(--str-chat__spacing-xs);
  justify-content: center;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  position: absolute;
  inset-inline-start: 8px;
  bottom: 8px;
  border-radius: var(--str-chat__radius-lg);
  background-color: var(--str-chat__badge-bg-overlay);
  color: var(--str-chat__badge-text-on-accent);
  font: var(--str-chat__font-metadata-emphasis);
  text-transform: uppercase;
}

.str-chat__message-attachment--giphy--actions .str-chat__message-attachment-giphy {
  height: 200px;
}
.str-chat__message-attachment--giphy--actions .str-chat__message-attachment-giphy img.str-chat__base-image {
  height: 200px;
}
.str-chat__message-attachment--giphy--actions .str-chat__visibility-disclaimer {
  display: flex;
  padding: var(--str-chat__spacing-sm, 12px);
  align-items: center;
  gap: var(--str-chat__spacing-xs, 8px);
  align-self: stretch;
  color: var(--chat-text);
  font: var(--str-chat__font-caption-emphasis);
}

.str-chat__message-attachment-card {
  /* The height of scraped images, the default value is optimized for 1.91:1 aspect ratio */
  --str-chat__scraped-image-height: calc(
    var(--str-chat__attachment-max-width) * calc(1 / 1.91)
  );
  width: 100%;
  display: flex;
  gap: var(--str-chat__spacing-xs);
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-sm) var(--str-chat__spacing-xs) var(--str-chat__spacing-xs);
  overflow: hidden;
  border-radius: var(--str-chat__message-bubble-radius-attachment);
  line-height: var(--str-chat__typography-line-height-tight);
}
.str-chat__message-attachment-card * {
  color: var(--chat-text);
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--header {
  position: relative;
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  overflow: hidden;
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--header img,
.str-chat__message-attachment-card .str-chat__message-attachment-card--header .str-chat__image-placeholder {
  border-radius: var(--str-chat__message-bubble-radius-attachment-inline, 8px);
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--header img {
  object-fit: cover;
  width: 40px;
  height: 40px;
}
.str-chat__message-attachment-card.str-chat__message-attachment-card--video .str-chat__message-attachment-card--header {
  height: calc(var(--str-chat__attachment-max-width) * 0.5625);
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--content {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxs);
  min-width: 0;
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--title {
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--source-link,
.str-chat__message-attachment-card .str-chat__message-attachment-card--text {
  font: var(--str-chat__font-metadata-default);
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--title,
.str-chat__message-attachment-card .str-chat__message-attachment-card--url {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  font: var(--str-chat__font-metadata-default);
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--source-link {
  display: flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat__message-attachment-card .str-chat__message-attachment-card--source-link .str-chat__message-attachment-card--url {
  flex: 1;
  min-width: 0;
}

.str-chat__message--has-single-attachment .str-chat__message-attachment-card {
  display: block;
  padding: 0;
}
.str-chat__message--has-single-attachment .str-chat__message-attachment-card img {
  aspect-ratio: 1.91/1;
  width: 100%;
  height: auto;
  max-height: var(--str-chat__scraped-image-height);
  border-radius: 0;
}
.str-chat__message--has-single-attachment .str-chat__message-attachment-card .str-chat__message-attachment-card--header:has(.str-chat__image-placeholder) {
  aspect-ratio: 1.91/1;
  height: auto;
}
.str-chat__message--has-single-attachment .str-chat__message-attachment-card .str-chat__message-attachment-card--header:has(.str-chat__image-placeholder) .str-chat__image-placeholder {
  border-radius: 0;
}
.str-chat__message--has-single-attachment .str-chat__message-attachment-card .str-chat__message-attachment-card--content {
  padding: var(--str-chat__spacing-sm);
}
.str-chat__message--has-single-attachment .str-chat__message-attachment-card .str-chat__message-attachment-card--content .str-chat__message-attachment-card--text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.str-chat__attachment-list .str-chat__message-attachment--gallery,
.str-chat__attachment-list .str-chat__message-attachment--image {
  min-width: 0;
  max-width: 100%;
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery {
  background-color: var(--chat-bg);
  color: var(--str-chat__text-primary);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  overflow: hidden;
  border-radius: var(--str-chat__radius-lg);
  gap: var(--str-chat__spacing-xxs);
  width: var(--str-chat__attachment-max-width);
  max-width: 100%;
  aspect-ratio: 4/3;
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  border-radius: var(--str-chat__radius-md);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading, .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed {
  min-height: 0;
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:only-child,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:only-child {
  grid-column: 1/-1;
  grid-row: 1/-1;
  border-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(1),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(1) {
  border-start-start-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(2),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(2) {
  border-start-end-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(3),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(3) {
  border-end-start-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(4),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(4) {
  border-end-end-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--two-images {
  grid-template-rows: 1fr;
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(1),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(1) {
  border-end-start-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(2),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(2) {
  border-end-end-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(1),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(1) {
  grid-column: 1;
  grid-row: 1/span 2;
  border-end-start-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(2),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
  border-start-end-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(3),
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
  border-end-end-radius: var(--str-chat__radius-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__placeholder,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: top left;
  background-repeat: no-repeat;
  margin: 0;
  cursor: zoom-in;
  max-width: var(--str-chat__attachment-max-width);
  color: var(--str-chat__text-on-inverse);
  border: none;
  font-size: var(--str-chat__typography-font-size-2xl);
  font-weight: var(--str-chat__typography-font-weight-medium);
  line-height: var(--str-chat__typography-line-height-relaxed);
  inset: 0;
  position: absolute;
  background-color: var(--str-chat__background-core-scrim);
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image {
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  overflow: hidden;
  position: relative;
  background-color: transparent;
  border: 0;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image img,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image img,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: zoom-in;
  max-width: var(--str-chat__attachment-max-width);
  max-height: var(--str-chat__attachment-max-width);
  transition: opacity 150ms ease-in-out;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading {
  min-height: 200px;
  align-items: stretch;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img {
  position: absolute;
  opacity: 0;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading .str-chat__modal-gallery__image-loading-overlay,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading .str-chat__modal-gallery__image-loading-overlay,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading .str-chat__modal-gallery__image-loading-overlay {
  position: static;
  flex: 1;
  min-width: 0;
  height: auto;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed {
  cursor: pointer;
  min-height: 200px;
  align-items: stretch;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed .str-chat__image-placeholder.str-chat__base-image--load-failed,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed .str-chat__image-placeholder.str-chat__base-image--load-failed,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed .str-chat__image-placeholder.str-chat__base-image--load-failed {
  flex: 1;
  min-width: 0;
  height: auto;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img {
  opacity: 0;
  cursor: pointer;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image .str-chat__modal-gallery__image-load-failed-overlay,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image .str-chat__modal-gallery__image-load-failed-overlay,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image .str-chat__modal-gallery__image-load-failed-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image .str-chat__modal-gallery__image-loading-overlay,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image .str-chat__modal-gallery__image-loading-overlay,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image .str-chat__modal-gallery__image-loading-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--str-chat__background-core-overlay-light);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: str-chat__modal-gallery-loading-shimmer 1.2s linear infinite;
  pointer-events: none;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image .str-chat__modal-gallery__image-loading-overlay .str-chat__loading-indicator,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image .str-chat__modal-gallery__image-loading-overlay .str-chat__loading-indicator,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image .str-chat__modal-gallery__image-loading-overlay .str-chat__loading-indicator {
  position: relative;
  z-index: 1;
  width: var(--str-chat__icon-size-lg);
  height: var(--str-chat__icon-size-lg);
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image .str-chat__modal-gallery__image-retry-indicator,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image .str-chat__modal-gallery__image-retry-indicator,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image .str-chat__modal-gallery__image-retry-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--str-chat__radius-max);
  background-color: var(--str-chat__accent-error);
  color: var(--str-chat__text-on-inverse);
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image .str-chat__modal-gallery__image-retry-indicator svg,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image .str-chat__modal-gallery__image-retry-indicator svg,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image .str-chat__modal-gallery__image-retry-indicator svg {
  width: 1.125rem;
  height: 1.125rem;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:hover::after,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:hover::after,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image:hover::after {
  background-color: rgba(0, 0, 0, 0.1);
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:focus-visible,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:focus-visible,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image:focus-visible {
  outline: none;
}
.str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:focus-visible::before,
.str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:focus-visible::before,
.str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image:focus-visible::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 2px var(--str-chat__brand-300);
  z-index: 1;
}

@keyframes str-chat__modal-gallery-loading-shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
.str-chat__message-attachment-unsupported {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--str-chat__spacing-md);
  column-gap: var(--str-chat__spacing-xs);
}
.str-chat__message-attachment-unsupported .str-chat__icon {
  height: var(--str-chat__size-20);
  width: var(--str-chat__size-20);
}
.str-chat__message-attachment-unsupported .str-chat__message-attachment-unsupported__metadata {
  min-width: 0;
  flex: 1;
  height: stretch;
  display: flex;
  align-items: center;
}
.str-chat__message-attachment-unsupported .str-chat__message-attachment-unsupported__title {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  font: var(--str-chat__font-caption-emphasis);
  color: var(--str-chat__text-primary);
  max-width: 100%;
}

.str-chat__message-attachment__voice-recording-widget {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 60px;
  padding: var(--str-chat__spacing-xs);
}
.str-chat__message-attachment__voice-recording-widget .str-chat__message-attachment__voice-recording-widget__play-button-container {
  padding: var(--str-chat__spacing-xxs);
}
.str-chat__message-attachment__voice-recording-widget .str-chat__message-attachment__voice-recording-widget__metadata {
  flex: 1;
  min-width: 0;
}
.str-chat__message-attachment__voice-recording-widget .str-chat__message-attachment__voice-recording-widget__metadata a {
  cursor: pointer;
  text-decoration: none;
  color: var(--str-chat__text-primary);
}
.str-chat__message-attachment__voice-recording-widget .str-chat__message-attachment__voice-recording-widget__metadata .str-chat__message-attachment-download-icon svg {
  width: var(--str-chat__size-24);
  height: var(--str-chat__size-16);
}
.str-chat__message-attachment__voice-recording-widget .str-chat__message-attachment__voice-recording-widget__timer {
  min-width: var(--str-chat__size-40);
  width: var(--str-chat__size-40);
  font: var(--str-chat__font-metadata-emphasis);
}

.str-chat .str-chat__duration-display {
  letter-spacing: 0;
  min-width: 35px;
  width: 35px;
  color: var(--str-chat__text-primary);
  white-space: nowrap;
  text-align: center;
}

.str-chat .str-chat__button.str-chat__playback-rate-button {
  text-transform: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  min-width: 48px;
  min-height: 24px;
  max-height: 24px;
  padding: var(--str-chat__button-padding-y-sm) var(--str-chat__spacing-xs);
  background-color: inherit;
  border-radius: var(--str-chat__button-radius-lg);
  border: 1px solid var(--chat-border-on-chat);
  color: var(--str-chat__control-playback-toggle-text, var(--str-chat__text-primary));
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat .str-chat__button.str-chat__playback-rate-button:not(:disabled):hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__background-utility-hover);
  pointer-events: none;
}
.str-chat .str-chat__button.str-chat__playback-rate-button:not(:disabled):focus-visible {
  outline: 2px solid var(--str-chat__border-utility-focused);
  outline-offset: 2px;
  outline-offset: 0;
}
.str-chat .str-chat__button.str-chat__playback-rate-button:not(:disabled):active::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__background-utility-pressed);
  pointer-events: none;
}
.str-chat .str-chat__button.str-chat__playback-rate-button:disabled {
  border-color: var(--str-chat__border-utility-disabled);
  color: var(--str-chat__text-disabled);
  cursor: default;
}

.str-chat .str-chat__message-attachment-audio-widget--progress-track {
  position: relative;
  height: var(--str-chat__size-4);
  flex: 1;
  min-width: 0;
  cursor: pointer;
  background: linear-gradient(to var(--str-chat__progress-direction, right), var(--str-chat__chat-waveform-bar-playing) var(--str-chat__message-attachment-audio-widget-progress), var(--str-chat__chat-waveform-bar) var(--str-chat__message-attachment-audio-widget-progress));
}
[dir=rtl] .str-chat .str-chat__message-attachment-audio-widget--progress-track {
  --str-chat__progress-direction: left;
}
.str-chat .str-chat__message-attachment-audio-widget--progress-track {
  border-radius: var(--str-chat__radius-max);
}
.str-chat .str-chat__message-attachment-audio-widget--progress-track .str-chat__message-attachment-audio-widget--progress-indicator {
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  transform: translateY(-50%);
  height: var(--str-chat__size-12);
  width: var(--str-chat__size-12);
  border-radius: var(--str-chat__radius-max);
  border: 1px solid var(--str-chat__control-playback-thumb-border-default);
  background: var(--str-chat__control-playback-thumb-bg-default);
  box-shadow: var(--str-chat__box-shadow-2);
  cursor: grab;
}

.str-chat {
  /* The width of the amplitude bar of the voice recording wave data */
  --str-chat__voice-recording-amplitude-bar-width: 2px;
  /* The gap between amplitudes of the wave data of a voice recording */
  --str-chat__voice-recording-amplitude-bar-gap-width: var(--str-chat__spacing-px);
}
.str-chat .str-chat__message-attachment__voice-recording-widget__audio-state {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  padding-inline: var(--str-chat__spacing-xs);
  height: 100%;
}
.str-chat .str-chat__wave-progress-bar__track {
  position: relative;
  flex: 1;
  width: 100%;
  height: 30px;
  display: flex;
  align-items: center;
  gap: var(--str-chat__voice-recording-amplitude-bar-gap-width);
}
.str-chat .str-chat__wave-progress-bar__track .str-chat__wave-progress-bar__amplitude-bar {
  width: 2px;
  min-width: 2px;
  height: calc(var(--str-chat__wave-progress-bar__amplitude-bar-height) + 2px);
}
.str-chat .str-chat__wave-progress-bar__track .str-chat__wave-progress-bar__progress-indicator {
  position: absolute;
  inset-inline-start: 0;
  border: 2px solid var(--str-chat__base-white);
  box-shadow: var(--str-chat__box-shadow-3);
  background: var(--str-chat__accent-neutral);
  height: 14px;
  width: 14px;
  border-radius: var(--str-chat__radius-max);
  cursor: grab;
  transition: inset-inline-start 250ms linear;
}
.str-chat .str-chat__wave-progress-bar__amplitude-bar {
  background: var(--str-chat__chat-waveform-bar);
  border-radius: var(--str-chat__radius-max);
  transition: background 250ms linear;
}
.str-chat .str-chat__wave-progress-bar__amplitude-bar--active {
  background: var(--str-chat__chat-waveform-bar-playing);
}
.str-chat .str-chat__wave-progress-bar__track--dragging .str-chat__wave-progress-bar__progress-indicator {
  transition: none;
}
.str-chat .str-chat__wave-progress-bar__track--dragging .str-chat__wave-progress-bar__amplitude-bar {
  transition: none;
}
.str-chat .str-chat__wave-progress-bar__track--playback-initiated .str-chat__wave-progress-bar__progress-indicator {
  background: var(--str-chat__accent-primary);
}

.str-chat__avatar {
  user-select: none;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--str-chat__radius-max);
  background: var(--str-chat__avatar-bg-default);
  color: var(--str-chat__avatar-text-default);
  text-transform: uppercase;
  width: var(--avatar-size);
  height: var(--avatar-size);
  --avatar-status-badge-angle: -45deg;
  grid-area: avatar;
}
.str-chat__avatar .str-chat__avatar-image {
  object-fit: cover;
  border-radius: inherit;
  width: 100%;
  height: 100%;
}
.str-chat__avatar .str-chat__icon {
  width: var(--avatar-icon-size);
  height: var(--avatar-icon-size);
  stroke-width: var(--avatar-icon-stroke-width);
}
.str-chat__avatar.str-chat__avatar--with-border:has(.str-chat__avatar-image)::before {
  border: 1px solid var(--border-core-opacity-10);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: transparent;
  border-radius: inherit;
}
.str-chat__avatar:after {
  content: "";
  position: absolute;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border: 2px solid var(--str-chat__border-core-inverse);
  border-radius: inherit;
}
.str-chat__avatar .str-chat__avatar-status-badge {
  content: "";
  position: absolute;
  width: var(--avatar-status-badge-size);
  height: var(--avatar-status-badge-size);
  z-index: 1;
  inset-inline-start: calc(var(--avatar-size) / 2 + var(--avatar-size) / 2 * cos(var(--avatar-status-badge-angle)) - var(--avatar-status-badge-size) / 2);
  top: calc(var(--avatar-size) / 2 + var(--avatar-size) / 2 * sin(var(--avatar-status-badge-angle)) - var(--avatar-status-badge-size) / 2);
  border-radius: var(--str-chat__radius-max, 9999px);
  border-style: solid;
  border-color: var(--str-chat__presence-border);
  border-width: 2px;
}
.str-chat__avatar .str-chat__avatar-status-badge.str-chat__avatar-status-badge--online {
  background: var(--str-chat__presence-bg-online);
}
.str-chat__avatar .str-chat__avatar-status-badge.str-chat__avatar-status-badge--offline {
  background: var(--str-chat__presence-bg-offline);
}
.str-chat__avatar.str-chat__avatar--size-2xl {
  --avatar-size: 64px;
  --avatar-status-badge-size: 16px;
  --avatar-icon-size: var(--str-chat__icon-size-lg);
  --avatar-icon-stroke-width: 1.5px;
  font: var(--str-chat__font-heading-lg);
}
.str-chat__avatar.str-chat__avatar--size-xl {
  --avatar-size: 48px;
  --avatar-status-badge-size: 16px;
  --avatar-icon-size: var(--str-chat__size-24);
  --avatar-icon-stroke-width: 1.5px;
  font: var(--str-chat__font-heading-md);
}
.str-chat__avatar.str-chat__avatar--size-lg {
  --avatar-size: 40px;
  --avatar-status-badge-size: 14px;
  --avatar-icon-size: var(--str-chat__icon-size-md);
  --avatar-icon-stroke-width: 1.5px;
  font: var(--str-chat__font-body-emphasis);
}
.str-chat__avatar.str-chat__avatar--size-md {
  --avatar-size: 32px;
  --avatar-status-badge-size: 12px;
  --avatar-icon-size: var(--str-chat__icon-size-md);
  --avatar-icon-stroke-width: 1.5px;
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat__avatar.str-chat__avatar--size-sm {
  --avatar-size: 24px;
  --avatar-status-badge-size: 8px;
  --avatar-icon-size: var(--str-chat__icon-size-sm);
  --avatar-icon-stroke-width: 1.2px;
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat__avatar.str-chat__avatar--size-sm .str-chat__avatar-status-badge {
  border-width: 1px;
}
.str-chat__avatar.str-chat__avatar--size-xs {
  --avatar-size: 20px;
  --avatar-status-badge-size: 8px;
  --avatar-icon-size: 10px;
  --avatar-icon-stroke-width: 1.2px;
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__avatar.str-chat__avatar--size-xs .str-chat__avatar-status-badge {
  border-width: 1px;
}

.str-chat__avatar-stack {
  display: flex;
  align-items: center;
}
.str-chat__avatar-stack .str-chat__avatar-stack__count-badge {
  position: relative;
}
.str-chat__avatar-stack.str-chat__avatar-stack--size-xs > .str-chat__avatar:not(:first-child),
.str-chat__avatar-stack.str-chat__avatar-stack--size-xs .str-chat__avatar-stack__count-badge {
  margin-inline-start: calc(var(--str-chat__spacing-xs) * -1);
}
.str-chat__avatar-stack.str-chat__avatar-stack--size-sm > .str-chat__avatar:not(:first-child),
.str-chat__avatar-stack.str-chat__avatar-stack--size-sm .str-chat__avatar-stack__count-badge {
  margin-inline-start: calc(var(--str-chat__spacing-sm) * -1);
}
.str-chat__avatar-stack.str-chat__avatar-stack--size-md > .str-chat__avatar:not(:first-child),
.str-chat__avatar-stack.str-chat__avatar-stack--size-md .str-chat__avatar-stack__count-badge {
  margin-inline-start: calc(var(--str-chat__spacing-sm) * -1);
}

.str-chat__avatar-group {
  width: var(--avatar-group-size);
  height: var(--avatar-group-size);
  min-height: var(--avatar-group-size);
  min-width: var(--avatar-group-size);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.str-chat__avatar-group.str-chat__avatar-group--size-2xl {
  --avatar-group-size: 64px;
  --avatar-group-online-badge-size: 16px;
  --avatar-group-count-badge-size: 32px;
}
.str-chat__avatar-group.str-chat__avatar-group--size-2xl > .str-chat__avatar-group__count-badge {
  font: var(--str-chat__font-numeric-xl);
  padding-inline: var(--str-chat__spacing-xs);
}
.str-chat__avatar-group.str-chat__avatar-group--size-xl {
  --avatar-group-size: 48px;
  --avatar-group-online-badge-size: 16px;
  --avatar-group-count-badge-size: 24px;
}
.str-chat__avatar-group.str-chat__avatar-group--size-xl > .str-chat__avatar-group__count-badge {
  font: var(--str-chat__font-numeric-xl);
  padding-inline: var(--str-chat__spacing-xs);
}
.str-chat__avatar-group.str-chat__avatar-group--size-lg {
  --avatar-group-size: 40px;
  --avatar-group-online-badge-size: 14px;
  --avatar-group-count-badge-size: 20px;
}
.str-chat__avatar-group.str-chat__avatar-group--size-lg > .str-chat__avatar-group__count-badge {
  font: var(--str-chat__font-numeric-md);
  padding-inline: var(--str-chat__spacing-xxs);
}
.str-chat__avatar-group.str-chat__avatar-group--online::after, .str-chat__avatar-group.str-chat__avatar-group--offline::after {
  content: "";
  position: absolute;
  width: var(--avatar-group-online-badge-size);
  height: var(--avatar-group-online-badge-size);
  inset-inline-end: -2px;
  top: -2px;
  border-radius: var(--str-chat__radius-max, 9999px);
  border-style: solid;
  border-color: var(--str-chat__presence-border, #fff);
  border-width: 2px;
}
.str-chat__avatar-group.str-chat__avatar-group--online::after {
  background: var(--str-chat__presence-bg-online, #00c384);
}
.str-chat__avatar-group.str-chat__avatar-group--offline::after {
  background: var(--str-chat__presence-bg-offline, #687385);
}
.str-chat__avatar-group > .str-chat__avatar {
  position: absolute;
}
.str-chat__avatar-group > .str-chat__avatar-group__count-badge {
  position: absolute;
  display: flex;
  height: var(--avatar-group-count-badge-size);
  min-width: var(--avatar-group-count-badge-size);
  min-height: var(--avatar-group-count-badge-size);
  justify-content: center;
  align-items: center;
  border-radius: var(--str-chat__radius-max);
  background: var(--str-chat__badge-bg-default);
  box-shadow: var(--str-chat__box-shadow-2);
}
.str-chat__avatar-group:has(> :last-child:nth-child(4)) > :nth-child(1) {
  top: 0;
  inset-inline-start: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(4)) > :nth-child(2) {
  top: 0;
  inset-inline-end: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(4)) > :nth-child(3) {
  bottom: 0;
  inset-inline-start: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(4)) > :last-child {
  bottom: 0;
  inset-inline-end: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(3)):has(> .str-chat__avatar-group__count-badge) > :nth-child(1) {
  top: 0;
  inset-inline-start: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(3)):has(> .str-chat__avatar-group__count-badge) > :nth-child(2) {
  top: 0;
  inset-inline-end: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(3)):has(> .str-chat__avatar-group__count-badge) > :last-child {
  bottom: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(3)):not(:has(> .str-chat__avatar-group__count-badge)) > :nth-child(1) {
  top: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(3)):not(:has(> .str-chat__avatar-group__count-badge)) > :nth-child(2) {
  bottom: 0;
  inset-inline-start: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(3)):not(:has(> .str-chat__avatar-group__count-badge)) > :last-child {
  bottom: 0;
  inset-inline-end: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(2)) > :nth-child(1) {
  top: 0;
  inset-inline-start: 0;
}
.str-chat__avatar-group:has(> :last-child:nth-child(2)) > :last-child {
  bottom: 0;
  inset-inline-end: 0;
}

.str-chat__channel {
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  position: relative;
}
.str-chat__channel .str-chat__container {
  height: 100%;
  display: flex;
}
.str-chat__channel .str-chat__container .str-chat__main-panel {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}
.str-chat__channel .str-chat__container {
  /* Mobile (<768px): when thread is open, show only thread (channel panel collapsed). */
}
@media (max-width: 767px) {
  .str-chat__channel .str-chat__container:has(.str-chat__thread-container) > .str-chat__main-panel,
  .str-chat__channel .str-chat__container:has(.str-chat__thread-container) > .str-chat__dropzone-root:not(.str-chat__dropzone-root--thread) {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    max-width: 0;
    overflow: hidden;
  }
  .str-chat__channel .str-chat__container:has(.str-chat__thread-container) > .str-chat__thread-container,
  .str-chat__channel .str-chat__container:has(.str-chat__thread-container) > .str-chat__dropzone-root--thread {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }
}

.str-chat__loading-channel {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.str-chat__loading-channel .str-chat__channel-header--loading {
  pointer-events: none;
}
.str-chat__loading-channel .str-chat__channel-header--loading .str-chat__channel-header__data--loading {
  align-items: center;
}
.str-chat__loading-channel .str-chat__channel-header--loading .str-chat__loading-channel-header-name {
  height: var(--str-chat__size-16);
  width: 120px;
}
.str-chat__loading-channel .str-chat__channel-header--loading .str-chat__loading-channel-header-avatar {
  flex-shrink: 0;
  width: var(--str-chat__size-40);
  height: var(--str-chat__size-40);
  border-radius: 50%;
}
.str-chat__loading-channel .str-chat__message-list--loading {
  overflow: hidden;
}
.str-chat__loading-channel .str-chat__message-list--loading .str-chat__message-list-scroll {
  width: 100%;
  height: 100%;
  max-width: calc(var(--str-chat__message-composer-max-width) + var(--str-chat__message-composer-padding));
  margin-inline: auto;
}
.str-chat__loading-channel .str-chat__loading-channel-message-list {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__size-28);
  padding-block: var(--str-chat__size-32) var(--str-chat__size-24);
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message {
  display: flex;
  width: 100%;
  column-gap: var(--str-chat__spacing-sm);
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-avatar {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  align-self: end;
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-content {
  display: flex;
  flex-direction: column;
  width: min(100%, var(--str-chat__message-max-width));
  max-width: var(--str-chat__message-max-width);
  row-gap: var(--str-chat__size-12);
  min-width: 0;
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-bubble {
  width: min(100%, var(--str-chat__message-max-width));
  border-radius: var(--str-chat__radius-3xl);
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-bubble--md {
  height: var(--str-chat__size-64);
  width: min(58%, 272px);
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-bubble--lg {
  height: 84px;
  width: min(72%, 352px);
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-metadata {
  height: var(--str-chat__size-16);
  width: min(100%, var(--str-chat__message-max-width));
  border-radius: 999px;
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-metadata--sm {
  width: 88px;
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message .str-chat__loading-channel-message-metadata--md {
  width: 124px;
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message.str-chat__loading-channel-message--outgoing {
  justify-content: flex-end;
}
.str-chat__loading-channel .str-chat__loading-channel-message-list .str-chat__loading-channel-message.str-chat__loading-channel-message--outgoing .str-chat__loading-channel-message-content {
  align-items: flex-end;
}
.str-chat__loading-channel .str-chat__message-composer-container--loading {
  pointer-events: none;
}
.str-chat__loading-channel .str-chat__message-composer-container--loading .str-chat__message-composer {
  align-items: center;
}
.str-chat__loading-channel .str-chat__message-composer-container--loading .str-chat__loading-channel-message-input-button {
  flex-shrink: 0;
  width: var(--str-chat__size-48);
  height: var(--str-chat__size-48);
  border-radius: var(--str-chat__button-radius-full);
}
.str-chat__loading-channel .str-chat__message-composer-container--loading .str-chat__loading-channel-message-input-pill {
  flex: 1;
  min-width: 0;
  height: var(--str-chat__size-48);
  border-radius: 999px;
}

.str-chat__channel {
  background: var(--str-chat__background-core-app);
  color: var(--str-chat__text-primary);
}

.str-chat__loading-channel .str-chat__channel-header--loading .str-chat__loading-channel-header-avatar {
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
  border-radius: 50%;
}
.str-chat__loading-channel .str-chat__channel-header--loading .str-chat__loading-channel-header-name {
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
  border-radius: 999px;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
}
.str-chat__loading-channel .str-chat__message-list--loading .str-chat__loading-channel-message-avatar {
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
  border-radius: 50%;
}
.str-chat__loading-channel .str-chat__message-list--loading .str-chat__loading-channel-message-bubble {
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
}
.str-chat__loading-channel .str-chat__message-list--loading .str-chat__loading-channel-message-metadata {
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
  border-radius: 999px;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
}
.str-chat__loading-channel .str-chat__message-composer-container--loading .str-chat__loading-channel-message-input-button,
.str-chat__loading-channel .str-chat__message-composer-container--loading .str-chat__loading-channel-message-input-pill {
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
}
.str-chat__loading-channel .str-chat__message-composer-container--loading .str-chat__loading-channel-message-input-button {
  border-radius: var(--str-chat__button-radius-full);
}
.str-chat__loading-channel .str-chat__message-composer-container--loading .str-chat__loading-channel-message-input-pill {
  border-radius: var(--str-chat__radius-3xl);
}

@keyframes loading-channel-shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
.str-chat {
  --str-chat__channel-header-height: 72px;
}

.str-chat__channel-header {
  background: var(--str-chat__background-core-elevation-1);
  border-block-end: 1px solid var(--str-chat__border-core-default);
  width: 100%;
  padding: var(--str-chat__spacing-md);
  height: var(--str-chat__channel-header-height);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
}
.str-chat__channel-header .str-chat__channel-header__start {
  justify-self: start;
  min-width: 0;
}
.str-chat__channel-header .str-chat__channel-header__data {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-y: hidden;
  overflow-x: hidden;
  justify-self: center;
  min-width: 0;
}
.str-chat__channel-header .str-chat__channel-header__end {
  justify-self: end;
  min-width: 0;
}
.str-chat__channel-header .str-chat__channel-header__data__title,
.str-chat__channel-header .str-chat__channel-header__data__subtitle {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
}
.str-chat__channel-header .str-chat__channel-header__data__title {
  font: var(--str-chat__font-heading-sm);
}
.str-chat__channel-header .str-chat__channel-header__data__subtitle {
  font: var(--str-chat__font-caption-default);
  color: var(--str-chat__text-secondary);
}

.str-chat {
  /* Animation duration used when the component enters or exits */
  --str-chat__channel-list-transition-duration: 180ms;
  /* Animation easing used when the component enters or exits */
  --str-chat__channel-list-transition-easing: ease;
  /* Horizontal offset used by the sidebar enter/exit transition */
  --str-chat__channel-list-transition-offset: 8px;
  /* Default desktop width of the channel list. Override to match custom layouts. */
  --str-chat__channel-list-width: 30%;
  /* Default mobile overlay width of the channel list. Override to match custom layouts. */
  --str-chat__channel-list-mobile-width: 100%;
}

.str-chat__channel-list {
  display: flex;
  flex: 0 0 var(--str-chat__channel-list-width);
  flex-direction: column;
  height: 100%;
  max-width: 100%;
  position: relative;
  min-width: 280px;
  opacity: 1;
  transform: translateX(0);
  transition: flex-basis var(--str-chat__channel-list-transition-duration) var(--str-chat__channel-list-transition-easing), min-width var(--str-chat__channel-list-transition-duration) var(--str-chat__channel-list-transition-easing), width var(--str-chat__channel-list-transition-duration) var(--str-chat__channel-list-transition-easing), max-width var(--str-chat__channel-list-transition-duration) var(--str-chat__channel-list-transition-easing), opacity var(--str-chat__channel-list-transition-duration) var(--str-chat__channel-list-transition-easing), transform var(--str-chat__channel-list-transition-duration) var(--str-chat__channel-list-transition-easing);
  width: var(--str-chat__channel-list-width);
  background: var(--str-chat__background-core-elevation-1);
  color: var(--str-chat__text-primary);
  border-inline-end: 1px solid var(--str-chat__border-core-default);
}
.str-chat__channel-list .str-chat__channel-list-inner {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding-bottom: calc(var(--str-chat__space-8) + var(--str-chat__space-2));
}
.str-chat__channel-list .str-chat__channel-list-inner .str-chat__channel-list-inner__main {
  height: 100%;
  overflow-y: auto;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
}
.str-chat__channel-list .str-chat__channel-list-inner .str-chat__channel-list-inner__main .str-chat__channel-list-empty {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: calc(var(--str-chat__space-8) + var(--str-chat__space-4));
}
.str-chat__channel-list .str-chat__channel-list-inner .str-chat__channel-list-inner__main .str-chat__channel-list-empty p {
  color: var(--str-chat__text-secondary);
  font: var(--str-chat__font-caption-default);
}
.str-chat__channel-list .str-chat__load-more-button {
  display: flex;
  justify-content: center;
  margin: var(--str-chat__space-8) 0;
}
.str-chat__channel-list .str-chat__channel-list-empty {
  text-align: center;
}
.str-chat__channel-list .str-chat__channel-list-empty svg {
  width: 32px;
  height: 32px;
}
.str-chat__channel-list .str-chat__channel-list-empty {
  color: var(--str-chat__text-secondary);
}
.str-chat__channel-list {
  /* Mobile: hide when nav closed; when open show as overlay. */
}
@media (max-width: 767px) {
  .str-chat__channel-list {
    box-shadow: none;
    flex-basis: auto;
    inset-inline-start: 0;
    max-width: 100%;
    min-width: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    transform: translateX(calc(0px - var(--str-chat__channel-list-transition-offset)));
    visibility: hidden;
    width: var(--str-chat__channel-list-mobile-width);
    z-index: 1;
    transition: transform var(--str-chat__channel-list-transition-duration) var(--str-chat__channel-list-transition-easing), visibility 0s linear var(--str-chat__channel-list-transition-duration);
  }
  .str-chat__chat-view .str-chat__channel-list {
    inset-inline-start: var(--str-chat__chat-view-selector-mobile-width, 0px);
    width: calc(100% - var(--str-chat__chat-view-selector-mobile-width, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .str-chat__channel-list {
    transition: none;
  }
}

.str-chat__channel-list__header {
  display: flex;
  align-items: center;
  padding: var(--str-chat__spacing-md);
  width: 100%;
}
.str-chat__channel-list__header .str-chat__channel-list__header__title {
  flex: 1;
  font: var(--str-chat__font-heading-lg);
  color: var(--str-chat__text-primary);
}

.str-chat__channel-list-item-container {
  padding: var(--str-chat__spacing-xxs);
  position: relative;
}
.str-chat__channel-list-item-container:has(.str-chat__channel-list-item__action-buttons--active) .str-chat__channel-list-item__action-buttons, .str-chat__channel-list-item-container:focus-within .str-chat__channel-list-item__action-buttons, .str-chat__channel-list-item-container:hover .str-chat__channel-list-item__action-buttons {
  display: flex;
}
.str-chat__channel-list-item-container .str-chat__channel-list-item__action-buttons {
  display: none;
  position: absolute;
  gap: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-md);
  background: var(--str-chat__background-core-elevation-3);
  box-shadow: var(--str-chat__box-shadow-2);
  inset-inline-end: 10px;
  top: 10px;
  padding: var(--str-chat__spacing-xxs);
}
.str-chat__channel-list-item-container .str-chat__channel-list-item__action-buttons > .str-chat__button.str-chat__button--size-sm.str-chat__button--circular {
  padding-inline: var(--str-chat__button-padding-x-icon-only-xs);
  padding-block: var(--str-chat__button-padding-x-icon-only-xs);
}
.str-chat__channel-list-item-container {
  border-bottom: 1px solid var(--str-chat__border-core-subtle);
}

.str-chat__channel-list-item__action-buttons-context-menu {
  min-width: 150px;
}

.str-chat__channel-list-item {
  display: flex;
  gap: var(--str-chat__spacing-md);
  align-items: center;
  padding: var(--str-chat__spacing-sm);
  border: none;
  background: none;
  cursor: pointer;
  text-align: start;
  border-radius: var(--str-chat__radius-lg);
  width: 100%;
  background: var(--str-chat__background-core-elevation-1);
}
.str-chat__channel-list-item:not(:disabled):hover {
  background: var(--str-chat__background-utility-hover);
}
.str-chat__channel-list-item:not(:disabled):active {
  background: var(--str-chat__background-utility-pressed);
}
.str-chat__channel-list-item:not(:disabled)[aria-pressed=true] {
  background: var(--str-chat__background-utility-selected);
}
.str-chat__channel-list-item .str-chat__avatar {
  flex-shrink: 0;
}
.str-chat__channel-list-item .str-chat__channel-list-item-data {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxs);
  flex-shrink: 1;
  flex-grow: 1;
  min-width: 0;
}
.str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--str-chat__spacing-md);
}
.str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row .str-chat__channel-list-item-data__title {
  flex-shrink: 1;
  flex-grow: 1;
  min-width: 0;
  display: flex;
  align-items: inherit;
  gap: var(--str-chat__spacing-xxs);
  font: var(--str-chat__font-caption-emphasis);
  color: var(--str-chat__text-primary);
}
.str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row .str-chat__channel-list-item-data__title > span {
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row .str-chat__channel-list-item-data__title > .str-chat__icon--mute {
  color: var(--str-chat__text-tertiary);
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
}
.str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row .str-chat__channel-list-item-data__timestamp-and-badge {
  flex-shrink: 0;
  display: flex;
  align-items: inherit;
  gap: var(--str-chat__spacing-xs);
}
.str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row .str-chat__channel-list-item-data__timestamp-and-badge .str-chat__channel-list-item-timestamp {
  font: var(--str-chat__font-caption-default);
  color: var(--str-chat__text-tertiary);
}

.str-chat {
  --str-chat__chat-view-selector-transition-duration: 180ms;
  --str-chat__chat-view-selector-transition-easing: ease;
  --str-chat__chat-view-selector-transition-offset: 8px;
  --str-chat__chat-view-selector-mobile-width: calc(
    var(--str-chat__spacing-md) + var(--str-chat__spacing-md) +
      var(--str-chat__spacing-xs) + var(--str-chat__spacing-xs) + 20px
  );
}

.str-chat__chat-view {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  position: relative;
  background-color: var(--str-chat__background-core-app);
}
.str-chat__chat-view .str-chat__chat-view__selector {
  display: flex;
  flex-direction: column;
  padding: var(--str-chat__spacing-md);
  gap: var(--str-chat__spacing-xs);
  border-inline-end: 1px solid var(--str-chat__border-core-subtle);
  background-color: var(--str-chat__background-core-elevation-1);
}
.str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button-container {
  display: flex;
  position: relative;
}
.str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button-container:focus-visible + .str-chat__chat-view__selector-button-tooltip, .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button-container:hover .str-chat__chat-view__selector-button-tooltip {
  opacity: 1;
  transform: translate3d(0, -50%, 0);
  visibility: visible;
}
.str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button {
  --str-chat-unread-count-badge-absolute-offset-vertical: 25%;
  gap: 4px;
  padding: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-md);
  font: var(--str-chat__font-caption-emphasis);
  line-height: 1;
  position: relative;
  background: transparent;
  color: var(--str-chat__text-tertiary);
}
.str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button[aria-selected=true] {
  color: var(--str-chat__text-primary);
  background: var(--str-chat__background-core-surface-default);
}
.str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button .str-chat__icon {
  height: var(--str-chat__icon-size-md);
  width: var(--str-chat__icon-size-md);
}
.str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button .str-chat__button__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button-tooltip {
  inset-inline-start: calc(100% + 8px);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate3d(4px, -50%, 0);
  transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
  visibility: hidden;
  white-space: nowrap;
  z-index: 1;
}
.str-chat__chat-view .str-chat__chat-view__channels {
  display: flex;
  flex-grow: 1;
  min-width: 0;
  min-height: 0;
  position: relative;
}
.str-chat__chat-view .str-chat__chat-view__threads {
  display: flex;
  flex-grow: 1;
  min-width: 0;
  position: relative;
}
.str-chat__chat-view .str-chat__chat-view__threads > .str-chat__dropzone-root--thread,
.str-chat__chat-view .str-chat__chat-view__threads > .str-chat__thread-container {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  width: 100%;
}

.str-chat__date-separator--floating {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.str-chat__date-separator {
  background: transparent;
  color: var(--str-chat__chat-text-system);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: var(--str-chat__spacing-xs) 0;
}
.str-chat__date-separator .str-chat__date-separator-date {
  display: flex;
  padding: var(--str-chat__spacing-xxs) var(--str-chat__spacing-sm);
  justify-content: center;
  align-items: center;
  color: var(--str-chat__chat-text-system);
  background-color: var(--str-chat__background-core-surface-subtle);
  border-radius: var(--str-chat__radius-max);
  font: var(--str-chat__font-metadata-emphasis);
}

.str-chat__drag-and-drop-container--dragging {
  cursor: grabbing;
}

.str-chat__drag-and-drop-container__item[draggable=true] {
  cursor: grab;
}
.str-chat__drag-and-drop-container__item[draggable=true]:active {
  background: transparent;
}

.str-chat__drag-and-drop-container__item {
  display: flex;
  width: 100%;
  padding-block: 0.25rem;
  border-block-start: 2px solid transparent;
  border-block-end: 2px solid transparent;
}
.str-chat__drag-and-drop-container__item.str-chat__drag-and-drop-container__item--dragged-over-from-top {
  border-block-end: 2px solid var(--str-chat__accent-primary);
}
.str-chat__drag-and-drop-container__item.str-chat__drag-and-drop-container__item--dragged-over-from-bottom {
  border-block-start: 2px solid var(--str-chat__accent-primary);
}

.str-chat__empty-channel {
  --str-chat-icon-color: var(--str-chat__text-tertiary);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: var(--str-chat__spacing-md);
  position: relative;
  gap: var(--str-chat__spacing-xs);
  text-align: center;
  background: var(--str-chat__background-core-app);
  color: var(--str-chat__text-secondary);
  font: var(--str-chat__font-caption-default);
}
.str-chat__empty-channel svg {
  width: 32px;
  height: 32px;
  color: var(--str-chat-icon-color);
}
.str-chat__empty-channel .str-chat__empty-channel-text {
  margin: 0;
  max-width: 230px;
}

.str-chat .str-chat__base-image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@keyframes str-chat__gallery-slide-in-from-right {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes str-chat__gallery-slide-in-from-left {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.str-chat .str-chat__gallery {
  --str-chat__gallery-foreground: var(--str-chat__text-on-accent);
  --str-chat__gallery-nav-border: none;
  --str-chat__gallery-nav-background: rgba(255, 255, 255, 0.92);
  --str-chat__gallery-nav-color: #101828;
  --str-chat__gallery-nav-hover-background: #ffffff;
  --str-chat__gallery-nav-box-shadow: var(--str-chat__box-shadow-2);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  box-sizing: border-box;
  backdrop-filter: blur(24px);
}
.str-chat.str-chat__modal.str-chat__gallery-modal {
  --str-chat__modal-overlay-color: var(--str-chat__background-core-scrim);
  --str-chat__modal-overlay-backdrop-filter: none;
}
.str-chat.str-chat__modal.str-chat__gallery-modal .str-chat__modal__dialog {
  width: 100%;
  height: 100%;
}
.str-chat .str-chat__gallery__header {
  padding: var(--str-chat__spacing-md);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  gap: var(--str-chat__spacing-sm);
  pointer-events: none;
  width: 100%;
}
.str-chat .str-chat__gallery__header-spacer {
  min-width: 0;
}
.str-chat .str-chat__gallery__header-meta {
  min-width: 0;
  text-align: center;
}
.str-chat .str-chat__gallery__title {
  color: var(--str-chat__gallery-foreground);
  font: var(--str-chat__font-heading-sm);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.str-chat .str-chat__gallery__timestamp {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.72);
  font: var(--str-chat__font-metadata-default);
}
.str-chat .str-chat__gallery__header-actions {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: var(--str-chat__spacing-xs);
  pointer-events: auto;
}
.str-chat .str-chat__button.str-chat__gallery__action-button,
.str-chat .str-chat__gallery__action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: var(--str-chat__radius-max);
  border: 0;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  opacity: 0.92;
}
@media (prefers-reduced-motion: no-preference) {
  .str-chat .str-chat__button.str-chat__gallery__action-button,
  .str-chat .str-chat__gallery__action-button {
    transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
  }
}
.str-chat .str-chat__button.str-chat__gallery__action-button:hover,
.str-chat .str-chat__gallery__action-button:hover {
  background-color: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  opacity: 1;
}
.str-chat .str-chat__button.str-chat__gallery__action-button:active,
.str-chat .str-chat__gallery__action-button:active {
  background-color: rgba(255, 255, 255, 0.2);
}
.str-chat .str-chat__button.str-chat__gallery__action-button:focus-visible,
.str-chat .str-chat__gallery__action-button:focus-visible {
  outline: 2px solid var(--str-chat__border-utility-focused);
  outline-offset: 2px;
}
.str-chat .str-chat__button.str-chat__gallery__action-button .str-chat__icon,
.str-chat .str-chat__gallery__action-button .str-chat__icon {
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
}
.str-chat .str-chat__gallery__main {
  flex-direction: column;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-radius: 0;
  background: var(--str-chat__gallery-main-background);
}
.str-chat .str-chat__gallery__slide-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: var(--str-chat__size-64);
  box-sizing: border-box;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
}
.str-chat .str-chat__gallery__media-container {
  width: 100%;
  height: 100%;
}
.str-chat .str-chat__gallery__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .str-chat .str-chat__gallery__media--slide-forward {
    animation: str-chat__gallery-slide-in-from-right 300ms ease-out both;
  }
  .str-chat .str-chat__gallery__media--slide-backward {
    animation: str-chat__gallery-slide-in-from-left 300ms ease-out both;
  }
}
.str-chat .str-chat__gallery__media--dragging {
  transition: none;
}
.str-chat .str-chat__gallery__media .str-chat__base-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.str-chat .str-chat__gallery__media--video video {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.str-chat .str-chat__button.str-chat__gallery__nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: var(--str-chat__gallery-nav-border);
  border-radius: var(--str-chat__radius-max);
  background-color: var(--str-chat__gallery-nav-background);
  color: var(--str-chat__gallery-nav-color);
  box-shadow: var(--str-chat__gallery-nav-box-shadow);
}
@media (prefers-reduced-motion: no-preference) {
  .str-chat .str-chat__button.str-chat__gallery__nav-button {
    transition: background-color 0.15s ease, transform 0.15s ease;
  }
}
.str-chat .str-chat__button.str-chat__gallery__nav-button:hover {
  background-color: var(--str-chat__gallery-nav-hover-background);
}
.str-chat .str-chat__button.str-chat__gallery__nav-button:focus-visible {
  outline: 2px solid var(--str-chat__border-utility-focused);
  outline-offset: 2px;
}
.str-chat .str-chat__button.str-chat__gallery__nav-button:active {
  transform: translateY(-50%) scale(0.97);
}
.str-chat .str-chat__button.str-chat__gallery__nav-button svg {
  width: 1rem;
  height: 1rem;
}
.str-chat .str-chat__gallery__nav-button--hidden {
  visibility: hidden;
  pointer-events: none;
}
.str-chat .str-chat__gallery__nav-button--prev {
  inset-inline-start: var(--str-chat__spacing-sm);
}
.str-chat .str-chat__gallery__nav-button--next {
  inset-inline-end: var(--str-chat__spacing-sm);
}
.str-chat .str-chat__gallery__position-indicator {
  color: var(--str-chat__gallery-foreground);
  font: var(--str-chat__font-caption-emphasis);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  user-select: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--str-chat__spacing-md);
}
.str-chat .str-chat__gallery__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.str-chat .str-chat__gallery__error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--str-chat__spacing-sm);
  width: 100%;
  height: 100%;
  color: var(--str-chat__text-tertiary);
  font-size: var(--str-chat__typography-font-size-sm);
}
.str-chat.str-chat__theme-dark .str-chat__gallery {
  --str-chat__gallery-nav-border: 1px solid rgba(255, 255, 255, 0.08);
  --str-chat__gallery-nav-background: rgba(17, 24, 39, 0.88);
  --str-chat__gallery-nav-color: rgba(255, 255, 255, 0.92);
  --str-chat__gallery-nav-hover-background: rgba(31, 41, 55, 0.96);
  --str-chat__gallery-nav-box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
}
@media only screen and (max-device-width: 768px) {
  .str-chat .str-chat__gallery__header {
    inset: var(--str-chat__spacing-xs) var(--str-chat__spacing-xs) auto;
  }
  .str-chat .str-chat__gallery__nav-button {
    width: 2rem;
    height: 2rem;
  }
  .str-chat .str-chat__gallery__slide-container {
    padding: 2.25rem 2.5rem 1.5rem;
  }
  .str-chat .str-chat__gallery__header-actions {
    gap: 0.25rem;
  }
}

.str-chat__infinite-scroll-paginator {
  overflow-y: auto;
  overflow-x: hidden;
}

.str-chat__loading-channels {
  display: flex;
  flex-direction: column;
}

.str-chat__channel-list-item--loading {
  cursor: default;
  pointer-events: none;
}

.str-chat__channel-list-item--loading,
.str-chat__channel-list-item-data--loading {
  min-width: 0;
}

.str-chat__channel-list-item-data--loading {
  justify-content: center;
}

.str-chat__loading-channels-avatar,
.str-chat__loading-channels-username,
.str-chat__loading-channels-status {
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channels-shimmer 1.2s linear infinite;
}

.str-chat__loading-channels-avatar {
  flex-shrink: 0;
  width: var(--str-chat__size-48);
  height: var(--str-chat__size-48);
  border-radius: 50%;
}

.str-chat__loading-channels-username,
.str-chat__loading-channels-status {
  height: var(--str-chat__size-20);
  border-radius: 999px;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
}

.str-chat__loading-channels-username {
  width: min(62%, 180px);
}

.str-chat__loading-channels-status {
  width: min(84%, 244px);
}

@keyframes loading-channels-shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
.str-chat__loading-indicator {
  animation: rotate 1s linear infinite;
}
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.str-chat__circular-progress-indicator {
  width: 100%;
  height: 100%;
}
.str-chat__circular-progress-indicator svg {
  display: block;
}

.str-chat__share-location-dialog {
  width: 100%;
  max-width: 520px;
}
.str-chat__share-location-dialog .str-chat__live-location-activation {
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: var(--str-chat__switch-field-background-color);
  border-radius: var(--str-chat__switch-field-border-radius);
  box-sizing: border-box;
}
.str-chat__share-location-dialog .str-chat__live-location-activation.str-chat__live-location-activation--expanded .str-chat__form__switch-field {
  padding-bottom: var(--str-chat__spacing-xxs);
}
.str-chat__share-location-dialog .str-chat__live-location-activation .str-chat__form__switch-field__label__text {
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat__share-location-dialog .str-chat__live-location-sharing-duration-selector {
  padding-inline: calc(var(--str-chat__spacing-md) - var(--str-chat__spacing-xs));
  padding-bottom: var(--str-chat__spacing-xs);
}
.str-chat__share-location-dialog .str-chat__live-location-sharing-duration-selector .str-chat__live-location-sharing-duration-selector__button {
  background: none;
  border: none;
  padding: 0;
  align-items: center;
  background: transparent;
  padding-inline: var(--str-chat__spacing-xs);
  color: inherit;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  min-width: 120px;
  font: var(--str-chat__font-caption-default);
}
.str-chat__share-location-dialog .str-chat__live-location-sharing-duration-selector .str-chat__context-menu {
  min-width: 120px;
}
.str-chat__share-location-dialog .str-chat__live-location-sharing-duration-selector .str-chat__live-location-sharing-duration-option {
  width: 100%;
}

.str-chat__audio_recorder {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: var(--str-chat__message-composer-max-width);
  width: 100%;
  border-radius: var(--str-chat__radius-3xl);
  border: 1px solid var(--str-chat__border-core-default);
  background: var(--composer-bg);
  position: relative;
}
.str-chat__audio_recorder .str-chat__audio-recorder__recording-playback,
.str-chat__audio_recorder .str-chat__audio-recorder__recording-preview {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-md);
  padding: var(--str-chat__spacing-xs);
  padding-inline-start: var(--str-chat__spacing-sm);
}
.str-chat__audio_recorder .str-chat__audio-recorder__recording-playback .str-chat__recording-timer,
.str-chat__audio_recorder .str-chat__audio-recorder__recording-preview .str-chat__recording-timer {
  display: flex;
  align-items: center;
  width: 2.75rem;
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat__audio_recorder .str-chat__audio-recorder__recording-playback .str-chat__recording-timer--hours,
.str-chat__audio_recorder .str-chat__audio-recorder__recording-preview .str-chat__recording-timer--hours {
  width: 3rem;
}
.str-chat__audio_recorder .str-chat__audio-recorder__recording-playback--isPlaying .str-chat__recording-timer {
  color: var(--str-chat__chat-waveform-bar-playing);
}
.str-chat__audio_recorder .str-chat__audio-recorder__recording-preview .str-chat__icon--voice {
  height: var(--str-chat__icon-size-sm);
  width: var(--str-chat__icon-size-sm);
  color: var(--str-chat__button-destructive-text);
}
.str-chat__audio_recorder .str-chat__audio_recorder__toggle-playback-button svg,
.str-chat__audio_recorder .str-chat__audio_recorder__cancel-button svg,
.str-chat__audio_recorder .str-chat__audio_recorder__toggle-recording-button svg {
  height: var(--str-chat__icon-size-sm);
  width: 18px;
}
.str-chat__audio_recorder .str-chat__audio_recorder__complete-button,
.str-chat__audio_recorder .str-chat__audio_recorder__stop-button {
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  width: 32px;
  padding: 0;
  cursor: pointer;
  --str-chat-icon-color: var(--str-chat__text-on-accent);
  border-radius: var(--str-chat__radius-max);
  color: var(--str-chat__text-on-accent);
  background-color: var(--str-chat__accent-primary);
}
.str-chat__audio_recorder .str-chat__audio_recorder__complete-button:disabled,
.str-chat__audio_recorder .str-chat__audio_recorder__stop-button:disabled {
  cursor: default;
}
.str-chat__audio_recorder .str-chat__audio_recorder__complete-button .str-chat__loading-indicator svg linearGradient stop:last-child,
.str-chat__audio_recorder .str-chat__audio_recorder__stop-button .str-chat__loading-indicator svg linearGradient stop:last-child {
  stop-color: var(--str-chat__background-core-app);
}
.str-chat__audio_recorder .str-chat__audio_recorder__stop-button {
  --str-chat-icon-height: 12px;
}
.str-chat__audio_recorder .str-chat__audio_recorder__stop-button svg {
  height: 12px;
}
.str-chat__audio_recorder .str-chat__audio_recorder__complete-button {
  --str-chat-icon-height: 16px;
}
.str-chat__audio_recorder .str-chat__audio_recorder__complete-button svg {
  height: 16px;
}
.str-chat__audio_recorder .str-chat__wave-progress-bar__track-container,
.str-chat__audio_recorder .str-chat__waveform-box-container {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  width: auto;
  min-width: 0;
}
.str-chat__audio_recorder .str-chat__wave-progress-bar__track {
  display: flex;
  min-width: 0;
  width: 100%;
  align-items: center;
  flex-wrap: nowrap;
  height: 2rem;
}
.str-chat__audio_recorder .str-chat__waveform-box-container {
  overflow: hidden;
}
.str-chat__audio_recorder .str-chat__waveform-box-container .str-chat__wave-progress-bar__track {
  justify-content: flex-end;
}
.str-chat__audio_recorder .str-chat__wave-progress-bar__track-container {
  padding-inline: var(--str-chat__spacing-xs);
}
.str-chat__audio_recorder .str-chat__wave-progress-bar__track-container .str-chat__wave-progress-bar__track {
  flex: 1 1 auto;
}
.str-chat__audio_recorder .str-chat__audio_recorder__recording-controls {
  display: flex;
  gap: var(--str-chat__spacing-xs);
  padding: 0 var(--str-chat__spacing-xs);
}

.str-chat {
  /* The width/height of the message options button(s) */
  --str-chat__message-options-button-size: var(--str-chat__size-32);
  /* The maximum allowed width of the message component */
  --str-chat__message-max-width: 400px;
  /* The maximum allowed width of the message component, if it has attachments */
  --str-chat__message-with-attachment-max-width: 400px;
}

.str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message-options,
.str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message-options,
.str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message-options,
.str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message-options,
.str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message-options,
.str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message-options {
  display: flex;
}
.str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
.str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
.str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--other .str-chat__message-inner,
.str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
.str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
.str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--other .str-chat__message-inner {
  margin-inline-end: 0;
}
.str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
.str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
.str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--me .str-chat__message-inner,
.str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
.str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
.str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--me .str-chat__message-inner {
  margin-inline-start: 0;
}

.str-chat__li:has(.str-chat__message--pinned) {
  position: relative;
  isolation: isolate;
}
.str-chat__li:has(.str-chat__message--pinned)::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline: -9999px;
  background-color: var(--str-chat__background-core-highlight);
  z-index: -1;
  pointer-events: none;
}
.str-chat__li:hover:not(:has(.str-chat__reaction-list:hover, .str-chat__modal--open)) {
  background-color: transparent;
}
.str-chat__li.str-chat__li--top {
  padding-block-start: var(--str-chat__spacing-xs);
  padding-block-end: var(--str-chat__spacing-xxxs);
}
.str-chat__li.str-chat__li--bottom {
  padding-block-start: var(--str-chat__spacing-xxxs);
  padding-block-end: var(--str-chat__spacing-xs);
}
.str-chat__li.str-chat__li--middle {
  padding-block: var(--str-chat__spacing-xxxs);
}
.str-chat__li.str-chat__li--single {
  padding-block: var(--str-chat__spacing-xs);
}
.str-chat__li.str-chat__li--middle .str-chat__message .str-chat__message-metadata, .str-chat__li.str-chat__li--top .str-chat__message .str-chat__message-metadata {
  display: none;
}
.str-chat__li.str-chat__li--middle .str-chat__message > .str-chat__avatar, .str-chat__li.str-chat__li--top .str-chat__message > .str-chat__avatar {
  visibility: hidden;
}
.str-chat__li.str-chat__li--middle .str-chat__message.str-chat__message--with-avatar > .str-chat__avatar, .str-chat__li.str-chat__li--top .str-chat__message.str-chat__message--with-avatar > .str-chat__avatar {
  pointer-events: none;
}
.str-chat__li.str-chat__li--middle .str-chat__message-bubble, .str-chat__li.str-chat__li--top .str-chat__message-bubble {
  border-radius: var(--str-chat__message-bubble-radius-group-middle);
}
.str-chat__li.str-chat__li--single .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble, .str-chat__li.str-chat__li--bottom .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble {
  border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__li.str-chat__li--single .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text, .str-chat__li.str-chat__li--bottom .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
  border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__li.str-chat__li--single .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble, .str-chat__li.str-chat__li--bottom .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble {
  border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__li.str-chat__li--single .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text, .str-chat__li.str-chat__li--bottom .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
  border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
}

.str-chat__message-mention {
  font: var(--str-chat__font-body-emphasis);
  color: var(--str-chat__accent-primary);
}

.str-chat__message {
  --str-chat-message-options-size: calc(3 * var(--str-chat__message-options-button-size));
  color: var(--chat-text);
  display: grid;
  word-break: break-word;
  hyphens: auto;
  overflow-wrap: break-word;
  padding-inline: var(--str-chat__message-composer-padding);
}
@media (max-width: 767px) {
  .str-chat__message {
    --str-chat-message-options-size: var(--str-chat__message-options-button-size);
  }
  .str-chat__message.str-chat__message--other .str-chat__message-inner, .str-chat__message.str-chat__message--me .str-chat__message-inner {
    margin-inline: 0;
  }
  .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host, .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host {
    justify-self: flex-start;
    justify-content: flex-start;
    min-width: 0;
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
  }
}
.str-chat__message a {
  text-decoration: none;
  color: var(--str-chat__chat-text-link);
}
.str-chat__message .str-chat__avatar:has(~ .str-chat__message-inner) {
  grid-area: avatar;
  align-self: end;
}
.str-chat__message:not(.str-chat__message--with-avatar) .str-chat__avatar:has(~ .str-chat__message-inner) {
  display: none;
}
.str-chat__message .str-chat__message-pin-indicator {
  grid-area: pin-indicator;
  padding-block: var(--str-chat__spacing-xxs);
}
.str-chat__message .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  font: var(--str-chat__font-metadata-emphasis);
  color: var(--str-chat__text-primary);
}
.str-chat__message .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content .str-chat__message-pin-indicator__icon {
  display: flex;
  align-items: center;
}
.str-chat__message .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content .str-chat__message-pin-indicator__icon .str-chat__icon {
  width: var(--str-chat__icon-size-xs);
  height: var(--str-chat__icon-size-xs);
}
.str-chat__message .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content .str-chat__message-pin-indicator__icon .str-chat__icon path {
  stroke-width: 2px;
}
.str-chat__message .str-chat__message-inner {
  grid-area: message;
  display: grid;
  grid-template-areas: "reactions ." "message-bubble options" "replies replies";
  grid-template-columns: fit-content(var(--str-chat__message-max-width)) auto;
  column-gap: var(--str-chat__space-8);
  position: relative;
  width: fit-content;
}
.str-chat__message .str-chat__message-inner .str-chat__message-reactions-host {
  display: flex;
  grid-area: reactions;
}
.str-chat__message .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom) {
  max-width: var(--str-chat__message-max-width);
}
.str-chat__message .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
  margin-bottom: calc(var(--str-chat__spacing-xxs) * -1);
}
.str-chat__message .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--bottom) {
  padding-block: var(--str-chat__spacing-xxs);
}
.str-chat__message .str-chat__message-inner:has(.str-chat__message-reactions--bottom) {
  grid-template-areas: "message-bubble options" "replies replies" "reactions .";
}
.str-chat__message .str-chat__message-inner .str-chat__message-bubble {
  width: fit-content(var(--str-chat__message-max-width));
  max-width: min(var(--str-chat__message-max-width), 100%);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xs);
  padding: var(--str-chat__spacing-xs);
  justify-self: flex-start;
  grid-area: message-bubble;
  position: relative;
  border-radius: var(--str-chat__message-bubble-radius-group-bottom);
  background-color: var(--chat-bg);
  overflow: hidden;
}
.str-chat__message .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
  padding-inline: var(--str-chat__spacing-xxs);
}
.str-chat__message .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text p {
  white-space: pre-line;
  margin: 0;
}
.str-chat__message .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__spacing-xs));
}
.str-chat__message .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text .str-chat__message-text-inner {
  overflow-y: hidden;
}
.str-chat__message .str-chat__message-inner .str-chat__message-options {
  display: none;
}
.str-chat__message .str-chat__message-inner .str-chat__message-options.str-chat__message-options--active, .str-chat__message .str-chat__message-inner:focus-within .str-chat__message-options {
  display: flex;
}
.str-chat__message .str-chat__message-metadata {
  grid-area: metadata;
  display: flex;
  flex-wrap: wrap;
  gap: var(--str-chat__spacing-xxs);
  align-items: center;
  height: var(--str-chat__size-24);
  color: var(--str-chat__chat-text-timestamp);
  font: var(--str-chat__font-metadata-default);
}
.str-chat__message .str-chat__message-metadata .str-chat__message-metadata__name {
  overflow-y: hidden;
  margin-inline-end: var(--str-chat__spacing-xxs);
}
.str-chat__message .str-chat__message-metadata .str-chat__message-edited-indicator {
  margin-inline-start: var(--str-chat__spacing-xs);
}
.str-chat__message .str-chat__message--blocked-inner {
  padding-inline: var(--str-chat__spacing-xxs);
}
.str-chat__message .str-chat__message--blocked-inner p {
  white-space: pre-line;
  margin: 0;
}
.str-chat__message .str-chat__message--blocked-inner {
  border-radius: var(--str-chat__radius-md);
  background-color: var(--chat-bg);
  padding-block: var(--str-chat__spacing-xs);
}
.str-chat__message .str-chat__message-error-indicator {
  display: none;
}
.str-chat__message .str-chat__message-inner--error {
  cursor: pointer;
}
.str-chat__message:not(.str-chat__message--with-avatar) {
  grid-template-areas: "message-saved-for-later" "pin-indicator" "also-sent-in-channel" "message-reminder" "translation-indicator" "message" "translation-notice" "custom-metadata" "metadata";
  grid-template-columns: 1fr;
}
.str-chat__message.str-chat__message--other {
  column-gap: var(--str-chat__space-8);
  justify-items: flex-start;
  --chat-bg: var(--str-chat__chat-bg-incoming);
  --chat-bg-attachment: var(--str-chat__chat-bg-attachment-incoming);
  --chat-text: var(--str-chat__chat-text-incoming);
  --chat-border: var(--str-chat__chat-border-incoming);
  --chat-border-on-chat: var(--str-chat__chat-border-on-chat-incoming);
  --chat-reply-indicator: var(--str-chat__chat-reply-indicator-incoming);
  --chat-poll-progress-track: var(--str-chat__chat-poll-progress-track-incoming);
  --chat-poll-progress-fill: var(--str-chat__chat-poll-progress-fill-incoming);
  --chat-thread-connector: var(--str-chat__chat-thread-connector-incoming);
}
.str-chat__message.str-chat__message--other.str-chat__message--with-avatar, .str-chat__message.str-chat__message--other.str-chat__message--pinned {
  grid-template-areas: ". message-saved-for-later" ". pin-indicator" ". also-sent-in-channel" ". message-reminder" ". translation-indicator" "avatar message" "avatar translation-notice" "avatar custom-metadata" "avatar metadata";
  grid-template-columns: auto 1fr;
}
.str-chat__message.str-chat__message--other.str-chat__message-with-thread-link .str-chat__message-bubble {
  border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__message.str-chat__message--other.str-chat__message-with-thread-link .str-chat__message-bubble .str-chat__message-text {
  border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__message.str-chat__message--other .str-chat__message-inner:not(:has(.str-chat__message-options--active)) {
  margin-inline-end: var(--str-chat-message-options-size);
}
.str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host {
  justify-self: flex-end;
}
.str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--flipped-horizontally) {
  justify-self: flex-start;
}
.str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
  padding-inline-start: calc(var(--str-chat__spacing-xs) * -1 * -1);
  margin-inline-end: calc(var(--str-chat__spacing-xs) * -1);
}
.str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host .str-chat__message-reactions.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom > .str-chat__message-reactions__list {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.str-chat__message.str-chat__message--me {
  --chat-bg: var(--str-chat__chat-bg-outgoing);
  --chat-bg-attachment: var(--str-chat__chat-bg-attachment-outgoing);
  --chat-text: var(--str-chat__chat-text-outgoing);
  --chat-border: var(--str-chat__chat-border-outgoing);
  --chat-border-on-chat: var(--str-chat__chat-border-on-chat-outgoing);
  --chat-reply-indicator: var(--str-chat__chat-reply-indicator-outgoing);
  --chat-poll-progress-track: var(--str-chat__chat-poll-progress-track-outgoing);
  --chat-poll-progress-fill: var(--str-chat__chat-poll-progress-fill-outgoing);
  --chat-thread-connector: var(--str-chat__chat-thread-connector-outgoing);
  column-gap: var(--str-chat__spacing-xs);
  justify-items: flex-end;
}
.str-chat__message.str-chat__message--me.str-chat__message--with-avatar, .str-chat__message.str-chat__message--me.str-chat__message--pinned {
  grid-template-areas: "message-saved-for-later ." "pin-indicator ." "also-sent-in-channel ." "message-reminder ." "translation-indicator ." "message avatar" "translation-notice avatar" "custom-metadata avatar" "metadata avatar";
  grid-template-columns: 1fr auto;
}
.str-chat__message.str-chat__message--me.str-chat__message-with-thread-link .str-chat__message-bubble {
  border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__message.str-chat__message--me.str-chat__message-with-thread-link .str-chat__message-bubble .str-chat__message-text {
  border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
}
.str-chat__message.str-chat__message--me .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content,
.str-chat__message.str-chat__message--me .str-chat__message-also-sent-in-channel {
  justify-content: flex-end;
}
.str-chat__message.str-chat__message--me .str-chat__message-bubble {
  justify-self: flex-end;
}
.str-chat__message.str-chat__message--me .str-chat__message-inner {
  grid-template-areas: "reminder reminder" ". reactions" "options message-bubble" "replies replies";
  grid-template-columns: auto fit-content(var(--str-chat__message-max-width));
  margin-inline-start: var(--str-chat-message-options-size);
}
.str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-options {
  flex-direction: row;
}
.str-chat__message.str-chat__message--me .str-chat__message-inner:has(.str-chat__message-reactions--bottom) {
  grid-template-areas: "reminder reminder" "options message-bubble" "replies replies" ". reactions";
}
.str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host {
  justify-self: flex-start;
}
.str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--flipped-horizontally) {
  justify-self: flex-end;
}
.str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
  padding-inline-end: calc(var(--str-chat__spacing-xs) * -1 * -1);
  margin-inline-start: calc(var(--str-chat__spacing-xs) * -1);
}
.str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host .str-chat__message-reactions.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom > .str-chat__message-reactions__list {
  justify-content: flex-end;
  flex-wrap: wrap;
}
.str-chat__message.str-chat__message--me .str-chat__message-metadata {
  justify-content: flex-end;
  text-align: end;
}
.str-chat__message.str-chat__message--blocked, .str-chat__message.str-chat__message--system {
  grid-template-areas: "message";
}
.str-chat__message.str-chat__message--system {
  grid-template-columns: auto;
}
.str-chat__message.str-chat__message--deleted .str-chat__message-bubble {
  padding: var(--str-chat__spacing-sm);
}
.str-chat__message.str-chat__message--deleted .str-chat__message-bubble .str-chat__message-text {
  display: flex;
  align-items: center;
  padding: 0;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat__message.str-chat__message--failed .str-chat__message-error-indicator {
  display: block;
  position: absolute;
  top: 8px;
  inset-inline-end: -9px;
}
.str-chat__message.str-chat__message--has-attachment {
  --str-chat__message-max-width: var(--str-chat__message-with-attachment-max-width);
}
.str-chat__message.str-chat__message--has-attachment .str-chat__message-bubble {
  width: 100%;
}
.str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-bubble {
  padding: 0;
}
.str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-text {
  display: none;
}
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble {
  background-color: transparent;
  overflow: visible;
}
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-bubble,
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-bubble,
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-bubble,
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper {
  padding-inline: 0;
}
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble {
  font-size: 64px;
  line-height: 64px;
}
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble {
  font-size: 48px;
  line-height: 48px;
}
.str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble {
  font-size: 32px;
  line-height: 32px;
}
.str-chat__message.str-chat__message--is-emoji-only .str-chat__message-replies-count-button-wrapper::after {
  display: none;
}
.str-chat__message.str-chat__message--highlighted {
  transition: background-color 0.1s ease-out;
  background-color: var(--str-chat__background-core-highlight);
}

.str-chat__message-also-sent-in-channel {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  grid-area: also-sent-in-channel;
  padding-block: var(--str-chat__spacing-xxs);
  background: transparent;
  color: var(--str-chat__text-primary);
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__message-also-sent-in-channel .str-chat__icon {
  height: var(--str-chat__spacing-sm);
  width: var(--str-chat__spacing-sm);
}
.str-chat__message-also-sent-in-channel .str-chat__icon path {
  stroke-width: 2px;
}
.str-chat__message-also-sent-in-channel .str-chat__message-also-sent-in-channel__link-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: var(--str-chat__font-metadata-default);
  color: var(--str-chat__text-link);
}

.str-chat .str-chat__message-status {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: var(--str-chat__space-2);
  position: relative;
  color: var(--str-chat__chat-text-timestamp);
}
.str-chat .str-chat__message-status svg {
  height: 16px;
  width: 16px;
}
.str-chat .str-chat__message-status svg.str-chat__message-status-read {
  color: var(--str-chat__accent-primary);
}

.str-chat__message--system {
  display: flex;
  padding-block: var(--str-chat__spacing-xs);
  width: 100%;
  justify-content: center;
}
.str-chat__message--system .str-chat__message--system__text {
  display: flex;
  max-width: 338px;
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-sm);
  justify-content: center;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-xl);
  border: 1px solid var(--str-chat__border-core-subtle);
  background: var(--str-chat__background-core-surface-subtle);
  font: var(--str-chat__font-metadata-default);
}

/* Translation indicator: below reminder in message grid. */
.str-chat__message-translation-indicator {
  display: flex;
  align-items: center;
  grid-area: translation-indicator;
  padding-block: var(--str-chat__spacing-xxs);
  gap: var(--str-chat__spacing-xxs);
  margin: 0;
  background: transparent;
  color: var(--str-chat__text-primary);
}
.str-chat__message-translation-indicator,
.str-chat__message-translation-indicator .str-chat__message-translation-indicator__translation-toggle {
  font: var(--str-chat__font-metadata-default);
}
.str-chat__message-translation-indicator .str-chat__message-translation-indicator__sign {
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__message-translation-indicator svg path {
  stroke-width: 1.5px;
}

.str-chat {
  --str-chat__quoted-message-bubble-background-color: var(
    --str-chat__secondary-background-color
  );
}
.str-chat .str-chat__message .str-chat__quoted-message-preview {
  background-color: var(--chat-bg-attachment);
  width: calc(var(--str-chat__message-with-attachment-max-width) - 2 * var(--str-chat__spacing-xs));
  max-width: 100%;
  min-width: 0;
}

/* Saved for Later: above pin indicator. Font and spacing aligned with pin indicator. */
.str-chat__message-saved-for-later {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  grid-area: message-saved-for-later;
  padding-block: var(--str-chat__spacing-xxs);
  margin: 0;
  background: transparent;
  color: var(--str-chat__accent-primary);
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__message-saved-for-later .str-chat__icon {
  width: var(--str-chat__icon-size-xs);
  height: var(--str-chat__icon-size-xs);
}
.str-chat__message-saved-for-later .str-chat__icon path {
  stroke-width: var(--str-chat__icon-stroke-emphasis);
}

/* Remind Me: below pin indicator. Font and spacing aligned with pin indicator. */
.str-chat__message-reminder {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  grid-area: message-reminder;
  padding-block: var(--str-chat__spacing-xxs);
  margin: 0;
  background: transparent;
  color: var(--str-chat__text-primary);
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__message-reminder .str-chat__icon path {
  stroke-width: var(--str-chat__icon-stroke-default);
}
.str-chat__message-reminder .str-chat__message-reminder__time-left {
  font: var(--str-chat__font-metadata-default);
}

.str-chat__message-replies-count-button-wrapper {
  grid-area: replies;
  --replies-button-connector-width: 16px;
  --replies-button-connector-height: 36px;
  --replies-button-connector-stroke-width: 1px;
  display: flex;
  padding-block-start: var(--str-chat__spacing-xxs);
  padding-block-end: var(--str-chat__spacing-xxs);
  margin-block-start: var(--str-chat__spacing-xxs);
  position: relative;
}
.str-chat__message-replies-count-button-wrapper::after {
  content: "";
  position: absolute;
  height: var(--replies-button-connector-height);
  width: var(--replies-button-connector-width);
  background: transparent;
  align-self: end;
  bottom: calc(50% - var(--replies-button-connector-stroke-width) / 2);
}
.str-chat__message-replies-count-button-wrapper .str-chat__message-replies-count-button {
  padding: unset;
  background: unset;
  border: unset;
  border-radius: var(--str-chat__radius-max);
  cursor: pointer;
  border-radius: var(--str-chat__radius-max);
  gap: var(--str-chat__spacing-xs);
  display: flex;
  flex-direction: row;
  align-items: center;
  color: var(--str-chat__text-link);
  font: var(--str-chat__font-heading-xs);
}

.str-chat__message.str-chat__message--me .str-chat__message-replies-count-button-wrapper {
  justify-self: flex-end;
}
.str-chat__message.str-chat__message--me .str-chat__message-replies-count-button-wrapper .str-chat__message-replies-count-button {
  flex-direction: row;
}
.str-chat__message.str-chat__message--me .str-chat__message-replies-count-button-wrapper {
  padding-inline-end: var(--str-chat__spacing-xl);
}
.str-chat__message.str-chat__message--me .str-chat__message-replies-count-button-wrapper::after {
  border-end-end-radius: var(--str-chat__radius-max);
  border-inline-end: var(--replies-button-connector-stroke-width) solid var(--chat-thread-connector);
  border-block-end: var(--replies-button-connector-stroke-width) solid var(--chat-thread-connector);
  inset-inline-end: 0;
}

.str-chat__message.str-chat__message--other .str-chat__message-replies-count-button-wrapper {
  justify-self: flex-start;
}
.str-chat__message.str-chat__message--other .str-chat__message-replies-count-button-wrapper .str-chat__message-replies-count-button {
  flex-direction: row-reverse;
}
.str-chat__message.str-chat__message--other .str-chat__message-replies-count-button-wrapper {
  padding-inline-start: var(--str-chat__spacing-xl);
}
.str-chat__message.str-chat__message--other .str-chat__message-replies-count-button-wrapper::after {
  border-end-start-radius: var(--str-chat__radius-max);
  border-inline-start: var(--replies-button-connector-stroke-width) solid var(--chat-thread-connector);
  border-block-end: var(--replies-button-connector-stroke-width) solid var(--chat-thread-connector);
  inset-inline-start: 0;
}

.str-chat__message-actions-box {
  min-width: 180px;
}
.str-chat__message-actions-box .str-chat__message-actions-box__submenu--download-attachments {
  max-width: 256px;
}
.str-chat__message-actions-box.str-chat__message-actions-box--hidden {
  visibility: hidden;
  pointer-events: none;
}

.str-chat__message-options {
  grid-area: options;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row-reverse;
  width: var(--str-chat-message-options-size);
  --str-chat-icon-color: var(--str-chat__message-options-color);
}
.str-chat__message-options .str-chat__message-actions-box-button,
.str-chat__message-options .str-chat__message-reply-in-thread-button,
.str-chat__message-options .str-chat__message-reactions-button {
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: var(--str-chat__message-options-button-size);
  height: var(--str-chat__message-options-button-size);
  border-radius: var(--str-chat__message-options-border-radius);
  color: var(--str-chat__message-options-color);
}
.str-chat__message-options .str-chat__message-actions-box-button:active,
.str-chat__message-options .str-chat__message-reply-in-thread-button:active,
.str-chat__message-options .str-chat__message-reactions-button:active {
  color: var(--str-chat__message-options-active-color);
}
.str-chat__message-options .str-chat__message-actions-box-button {
  position: relative;
}

.str-chat .str-chat__message-actions-list-item-button.str-chat__message-actions-list-item-button--react {
  display: none;
}

@media (max-width: 767px) {
  .str-chat .str-chat__message-options .str-chat__button.str-chat__message-reactions-button,
  .str-chat .str-chat__message-options .str-chat__button.str-chat__message-reply-in-thread-button {
    display: none;
  }
  .str-chat .str-chat__message-actions-list-item-button.str-chat__message-actions-list-item-button--react {
    display: flex;
  }
}
.str-chat__message-bounce-alert {
  max-width: 300px;
}
.str-chat__message-bounce-alert .str-chat__alert-header svg.str-chat__icon--exclamation-mark {
  color: var(--str-chat__text-tertiary);
}

.str-chat {
  --str-chat__attachment-preview-close-icon-background: var(
    --str-chat__control-remove-control-bg
  );
  --str-chat__attachment-preview-close-icon-color: var(
    --str-chat__control-remove-control-icon
  );
  --str-chat__attachment-preview-close-icon-border-color: var(
    --str-chat__control-remove-control-border
  );
  --str-chat__attachment-preview-retry-icon-color: var(--str-chat__accent-primary);
  --str-chat__attachment-preview-download-icon-color: var(--str-chat__text-secondary);
  --str-chat__attachment-preview-overlay-color: var(--background-core-overlay);
  /* React-specific preview variants (classes diverged from v2 theme) */
  --str-chat__attachment-preview-media-video-indicator-background-color: var(
    --chat-bg-typing-indicator
  );
  --str-chat__attachment-preview-media-video-indicator-color: var(--str-chat__badge-text);
  --str-chat__attachment-preview-media-video-indicator-border-radius: var(
    --str-chat__radius-max
  );
  --str-chat__attachment-preview-media-overlay-hover-background-color: var(
    --str-chat__background-utility-hover
  );
  --str-chat__attachment-preview-media-overlay-pressed-background-color: var(
    --str-chat__background-utility-pressed
  );
  --str-chat__attachment-preview-media-upload-error-overlay-background-color: var(
    --background-core-overlay
  );
}
.str-chat .str-chat__message-composer-voice-preview-slot {
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--str-chat__spacing-xxs);
  min-width: 0;
}
.str-chat .str-chat__message-composer-voice-preview-slot .str-chat__attachment-preview-audio {
  width: 100%;
  min-width: 0;
  max-width: none;
}
.str-chat .str-chat__message-composer-voice-preview-slot .str-chat__attachment-preview-audio .str-chat__attachment-preview-file__data {
  width: 100%;
}
.str-chat .str-chat__attachment-preview-list {
  background: transparent;
  color: var(--str-chat__text-primary);
  padding: var(--str-chat__spacing-xxs);
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 86.4px;
  max-height: 122.4px;
  overflow-x: hidden;
  overflow-y: auto;
  flex: 0 1 auto;
  gap: var(--str-chat__spacing-md);
}
.str-chat .str-chat__attachment-preview-audio,
.str-chat .str-chat__attachment-preview-voice-recording {
  --chat-border-on-chat: var(--str-chat__chat-border-on-chat-incoming);
}
.str-chat .str-chat__attachment-preview-audio,
.str-chat .str-chat__attachment-preview-file,
.str-chat .str-chat__attachment-preview-voice-recording,
.str-chat .str-chat__attachment-preview-unsupported {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: var(--str-chat__radius-lg);
  border: 1px solid var(--str-chat__border-core-default);
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  gap: var(--str-chat__spacing-sm);
  padding: var(--str-chat__spacing-md);
  padding-inline-end: var(--str-chat__spacing-sm);
  width: 290px;
  height: 72px;
}
.str-chat .str-chat__attachment-preview-audio .str-chat__attachment-preview-file__data {
  padding-inline-end: var(--str-chat__spacing-xs);
}
.str-chat .str-chat__attachment-preview-audio,
.str-chat .str-chat__attachment-preview-file,
.str-chat .str-chat__attachment-preview-voice-recording,
.str-chat .str-chat__attachment-preview-unsupported,
.str-chat .str-chat__attachment-preview-media {
  position: relative;
}
.str-chat .str-chat__attachment-preview-audio:focus-visible,
.str-chat .str-chat__attachment-preview-file:focus-visible,
.str-chat .str-chat__attachment-preview-voice-recording:focus-visible,
.str-chat .str-chat__attachment-preview-unsupported:focus-visible,
.str-chat .str-chat__attachment-preview-media:focus-visible {
  outline: 2px solid var(--str-chat__border-utility-focused);
  outline-offset: 2px;
}
.str-chat .str-chat__attachment-preview-media {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: var(--str-chat__message-bubble-radius-attachment);
  border: 1px solid var(--str-chat__border-core-default);
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  cursor: pointer;
}
.str-chat .str-chat__attachment-preview-media .str-chat__attachment-preview-media__thumbnail-wrapper {
  border-radius: max(0px, var(--str-chat__message-bubble-radius-attachment) - 1px);
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.str-chat .str-chat__attachment-preview-media .str-chat__attachment-preview-media__thumbnail-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.str-chat .str-chat__attachment-preview-media__overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: var(--str-chat__message-bubble-radius-attachment);
}
.str-chat .str-chat__attachment-preview-media__overlay:hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__attachment-preview-media-overlay-hover-background-color);
  pointer-events: none;
}
.str-chat .str-chat__attachment-preview-media__overlay:hover {
  background-color: var(--str-chat__attachment-preview-media-overlay-hover-background-color);
}
.str-chat .str-chat__attachment-preview-media__overlay:active::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__attachment-preview-media-overlay-pressed-background-color);
  pointer-events: none;
}
.str-chat .str-chat__attachment-preview-media__overlay:active {
  background-color: var(--str-chat__attachment-preview-media-overlay-pressed-background-color);
}
.str-chat .str-chat__attachment-preview-media__overlay .str-chat__loading-indicator,
.str-chat .str-chat__attachment-preview-media__overlay .str-chat__progress-indicator {
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
  position: absolute;
  inset-inline-start: var(--str-chat__spacing-xxs);
  bottom: var(--str-chat__spacing-xxs);
  border-radius: var(--str-chat__radius-max);
  background: var(--str-chat__background-core-elevation-0);
  color: var(--str-chat__accent-primary);
}
.str-chat .str-chat__attachment-preview-media__overlay .str-chat__icon--exclamation {
  padding: var(--str-chat__spacing-xxxs);
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
  position: absolute;
  inset-inline-start: var(--str-chat__spacing-xxs);
  bottom: var(--str-chat__spacing-xxs);
  border: 2px solid var(--str-chat__badge-border);
  border-radius: var(--str-chat__radius-max);
  background: var(--str-chat__badge-bg-error);
  color: var(--str-chat__badge-text-on-accent);
}
.str-chat .str-chat__attachment-preview-media--upload-error .str-chat__attachment-preview-media__overlay {
  background-color: var(--str-chat__attachment-preview-media-upload-error-overlay-background-color);
}
.str-chat .str-chat__attachment-preview-media--uploading .str-chat__attachment-preview-media__overlay {
  background: linear-gradient(180deg, var(--str-chat__base-white) 0%, var(--str-chat__slate-100) 100%);
}
.str-chat .str-chat__attachment-preview-file__icon {
  display: flex;
  align-items: center;
}
.str-chat .str-chat__attachment-preview-file__info {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file-name {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  max-width: 100%;
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data {
  display: flex;
  align-items: center;
  width: min(160px, 100%);
  max-width: 100%;
  gap: var(--str-chat__spacing-xxs);
  color: var(--str-chat__text-secondary);
  font: var(--str-chat__font-metadata-default);
}
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__loading-indicator,
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__progress-indicator {
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
  color: var(--str-chat__accent-primary);
}
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__attachment-preview-file__fatal-error {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  color: var(--color-accent-error);
}
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__attachment-preview-file__retriable-error {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  white-space: nowrap;
}
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__attachment-preview-file__retriable-error .str-chat__icon--exclamation-triangle path {
  fill: var(--str-chat__accent-error);
}
.str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__attachment-preview-file__retriable-error .str-chat__attachment-preview-file__retry-upload-button {
  background: none;
  border: none;
  padding: 0;
  padding: 0;
  color: var(--str-chat__text-link);
  cursor: pointer;
  line-height: var(--str-chat__typography-line-height-tight, 16px);
}
.str-chat .str-chat__button-play {
  height: var(--str-chat__button-visual-height-md);
  width: var(--str-chat__button-visual-height-md);
  border: 1px solid var(--control-play-control-border);
}

.str-chat__location-preview-image,
.str-chat__link-preview-card .str-chat__image-placeholder,
.str-chat__attachment-preview__thumbnail {
  border-radius: var(--str-chat__radius-md);
  overflow: hidden;
  width: 40px;
  height: 40px;
  object-fit: cover;
}

.str-chat {
  --str-chat__attachment-selector-button-icon-color: var(--button-style-outline-text);
  --str-chat__attachment-selector-button-icon-color-hover: var(
    --str-chat__text-secondary
  );
  --str-chat__attachment-selector-actions-menu-button-icon-color: var(
    --str-chat__text-secondary
  );
  --str-chat__attachment-selector-actions-menu-button-icon-color-active: var(
    --str-chat__text-secondary
  );
}
.str-chat .str-chat__attachment-selector .str-chat__attachment-selector__menu-button .str-chat__attachment-selector__menu-button__icon {
  height: var(--str-chat__icon-size-md);
  width: var(--str-chat__icon-size-md);
  color: var(--str-chat__attachment-selector-button-icon-color);
}
.str-chat .str-chat__attachment-selector .str-chat__attachment-selector__menu-button:hover .str-chat__attachment-selector__menu-button__icon {
  color: var(--str-chat__attachment-selector-button-icon-color-hover);
}
.str-chat .str-chat__file-input {
  display: none;
}
.str-chat .str-chat__attachment-selector-actions-menu {
  min-width: 200px;
}
.str-chat .str-chat__attachment-selector-actions-menu .str-chat__attachment-selector-actions-menu__button .str-chat__context-menu__button__icon {
  color: var(--str-chat__attachment-selector-actions-menu-button-icon-color);
}
.str-chat .str-chat__attachment-selector-actions-menu .str-chat__attachment-selector-actions-menu__button:hover .str-chat__context-menu__button__icon, .str-chat .str-chat__attachment-selector-actions-menu .str-chat__attachment-selector-actions-menu__button:focus .str-chat__context-menu__button__icon {
  color: var(--str-chat__attachment-selector-actions-menu-button-icon-color-active);
}
.str-chat .str-chat__message-composer--floating .str-chat__attachment-selector__menu-button {
  background-color: var(--str-chat__background-core-elevation-1);
  box-shadow: var(--shadow-web-light-elevation-2);
}

.str-chat__command-chip {
  display: flex;
  padding: var(--str-chat__spacing-xxs) var(--str-chat__spacing-xs);
  justify-content: center;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  border-radius: var(--str-chat__radius-max);
  color: var(--str-chat__text-on-inverse);
  background-color: var(--str-chat__background-core-inverse);
  text-transform: uppercase;
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__command-chip .str-chat__command-chip__close-button {
  background: none;
  border: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  color: inherit;
}

.str-chat__context-menu.str-chat__context-menu--commands .str-chat__context-menu__button--command {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 2fr);
}
.str-chat__context-menu.str-chat__context-menu--commands .str-chat__context-menu__button--command .str-chat__context-menu__button__icon {
  grid-column: 1;
}
.str-chat__context-menu.str-chat__context-menu--commands .str-chat__context-menu__button--command .str-chat__context-menu__button__label {
  grid-column: 2;
}
.str-chat__context-menu.str-chat__context-menu--commands .str-chat__context-menu__button--command .str-chat__context-menu__button__details {
  grid-column: 3;
  text-align: left;
}
.str-chat__context-menu.str-chat__context-menu--commands .str-chat__context-menu__header--commands:not(.str-chat__context-menu__header--submenu-commands) {
  padding: var(--str-chat__spacing-xs);
}

.str-chat__dropzone-root {
  position: relative;
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  max-height: 100%;
  flex: 1;
}

.str-chat__dropzone-root:empty {
  display: none;
}

.str-chat__dropzone-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 0;
  z-index: 5;
  background-color: var(--str-chat__background-core-overlay-light);
  color: var(--str-chat__text-primary);
  backdrop-filter: blur(3.5px);
  font: var(--str-chat__font-heading-sm);
}
.str-chat__dropzone-container .str-chat__dropzone-container__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--str-chat__spacing-xs, 8px);
}
.str-chat__dropzone-container svg {
  height: 32px;
  width: 32px;
}
.str-chat__dropzone-container p {
  margin: unset;
}

@supports not (backdrop-filter: blur(1px)) {
  .str-chat__dropzone-container {
    backdrop-filter: none;
  }
}
.str-chat__location-preview {
  position: relative;
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: start;
  justify-content: space-around;
  gap: var(--str-chat__spacing-xs);
  padding-inline: var(--str-chat__spacing-xs) var(--str-chat__spacing-sm);
  padding-block: var(--str-chat__spacing-xs);
  background-color: var(--str-chat__chat-bg-outgoing);
  border-radius: var(--str-chat__message-bubble-radius-attachment);
}
.str-chat__location-preview .str-chat__location-preview-image {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--str-chat__background-core-overlay-light);
  width: 40px;
  height: 40px;
}
.str-chat__location-preview .str-chat__location-preview-image .str-chat__icon {
  width: 20px;
  height: 20px;
}
.str-chat__location-preview .str-chat__location-preview__data {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  flex: 1;
  height: 100%;
}
.str-chat__location-preview .str-chat__location-preview__data .str-chat__location-preview__data__title,
.str-chat__location-preview .str-chat__location-preview__data .str-chat__location-preview__data__subtitle {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
}
.str-chat__location-preview .str-chat__location-preview__data .str-chat__location-preview__data__title {
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__location-preview .str-chat__location-preview__data .str-chat__location-preview__data__subtitle,
.str-chat__location-preview .str-chat__location-preview__data .str-chat__location-preview__data__sharing-duration {
  font: var(--str-chat__font-metadata-default);
}

.str-chat__link-preview-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: var(--str-chat__spacing-xxs);
}

.str-chat__link-preview-card {
  position: relative;
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: var(--str-chat__spacing-xs);
  padding-inline: var(--str-chat__spacing-xs) var(--str-chat__spacing-sm);
  padding-block: var(--str-chat__spacing-xs);
  background-color: var(--chat-bg);
  border-radius: var(--str-chat__message-bubble-radius-attachment);
}
.str-chat__link-preview-card .str-chat__tooltip {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  display: block;
  max-width: 250px;
  padding-inline: 0.5rem;
}
.str-chat__link-preview-card .str-chat__link-preview-card__content {
  min-width: 0;
  flex: 1;
}
.str-chat__link-preview-card .str-chat__link-preview-card__content .str-chat__link-preview-card__content-title,
.str-chat__link-preview-card .str-chat__link-preview-card__content .str-chat__link-preview-card__content-description,
.str-chat__link-preview-card .str-chat__link-preview-card__content .str-chat__link-preview-card__content__url {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
}
.str-chat__link-preview-card .str-chat__link-preview-card__content .str-chat__link-preview-card__content-title {
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__link-preview-card .str-chat__link-preview-card__content .str-chat__link-preview-card__content-description,
.str-chat__link-preview-card .str-chat__link-preview-card__content .str-chat__link-preview-card__content__url {
  font: var(--str-chat__font-metadata-default);
}
.str-chat__link-preview-card .str-chat__link-preview-card__content .str-chat__link-preview-card__content__url {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
}

.str-chat {
  --str-chat__message-composer-max-width: 1120px;
  --str-chat__message-composer-padding: var(--str-chat__spacing-md);
  --str-chat__message-composer-command-transition-duration: 280ms;
  --str-chat__message-composer-command-ease: cubic-bezier(0.22, 1, 0.32, 1);
}
@keyframes str-chat-command-chip-enter-ltr {
  from {
    opacity: 0;
    transform: translate3d(-0.75rem, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes str-chat-command-chip-enter-rtl {
  from {
    opacity: 0;
    transform: translate3d(0.75rem, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.str-chat .str-chat__message-composer-container {
  width: 100%;
  min-height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--str-chat__spacing-md);
  justify-content: center;
  padding: var(--str-chat__message-composer-padding);
  min-width: 0;
  border-top: 1px solid var(--str-chat__border-core-default);
  background: var(--str-chat__background-core-elevation-1);
}
.str-chat .str-chat__message-composer {
  display: flex;
  align-items: end;
  width: 100%;
  max-width: var(--str-chat__message-composer-max-width);
  gap: var(--str-chat__spacing-xs);
  min-width: 0;
  flex-shrink: 1;
  transition: gap var(--str-chat__message-composer-command-transition-duration) var(--str-chat__message-composer-command-ease);
}
.str-chat {
  /* Slot must be at least as wide as the + control (incl. border/outline) so the composer never overlaps it */
}
.str-chat .str-chat__message-composer > .str-chat__attachment-selector {
  flex-shrink: 0;
  flex-grow: 0;
  width: var(--str-chat__message-composer-attachment-slot-width, calc(var(--str-chat__button-visual-height-lg) + 2 * var(--str-chat__spacing-xxs)));
  max-width: var(--str-chat__message-composer-attachment-slot-width, calc(var(--str-chat__button-visual-height-lg) + 2 * var(--str-chat__spacing-xxs)));
  box-sizing: border-box;
  opacity: 1;
  transform: scale(1);
  transform-origin: center bottom;
  transition: width var(--str-chat__message-composer-command-transition-duration) var(--str-chat__message-composer-command-ease), max-width var(--str-chat__message-composer-command-transition-duration) var(--str-chat__message-composer-command-ease), opacity calc(var(--str-chat__message-composer-command-transition-duration) * 0.85) ease-out, transform var(--str-chat__message-composer-command-transition-duration) var(--str-chat__message-composer-command-ease), margin var(--str-chat__message-composer-command-transition-duration) var(--str-chat__message-composer-command-ease);
  overflow: hidden;
  pointer-events: auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.str-chat .str-chat__message-composer--command-active {
  gap: 0;
}
.str-chat .str-chat__message-composer--command-active > .str-chat__attachment-selector {
  width: 0;
  max-width: 0;
  min-width: 0;
  margin-inline-end: 0;
  opacity: 0;
  transform: scale(0.55);
  pointer-events: none;
}
.str-chat .str-chat__message-composer--command-active .str-chat__command-chip {
  animation: str-chat-command-chip-enter-ltr var(--str-chat__message-composer-command-transition-duration) var(--str-chat__message-composer-command-ease) both;
}
.str-chat [dir=rtl] .str-chat__message-composer--command-active .str-chat__command-chip {
  animation-name: str-chat-command-chip-enter-rtl;
}
.str-chat .str-chat__message-composer-compose-area {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-width: 0;
  background: var(--composer-bg);
  color: var(--str-chat__input-text-default);
  border-radius: var(--str-chat__radius-3xl);
  border: 1px solid var(--str-chat__border-core-default);
}
.str-chat .str-chat__message-composer-previews {
  display: flex;
  flex-direction: column;
  max-height: 400px;
  overflow: hidden;
  width: 100%;
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-xs) 0;
  gap: var(--str-chat__spacing-xxs);
  min-width: 0;
  min-height: 0;
}
.str-chat .str-chat__message-composer-controls {
  display: flex;
  align-items: end;
  width: 100%;
  gap: var(--str-chat__spacing-xs);
  padding: calc(var(--str-chat__spacing-sm) - 1px);
}
.str-chat .str-chat__message-composer-controls .str-chat__message-composer-controls__text-composition-controls {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 26px;
  justify-content: center;
  gap: var(--str-chat__spacing-sm);
}
.str-chat .str-chat__message-composer-controls .str-chat__message-composer-controls__text-composition-controls .str-chat__message-composer-controls__text-composition-controls__command-chip-container {
  height: 100%;
  display: flex;
  align-items: flex-end;
  flex: 0 0 auto;
  align-self: flex-end;
}
.str-chat .str-chat__message-composer-controls .str-chat__message-composer-controls__text-composition-controls__text {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat .str-chat__message-composer-controls .str-chat__message-composer__actions,
.str-chat .str-chat__message-composer-controls .str-chat__message-composer__additional-actions {
  height: 26px;
  display: flex;
  align-items: center;
}
.str-chat .str-chat__message-composer-controls .str-chat__message-composer__additional-actions {
  flex-shrink: 0;
  min-width: 0;
  max-width: 6rem;
  opacity: 1;
  transition: max-width var(--str-chat__message-composer-command-transition-duration) var(--str-chat__message-composer-command-ease), opacity calc(var(--str-chat__message-composer-command-transition-duration) * 0.85) ease-out;
}
.str-chat .str-chat__message-composer-controls .str-chat__textarea {
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.str-chat .str-chat__message-composer-controls .str-chat__textarea textarea {
  background: transparent;
  color: var(--str-chat__input-text-default);
  font: var(--str-chat__font-body-default);
  resize: none;
  border: none;
  box-shadow: none;
  outline: none;
  width: 100%;
  scrollbar-width: none;
}
.str-chat .str-chat__message-composer-controls .str-chat__emoji-picker-button {
  display: flex;
  cursor: pointer;
}
.str-chat .str-chat__message-composer-controls .str-chat__emoji-picker-button svg {
  height: var(--str-chat__icon-size-md);
  width: var(--str-chat__icon-size-md);
}
.str-chat .str-chat__message-composer-controls .str-chat__start-recording-audio-button .str-chat__icon--voice {
  height: var(--str-chat__icon-size-md);
  width: var(--str-chat__icon-size-md);
}
.str-chat .str-chat__message-composer-controls .str-chat__send-button .str-chat__icon--send {
  height: var(--str-chat__icon-size-md);
  width: var(--str-chat__icon-size-md);
}
.str-chat .str-chat__message-composer-controls .str-chat__stop-ai-generation-button {
  width: 30px;
  height: 28px;
  cursor: pointer;
  background-image: var(--str-chat__circle-stop-icon);
  background-color: transparent;
  border-width: 0;
}
.str-chat .str-chat__message-composer-controls .str-chat__message-composer-cooldown {
  background: var(--str-chat__background-utility-disabled);
  color: var(--str-chat__text-disabled);
  border-radius: var(--str-chat__button-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--str-chat__button-visual-height-md);
  width: var(--str-chat__button-visual-height-md);
}
.str-chat .str-chat__message-composer-controls [dir=rtl] .str-chat__send-button svg,
.str-chat .str-chat__message-composer-controls [dir=rtl] .str-chat__start-recording-audio-button svg {
  transform: scale(-1, 1);
}
.str-chat .str-chat__message-composer--command-active .str-chat__message-composer__additional-actions {
  max-width: 0;
  opacity: 0;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .str-chat .str-chat__message-composer {
    transition-duration: 0.01ms;
  }
  .str-chat .str-chat__message-composer > .str-chat__attachment-selector,
  .str-chat .str-chat__message-composer-controls .str-chat__message-composer__additional-actions {
    transition-duration: 0.01ms;
  }
  .str-chat .str-chat__message-composer--command-active .str-chat__command-chip {
    animation: none;
  }
}
.str-chat .str-chat__recording-permission-denied-notification {
  max-width: 100%;
  padding: var(--str-chat__spacing-md);
  font-size: var(--str-chat__typography-font-size-sm);
  line-height: var(--str-chat__typography-line-height-tight);
}
.str-chat .str-chat__recording-permission-denied-notification .str-chat__recording-permission-denied-notification__heading {
  font-weight: var(--str-chat__typography-font-weight-semi-bold);
}
.str-chat .str-chat__recording-permission-denied-notification .str-chat__recording-permission-denied-notification__message {
  margin: var(--str-chat__spacing-xs) 0 0;
  font-weight: var(--str-chat__typography-font-weight-regular, 400);
}

.str-chat__quoted-message-indicator {
  background-color: var(--chat-reply-indicator, var(--str-chat__chat-reply-indicator-incoming));
  border-radius: var(--str-chat__radius-max);
  height: 100%;
  width: 2px;
}

.str-chat__quoted-message-indicator--own-message {
  background-color: var(--str-chat__chat-reply-indicator-outgoing);
}

.str-chat .str-chat__message-composer__quoted-message-preview-slot {
  padding: var(--str-chat__spacing-xxs);
}
.str-chat .str-chat__quoted-message-preview {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  position: relative;
  background-color: var(--str-chat__chat-bg-incoming);
  padding: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__message-bubble-radius-attachment);
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-indicator {
  height: 36px;
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  font: var(--str-chat__font-caption-default);
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__author {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  overflow-x: hidden;
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__message {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__message svg {
  height: var(--str-chat__typography-font-size-xs);
  width: var(--str-chat__typography-font-size-xs);
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__message .str-chat__icon--voice path {
  stroke-width: 2;
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__message .str-chat__quoted-message-preview__message-text {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  min-width: 0;
  flex: 1 1;
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__message .str-chat__quoted-message-preview__message-text * {
  white-space: nowrap;
  color: var(--str-chat__chat-text-incoming);
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__image {
  display: flex;
  position: relative;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  min-width: 40px;
  overflow: hidden;
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__image img {
  object-fit: cover;
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__image .str-chat__attachment-preview__thumbnail__play-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  width: 20px;
  position: absolute;
  inset-inline-start: 10px;
  top: 10px;
  border-radius: var(--str-chat__radius-max);
  background-color: var(--control-play-control-bg);
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__image .str-chat__attachment-preview__thumbnail__play-indicator .str-chat__icon--play-fill {
  height: 12px;
  width: 12px;
}
.str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__image .str-chat__attachment-preview__thumbnail__play-indicator .str-chat__icon--play-fill path {
  fill: var(--control-play-control-icon);
}
.str-chat .str-chat__quoted-message-preview--own {
  background-color: var(--str-chat__chat-bg-outgoing);
}

.str-chat__button.str-chat__attachment-preview__remove-button {
  position: absolute;
  z-index: 1;
  top: -6px;
  inset-inline-end: -6px;
  background-color: var(--str-chat__attachment-preview-close-icon-background);
  border: 3px solid var(--str-chat__attachment-preview-close-icon-border-color);
  color: var(--str-chat__attachment-preview-close-icon-color);
  border-radius: var(--str-chat__radius-max);
}

.str-chat__send-to-channel-checkbox__container {
  width: 100%;
  display: flex;
  align-items: flex-start;
  max-width: var(--str-chat__message-composer-max-width);
  color: var(--str-chat__text-tertiary);
}
.str-chat__send-to-channel-checkbox__container.str-chat__send-to-channel-checkbox__container--checked {
  color: var(--str-chat__text-primary);
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  cursor: pointer;
  /* Visually hide the native checkbox; it stays focusable and clickable for a11y */
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field .str-chat__send-to-channel-checkbox__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  appearance: none;
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field .str-chat__send-to-channel-checkbox__visual {
  width: 20px;
  height: 20px;
  border: 1px solid var(--str-chat__control-checkbox-border, #d5dbe1);
  border-radius: var(--str-chat__radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field .str-chat__send-to-channel-checkbox__input:checked + .str-chat__send-to-channel-checkbox__visual {
  background-color: var(--control-radiocheck-bg-selected, var(--str-chat__accent-primary));
  border-color: var(--control-radiocheck-bg-selected, var(--str-chat__accent-primary));
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field .str-chat__send-to-channel-checkbox__checkmark {
  color: var(--str-chat__control-checkbox-icon);
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s ease;
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field .str-chat__send-to-channel-checkbox__checkmark svg {
  width: 12px;
  height: 12px;
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field .str-chat__send-to-channel-checkbox__input:checked + .str-chat__send-to-channel-checkbox__visual .str-chat__send-to-channel-checkbox__checkmark {
  opacity: 1;
}
.str-chat__send-to-channel-checkbox__container .str-chat__send-to-channel-checkbox__field .str-chat__send-to-channel-checkbox__label {
  font: var(--str-chat__font-metadata-default);
  transition: color 0.15s ease, border-color 0.15s ease;
}

.str-chat__attachment-preview-unsupported {
  background: transparent;
  color: var(--str-chat__text-primary);
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--str-chat__spacing-md);
  column-gap: var(--str-chat__spacing-xs);
}
.str-chat__attachment-preview-unsupported .str-chat__icon {
  height: var(--str-chat__size-20);
  width: var(--str-chat__size-20);
}
.str-chat__attachment-preview-unsupported .str-chat__attachment-preview-unsupported__metadata {
  min-width: 0;
  flex: 1;
  height: stretch;
  display: flex;
  align-items: center;
}
.str-chat__attachment-preview-unsupported .str-chat__attachment-preview-unsupported__title {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
  font: var(--str-chat__font-caption-emphasis);
  color: var(--str-chat__text-primary);
  max-width: 100%;
  height: fit-content;
}

.str-chat__main-panel-inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  position: relative;
  align-items: center;
}

.str-chat__message-list-main-panel {
  --str-chat__message-list-scroll-max-width: calc(
    var(--str-chat__message-composer-max-width) +
      (2 * var(--str-chat__message-composer-padding))
  );
}

.str-chat__message-list {
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable both-edges;
  overscroll-behavior: contain;
  display: flex;
  justify-content: center;
  position: relative;
  overscroll-behavior: none;
  width: 100%;
  height: 100%;
  max-height: 100%;
  background: var(--str-chat__background-core-app);
  color: var(--str-chat__text-primary);
}
.str-chat__message-list .str-chat__message-list-scroll {
  padding: 0;
}
.str-chat__message-list .str-chat__message-list-scroll .str-chat__li {
  max-width: 100%;
}
.str-chat__message-list .str-chat__message-list-scroll {
  width: 100%;
  max-width: var(--str-chat__message-list-scroll-max-width);
}
.str-chat__message-list .str-chat__message-list-scroll .str-chat__ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.str-chat__thread .str-chat__message-list .str-chat__message-list-scroll {
  padding-inline: 0;
  /* Max container 800px, 16px padding → 768px readable content; matches composer width + padding */
  max-width: var(--str-chat__message-list-scroll-max-width);
}
.str-chat__thread .str-chat__message-list .str-chat__message-list-scroll .str-chat__ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.str-chat__main-panel .str-chat__ul .str-chat__li:first-of-type {
  padding-top: 4.5rem;
}
.str-chat__main-panel .str-chat__ul .str-chat__date-separator + .str-chat__li:first-of-type {
  padding-top: inherit;
}

.str-chat__new-message-notification {
  position: absolute;
  inset-block-end: 16px;
  inset-inline-start: 0;
  inset-inline-end: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
}
.str-chat__new-message-notification .str-chat__message-notification__label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--str-chat__spacing-xxs) var(--str-chat__spacing-sm);
  background-color: var(--str-chat__background-core-surface-subtle);
  border-radius: var(--str-chat__radius-max);
  font: var(--str-chat__font-metadata-emphasis);
  color: var(--str-chat__chat-text-system);
}

.str-chat__jump-to-latest-message {
  height: 40px;
  width: 40px;
  position: absolute;
  inset-block-end: var(--str-chat__spacing-md);
  inset-inline-end: max(var(--str-chat__spacing-md), (100% - var(--str-chat__message-list-scroll-max-width)) / 2 + var(--str-chat__spacing-md));
  z-index: 2;
  border-radius: var(--str-chat__radius-max);
  background-color: var(--str-chat__background-core-elevation-1);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.06);
}
.str-chat__jump-to-latest-message .str-chat__jump-to-latest-message__button {
  height: 40px;
  width: 40px;
  position: static;
}
.str-chat__jump-to-latest-message .str-chat__jump-to-latest__unread-count {
  position: absolute;
  inset-block-end: 100%;
  margin-block-end: var(--str-chat__space-4);
  inset-inline-end: -15%;
  top: -15%;
}

.str-chat .str-chat__unread-messages-notification {
  display: flex;
  align-items: center;
  background: var(--str-chat__background-core-elevation-1);
  border-radius: var(--str-chat__button-radius-lg);
  border: 1px solid var(--str-chat__button-secondary-border);
  /* shadow/web/light/elevation-2 */
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.06);
  position: absolute;
  top: 40px;
  z-index: 2;
  overflow: clip;
}
.str-chat .str-chat__unread-messages-notification.str-chat__unread-messages-notification--with-count button {
  text-transform: lowercase;
}
.str-chat .str-chat__unread-messages-notification button.str-chat__button--secondary,
.str-chat .str-chat__unread-messages-notification button.button.str-chat__button--outline {
  border: none;
}
.str-chat .str-chat__unread-messages-notification button:first-of-type {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__button-radius-lg) 0 0 var(--str-chat__button-radius-lg);
  padding: var(--str-chat__button-padding-y-md) var(--str-chat__spacing-xxs) var(--str-chat__button-padding-y-md) var(--str-chat__button-padding-x-with-label-md);
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat .str-chat__unread-messages-notification button:last-of-type {
  border-radius: 0 var(--str-chat__button-radius-lg) var(--str-chat__button-radius-lg) 0;
  padding: var(--str-chat__button-padding-y-md) var(--str-chat__button-padding-x-with-label-md) var(--str-chat__button-padding-y-md) var(--str-chat__spacing-xxs);
}
.str-chat .str-chat__unread-messages-notification button:last-of-type svg {
  height: 16px;
  width: 16px;
}

.str-chat__unread-messages-separator-wrapper {
  padding-block: var(--str-chat__spacing-xs);
  display: flex;
  justify-content: center;
}
.str-chat__unread-messages-separator-wrapper .str-chat__unread-messages-separator {
  display: flex;
  align-items: center;
  width: fit-content;
  padding: var(--str-chat__spacing-xxs) var(--str-chat__spacing-xs);
  background: var(--str-chat__background-core-elevation-1);
  border-radius: var(--str-chat__button-radius-lg);
  border: 1px solid var(--str-chat__button-secondary-border);
  overflow: clip;
}
.str-chat__unread-messages-separator-wrapper .str-chat__unread-messages-separator .str-chat__unread-messages-separator__text {
  padding-inline: var(--str-chat__spacing-xs) var(--str-chat__spacing-xxs);
  border-radius: var(--str-chat__button-radius-lg) 0 0 var(--str-chat__button-radius-lg);
  font: var(--str-chat__font-caption-emphasis);
  text-transform: lowercase;
}
.str-chat__unread-messages-separator-wrapper .str-chat__unread-messages-separator button.str-chat__button--secondary,
.str-chat__unread-messages-separator-wrapper .str-chat__unread-messages-separator button.button.str-chat__button--outline {
  border: none;
}
.str-chat__unread-messages-separator-wrapper .str-chat__unread-messages-separator button svg {
  height: 16px;
  width: 16px;
}

.str-chat__virtual-list {
  background: var(--str-chat__background-core-app);
  color: var(--str-chat__text-primary);
  --str-chat__message-list-scroll-max-width: calc(
    var(--str-chat__message-composer-max-width) +
      var(--str-chat__message-composer-padding)
  );
  position: relative;
  flex: 1;
  -webkit-overflow-scrolling: touch; /* enable smooth scrolling on ios */
  margin: 0;
  width: 100%;
  height: 100%;
}
.str-chat__virtual-list .str-chat__message-list-scroll {
  overscroll-behavior: none;
}
.str-chat__virtual-list .str-chat__virtual-list-message-wrapper {
  /* Max container = composer width + padding; matches message list */
  max-width: calc(var(--str-chat__message-composer-max-width) + var(--str-chat__message-composer-padding));
  margin-left: auto;
  margin-right: auto;
}
.str-chat__virtual-list__loading {
  display: flex;
  padding-top: var(--str-chat__space-8);
  justify-content: center;
  width: 100%;
  position: absolute;
}
.str-chat__virtual-list p {
  margin: 0 !important;
}
.str-chat__virtual-list p a {
  white-space: pre-line;
  overflow: hidden;
  word-wrap: break-word;
}
.str-chat__virtual-list .str-chat__message {
  margin-block-end: 0 !important;
}

.str-chat__notification {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  min-height: 48px;
  max-width: 100%;
  padding: var(--str-chat__spacing-xs);
  position: relative;
  pointer-events: visible;
  background: var(--str-chat__notification-background, var(--str-chat__background-core-inverse));
  border-radius: var(--str-chat__notification-border-radius, var(--str-chat__radius-3xl));
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 4px 8px 0 rgba(0, 0, 0, 0.14), 0 12px 24px 0 rgba(0, 0, 0, 0.1);
  color: var(--str-chat__notification-color, var(--str-chat__text-on-inverse));
}
.str-chat__notification .str-chat__notification-content {
  align-items: flex-start;
  display: flex;
  flex: 1 1 auto;
  gap: var(--str-chat__spacing-xs);
  padding-inline: var(--str-chat__spacing-xxs) var(--str-chat__spacing-xs);
}
.str-chat__notification .str-chat__notification-content .str-chat__notification-icon {
  display: flex;
  align-self: center;
  height: 100%;
}
.str-chat__notification .str-chat__notification-content .str-chat__notification-icon svg {
  block-size: var(--str-chat__icon-size-sm);
  inline-size: var(--str-chat__icon-size-sm);
}
.str-chat__notification .str-chat__notification-content .str-chat__notification-message {
  flex: 1 1 auto;
  padding-block: var(--str-chat__spacing-xxxs);
  font: var(--str-chat__font-caption-default);
  text-align: center;
  white-space: nowrap;
}
.str-chat__notification .str-chat__notification-actions {
  display: flex;
  flex-basis: 100%;
  align-items: center;
  justify-content: flex-end;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat__notification .str-chat__notification-close-button {
  align-self: center;
  padding: var(--str-chat__spacing-xxs);
}
.str-chat__notification .str-chat__notification-close-button svg {
  height: var(--str-chat__icon-size-sm);
  width: var(--str-chat__icon-size-sm);
}

.str-chat__notification--is-entering {
  animation: str-chat__notification-list-enter 760ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.str-chat__notification--is-exiting {
  animation-duration: 340ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.3, 0, 0.2, 1);
  will-change: opacity, transform;
}

.str-chat__notification--is-exiting.str-chat__notification--enter-from-bottom {
  animation-name: str-chat__notification-list-exit-to-bottom;
}

.str-chat__notification--is-exiting.str-chat__notification--enter-from-left {
  animation-name: str-chat__notification-list-exit-to-left;
}

.str-chat__notification--is-exiting.str-chat__notification--enter-from-right {
  animation-name: str-chat__notification-list-exit-to-right;
}

.str-chat__notification--is-exiting.str-chat__notification--enter-from-top {
  animation-name: str-chat__notification-list-exit-to-top;
}

.str-chat__notification--loading .str-chat__notification-icon {
  animation: str-chat__notification-spin 0.8s linear infinite;
}

@keyframes str-chat__notification-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes str-chat__notification-list-exit-to-bottom {
  from {
    opacity: 1;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    transform: translate(0, 35%) scale(0.98);
  }
}
@keyframes str-chat__notification-list-exit-to-left {
  from {
    opacity: 1;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    transform: translate(-35%, 0) scale(0.98);
  }
}
@keyframes str-chat__notification-list-exit-to-right {
  from {
    opacity: 1;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    transform: translate(35%, 0) scale(0.98);
  }
}
@keyframes str-chat__notification-list-exit-to-top {
  from {
    opacity: 1;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    transform: translate(0, -35%) scale(0.98);
  }
}
.str-chat__notification-list {
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  inline-size: min(100%, 100% - 32px);
  max-width: 100%;
  min-width: 0;
  max-height: calc(100% - 32px);
  padding-inline: var(--str-chat__spacing-xs);
  pointer-events: none;
  position: absolute;
  inset-inline-end: 16px;
  z-index: 2;
}

.str-chat__notification-list--position-top {
  inset-block-start: 16px;
}

.str-chat__notification-list--position-bottom {
  inset-block-end: 16px;
}

.str-chat__notification-list__edge {
  flex-shrink: 0;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 1;
}

.str-chat__notification-list__edge--top {
  top: 0;
}

.str-chat__notification-list__edge--bottom {
  bottom: 0;
}

@keyframes str-chat__notification-list-enter {
  from {
    opacity: 0.2;
    transform: translate(var(--str-chat__notification-list-enter-x, 0), var(--str-chat__notification-list-enter-y, 100%));
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.str-chat__modal__poll-add-comment {
  width: 300px;
}

.str-chat__end-poll-alert {
  max-width: 300px;
}

.str-chat__form__input-fieldset .str-chat__form__input-field .str-chat__form__input-field__value .str-chat__form__remove-option-button {
  color: var(--str-chat__input-text-icon);
}

.str-chat .str-chat__poll {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xl);
  padding: var(--str-chat__spacing-xs);
  width: calc(var(--str-chat__message-with-attachment-max-width) - 2 * var(--str-chat__spacing-xs));
  max-width: 100%;
  min-width: min(260px, 100%);
  font: var(--str-chat__font-caption-default);
}
.str-chat .str-chat__poll button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.str-chat .str-chat__poll .str-chat__poll-header .str-chat__poll-title {
  font: var(--str-chat__font-body-emphasis);
}
.str-chat .str-chat__poll .str-chat__poll-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
}
.str-chat .str-chat__poll .str-chat__button.str-chat__poll-action {
  width: 100%;
  border: 1px solid var(--chat-border-on-chat);
  padding: var(--str-chat__button-padding-y-sm) var(--str-chat__button-padding-x-with-label-sm);
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat .str-chat__poll .str-chat__button.str-chat__poll-action.str-chat__poll-action--additional {
  border: none;
}

.str-chat__modal__poll-answer-list .str-chat__poll-answer-list {
  height: 100%;
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__infinite-scroll-paginator {
  scrollbar-width: none;
  height: 100%;
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__infinite-scroll-paginator .str-chat__infinite-scroll-paginator__content {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-md);
  padding-bottom: var(--str-chat__spacing-xl);
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__loading-indicator-placeholder {
  width: 100%;
  height: calc(var(--str-chat__loading-indicator-size) + 2 * var(--str-chat__spacing-xxs));
  display: flex;
  justify-content: center;
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__poll-answer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--str-chat__spacing-xxs);
  align-self: stretch;
  border-radius: var(--str-chat__radius-lg);
  background: var(--str-chat__background-core-surface-card);
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__poll-answer .str-chat__poll-answer__data {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--str-chat__spacing-xs);
  align-self: stretch;
  padding: var(--str-chat__spacing-md);
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__poll-answer .str-chat__poll-answer__data .str-chat__avatar {
  height: var(--str-chat__spacing-xl);
  width: var(--str-chat__spacing-xl);
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__poll-answer .str-chat__poll-answer__data p {
  margin: 0;
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__poll-answer .str-chat__poll-answer__data .str-chat__poll-answer__text {
  font: var(--str-chat__font-body-default);
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__poll-answer .str-chat__poll-answer__data .str-chat__poll-vote {
  padding-inline: var(--str-chat__spacing-none);
  padding-block: 0;
}
.str-chat__modal__poll-answer-list .str-chat__poll-answer-list .str-chat__poll-answer .str-chat__poll-vote__update-vote-button-container {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-md);
  border-top: 1px solid var(--str-chat__border-core-default);
}

.str-chat__poll-creation-dialog {
  display: flex;
  flex-direction: column;
  width: min(480px, 100vw);
  height: min(640px, 100vh);
}
.str-chat__poll-creation-dialog .str-chat__prompt__body {
  flex: 1 1;
}
.str-chat__poll-creation-dialog .str-chat__prompt__body form {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xl);
}
.str-chat__poll-creation-dialog .str-chat__poll-creation-dialog__features-selectors {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-sm);
  align-items: center;
}
.str-chat__poll-creation-dialog .str-chat__form__input-field__value input,
.str-chat__poll-creation-dialog .str-chat__form__input-field__value.str-chat__form-text-input .str-chat__form-text-input__wrapper {
  width: 100%;
}
.str-chat__poll-creation-dialog .str-chat__form__input-field__value.str-chat__form-text-input .str-chat__form-text-input__wrapper {
  background-color: transparent;
}
.str-chat__poll-creation-dialog .str-chat__form__switch-field__label {
  width: 100%;
}
.str-chat__poll-creation-dialog .str-chat__prompt__header__description {
  display: none;
}
.str-chat__poll-creation-dialog .str-chat__multiple-answers-field__votes-limit-field {
  padding-top: 0;
}
.str-chat__poll-creation-dialog .str-chat__multiple-answers-field__votes-limit-field .str-chat__multiple-answers-field__votes-limit-field__numeric-field {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-md);
  width: 100%;
}
.str-chat__poll-creation-dialog .str-chat__multiple-answers-field__votes-limit-field .str-chat__multiple-answers-field__votes-limit-field__numeric-field .str-chat__form__switch-field__label {
  flex: 1;
}

.str-chat__modal__poll-option-list .str-chat__modal__poll-option-list__body {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-2xl);
  padding-bottom: var(--str-chat__spacing-xl);
}
.str-chat__modal__poll-option-list .str-chat__modal__poll-option-list__body .str-chat__poll-option-list--full {
  gap: var(--str-chat__spacing-xs);
  scrollbar-width: none;
  padding: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-lg);
  background-color: var(--str-chat__background-core-surface-card);
}
.str-chat__modal__poll-option-list .str-chat__modal__poll-option-list__body .str-chat__poll-option-list--full .str-chat__poll-option {
  padding: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-md);
}
.str-chat__modal__poll-option-list .str-chat__modal__poll-option-list__body .str-chat__poll-option-list--full .str-chat__poll-option--votable:hover {
  background-color: var(--str-chat__background-utility-hover);
}

.str-chat__poll-option-list {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-md);
}
.str-chat__poll-option-list .str-chat__poll-option {
  display: grid;
  grid-template-columns: minmax(0, auto) 1fr;
  grid-template-rows: 1fr auto;
  row-gap: var(--str-chat__spacing-xs);
  align-items: start;
}
.str-chat__poll-option-list .str-chat__poll-option.str-chat__poll-option--votable {
  column-gap: var(--str-chat__spacing-sm);
}
.str-chat__poll-option-list .str-chat__poll-option.str-chat__poll-option--votable:hover {
  cursor: pointer;
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__checkmark {
  grid-column: 1;
  grid-row: span 2;
  height: var(--str-chat__size-24);
  width: var(--str-chat__size-24);
  border-radius: var(--str-chat__radius-max);
  border: 1px solid var(--chat-border-on-chat, var(--str-chat__chat-border-on-chat-incoming));
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__checkmark--checked {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im00IDkuNC00LTRMMS40IDQgNCA2LjYgMTAuNiAwIDEyIDEuNGwtOCA4WiIvPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 10px;
  background-color: var(--str-chat__control-radio-check-bg-selected);
  border: none;
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__poll-option-data {
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: var(--str-chat__spacing-xs);
  grid-column: 2/3;
  grid-row: 1/2;
  min-height: 24px;
  padding-block: var(--str-chat__spacing-xxxs);
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__poll-option-data p {
  margin: 0;
  flex: 1;
  word-break: break-word;
  hyphens: auto;
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__poll-option-data .str-chat__poll-option-votes {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__poll-option-data .str-chat__poll-option-votes .str-chat__poll-option-voters {
  --str-chat__avatar-size: 1.175rem;
  display: flex;
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__poll-option-data .str-chat__poll-option-votes .str-chat__poll-option-vote-count {
  text-align: right;
  font: var(--str-chat__font-metadata-default);
}
.str-chat__poll-option-list .str-chat__poll-option .str-chat__poll-option__votes-bar {
  grid-column: 2/3;
  grid-row: 2/3;
  height: 8px;
  width: 100%;
  background: linear-gradient(to right, var(--chat-poll-progress-fill, var(--str-chat__chat-poll-progress-fill-incoming)) var(--str-chat__amount-bar-fulfillment), var(--chat-poll-progress-track, var(--str-chat__chat-poll-progress-track-incoming)) var(--str-chat__amount-bar-fulfillment));
  border-radius: var(--str-chat__size-4);
}

.str-chat__modal__poll-question {
  display: flex;
  padding: var(--str-chat__spacing-md);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--str-chat__spacing-xxs);
  align-self: stretch;
  border-radius: var(--str-chat__radius-lg);
  background: var(--str-chat__background-core-surface-card);
}
.str-chat__modal__poll-question .str-chat__modal__poll-question__label {
  font: var(--str-chat__font-heading-xs);
  color: var(--str-chat__text-tertiary);
}
.str-chat__modal__poll-question .str-chat__modal__poll-question__text {
  font: var(--str-chat__font-heading-sm);
  color: var(--str-chat__text-primary);
}

.str-chat__modal__poll-results .str-chat__amount-bar {
  display: none;
}
.str-chat__modal__poll-results .str-chat__modal__poll-results__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--str-chat__spacing-2xl);
}
.str-chat__modal__poll-results .str-chat__modal__poll-results__options {
  scrollbar-width: none;
  width: 100%;
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--str-chat__spacing-md);
  align-self: stretch;
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-block: var(--str-chat__spacing-md);
  border-radius: var(--str-chat__radius-lg);
  background: var(--str-chat__background-core-surface-card);
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option .str-chat__poll-option__header,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option .str-chat__poll-option__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--str-chat__spacing-xxs);
  align-self: stretch;
  padding-inline: var(--str-chat__spacing-md);
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option .str-chat__poll-option__header .str-chat__poll-option__header__label,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option .str-chat__poll-option__header .str-chat__poll-option__header__label {
  font: var(--str-chat__font-heading-xs);
  color: var(--str-chat__text-tertiary);
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option .str-chat__poll-option__header .str-chat__poll-option__header__title,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option .str-chat__poll-option__header .str-chat__poll-option__header__title {
  display: flex;
  align-items: start;
  gap: var(--str-chat__spacing-md);
  width: 100%;
  font: var(--str-chat__font-heading-sm);
  color: var(--str-chat__text-primary);
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option .str-chat__poll-option__header .str-chat__poll-option__header__title .str-chat__poll-option__option-text,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option .str-chat__poll-option__header .str-chat__poll-option__header__title .str-chat__poll-option__option-text {
  flex: 1;
  word-break: break-word;
  hyphens: auto;
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option .str-chat__poll-vote-listing,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option .str-chat__poll-vote-listing {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-none);
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option .str-chat__poll-vote-listing .str-chat__avatar,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option .str-chat__poll-vote-listing .str-chat__avatar {
  height: var(--str-chat__spacing-2xl);
  width: var(--str-chat__spacing-2xl);
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option .str-chat__poll-option__show-all-votes-button-container,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option .str-chat__poll-option__show-all-votes-button-container {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-md);
  border-top: 1px solid var(--str-chat__border-core-default);
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option--has-more-votes,
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option--has-votes,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option--has-more-votes,
.str-chat__modal__poll-results .str-chat__modal__poll-results__option-list .str-chat__poll-option--has-votes {
  padding-bottom: 0;
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option {
  padding-bottom: 0;
}
.str-chat__modal__poll-results .str-chat_poll-option-with-votes-list .str-chat__poll-option__votes-paginated-list .str-chat__loading-indicator-placeholder {
  width: 100%;
  height: calc(var(--str-chat__loading-indicator-size) + 2 * var(--str-chat__spacing-xxs));
  display: flex;
  justify-content: center;
}
.str-chat__modal__poll-results .str-chat__modal__poll-results__options__footer {
  padding-top: var(--str-chat__spacing-2xl);
}
.str-chat__modal__poll-results .str-chat__modal__poll-results__options__footer .str-chat__modal__poll-results__options-total-count {
  width: 100%;
  text-align: center;
  font: var(--str-chat__font-caption-default);
}
.str-chat__modal__poll-results .str-chat__poll-result-option-vote-counter {
  display: flex;
  gap: var(--str-chat__spacing-xs);
  align-items: center;
  font: var(--str-chat__font-caption-emphasis);
}
.str-chat__modal__poll-results .str-chat__poll-result-option-vote-counter .str-chat__icon {
  height: var(--str-chat__icon-size-md);
  width: var(--str-chat__icon-size-md);
}

.str-chat__modal__poll-results.str-chat__modal__poll-results--option-detail .str-chat__infinite-scroll-paginator {
  flex: 1;
  scrollbar-width: none;
  width: 100%;
  height: 100%;
  padding-bottom: var(--str-chat__spacing-xl);
}

.str-chat__modal__poll-results:not(.str-chat__modal__poll-results--option-detail) .str-chat__modal__poll-results__body {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: none;
  max-height: 564px;
  padding-bottom: var(--str-chat__spacing-2xl);
}

.str-chat__poll-vote {
  display: flex;
  padding: var(--str-chat__spacing-xxs) var(--str-chat__spacing-sm);
  align-items: center;
  gap: var(--str-chat__spacing-none, 0);
  align-self: stretch;
  width: 100%;
  font: var(--str-chat__font-caption-default);
}
.str-chat__poll-vote .str-chat__poll-vote__author {
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-sm);
}
.str-chat__poll-vote .str-chat__poll-vote__author__name {
  text-transform: capitalize;
}

.str-chat__modal__suggest-poll-option-prompt {
  width: 300px;
}

.str-chat__reaction-selector {
  display: flex;
  padding-inline: var(--str-chat__spacing-xxs);
  padding-block: var(--str-chat__spacing-xxs);
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-4xl);
  background: var(--str-chat__background-core-elevation-2);
  box-shadow: var(--str-chat__box-shadow-3);
}
.str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list) {
  padding: 0;
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: none;
  border-radius: var(--str-chat__radius-lg);
  max-height: 320px;
}
.str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list)::before, .str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list)::after {
  content: "";
  position: absolute;
  width: 100%;
  inset-inline-start: 0;
  height: var(--str-chat__size-16);
}
.str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list)::after {
  bottom: 0;
  border-end-end-radius: inherit;
  border-end-start-radius: inherit;
  background: linear-gradient(to bottom, transparent 5%, var(--str-chat__background-core-elevation-2) 95%);
}
.str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list)::before {
  z-index: 1;
  top: 0;
  border-start-end-radius: inherit;
  border-start-start-radius: inherit;
  background: linear-gradient(to top, transparent 5%, var(--str-chat__background-core-elevation-2) 95%);
}
.str-chat__reaction-selector .str-chat__reaction-selector__add-button {
  width: 32px;
  aspect-ratio: 1/1;
}
.str-chat__reaction-selector .str-chat__reaction-selector__add-button .str-chat__icon {
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
}
.str-chat__reaction-selector:has(.str-chat__reaction-selector__add-button) {
  padding-inline-end: var(--str-chat__spacing-xs);
}
.str-chat__reaction-selector .str-chat__reaction-selector-list {
  list-style: none;
  margin: var(--str-chat__spacing-none);
  padding: var(--str-chat__spacing-none);
  display: flex;
  gap: var(--str-chat__space-2);
}
.str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item {
  display: flex;
}
.str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button {
  background-color: transparent;
  border: none;
  border-radius: var(--str-chat__radius-max);
  cursor: pointer;
  display: flex;
  min-width: 40px;
  min-height: 40px;
  padding: var(--str-chat__spacing-none, 0);
  justify-content: center;
  align-items: center;
  gap: var(--str-chat__spacing-none, 0);
}
.str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button:not(:disabled):hover {
  background-color: var(--str-chat__background-utility-hover);
}
.str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button:not(:disabled):active {
  background-color: var(--str-chat__background-utility-pressed);
}
.str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button:not(:disabled):focus-visible {
  outline: var(--str-chat__focus-outline, 2px solid var(--str-chat__border-utility-focused));
  outline-offset: -2px;
}
.str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button:not(:disabled)[aria-pressed=true] {
  background-color: var(--str-chat__background-utility-selected);
}
.str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button .str-chat__reaction-icon {
  font-size: var(--str-chat__typography-font-size-2xl);
  height: var(--str-chat__typography-font-size-2xl);
  width: var(--str-chat__typography-font-size-2xl);
  font-family: system-ui;
  line-height: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.str-chat__reaction-selector-extended-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  height: 100%;
  padding-block: var(--str-chat__spacing-md);
  padding-inline: var(--str-chat__spacing-sm);
}
.str-chat__reaction-selector-extended-list .str-chat__reaction-selector-extended-list__button .str-chat__reaction-icon {
  height: var(--str-chat__emoji-md);
  width: var(--str-chat__emoji-md);
  font-size: var(--str-chat__emoji-md);
  line-height: 0;
  font-family: system-ui;
  display: flex;
  justify-content: center;
  align-items: center;
}

.str-chat__message-reactions {
  display: flex;
}
.str-chat__message-reactions .str-chat__message-reactions__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
}
.str-chat__message-reactions .str-chat__message-reactions__list .str-chat__message-reactions__list-item {
  display: flex;
}
.str-chat__message-reactions .str-chat__message-reactions__list .str-chat__message-reactions__list-item--more {
  height: 100%;
}
.str-chat__message-reactions .str-chat__message-reactions__list-button,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button {
  padding: unset;
  background: unset;
  border: unset;
  border-radius: var(--str-chat__radius-max);
  display: flex;
  cursor: pointer;
  position: relative;
  display: flex;
  gap: var(--str-chat__spacing-xxs);
  padding-inline: var(--str-chat__spacing-xs);
  padding-block: var(--str-chat__spacing-xxxs);
  align-items: center;
  justify-content: center;
  border-radius: var(--str-chat__radius-max);
  border: 1px solid var(--str-chat__reaction-border);
  background: var(--str-chat__reaction-bg);
  color: var(--str-chat__reaction-text);
  box-shadow: var(--str-chat__box-shadow-3);
  font-weight: inherit;
  font-size: inherit;
  line-height: 1;
  user-select: none;
}
.str-chat__message-reactions .str-chat__message-reactions__list-button:not(:disabled):hover::before, .str-chat__message-reactions .str-chat__message-reactions__list-button:not(:disabled):active::before, .str-chat__message-reactions .str-chat__message-reactions__list-button:not(:disabled)[aria-pressed=true]::before,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button:not(:disabled):hover::before,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button:not(:disabled):active::before,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button:not(:disabled)[aria-pressed=true]::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  width: 100%;
  height: 100%;
}
.str-chat__message-reactions .str-chat__message-reactions__list-button:not(:disabled):hover::before,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button:not(:disabled):hover::before {
  background: var(--str-chat__background-utility-hover);
}
.str-chat__message-reactions .str-chat__message-reactions__list-button:not(:disabled):active::before,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button:not(:disabled):active::before {
  background: var(--str-chat__background-utility-pressed);
}
.str-chat__message-reactions .str-chat__message-reactions__list-button:not(:disabled)[aria-pressed=true]::before,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button:not(:disabled)[aria-pressed=true]::before {
  background: var(--str-chat__background-utility-selected);
}
.str-chat__message-reactions .str-chat__message-reactions__list-button .str-chat__message-reactions__list-item-icon,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button .str-chat__message-reactions__list-item-icon {
  font-family: system-ui;
  font-size: var(--str-chat__font-size-size-17);
  line-height: var(--str-chat__typography-line-height-normal);
}
.str-chat__message-reactions .str-chat__message-reactions__list-button .str-chat__message-reactions__total-count,
.str-chat__message-reactions .str-chat__message-reactions__list-button .str-chat__message-reactions__overflow-count,
.str-chat__message-reactions .str-chat__message-reactions__list-button .str-chat__message-reactions__list-item-count,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button .str-chat__message-reactions__total-count,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button .str-chat__message-reactions__overflow-count,
.str-chat__message-reactions .str-chat__message-reactions__list-item-button .str-chat__message-reactions__list-item-count {
  display: flex;
  align-items: center;
  font: var(--str-chat__font-numeric-md);
}
.str-chat__message-reactions--bottom .str-chat__message-reactions__list-button,
.str-chat__message-reactions--bottom .str-chat__message-reactions__list-item-button {
  box-shadow: none;
}

.str-chat .str-chat__dialog-contents:has(.str-chat__message-reactions-detail):focus-visible {
  border-radius: var(--str-chat__radius-lg);
}

.str-chat__message-reactions-detail {
  border-radius: var(--str-chat__radius-lg);
  background: var(--str-chat__background-core-elevation-2);
  max-width: 256px;
  min-width: min(90vw, 256px);
}
.str-chat__message-reactions-detail:has(.str-chat__reaction-selector-extended-list)::before, .str-chat__message-reactions-detail:has(.str-chat__reaction-selector-extended-list)::after {
  content: "";
  position: absolute;
  width: 100%;
  inset-inline-start: 0;
  height: var(--str-chat__size-16);
}
.str-chat__message-reactions-detail:has(.str-chat__reaction-selector-extended-list)::after {
  bottom: 0;
  border-end-end-radius: inherit;
  border-end-start-radius: inherit;
  background: linear-gradient(to bottom, transparent 5%, var(--str-chat__background-core-elevation-2) 95%);
}
.str-chat__message-reactions-detail:has(.str-chat__reaction-selector-extended-list)::before {
  z-index: 1;
  top: 0;
  border-start-end-radius: inherit;
  border-start-start-radius: inherit;
  background: linear-gradient(to top, transparent 5%, var(--str-chat__background-core-elevation-2) 95%);
}
.str-chat__message-reactions-detail:has(.str-chat__reaction-selector-extended-list) {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 0;
  display: block;
  scrollbar-width: none;
  max-height: 320px;
  max-width: unset;
  min-width: unset;
}
.str-chat__message-reactions-detail {
  box-shadow: var(--str-chat__box-shadow-3);
  padding-block-start: var(--str-chat__spacing-xxs);
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxxs);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__total-count {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-inline: var(--str-chat__spacing-md);
  min-height: var(--str-chat__size-32);
  max-height: var(--str-chat__size-32);
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-heading-xs);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list {
  list-style: none;
  margin: 0;
  padding-inline: var(--str-chat__spacing-md);
  padding-block: var(--str-chat__spacing-xs);
  display: flex;
  flex-wrap: wrap;
  gap: var(--str-chat__spacing-xs) var(--str-chat__spacing-xxs);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item {
  display: flex;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button {
  padding: unset;
  background: unset;
  border: unset;
  border-radius: var(--str-chat__radius-max);
  display: flex;
  cursor: pointer;
  position: relative;
  display: flex;
  gap: var(--str-chat__spacing-xxs);
  padding-inline: var(--str-chat__spacing-xs);
  padding-block: var(--str-chat__spacing-xxxs);
  align-items: center;
  justify-content: center;
  border-radius: var(--str-chat__radius-max);
  border: 1px solid var(--str-chat__reaction-border);
  background: var(--str-chat__reaction-bg);
  color: var(--str-chat__reaction-text);
  box-shadow: var(--str-chat__box-shadow-3);
  font-weight: inherit;
  font-size: inherit;
  line-height: 1;
  user-select: none;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button:not(:disabled):hover::before, .str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button:not(:disabled):active::before, .str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button:not(:disabled)[aria-pressed=true]::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  width: 100%;
  height: 100%;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button:not(:disabled):hover::before {
  background: var(--str-chat__background-utility-hover);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button:not(:disabled):active::before {
  background: var(--str-chat__background-utility-pressed);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button:not(:disabled)[aria-pressed=true]::before {
  background: var(--str-chat__background-utility-selected);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button {
  box-shadow: unset;
  min-width: var(--str-chat__size-48);
  background: none;
  border: 1px solid var(--str-chat__control-chip-border);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button .str-chat__message-reactions-detail__reaction-type-list-item-icon {
  font-family: system-ui;
  font-size: var(--str-chat__font-size-size-17);
  line-height: var(--str-chat__typography-line-height-normal);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button .str-chat__message-reactions-detail__reaction-type-list-item-icon .str-chat__icon {
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button .str-chat__message-reactions-detail__reaction-type-list-item-icon:has(.str-chat__icon) {
  display: flex;
  align-items: center;
  justify-content: center;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button .str-chat__message-reactions-detail__reaction-type-list-item-count {
  color: var(--str-chat__reaction-text);
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list-container {
  position: relative;
  border-radius: inherit;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list-container::before, .str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list-container::after {
  content: "";
  position: absolute;
  width: 100%;
  inset-inline-start: 0;
  height: var(--str-chat__size-16);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list-container::after {
  bottom: 0;
  border-end-end-radius: inherit;
  border-end-start-radius: inherit;
  background: linear-gradient(to bottom, transparent 5%, var(--str-chat__background-core-elevation-2) 95%);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list-container::before {
  z-index: 1;
  top: 0;
  border-start-end-radius: inherit;
  border-start-start-radius: inherit;
  background: linear-gradient(to top, transparent 5%, var(--str-chat__background-core-elevation-2) 95%);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list-container::before {
  display: none;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: none;
  position: relative;
  padding-block-end: var(--str-chat__spacing-xxs);
  max-height: 180px;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__skeleton-item {
  padding-block: var(--str-chat__spacing-xxs);
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  padding-inline: calc(var(--str-chat__spacing-sm) + var(--str-chat__spacing-xxs));
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__skeleton-item .str-chat__message-reactions-detail__skeleton-avatar {
  width: var(--str-chat__size-32);
  height: var(--str-chat__size-32);
  border-radius: var(--str-chat__radius-max);
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
  flex-shrink: 0;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__skeleton-item .str-chat__message-reactions-detail__skeleton-line {
  flex-grow: 1;
  height: var(--str-chat__size-20);
  border-radius: var(--str-chat__radius-sm);
  background-color: var(--str-chat__background-core-surface-default);
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: loading-channel-shimmer 1.2s linear infinite;
  border-radius: 999px;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0.7) 98%, transparent 100%);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item {
  padding-block: var(--str-chat__spacing-xxs);
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  padding-inline: calc(var(--str-chat__spacing-sm) + var(--str-chat__spacing-xxs));
  max-height: var(--str-chat__size-40);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-icon {
  font-family: system-ui;
  font-size: var(--str-chat__font-size-size-17);
  line-height: var(--str-chat__typography-line-height-normal);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-info {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-width: 0;
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-info .str-chat__message-reactions-detail__user-list-item-username {
  color: var(--str-chat__text-primary);
  font: var(--str-chat__font-caption-default);
}
.str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-info .str-chat__message-reactions-detail__user-list-item-button {
  padding: unset;
  background: unset;
  border: unset;
  border-radius: var(--str-chat__radius-max);
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-metadata-default);
  cursor: pointer;
  align-self: flex-start;
}

.str-chat__search {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-sm);
  padding-block: var(--str-chat__spacing-xs);
  justify-content: center;
}
.str-chat__search.str-chat__search--active {
  flex: 1;
  min-height: 0;
}

.str-chat__search-bar {
  padding-inline: var(--str-chat__spacing-md);
  display: flex;
  gap: var(--str-chat__spacing-xxxs);
}
.str-chat__search-bar .str-chat__search-bar__input-wrapper {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-max);
  border: 1px solid var(--str-chat__border-core-default);
  color: var(--str-chat__input-text-placeholder);
  font: var(--str-chat__font-caption-default);
  flex-shrink: 1;
  flex-grow: 1;
}
.str-chat__search-bar .str-chat__search-bar__input-wrapper:focus-within {
  outline: var(--str-chat__focus-outline, 2px solid var(--border-utility-focused));
  outline-offset: var(--str-chat__focus-outline-offset, 2px);
}
.str-chat__search-bar .str-chat__search-bar__input-wrapper .str-chat__search-bar__input {
  min-height: 24px;
  border: none;
  background: none;
  width: 100%;
  font: inherit;
}
.str-chat__search-bar .str-chat__search-bar__input-wrapper .str-chat__search-bar__input:focus {
  outline: none;
}
.str-chat__search-bar .str-chat__search-bar__input-wrapper .str-chat__search-bar__clear-button {
  flex-shrink: 0;
}
.str-chat__search-bar .str-chat__search-bar__input-wrapper {
  padding-block: var(--str-chat__spacing-xs);
  padding-inline: var(--str-chat__spacing-sm);
}
.str-chat__search-bar .str-chat__search-bar__exit-search-button {
  flex-shrink: 0;
}

.str-chat__search-results {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-sm);
  flex: 1;
  min-height: 0;
}
.str-chat__search-results .str-chat__search-results-header {
  scrollbar-width: none;
}
.str-chat__search-results .str-chat__search-results-header .str-chat__search-results-header__filter-source-buttons {
  display: flex;
  gap: var(--str-chat__spacing-xxs);
  padding-inline: var(--str-chat__spacing-md);
}
.str-chat__search-results .str-chat__search-results-header .str-chat__search-results-header__filter-source-buttons > .str-chat__button {
  flex-shrink: 0;
}

.str-chat__search-source-results {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.str-chat__search-source-result-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.str-chat__search-source-result-list .str-chat__infinite-scroll-paginator {
  flex: 1;
  min-height: 0;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
}
.str-chat__search-source-result-list .str-chat__search-result-container {
  padding: var(--str-chat__spacing-xxs);
  border-bottom: 1px solid var(--str-chat__border-core-subtle);
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-md);
  padding: var(--str-chat__spacing-sm);
  border-radius: var(--str-chat__radius-lg);
  width: 100%;
  border: none;
  background: none;
  cursor: pointer;
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user .str-chat__avatar {
  flex-shrink: 0;
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user .str-chat__search-result-data {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxs);
  flex: 1 0 0;
  min-width: 0;
  text-align: start;
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user .str-chat__search-result-data .str-chat__search-result__display-name {
  font: var(--str-chat__font-caption-emphasis);
  color: var(--str-chat__text-primary);
  flex: 1;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user .str-chat__search-result-data .str-chat__search-result__last-active-timestamp {
  flex: 1;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-caption-default);
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user {
  background: var(--str-chat__background-core-elevation-1);
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user:not(:disabled):hover {
  background: var(--str-chat__background-utility-hover);
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user:not(:disabled):active {
  background: var(--str-chat__background-utility-pressed);
}
.str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user:not(:disabled)[aria-pressed=true] {
  background: var(--str-chat__background-utility-selected);
}

.str-chat__search-source-result-list__footer,
.str-chat__search-results-presearch,
.str-chat__search-source-results-empty {
  font: var(--str-chat__font-caption-default);
  color: var(--str-chat__text-tertiary);
  padding-block: var(--str-chat__spacing-xs);
  display: flex;
  justify-content: center;
  align-items: center;
}

.str-chat__skip-navigation-link {
  background-color: var(--str-chat__background-color, #fff);
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--str-chat__text-color, currentColor);
  left: 0;
  margin: 8px;
  padding: 8px 12px;
  position: absolute;
  text-decoration: none;
  top: 0;
  transform: translateY(-200%);
  z-index: 2;
}

.str-chat__skip-navigation-link:focus,
.str-chat__skip-navigation-link:focus-visible {
  border: 1px solid var(--accent-primary);
  transform: translateY(0);
}

.str-chat__summarized-message-preview {
  display: flex;
  align-items: center;
  gap: var(--str-chat__spacing-xxs);
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 0;
  color: var(--str-chat__text-secondary);
  font: var(--str-chat__font-caption-default);
}
.str-chat__summarized-message-preview .str-chat__icon {
  flex-shrink: 0;
  width: var(--str-chat__icon-size-sm);
  height: var(--str-chat__icon-size-sm);
}
.str-chat__summarized-message-preview--error {
  color: var(--text-error);
}
.str-chat__summarized-message-preview--deleted {
  color: var(--str-chat__text-tertiary);
}
.str-chat__summarized-message-preview .str-chat__summarized-message-preview__text {
  flex: 1;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.str-chat__summarized-message-preview .str-chat__summarized-message-preview__delivery-status {
  display: flex;
  flex-shrink: 0;
  color: var(--str-chat__text-tertiary);
}
.str-chat__summarized-message-preview .str-chat__summarized-message-preview__delivery-status--read {
  color: var(--str-chat__accent-primary);
}
.str-chat__summarized-message-preview .str-chat__summarized-message-preview__sender {
  color: var(--str-chat__text-tertiary);
  font: var(--str-chat__font-caption-emphasis);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.str-chat .str-chat__suggestion-list {
  max-height: 320px;
  min-width: 200px;
  overflow-y: auto;
  scrollbar-width: none;
}
.str-chat .str-chat__suggestion-list .str-chat__suggestion-list-item--selected {
  background-color: var(--str-chat__dialog-menu-button-hover-background-color);
}

.str-chat__thread-container {
  color: var(--str-chat__text-primary);
  border-inline-start: 1px solid var(--str-chat__border-core-default);
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.str-chat__parent-message-li {
  padding-block-start: var(--str-chat__spacing-sm);
}
.str-chat__parent-message-li .str-chat__message {
  max-width: calc(var(--str-chat__message-composer-max-width) + var(--str-chat__message-composer-padding));
  padding-block: var(--str-chat__spacing-xs);
  margin-inline: auto;
}
.str-chat__parent-message-li .str-chat__thread-start {
  display: flex;
  padding: var(--str-chat__spacing-xs) var(--str-chat__spacing-none);
  margin-block: var(--str-chat__spacing-xs);
  justify-content: center;
  align-items: center;
  gap: var(--str-chat__spacing-none);
  width: 100%;
  border-top: 1px solid var(--str-chat__border-core-subtle);
  border-bottom: 1px solid var(--str-chat__border-core-subtle);
  background: var(--str-chat__background-core-surface-subtle);
  color: var(--str-chat__chat-text-system);
  font: var(--str-chat__font-metadata-emphasis);
}

.str-chat__thread-header {
  width: 100%;
  padding: var(--str-chat__spacing-md);
  height: var(--str-chat__channel-header-height);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  background: var(--str-chat__background-core-elevation-1);
  color: var(--str-chat__text-primary);
  border-block-end: 1px solid var(--str-chat__border-core-default);
}
.str-chat__thread-header .str-chat__thread-header-title {
  font: var(--str-chat__font-heading-sm);
}
.str-chat__thread-header .str-chat__thread-header-subtitle {
  font: var(--str-chat__font-caption-default);
  color: var(--str-chat__text-secondary);
}
.str-chat__thread-header .str-chat__thread-header-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-y: hidden;
  overflow-x: hidden;
  min-width: 0;
  justify-self: center;
}
.str-chat__thread-header .str-chat__thread-header-details .str-chat__thread-header-subtitle,
.str-chat__thread-header .str-chat__thread-header-details .str-chat__thread-header-title {
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
}
.str-chat__thread-header .str-chat__thread-header-details .str-chat__thread-header-subtitle {
  overflow-y: hidden;
}
.str-chat__thread-header .str-chat__thread-header__start {
  min-width: 0;
  justify-self: start;
}
.str-chat__thread-header .str-chat__thread-header__end {
  min-width: 0;
  justify-self: end;
}
.str-chat__thread-header .str-chat__close-thread-button {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: var(--str-chat__size-40);
  height: var(--str-chat__size-40);
  cursor: pointer;
  background-color: transparent;
  border: none;
}
.str-chat__thread-header .str-chat__close-thread-button .str-chat__icon {
  fill: var(--str-chat__text-primary);
}

.str-chat__chat-view__threads .str-chat__thread-header .str-chat__thread-header-details {
  align-items: center;
}
.str-chat__chat-view__threads .str-chat__thread {
  border: none;
}

/* Only available in React SDK. */
.str-chat__unread-count-badge {
  background-color: var(--str-chat__accent-error);
  color: var(--str-chat__badge-text-on-accent);
  border-radius: 9999px;
}

.str-chat {
  --str-chat-unread-count-badge-absolute-offset-vertical: 50%;
  --str-chat-unread-count-badge-absolute-offset-horizontal: 50%;
}

.str-chat__unread-count-badge-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.str-chat__unread-count-badge {
  font-size: 12px;
  min-width: 18px;
  min-height: 18px;
  line-height: 8px;
  font-weight: 700;
  padding: 5px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.str-chat__unread-count-badge--top-right {
  position: absolute;
  translate: var(--str-chat-unread-count-badge-absolute-offset-horizontal) calc(var(--str-chat-unread-count-badge-absolute-offset-vertical) * -1);
}
.str-chat__unread-count-badge--bottom-left {
  position: absolute;
  translate: calc(var(--str-chat-unread-count-badge-absolute-offset-horizontal) * -1) var(--str-chat-unread-count-badge-absolute-offset-vertical);
}
.str-chat__unread-count-badge--bottom-right {
  position: absolute;
  translate: var(--str-chat-unread-count-badge-absolute-offset-horizontal) var(--str-chat-unread-count-badge-absolute-offset-vertical);
}
.str-chat__unread-count-badge--top-left {
  position: absolute;
  translate: calc(var(--str-chat-unread-count-badge-absolute-offset-horizontal) * -1) calc(var(--str-chat-unread-count-badge-absolute-offset-vertical) * -1);
}

.str-chat {
  --str-chat__thread-list-transition-duration: var(
    --str-chat__channel-list-transition-duration
  );
  --str-chat__thread-list-transition-easing: var(
    --str-chat__channel-list-transition-easing
  );
  --str-chat__thread-list-transition-offset: var(
    --str-chat__channel-list-transition-offset
  );
  --str-chat__thread-list-width: var(--str-chat__channel-list-width);
  --str-chat__thread-list-mobile-width: var(--str-chat__channel-list-mobile-width);
}

.str-chat__thread-list-container {
  background: var(--str-chat__background-core-elevation-1);
  color: var(--str-chat__text-primary);
  border-inline-end: 1px solid var(--str-chat__border-core-default);
  display: flex;
  flex: 0 0 var(--str-chat__thread-list-width);
  flex-direction: column;
  height: 100%;
  max-width: 100%;
  min-width: 280px;
  opacity: 1;
  position: relative;
  transform: translateX(0);
  transition: flex-basis var(--str-chat__thread-list-transition-duration) var(--str-chat__thread-list-transition-easing), min-width var(--str-chat__thread-list-transition-duration) var(--str-chat__thread-list-transition-easing), width var(--str-chat__thread-list-transition-duration) var(--str-chat__thread-list-transition-easing), max-width var(--str-chat__thread-list-transition-duration) var(--str-chat__thread-list-transition-easing), opacity var(--str-chat__thread-list-transition-duration) var(--str-chat__thread-list-transition-easing), transform var(--str-chat__thread-list-transition-duration) var(--str-chat__thread-list-transition-easing);
  width: var(--str-chat__thread-list-width);
  /* Mobile: hide when nav closed; when open show as overlay. */
}
@media (max-width: 767px) {
  .str-chat__thread-list-container {
    flex-basis: auto;
    inset-inline-start: 0;
    max-width: 100%;
    min-width: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    transform: translateX(calc(var(--str-chat__thread-list-transition-offset) * -1px));
    transition: transform var(--str-chat__thread-list-transition-duration) var(--str-chat__thread-list-transition-easing), visibility 0s linear var(--str-chat__thread-list-transition-duration);
    visibility: hidden;
    width: var(--str-chat__thread-list-mobile-width);
    z-index: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .str-chat__thread-list-container {
    transition: none;
  }
}
.str-chat__thread-list-container .str-chat__unseen-threads-banner {
  padding: unset;
  background: unset;
  border: unset;
  border-radius: var(--str-chat__radius-max);
  font: var(--str-chat__font-metadata-emphasis);
  cursor: pointer;
  display: flex;
  color: var(--str-chat__text-secondary);
  height: 36px;
  justify-content: center;
  align-items: center;
  gap: var(--str-chat__spacing-xs);
  border-radius: var(--str-chat__radius-none);
  background: var(--background-core-surface);
  position: relative;
}
.str-chat__thread-list-container .str-chat__unseen-threads-banner > .str-chat__icon {
  height: var(--str-chat__icon-size-md);
  width: var(--str-chat__icon-size-md);
}
.str-chat__thread-list-container .str-chat__unseen-threads-banner:not(:disabled):hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--str-chat__background-utility-hover);
  pointer-events: none;
}

.str-chat__thread-list {
  flex: 1;
}
.str-chat__thread-list [data-virtuoso-scroller=true] {
  height: 100% !important;
}
.str-chat__thread-list [data-viewport-type=element] {
  height: 100% !important;
}

.str-chat__thread-list-empty-placeholder {
  --str-chat-icon-color: var(--str-chat__text-secondary);
  text-align: center;
}
.str-chat__thread-list-empty-placeholder svg {
  width: 32px;
  height: 32px;
}
.str-chat__thread-list-empty-placeholder {
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--str-chat__spacing-xl);
  color: var(--str-chat__text-secondary);
}
.str-chat__thread-list-empty-placeholder p {
  margin: 0;
  color: var(--str-chat__text-secondary);
  font: var(--str-chat__font-caption-default);
}

.str-chat__thread-list__header {
  display: flex;
  align-items: center;
  padding: var(--str-chat__spacing-md);
  height: var(--str-chat__channel-header-height);
  width: 100%;
}
.str-chat__thread-list__header .str-chat__thread-list__header__title {
  flex: 1;
  font: var(--str-chat__font-heading-lg);
  color: var(--str-chat__text-primary);
}

.str-chat__thread-list-item-container {
  border-bottom: 1px solid var(--str-chat__border-core-subtle);
  padding: var(--str-chat__spacing-xxs);
  max-width: 100%;
}
.str-chat__thread-list-item-container:has(.str-chat__thread-list-item--highlighted) {
  background: var(--str-chat__background-core-highlight);
}

.str-chat__thread-list-item {
  display: flex;
  gap: var(--str-chat__spacing-sm);
  align-items: flex-start;
  padding-inline: var(--str-chat__spacing-sm);
  padding-block: var(--str-chat__spacing-sm);
  padding-block-start: calc(var(--str-chat__spacing-sm) - 1px);
  border: none;
  cursor: pointer;
  text-align: start;
  background: var(--str-chat__background-core-elevation-1);
  border-radius: var(--str-chat__radius-lg);
  width: 100%;
  max-width: 100%;
}
.str-chat__thread-list-item:not(:disabled):hover {
  background: var(--str-chat__background-utility-hover);
}
.str-chat__thread-list-item:not(:disabled):active {
  background: var(--str-chat__background-utility-pressed);
}
.str-chat__thread-list-item:not(:disabled)[aria-pressed=true] {
  background: var(--str-chat__background-utility-selected);
}
.str-chat__thread-list-item .str-chat__avatar {
  flex-shrink: 0;
}
.str-chat__thread-list-item .str-chat__summarized-message-preview .str-chat__summarized-message-preview__sender {
  color: var(--str-chat__text-secondary);
}
.str-chat__thread-list-item .str-chat__summarized-message-preview .str-chat__summarized-message-preview__text {
  color: var(--str-chat__text-primary);
}

.str-chat__thread-list-item__content {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xs);
  flex: 1 0 0;
  min-width: 0;
}

.str-chat__thread-list-item__content-leading {
  display: flex;
  flex-direction: column;
  gap: var(--str-chat__spacing-xxs);
  padding-block: var(--str-chat__spacing-xxxs);
}
.str-chat__thread-list-item__content-leading .str-chat__summarized-message-preview {
  font: var(--str-chat__font-body-default);
}
.str-chat__thread-list-item__content-leading .str-chat__summarized-message-preview .str-chat__summarized-message-preview__sender {
  font: var(--str-chat__font-body-emphasis);
}

.str-chat__thread-list-item__title {
  font: var(--str-chat__font-caption-emphasis);
  color: var(--str-chat__text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.str-chat__thread-list-item__content-trailing {
  display: flex;
  gap: var(--str-chat__spacing-xs);
  align-items: center;
}

.str-chat__thread-list-item__reply-information {
  display: flex;
  gap: var(--str-chat__spacing-xs);
  align-items: center;
}

.str-chat__thread-list-item__reply-count {
  font: var(--str-chat__font-caption-emphasis);
  color: var(--str-chat__text-link);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.str-chat__thread-list-item__timestamp {
  font: var(--str-chat__font-caption-default);
  color: var(--str-chat__text-tertiary);
  white-space: nowrap;
  min-width: 0;
  white-space: nowrap;
  overflow-y: visible;
  overflow-x: hidden;
  overflow-x: clip;
  text-overflow: ellipsis;
}

.str-chat {
  --str-chat__tooltip-background-color: var(--str-chat__background-core-inverse);
}
.str-chat.str-chat__theme-dark {
  --str-chat__tooltip-background-color: var(--str-chat__background-core-elevation-2);
}

.str-chat__tooltip {
  background: var(--str-chat__tooltip-background-color);
  color: var(--str-chat__text-on-accent);
  box-shadow: var(--str-chat__box-shadow-3);
  border-radius: var(--str-chat__radius-md);
  overflow-y: hidden;
  display: flex;
  gap: var(--str-chat__spacing-xs);
  padding: var(--str-chat__spacing-xs);
  z-index: 1;
  max-width: 150px;
  width: max-content;
  font: var(--str-chat__font-metadata-emphasis);
}
.str-chat__tooltip::after {
  background-color: var(--str-chat__tooltip-background-color);
}

/* Shared transition: fade-in when subtitle or typing indicator content appears */
@keyframes str-chat__typing-indicator-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.str-chat__subtitle-content-transition {
  animation: str-chat__typing-indicator-fade-in 0.2s ease-out;
  display: inline-block;
}

/* Inline typing indicator: avatar stack + bubble with animated dots (message-row layout) */
.str-chat__typing-indicator {
  display: flex;
  align-items: flex-end;
  width: 100%;
  max-width: calc(var(--str-chat__message-composer-max-width) + var(--str-chat__message-composer-padding));
  margin: auto;
  gap: var(--str-chat__spacing-xs);
  padding-block: var(--str-chat__spacing-xs);
  padding-inline: var(--str-chat__message-composer-padding);
}
.str-chat__typing-indicator.str-chat__typing-indicator--with-transition {
  animation: str-chat__typing-indicator-fade-in 0.25s ease-out;
}

.str-chat__typing-indicator__bubble {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  max-height: 36px;
  padding-block: var(--str-chat__spacing-xs);
  padding-inline: var(--str-chat__spacing-sm);
  border-radius: var(--str-chat__message-bubble-radius-group-bottom) var(--str-chat__message-bubble-radius-group-bottom) var(--str-chat__message-bubble-radius-group-bottom) var(--str-chat__message-bubble-radius-tail);
  border: 1px solid var(--chat-bg);
  background: var(--chat-bg);
}

.str-chat__typing-indicator__dots {
  display: flex;
  align-items: center;
  column-gap: var(--str-chat__spacing-xxs);
}

/* SVG dots (TypingIndicatorDots component) */
.str-chat__typing-indicator__dots svg {
  display: block;
}
.str-chat__typing-indicator__dots svg circle:nth-child(1) {
  fill: var(--str-chat__chat-text-typing-indicator);
  animation: str-chat__typing-indicator-dot 1.2s ease-in-out infinite both;
  animation-delay: 0s;
}
.str-chat__typing-indicator__dots svg circle:nth-child(2) {
  fill: var(--str-chat__chat-text-typing-indicator);
  animation: str-chat__typing-indicator-dot 1.2s ease-in-out infinite both;
  animation-delay: 0.15s;
}
.str-chat__typing-indicator__dots svg circle:nth-child(3) {
  fill: var(--str-chat__chat-text-typing-indicator);
  animation: str-chat__typing-indicator-dot 1.2s ease-in-out infinite both;
  animation-delay: 0.3s;
}

@keyframes str-chat__typing-indicator-dot {
  0%, 100% {
    opacity: 1;
  }
  33% {
    opacity: 0.75;
  }
  66% {
    opacity: 0.5;
  }
}
/* Header variant: text + inline dots (ChannelHeader / ThreadHeader) */
.str-chat__typing-indicator-header {
  display: inline-flex;
  align-items: baseline;
  gap: var(--str-chat__spacing-xs);
  white-space: nowrap;
  color: var(--str-chat__text-secondary);
  font: var(--str-chat__font-caption-default);
}

.str-chat__typing-indicator-header__dots {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.str-chat .str-chat__message-attachment__video-thumbnail {
  position: relative;
  width: 100%;
  height: 100%;
}
.str-chat .str-chat__message-attachment__video-thumbnail .str-chat__message-attachment__video-thumbnail-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.str-chat .str-chat__message-attachment__video-thumbnail .str-chat__message-attachment__video-thumbnail__play-indicator,
.str-chat .str-chat__message-attachment__video-thumbnail .str-chat__button.str-chat__button--solid.str-chat__message-attachment__video-thumbnail__play-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  height: 48px;
  width: 48px;
  border-radius: var(--str-chat__radius-max);
  background-color: var(--str-chat__control-play-button-bg);
  left: calc(50% - 24px);
  top: calc(50% - 24px);
}
.str-chat .str-chat__message-attachment__video-thumbnail .str-chat__message-attachment__video-thumbnail__play-indicator svg,
.str-chat .str-chat__message-attachment__video-thumbnail .str-chat__button.str-chat__button--solid.str-chat__message-attachment__video-thumbnail__play-indicator svg {
  height: 24px;
  width: 24px;
}
.str-chat .str-chat__message-attachment__video-thumbnail .str-chat__message-attachment__video-thumbnail__play-indicator svg path,
.str-chat .str-chat__message-attachment__video-thumbnail .str-chat__button.str-chat__button--solid.str-chat__message-attachment__video-thumbnail__play-indicator svg path {
  fill: var(--str-chat__control-play-button-icon);
}

/*# sourceMappingURL=index.css.map */
