
.lcb-widget,
.lcb-widget-inline {
  --lcb-accent: #b41217;
  --lcb-accent-2: #e64f55;
  --lcb-accent-3: #ff8b90;
  --lcb-deep: #5d0a0f;
  --lcb-deep-2: #39060a;
  --lcb-ink: #15181f;
  --lcb-ink-soft: #596172;
  --lcb-surface: rgba(255,255,255,0.98);
  --lcb-surface-2: #fff7f7;
  --lcb-surface-3: #fff0f1;
  --lcb-border: rgba(180,18,23,0.16);
  --lcb-border-strong: rgba(180,18,23,0.28);
  --lcb-shadow: rgba(15,18,30,0.24);
  --lcb-shadow-strong: rgba(15,18,30,0.34);
  --lcb-text: #171c23;
  --lcb-text-soft: #596172;
  --lcb-user-text: #ffffff;
  --lcb-assistant-bg: rgba(255,255,255,0.98);
  --lcb-input-bg: #ffffff;
  --lcb-ring: rgba(180,18,23,0.16);
  --lcb-launcher-grad: linear-gradient(145deg, #3f060b 0%, #7d0f15 36%, #b41217 68%, #f05258 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,251,251,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #320408 0%, #5b0a10 24%, #8d1016 52%, #b41217 72%, #f05d63 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(212,35,43,0.10), transparent 24%), radial-gradient(circle at 5% 100%, rgba(71,7,11,0.06), transparent 24%), linear-gradient(180deg, #fff8f8 0%, #fff1f3 54%, #ffeff1 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,247,247,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #8f0f15 0%, #c3161c 55%, #f0565b 100%);
  --lcb-upload-grad: linear-gradient(145deg, #fff1f3 0%, #ffe2e6 100%);
  --lcb-upload-text: #8f0f15;
  --lcb-chip-grad: linear-gradient(180deg, #fff7f8 0%, #ffecef 100%);
  --lcb-chip-text: #6d1217;
  --lcb-source-link: #8f0f15;
  --lcb-tooltip-bg: rgba(24,27,36,0.94);
  --lcb-tooltip-text: #ffffff;
  font-family: Inter, "Segoe UI", Roboto, Arial, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
}

.lcb-widget[data-lcb-theme="dark"],
.lcb-widget-inline[data-lcb-theme="dark"] {
  --lcb-accent: #ef476f;
  --lcb-accent-2: #ff6f8f;
  --lcb-accent-3: #ffafc3;
  --lcb-deep: #111827;
  --lcb-deep-2: #0b1220;
  --lcb-surface: rgba(17,23,35,0.98);
  --lcb-surface-2: #161d2b;
  --lcb-surface-3: #111827;
  --lcb-border: rgba(255,255,255,0.09);
  --lcb-border-strong: rgba(255,255,255,0.16);
  --lcb-shadow: rgba(0,0,0,0.42);
  --lcb-shadow-strong: rgba(0,0,0,0.55);
  --lcb-text: #f3f6fb;
  --lcb-text-soft: #a8b3c7;
  --lcb-assistant-bg: rgba(24,31,45,0.96);
  --lcb-input-bg: #0f1622;
  --lcb-ring: rgba(239,71,111,0.24);
  --lcb-launcher-grad: linear-gradient(145deg, #090f19 0%, #151c2a 32%, #4a1220 68%, #c52a45 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(19,25,38,0.98) 0%, rgba(12,18,29,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #090f19 0%, #171f2d 28%, #402136 58%, #8f1831 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(227,59,82,0.12), transparent 24%), radial-gradient(circle at 5% 100%, rgba(44,104,255,0.10), transparent 24%), linear-gradient(180deg, #111827 0%, #0f1622 58%, #0b111d 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(18,24,36,0.98) 0%, rgba(14,19,30,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #97203b 0%, #ca2f4b 52%, #ff617c 100%);
  --lcb-upload-grad: linear-gradient(145deg, #1a2230 0%, #101826 100%);
  --lcb-upload-text: #f2f5fb;
  --lcb-chip-grad: linear-gradient(180deg, #182132 0%, #111827 100%);
  --lcb-chip-text: #f4f7fc;
  --lcb-source-link: #ff96a8;
}

.lcb-widget[data-lcb-theme="blue"],
.lcb-widget-inline[data-lcb-theme="blue"] {
  --lcb-accent: #2463eb;
  --lcb-accent-2: #4f8fff;
  --lcb-accent-3: #8ab6ff;
  --lcb-deep: #0a2a6a;
  --lcb-deep-2: #071d49;
  --lcb-border: rgba(36,99,235,0.16);
  --lcb-border-strong: rgba(36,99,235,0.30);
  --lcb-ring: rgba(36,99,235,0.18);
  --lcb-launcher-grad: linear-gradient(145deg, #071d49 0%, #0d3d94 36%, #2463eb 68%, #6aa7ff 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(245,249,255,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #071d49 0%, #0f347a 28%, #2463eb 70%, #69a8ff 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(36,99,235,0.12), transparent 24%), radial-gradient(circle at 5% 100%, rgba(7,29,73,0.07), transparent 24%), linear-gradient(180deg, #f8fbff 0%, #eff5ff 58%, #e9f1ff 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(241,247,255,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #0f347a 0%, #2463eb 55%, #66a3ff 100%);
  --lcb-upload-grad: linear-gradient(145deg, #eef4ff 0%, #ddeaff 100%);
  --lcb-upload-text: #0d3d94;
  --lcb-chip-grad: linear-gradient(180deg, #f4f8ff 0%, #e8f0ff 100%);
  --lcb-chip-text: #0b3b91;
  --lcb-source-link: #0f49be;
}

.lcb-widget[data-lcb-theme="yellow"],
.lcb-widget-inline[data-lcb-theme="yellow"] {
  --lcb-accent: #c88a00;
  --lcb-accent-2: #e8ad11;
  --lcb-accent-3: #ffd76b;
  --lcb-deep: #4c3700;
  --lcb-deep-2: #2f2200;
  --lcb-border: rgba(200,138,0,0.20);
  --lcb-border-strong: rgba(200,138,0,0.34);
  --lcb-text: #231a05;
  --lcb-text-soft: #6f5d2b;
  --lcb-user-text: #1f1703;
  --lcb-assistant-bg: rgba(255,252,242,0.98);
  --lcb-input-bg: #fffaf0;
  --lcb-ring: rgba(200,138,0,0.20);
  --lcb-launcher-grad: linear-gradient(145deg, #3b2b00 0%, #7c5800 36%, #c88a00 68%, #ffd15a 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(255,252,244,0.98) 0%, rgba(255,248,229,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #2f2200 0%, #5a4100 25%, #a16e00 58%, #d89c06 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(200,138,0,0.12), transparent 24%), radial-gradient(circle at 5% 100%, rgba(80,60,0,0.06), transparent 24%), linear-gradient(180deg, #fffdf5 0%, #fff8e4 58%, #fff2cf 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(255,251,240,0.98) 0%, rgba(255,246,224,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #8d6500 0%, #d69b00 55%, #ffd86a 100%);
  --lcb-upload-grad: linear-gradient(145deg, #fff8dd 0%, #ffefb4 100%);
  --lcb-upload-text: #5f4300;
  --lcb-chip-grad: linear-gradient(180deg, #fff8dd 0%, #ffefc0 100%);
  --lcb-chip-text: #5d4300;
  --lcb-source-link: #8d6500;
}

.lcb-widget[data-lcb-theme="green"],
.lcb-widget-inline[data-lcb-theme="green"] {
  --lcb-accent: #1f8f59;
  --lcb-accent-2: #34c47a;
  --lcb-accent-3: #87ebad;
  --lcb-deep: #0a4630;
  --lcb-deep-2: #053423;
  --lcb-border: rgba(31,143,89,0.18);
  --lcb-border-strong: rgba(31,143,89,0.30);
  --lcb-ring: rgba(31,143,89,0.18);
  --lcb-launcher-grad: linear-gradient(145deg, #073624 0%, #0b6644 36%, #1f8f59 68%, #56d692 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(247,255,251,0.98) 0%, rgba(238,250,244,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #063f2c 0%, #0b6747 28%, #1f8f59 70%, #5be29f 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(31,143,89,0.12), transparent 24%), radial-gradient(circle at 5% 100%, rgba(6,63,44,0.06), transparent 24%), linear-gradient(180deg, #f8fffb 0%, #eefaf4 58%, #e8f7ef 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(240,250,245,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #0b6948 0%, #1f8f59 55%, #57d793 100%);
  --lcb-upload-grad: linear-gradient(145deg, #eafaf2 0%, #d9f5e7 100%);
  --lcb-upload-text: #0b6948;
  --lcb-chip-grad: linear-gradient(180deg, #effcf5 0%, #def6e9 100%);
  --lcb-chip-text: #0d613f;
  --lcb-source-link: #0b6948;
}

.lcb-widget[data-lcb-theme="gray"],
.lcb-widget-inline[data-lcb-theme="gray"] {
  --lcb-accent: #596172;
  --lcb-accent-2: #7c8596;
  --lcb-accent-3: #b8c0cf;
  --lcb-deep: #252a33;
  --lcb-deep-2: #1b2028;
  --lcb-border: rgba(89,97,114,0.18);
  --lcb-border-strong: rgba(89,97,114,0.30);
  --lcb-ring: rgba(89,97,114,0.18);
  --lcb-launcher-grad: linear-gradient(145deg, #1f232b 0%, #39404d 36%, #596172 68%, #8d97aa 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(253,253,254,0.98) 0%, rgba(245,247,250,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #22262f 0%, #39404d 28%, #596172 70%, #a0abbc 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(89,97,114,0.12), transparent 24%), radial-gradient(circle at 5% 100%, rgba(27,32,40,0.06), transparent 24%), linear-gradient(180deg, #fbfcfd 0%, #f1f4f8 58%, #edf1f6 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(242,245,248,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #39404d 0%, #596172 55%, #9099aa 100%);
  --lcb-upload-grad: linear-gradient(145deg, #f3f5f8 0%, #e4e8ef 100%);
  --lcb-upload-text: #39404d;
  --lcb-chip-grad: linear-gradient(180deg, #f6f8fb 0%, #e9edf3 100%);
  --lcb-chip-text: #39404d;
  --lcb-source-link: #39404d;
}

.lcb-widget[data-lcb-theme="pink"],
.lcb-widget-inline[data-lcb-theme="pink"] {
  --lcb-accent: #d63384;
  --lcb-accent-2: #f062ad;
  --lcb-accent-3: #ffadd3;
  --lcb-deep: #6d1645;
  --lcb-deep-2: #4e0d30;
  --lcb-border: rgba(214,51,132,0.16);
  --lcb-border-strong: rgba(214,51,132,0.28);
  --lcb-ring: rgba(214,51,132,0.18);
  --lcb-launcher-grad: linear-gradient(145deg, #5d113b 0%, #8c1b59 36%, #d63384 68%, #ff7fbd 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(255,252,254,0.98) 0%, rgba(255,244,250,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #560f35 0%, #8c1b59 28%, #d63384 70%, #ff87c0 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(214,51,132,0.12), transparent 24%), radial-gradient(circle at 5% 100%, rgba(86,15,53,0.07), transparent 24%), linear-gradient(180deg, #fffafd 0%, #fff0f7 58%, #ffe9f4 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,244,250,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #8c1b59 0%, #d63384 55%, #ff89c1 100%);
  --lcb-upload-grad: linear-gradient(145deg, #fff0f8 0%, #ffe0f0 100%);
  --lcb-upload-text: #9e2366;
  --lcb-chip-grad: linear-gradient(180deg, #fff4fa 0%, #ffe7f3 100%);
  --lcb-chip-text: #92215f;
  --lcb-source-link: #9e2366;
}

.lcb-widget[data-lcb-theme="rainbow"],
.lcb-widget-inline[data-lcb-theme="rainbow"] {
  --lcb-accent: #6b5cff;
  --lcb-accent-2: #ff4e8c;
  --lcb-accent-3: #ffd36a;
  --lcb-deep: #281450;
  --lcb-deep-2: #1d0f38;
  --lcb-border: rgba(107,92,255,0.16);
  --lcb-border-strong: rgba(255,78,140,0.24);
  --lcb-ring: rgba(107,92,255,0.20);
  --lcb-launcher-grad: linear-gradient(145deg, #4b2fd4 0%, #7d46f3 22%, #ff4e8c 48%, #ff8f4d 72%, #ffd36a 100%);
  --lcb-panel-grad: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,246,255,0.98) 100%);
  --lcb-header-grad: linear-gradient(135deg, #4024cc 0%, #6a45ee 22%, #ff4e8c 52%, #ff8f4d 76%, #ffd36a 100%);
  --lcb-messages-grad: radial-gradient(circle at 95% 8%, rgba(107,92,255,0.10), transparent 24%), radial-gradient(circle at 5% 100%, rgba(255,78,140,0.10), transparent 24%), linear-gradient(180deg, #fcfbff 0%, #f7f3ff 58%, #fff5fb 100%);
  --lcb-form-grad: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,245,255,0.98) 100%);
  --lcb-send-grad: linear-gradient(145deg, #5f4fe5 0%, #ff4e8c 55%, #ffb64d 100%);
  --lcb-upload-grad: linear-gradient(145deg, #f7f3ff 0%, #fff0f7 100%);
  --lcb-upload-text: #6b43e6;
  --lcb-chip-grad: linear-gradient(180deg, #fbf8ff 0%, #fff0f7 100%);
  --lcb-chip-text: #6241d5;
  --lcb-source-link: #5a3cce;
}

.lcb-widget { position: fixed; inset: 0; pointer-events: none; z-index: 2147483000; -webkit-tap-highlight-color: transparent; }
.lcb-widget-inline { position: relative; inset: auto; pointer-events: auto; max-width: 100%; }

.lcb-floating-launcher {
  z-index: 1;
  pointer-events: auto;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
  position: fixed;
  right: 28px;
  bottom: 28px;
  width: 74px;
  height: 74px;
  border-radius: 999px;
  background: radial-gradient(circle at 28% 24%, rgba(255,255,255,0.48), transparent 24%), var(--lcb-launcher-grad);
  color: #fff;
  box-shadow: 0 18px 38px rgba(15,18,30,0.28), 0 10px 24px color-mix(in srgb, var(--lcb-accent) 32%, transparent), inset 0 1px 0 rgba(255,255,255,0.20), inset 0 -8px 18px rgba(0,0,0,0.12);
  overflow: hidden;
}

.lcb-floating-launcher:hover { transform: translateY(-2px) scale(1.03); filter: saturate(1.04); }
.lcb-floating-launcher.is-active { box-shadow: 0 22px 42px rgba(15,18,30,0.30), 0 10px 22px color-mix(in srgb, var(--lcb-accent) 30%, transparent), inset 0 1px 0 rgba(255,255,255,0.22); }
.lcb-floating-launcher__content { position: absolute; inset: 0; display: inline-flex; align-items: center; justify-content: center; transition: opacity 0.22s ease, transform 0.22s ease; }
.lcb-floating-launcher__content--icon { opacity: 0; transform: scale(0.74) rotate(-10deg); color: #ffffff; }
.lcb-floating-launcher__content--logo { opacity: 1; transform: scale(1); }
@media (hover: hover) and (pointer: fine) {
  .lcb-floating-launcher:hover .lcb-floating-launcher__content--logo,
  .lcb-floating-launcher:focus-visible .lcb-floating-launcher__content--logo { opacity: 0; transform: scale(0.72); }
  .lcb-floating-launcher:hover .lcb-floating-launcher__content--icon,
  .lcb-floating-launcher:focus-visible .lcb-floating-launcher__content--icon { opacity: 1; transform: scale(1) rotate(0deg); }
}
.lcb-floating-launcher__glow { position: absolute; inset: 5px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.24); }
.lcb-brandmark { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; }
.lcb-brandmark-launcher { width: 46px; height: 46px; border-radius: 999px; background: rgba(255,255,255,0.98); box-shadow: 0 6px 18px rgba(0,0,0,0.10), inset 0 0 0 1px rgba(180,18,23,0.08); }
.lcb-brandmark-avatar { width: 48px; height: 48px; border-radius: 15px; background: rgba(255,255,255,0.98); box-shadow: 0 8px 18px rgba(0,0,0,0.12); }
.lcb-site-logo { display: block; width: 80%; height: 80%; object-fit: contain; }
.lcb-hover-icon { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; filter: drop-shadow(0 2px 8px rgba(0,0,0,0.18)); }
.lcb-hover-icon svg { width: 32px; height: 32px; display: block; }

.lcb-panel[hidden] { display: none !important; }
.lcb-panel {
  position: fixed;
  z-index: 6;
  left: 50%;
  top: 50%;
  width: 60vw;
  min-width: 320px;
  max-width: calc(100vw - 20px);
  height: 70vh;
  min-height: 420px;
  max-height: calc(100vh - 20px);
  display: flex;
  flex-direction: column;
  background: var(--lcb-panel-grad);
  border: 1px solid var(--lcb-border);
  border-radius: 26px;
  box-shadow: 0 28px 88px rgba(8,10,20,0.34), 0 12px 32px color-mix(in srgb, var(--lcb-accent) 22%, transparent), 0 0 0 1px rgba(255,255,255,0.40) inset;
  overflow: hidden;
  pointer-events: auto;
  backdrop-filter: blur(18px);
}

.lcb-widget-inline .lcb-panel {
  position: relative;
  z-index: auto;
  right: auto;
  bottom: auto;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100%;
  height: 60vh;
  min-height: 420px;
  margin: 0;
}

.lcb-header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  grid-template-areas: "main controls actions";
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
  background: radial-gradient(circle at 12% 22%, rgba(255,255,255,0.22), transparent 22%), var(--lcb-header-grad);
  color: #fff;
  cursor: grab;
  user-select: none;
  touch-action: none;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.lcb-header:active { cursor: grabbing; }
.lcb-header-main { grid-area: main; }
.lcb-header-controls { grid-area: controls; }
.lcb-header-actions { grid-area: actions; }
.lcb-header-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.lcb-heading-wrap { min-width: 0; overflow: hidden; }
.lcb-title,
.lcb-subtitle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lcb-avatar { width: 50px; height: 50px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--lcb-surface) 18%, transparent); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14); }
.lcb-title { font-weight: 800; font-size: 15px; letter-spacing: 0.01em; }
.lcb-subtitle { font-size: 12px; opacity: 0.92; margin-top: 2px; color: rgba(255,255,255,0.86); }

.lcb-header-controls {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.lcb-header-select-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.lcb-header-select-label {
  position: relative;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.84);
  padding-left: 6px;
  line-height: 1;
}

.lcb-header-select {
  position: relative;
  appearance: none;
  min-width: 104px;
  max-width: 146px;
  height: 32px;
  padding: 0 30px 0 11px;
  border-radius: 11px;
  border: 1px solid color-mix(in srgb, var(--lcb-accent-3) 26%, rgba(255,255,255,0.24));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--lcb-surface) 20%, transparent) 0%, color-mix(in srgb, var(--lcb-deep) 16%, transparent) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M4.2 5.8L8 9.6l3.8-3.8 1.2 1.2L8 11.9 3 7z'/%3E%3C/svg%3E") no-repeat right 9px center / 13px 13px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 10px 20px rgba(0,0,0,0.08);
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.lcb-header-select:hover {
  border-color: color-mix(in srgb, var(--lcb-accent-3) 40%, rgba(255,255,255,0.34));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--lcb-surface) 26%, transparent) 0%, color-mix(in srgb, var(--lcb-deep) 12%, transparent) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M4.2 5.8L8 9.6l3.8-3.8 1.2 1.2L8 11.9 3 7z'/%3E%3C/svg%3E") no-repeat right 9px center / 13px 13px;
}

.lcb-header-select option { color: #111827; }
.lcb-header-select:focus { border-color: rgba(255,255,255,0.48); box-shadow: 0 0 0 3px rgba(255,255,255,0.13), 0 10px 20px rgba(0,0,0,0.10); }
.lcb-header-select.lcb-select-warning { border-color: #ffd36a; box-shadow: 0 0 0 3px rgba(255,211,106,0.18), 0 10px 20px rgba(0,0,0,0.10); }

.lcb-header-actions { display: flex; align-items: flex-end; gap: 8px; margin-left: 30px; }
.lcb-window-btn {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: linear-gradient(180deg, color-mix(in srgb, var(--lcb-surface) 18%, transparent) 0%, color-mix(in srgb, var(--lcb-deep) 10%, transparent) 100%);
  color: #fff;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
  transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lcb-window-btn:hover { background: linear-gradient(180deg, color-mix(in srgb, var(--lcb-surface) 24%, transparent) 0%, color-mix(in srgb, var(--lcb-deep) 8%, transparent) 100%); border-color: rgba(255,255,255,0.26); transform: scale(1.05); }
.lcb-maximize__box { width: 14px; height: 14px; border: 2px solid currentColor; border-radius: 3px; box-sizing: border-box; display: block; }
.lcb-maximize.is-maximized .lcb-maximize__box { width: 15px; height: 15px; border-radius: 2px; position: relative; }
.lcb-maximize.is-maximized .lcb-maximize__box::before { content: ""; position: absolute; width: 11px; height: 11px; right: -5px; top: -5px; border: 2px solid currentColor; border-radius: 2px; box-sizing: border-box; background: transparent; }
.lcb-close {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: linear-gradient(180deg, color-mix(in srgb, var(--lcb-surface) 18%, transparent) 0%, color-mix(in srgb, var(--lcb-deep) 10%, transparent) 100%);
  color: #fff;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
  transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}
.lcb-close:hover { background: linear-gradient(180deg, color-mix(in srgb, var(--lcb-surface) 24%, transparent) 0%, color-mix(in srgb, var(--lcb-deep) 8%, transparent) 100%); border-color: rgba(255,255,255,0.26); transform: scale(1.05); }

.lcb-messages { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 20px 18px 18px; background: var(--lcb-messages-grad); }
.lcb-message { margin-bottom: 14px; }
.lcb-bubble { padding: 12px 14px; border-radius: 20px; white-space: pre-wrap; line-height: 1.55; font-size: 14px; box-shadow: 0 12px 24px rgba(15,18,30,0.05); word-break: break-word; }
.lcb-user .lcb-bubble { background: linear-gradient(145deg, var(--lcb-accent) 0%, color-mix(in srgb, var(--lcb-accent) 84%, #ffffff) 55%, color-mix(in srgb, var(--lcb-accent-2) 86%, #ffffff) 100%); color: var(--lcb-user-text); margin-left: 34px; border-top-right-radius: 8px; }
.lcb-assistant .lcb-bubble { background: var(--lcb-assistant-bg); color: var(--lcb-text); border: 1px solid color-mix(in srgb, var(--lcb-accent) 14%, transparent); margin-right: 34px; border-top-left-radius: 8px; }
.lcb-sources { margin-top: 8px; margin-right: 34px; padding: 10px 12px; background: color-mix(in srgb, var(--lcb-surface) 92%, transparent); border: 1px solid color-mix(in srgb, var(--lcb-accent) 14%, transparent); border-radius: 16px; }
.lcb-sources-label { font-size: 12px; font-weight: 700; color: var(--lcb-text-soft); margin-bottom: 6px; }
.lcb-source-link { display: block; color: var(--lcb-source-link); text-decoration: none; font-size: 13px; line-height: 1.5; margin: 3px 0; }
.lcb-source-link:hover { text-decoration: underline; }

.lcb-form { display: flex; flex-direction: column; gap: 10px; padding: 14px 14px 16px; border-top: 1px solid var(--lcb-border); background: var(--lcb-form-grad); }
.lcb-form-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: stretch; }
.lcb-action-stack { display: flex; flex-direction: column; gap: 10px; align-items: stretch; justify-content: flex-end; }
.lcb-input { width: 100%; min-height: 92px; max-height: 180px; padding: 13px 14px; border-radius: 18px; border: 1px solid var(--lcb-border); outline: none; resize: vertical; box-sizing: border-box; font: inherit; font-size: 14px; color: var(--lcb-text); background: var(--lcb-input-bg); box-shadow: inset 0 1px 0 rgba(255,255,255,0.45); touch-action: manipulation; }
.lcb-input:focus { border-color: var(--lcb-border-strong); box-shadow: 0 0 0 4px var(--lcb-ring); }
.lcb-input::placeholder { color: var(--lcb-text-soft); }

.lcb-send,
.lcb-upload-btn {
  border: 0;
  border-radius: 18px;
  min-width: 82px;
  height: 52px;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.lcb-send {
  padding: 12px 18px;
  background: var(--lcb-send-grad);
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--lcb-accent) 28%, transparent);
}

.lcb-send:hover { transform: translateY(-1px); filter: saturate(1.04); box-shadow: 0 14px 26px color-mix(in srgb, var(--lcb-accent) 34%, transparent); }

.lcb-upload-btn {
  position: relative;
  width: 82px;
  background: var(--lcb-upload-grad);
  color: var(--lcb-upload-text);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  box-shadow: inset 0 0 0 1px var(--lcb-border), 0 8px 18px color-mix(in srgb, var(--lcb-accent) 12%, transparent);
}
.lcb-upload-btn:hover { transform: translateY(-1px); filter: saturate(1.04); box-shadow: inset 0 0 0 1px var(--lcb-border-strong), 0 12px 22px color-mix(in srgb, var(--lcb-accent) 18%, transparent); }
.lcb-upload-btn.is-uploading { opacity: 0.7; cursor: wait; }
.lcb-upload-btn__icon { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; transform: translateY(-1px); }
.lcb-upload-btn::after {
  content: attr(data-lcb-tooltip);
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: min(320px, 70vw);
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--lcb-tooltip-bg);
  color: var(--lcb-tooltip-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
  text-align: left;
  box-shadow: 0 14px 34px rgba(0,0,0,0.24);
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 12;
}
.lcb-upload-btn::before {
  content: '';
  position: absolute;
  right: 18px;
  bottom: calc(100% + 6px);
  width: 12px;
  height: 12px;
  background: var(--lcb-tooltip-bg);
  transform: rotate(45deg);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 11;
}
.lcb-upload-btn:hover::after,
.lcb-upload-btn:hover::before,
.lcb-upload-btn:focus-visible::after,
.lcb-upload-btn:focus-visible::before { opacity: 1; transform: translateY(0); }

.lcb-attachments { display: flex; flex-wrap: wrap; gap: 8px; }
.lcb-attachment-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 8px 10px; border-radius: 999px; background: var(--lcb-chip-grad); border: 1px solid color-mix(in srgb, var(--lcb-accent) 14%, transparent); color: var(--lcb-chip-text); box-shadow: 0 6px 16px color-mix(in srgb, var(--lcb-accent) 8%, transparent); }
.lcb-attachment-chip__label { font-size: 12px; font-weight: 700; max-width: min(32vw, 360px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lcb-attachment-chip__remove { width: 22px; height: 22px; border-radius: 999px; border: 0; background: color-mix(in srgb, var(--lcb-accent) 16%, transparent); color: var(--lcb-upload-text); font-size: 15px; line-height: 1; cursor: pointer; }
.lcb-input-help { font-size: 12px; color: var(--lcb-text-soft); padding: 0 4px; }
.lcb-input-help[hidden] { display: none !important; }

.lcb-resizer { position: absolute; right: 8px; bottom: 8px; width: 18px; height: 18px; border: 0; background: transparent; cursor: nwse-resize; }
.lcb-resizer::before { content: ''; position: absolute; right: 2px; bottom: 2px; width: 12px; height: 12px; background: linear-gradient(135deg, transparent 0 44%, color-mix(in srgb, var(--lcb-accent) 30%, transparent) 44% 57%, transparent 57% 68%, color-mix(in srgb, var(--lcb-accent) 74%, transparent) 68% 82%, transparent 82%); }

@media (max-width: 1120px) {
  .lcb-panel {
    width: min(880px, calc(100vw - 18px)) !important;
    height: min(76vh, calc(100vh - 18px)) !important;
  }
  .lcb-header {
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas:
      "main actions"
      "controls controls";
    gap: 12px;
  }
  .lcb-header-controls {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .lcb-header-actions {
    justify-self: end;
    margin-left: 0;
  }
}

@media (max-width: 820px) {
  .lcb-floating-launcher {
    right: 16px;
    bottom: 16px;
    width: 66px;
    height: 66px;
  }
  .lcb-brandmark-launcher {
    width: 42px;
    height: 42px;
  }
  .lcb-panel {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    height: min(84dvh, calc(100dvh - 16px)) !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 440px;
    left: 8px !important;
    top: 8px !important;
    border-radius: 24px;
  }
  .lcb-widget-inline .lcb-panel {
    width: 100% !important;
    height: min(78dvh, 760px) !important;
    min-height: 440px;
  }
  .lcb-header {
    padding: 14px 14px 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "main actions"
      "controls controls";
    align-items: start;
    gap: 10px;
  }
  .lcb-header-main {
    gap: 10px;
    min-width: 0;
  }
  .lcb-avatar {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }
  .lcb-brandmark-avatar {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }
  .lcb-title {
    font-size: 14px;
  }
  .lcb-subtitle {
    font-size: 11px;
  }
  .lcb-header-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    align-self: start;
  }
  .lcb-header-select-wrap {
    min-width: 0;
  }
  .lcb-header-select {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  .lcb-header-actions {
    gap: 8px;
    align-self: start;
    justify-self: end;
  }
  .lcb-messages {
    padding: 16px 14px 14px;
  }
  .lcb-form {
    padding: 12px 12px 14px;
  }
  .lcb-form-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .lcb-action-stack {
    flex-direction: row;
    gap: 10px;
  }
  .lcb-upload-btn,
  .lcb-send {
    width: calc(50% - 5px);
    min-width: 0;
    height: 50px;
  }
  .lcb-attachment-chip__label {
    max-width: min(60vw, 420px);
  }
  .lcb-resizer {
    display: none;
  }
}

@media (max-width: 560px) {
  .lcb-floating-launcher {
    right: 12px;
    bottom: 12px;
    width: 60px;
    height: 60px;
  }
  .lcb-brandmark-launcher {
    width: 38px;
    height: 38px;
  }
  .lcb-hover-icon,
  .lcb-hover-icon svg {
    width: 28px;
    height: 28px;
  }
  .lcb-panel {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh;
    left: 0 !important;
    top: 0 !important;
    border-radius: 0 !important;
  }
  .lcb-widget-inline .lcb-panel {
    height: min(82dvh, 680px) !important;
    min-height: 380px;
  }
  .lcb-header {
    padding: max(12px, env(safe-area-inset-top)) 12px 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "main actions"
      "controls controls";
    align-items: start;
    gap: 8px;
  }
  .lcb-header-main {
    align-items: center;
  }
  .lcb-heading-wrap {
    min-width: 0;
  }
  .lcb-title {
    font-size: 13px;
    line-height: 1.25;
  }
  .lcb-subtitle {
    display: none;
  }
  .lcb-header-controls {
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .lcb-header-select-label {
    font-size: 8px;
    padding-left: 4px;
  }
  .lcb-header-select {
    height: 34px;
    font-size: 12px;
  }
  .lcb-header-actions {
    gap: 6px;
    justify-self: end;
    align-self: start;
  }
  .lcb-window-btn,
  .lcb-close {
    width: 34px;
    height: 34px;
  }
  .lcb-bubble {
    font-size: 13px;
    padding: 11px 12px;
  }
  .lcb-user .lcb-bubble {
    margin-left: 12px;
  }
  .lcb-assistant .lcb-bubble,
  .lcb-sources {
    margin-right: 12px;
  }
  .lcb-input {
    min-height: 84px;
    max-height: 150px;
    font-size: 14px;
    padding: 12px;
  }
  .lcb-upload-btn,
  .lcb-send {
    height: 46px;
    border-radius: 15px;
  }
  .lcb-upload-btn {
    font-size: 28px;
  }
  .lcb-upload-btn::after {
    width: min(270px, 78vw);
    right: -2px;
  }
  .lcb-attachments {
    gap: 6px;
  }
  .lcb-attachment-chip {
    max-width: 100%;
  }
  .lcb-attachment-chip__label {
    max-width: min(64vw, 250px);
  }
}

@media (max-width: 400px) {
  .lcb-panel {
    min-height: 340px;
    border-radius: 18px;
  }
  .lcb-header {
    padding: max(10px, env(safe-area-inset-top)) 10px 9px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "main actions"
      "controls controls";
  }
  .lcb-avatar,
  .lcb-brandmark-avatar {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .lcb-title {
    font-size: 12.5px;
  }
  .lcb-messages {
    padding: 14px 10px 12px;
  }
  .lcb-form {
    padding: 10px 10px calc(12px + env(safe-area-inset-bottom));
  }
  .lcb-action-stack {
    gap: 8px;
  }
  .lcb-upload-btn,
  .lcb-send {
    width: calc(50% - 4px);
  }
  .lcb-header-controls {
    grid-template-columns: 1fr;
  }
  .lcb-header-actions {
    justify-self: end;
    align-self: start;
  }
}


.lcb-panel.is-maximized {
  left: 0 !important;
  top: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}
.lcb-panel.is-maximized .lcb-header { border-radius: 0; }
.lcb-panel.is-maximized .lcb-resizer { display: none; }
.lcb-widget.is-open .lcb-panel { z-index: 6; }
.lcb-widget.is-open .lcb-floating-launcher { z-index: 1; }
