/* Critical launcher styles only. Keep in sync with chat.css; parity is browser-tested. */
.ftbfc-ai-widget, .ftbfc-ai-widget * { box-sizing: border-box; }
.ftbfc-ai-widget { --ftbfc-ai-panel-width: 420px; --ftbfc-ai-blue: var(--ftbfc-ai-primary, #173b70); --ftbfc-ai-gradient-start: #0C40A4; --ftbfc-ai-gradient-end: #161657; --ftbfc-ai-gradient-angle: 110deg; --ftbfc-ai-gradient: linear-gradient(var(--ftbfc-ai-gradient-angle), var(--ftbfc-ai-gradient-start), var(--ftbfc-ai-gradient-end)); --ftbfc-ai-muted-text: #77778f; color: var(--ftbfc-ai-text, #172033); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
@supports (color: color-mix(in srgb, black, white)) { .ftbfc-ai-widget { --ftbfc-ai-muted-text: color-mix(in srgb, var(--ftbfc-ai-text), white 35%); } }
.ftbfc-ai-widget button, .ftbfc-ai-widget textarea { font-family: inherit; }
.ftbfc-ai-launcher { position: fixed; z-index: 99998; right: 22px; bottom: 22px; display: grid; place-items: center; width: 60px; height: 60px; padding: 0; border: 0; border-radius: 50%; color: #fff; background-color: var(--ftbfc-ai-blue); background-image: var(--ftbfc-ai-gradient); box-shadow: 0 7px 24px #14274235; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.ftbfc-ai-launcher:hover { transform: translateY(-2px); background-image: var(--ftbfc-ai-gradient); box-shadow: 0 10px 28px #14274245; }
.ftbfc-ai-launcher:active { transform: translateY(0) scale(.97); background-image: var(--ftbfc-ai-gradient); box-shadow: 0 4px 14px #14274230; }
.ftbfc-ai-widget button:focus { outline: none; }
.ftbfc-ai-widget button:focus-visible, .ftbfc-ai-composer textarea:focus-visible, .ftbfc-ai-conversation:focus-visible { outline: 2px solid #9bc8ff; outline-offset: 3px; }
.ftbfc-ai-launcher > svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ftbfc-ai-online-dot { display: inline-block; width: 9px; height: 9px; flex: 0 0 9px; border: 2px solid #fff; border-radius: 50%; background: #39c783; }
.ftbfc-ai-launcher .ftbfc-ai-online-dot { position: absolute; top: 2px; right: 2px; width: 15px; height: 15px; }
.ftbfc-ai-left .ftbfc-ai-launcher { right: auto; left: 22px; }
.ftbfc-ai-teaser { position: fixed; z-index: 99998; right: 94px; bottom: 31px; display: flex; align-items: center; gap: 9px; max-width: calc(100vw - 130px); padding: 11px 15px; border: 1px solid #e5eaf1; border-radius: 999px; color: #26364a; background: #fff; box-shadow: 0 5px 20px #14274216; font-size: 13px; font-weight: 600; opacity: 1; transform: translateX(0); transition: opacity .24s ease, transform .24s ease, visibility .24s ease; }
.ftbfc-ai-teaser svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: var(--ftbfc-ai-blue); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ftbfc-ai-teaser.ftbfc-ai-teaser-hidden { visibility: hidden; opacity: 0; transform: translateX(8px); pointer-events: none; }
.ftbfc-ai-left .ftbfc-ai-teaser { right: auto; left: 94px; }
.ftbfc-ai-left .ftbfc-ai-teaser-hidden { transform: translateX(-8px); }

@media (max-width: 520px) {
	.ftbfc-ai-launcher { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); width: 56px; height: 56px; }
	.ftbfc-ai-left .ftbfc-ai-launcher { right: auto; left: 14px; }
	.ftbfc-ai-teaser { right: 80px; bottom: max(21px, calc(env(safe-area-inset-bottom) + 7px)); max-width: calc(100vw - 105px); padding: 10px 12px; font-size: 12px; }
	.ftbfc-ai-left .ftbfc-ai-teaser { right: auto; left: 80px; }
}
.ftbfc-ai-widget[data-ftbfc-lazy] .ftbfc-ai-panel { display: none; }
.ftbfc-ai-loader-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { .ftbfc-ai-widget *, .ftbfc-ai-widget *::before, .ftbfc-ai-widget *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
