@charset "UTF-8";
/*
 *  Copyright IBM Corp. 2025
 *
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/**
 * Launcher positioning styles for Carbon AI Chat floating widget mode.
 * Following @carbon/styles component patterns where styles are wrapped in mixins.
 *
 * These styles provide fixed positioning and entrance animation for a launcher
 * button, matching the positioning of the float layout. Extended (pill/CTA)
 * styles are intentionally excluded — include Launcher.scss for those.
 *
 * Usage (Sass — mixin, for composing into your own stylesheet):
 * @use "@carbon/ai-chat/scss/chat-launcher-layout";
 * @include chat-launcher-layout.launcher-positioning;
 *
 * Usage (CSS — pre-compiled, no Sass pipeline needed):
 * @import "@carbon/ai-chat/css/chat-launcher-layout.css";
 *
 * Classes generated:
 * - .cds-aichat-launcher         — base fixed positioning
 * - .cds-aichat-launcher--hidden — visually hidden (preserves layout)
 */
/* 
 *  Copyright IBM Corp. 2025
 *  
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/* 
 *  Copyright IBM Corp. 2025
 *  
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/* 
 *  Copyright IBM Corp. 2025
 *  
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/*
 *  Copyright IBM Corp. 2025
 *
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/*
 *  Copyright IBM Corp. 2025
 *
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/*
 *  Copyright IBM Corp. 2025
 *
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/**
 * Launcher positioning styles for Carbon AI Chat floating widget mode.
 * Following @carbon/styles component patterns where styles are wrapped in mixins.
 *
 * These styles provide fixed positioning and entrance animation for a launcher
 * button, matching the positioning of the float layout. Extended (pill/CTA)
 * styles are intentionally excluded — include Launcher.scss for those.
 *
 * Usage (Sass — mixin, for composing into your own stylesheet):
 * @use "@carbon/ai-chat/scss/chat-launcher-layout";
 * @include chat-launcher-layout.launcher-positioning;
 *
 * Usage (CSS — pre-compiled, no Sass pipeline needed):
 * @import "@carbon/ai-chat/css/chat-launcher-layout.css";
 *
 * Classes generated:
 * - .cds-aichat-launcher         — base fixed positioning
 * - .cds-aichat-launcher--hidden — visually hidden (preserves layout)
 */
/* 
 *  Copyright IBM Corp. 2025
 *  
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/* 
 *  Copyright IBM Corp. 2025
 *  
 *  This source code is licensed under the Apache-2.0 license found in the
 *  LICENSE file in the root directory of this source tree.
 */
/* ============================================================================
   LAUNCHER - BASE POSITIONING
   Fixed positioning for the launcher button
   Uses logical properties for automatic RTL support
   ============================================================================ */
.cds-aichat-launcher {
  position: fixed;
  z-index: var(--cds-aichat-z-index, 99999);
  inset-block-end: var(--cds-aichat-launcher-position-bottom, 3rem);
  inset-inline-end: var(--cds-aichat-launcher-position-right, 2rem);
}
@media (prefers-reduced-motion: no-preference) {
  .cds-aichat-launcher {
    animation: cds-aichat-launcher-in 150ms cubic-bezier(0, 0, 0.3, 1) both;
  }
}

/* ============================================================================
   LAUNCHER - RTL POSITIONING
   Use physical left/right instead of logical properties — logical properties
   on position:fixed elements resolve against the viewport direction, which
   may not reflect a dir="rtl" set on a sub-element of the page.
   ============================================================================ */
.cds-aichat-launcher:dir(rtl) {
  right: unset;
  left: var(--cds-aichat-launcher-position-right, 2rem);
}

/* ============================================================================
   LAUNCHER - HIDDEN STATE
   Hides the launcher while preserving its space (avoids re-triggering
   the entrance animation on remount)
   ============================================================================ */
.cds-aichat-launcher--hidden {
  visibility: hidden;
}

/* ============================================================================
   LAUNCHER - KEYFRAME ANIMATIONS
   ============================================================================ */
@keyframes cds-aichat-launcher-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}