.icce-chat-floating {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 45;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border: 1px solid #18181b;
  border-radius: 999px;
  background: #09090b;
  color: #fff;
  padding: .7rem 1rem;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.icce-chat-floating:hover {
  background: #EEFF41;
  border-color: #EEFF41;
  color: #09090b;
  transform: translateY(-1px);
}

.icce-chat-is-open .icce-chat-floating {
  display: none;
}

.icce-chat-panel {
  margin-left: auto;
  display: flex;
  height: 100%;
  width: 100%;
  max-width: 28rem;
  flex-direction: column;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
}

.icce-chat-header {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #e4e4e7;
  background: #09090b;
  color: #fff;
  padding: .9rem 1rem;
}

.icce-chat-header-title {
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: -.01em;
}

.icce-chat-header-subtitle {
  margin-top: .15rem;
  color: rgba(255,255,255,.62);
  font-size: .68rem;
  line-height: 1.35;
}

.icce-chat-close {
  border-radius: .45rem;
  padding: .35rem .55rem;
  color: rgba(255,255,255,.72);
  font-size: .75rem;
  transition: background-color .18s ease, color .18s ease;
}

.icce-chat-close:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
}

.icce-chat-body {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  background: linear-gradient(180deg, #fafafa 0%, #fff 18%, #fff 100%);
}

.icce-chat-messages {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}

.icce-chat-welcome {
  margin-bottom: .85rem;
  border: 1px solid #e4e4e7;
  border-radius: .9rem;
  background: #fff;
  padding: .9rem;
}

.icce-chat-welcome p {
  color: #52525b;
  font-size: .82rem;
  line-height: 1.55;
}

.icce-chat-starters {
  margin-top: .8rem;
  display: grid;
  gap: .45rem;
}

.icce-chat-starter {
  display: block;
  width: 100%;
  border: 1px solid #e4e4e7;
  border-radius: .65rem;
  background: #fff;
  padding: .62rem .7rem;
  text-align: left;
  color: #27272a;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.35;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.icce-chat-starter:hover {
  border-color: #EEFF41;
  background: #EEFF41;
  color: #09090b;
}

.icce-chat-message {
  display: flex;
  margin-top: .65rem;
}

.icce-chat-message-user {
  justify-content: flex-end;
}

.icce-chat-message-assistant {
  justify-content: flex-start;
}

.icce-chat-bubble {
  max-width: 88%;
  border-radius: .95rem;
  padding: .72rem .82rem;
  font-size: .82rem;
  line-height: 1.55;
}

.icce-chat-bubble p + p {
  margin-top: .7rem;
}

.icce-chat-message-user .icce-chat-bubble {
  background: #09090b;
  color: #fff;
  border-bottom-right-radius: .35rem;
}

.icce-chat-message-assistant .icce-chat-bubble {
  border: 1px solid #e4e4e7;
  background: #fff;
  color: #27272a;
  border-bottom-left-radius: .35rem;
}

.icce-chat-typing {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem 1rem 0;
  color: #71717a;
  font-size: .75rem;
}

.icce-chat-typing[hidden] {
  display: none;
}

.icce-chat-spinner {
  height: .85rem;
  width: .85rem;
  margin-left: 20px;
  border: 2px solid #d4d4d8;
  border-top-color: #09090b;
  border-radius: 999px;
  animation: icce-chat-spin .75s linear infinite;
}

@keyframes icce-chat-spin {
  to { transform: rotate(360deg); }
}

.icce-chat-footer {
  border-top: 1px solid #e4e4e7;
  background: #fff;
  padding: .85rem;
}

.icce-chat-disclaimer {
  margin-bottom: .65rem;
  color: #71717a;
  font-size: .67rem;
  line-height: 1.45;
}

.icce-chat-error {
  margin-bottom: .55rem;
  border-radius: .5rem;
  background: #fef2f2;
  color: #991b1b;
  padding: .5rem .6rem;
  font-size: .72rem;
  line-height: 1.35;
}

.icce-chat-error[hidden] {
  display: none;
}

.icce-chat-form {
  display: flex;
  align-items: flex-end;
  gap: .5rem;
}

.icce-chat-input {
  min-height: 2.0rem;
  max-height: 5rem;
  flex: 1;
  resize: vertical;
  border: 1px solid #d4d4d8;
  border-radius: .75rem;
  padding: .65rem .72rem;
  color: #18181b;
  font-size: .62rem;
  line-height: 1.35;
  outline: none;
}

.icce-chat-input:focus {
  border-color: #18181b;
  box-shadow: 0 0 0 3px rgba(9,9,11,.06);
}

.icce-chat-send {
  min-height: 2.5rem;
  border-radius: .75rem;
  background: #09090b;
  color: #fff;
  padding: 0 .9rem;
  font-size: .78rem;
  font-weight: 700;
  transition: background-color .18s ease, color .18s ease, opacity .18s ease;
}

.icce-chat-send:hover:not(:disabled) {
  background: #EEFF41;
  color: #09090b;
}

.icce-chat-send:disabled,
.icce-chat-input:disabled {
  cursor: not-allowed;
  opacity: .62;
}

@media (max-width: 640px) {
  .icce-chat-floating {
    right: 1rem;
    bottom: 1rem;
  }

  .icce-chat-panel {
    max-width: none;
    border-left: 0;
  }

  .icce-chat-bubble {
    max-width: 92%;
  }
}

/* v0.1.52 Ask ICCE response formatting */
.icce-chat-bubble h3 {
  margin: 0 0 .42rem;
  color: inherit;
  font-size: .84rem;
  font-weight: 750;
  letter-spacing: -.01em;
  line-height: 1.35;
}

.icce-chat-bubble h3 + p,
.icce-chat-bubble h3 + ul {
  margin-top: .35rem;
}

.icce-chat-bubble ul {
  margin: .55rem 0 0;
  padding-left: 1rem;
  list-style: disc;
}

.icce-chat-bubble li {
  margin-top: .32rem;
  padding-left: .1rem;
}

.icce-chat-bubble strong {
  font-weight: 750;
  color: inherit;
}

.icce-chat-bubble code {
  border: 1px solid #e4e4e7;
  border-radius: .3rem;
  background: #fafafa;
  padding: .06rem .22rem;
  color: #18181b;
  font-size: .76em;
}

.icce-chat-message-user .icce-chat-bubble code {
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.1);
  color: #fff;
}

/* v0.1.53 Ask ICCE response readability
   Give assistant answers more breathing room inside the bubble and between
   generated markdown elements. */
.icce-chat-message-assistant .icce-chat-bubble {
  padding: .92rem 1.02rem;
  line-height: 1.68;
}

.icce-chat-message-assistant .icce-chat-bubble p + p {
  margin-top: .9rem;
}

.icce-chat-message-assistant .icce-chat-bubble p br {
  display: block;
  content: "";
  margin-top: .42rem;
}

.icce-chat-message-assistant .icce-chat-bubble h3 {
  margin-bottom: .52rem;
  line-height: 1.42;
}

.icce-chat-message-assistant .icce-chat-bubble h3 + p,
.icce-chat-message-assistant .icce-chat-bubble h3 + ul {
  margin-top: .46rem;
}

.icce-chat-message-assistant .icce-chat-bubble ul {
  margin-top: .72rem;
}

.icce-chat-message-assistant .icce-chat-bubble li {
  margin-top: .42rem;
}

/* v0.1.54 Ask ICCE wider panel
   Move away from the narrow drawer pattern and give the assistant a wider,
   more comfortable workspace on desktop while preserving a full-width mobile
   layout. */
.icce-chat-panel {
  max-width: min(56rem, calc(100vw - 2rem));
}

.icce-chat-messages {
  padding: 1.25rem;
}

.icce-chat-footer {
  padding: 1rem 1.25rem 1.1rem;
}

.icce-chat-welcome {
  padding: 1.05rem 1.1rem;
}

@media (min-width: 760px) {
  .icce-chat-starters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }

  .icce-chat-bubble {
    max-width: 78%;
  }

  .icce-chat-message-assistant .icce-chat-bubble {
    max-width: 82%;
  }

  .icce-chat-message-user .icce-chat-bubble {
    max-width: 68%;
  }
}

@media (max-width: 640px) {
  .icce-chat-panel {
    max-width: none;
  }
}

/* v0.1.55 Ask ICCE drawer visual refinement
   Make the wider chat surface feel less like a thin white drawer and give
   response content more room and a distinct reading typeface. */
.icce-chat-panel {
  background: #f4f4f5;
}

.icce-chat-body {
  background: #f4f4f5;
}

.icce-chat-messages {
  background: #f4f4f5;
}

.icce-chat-footer {
  background: #f4f4f5;
}

.icce-chat-welcome,
.icce-chat-message-assistant .icce-chat-bubble {
  background: #fff;
}

.icce-chat-message-assistant .icce-chat-bubble {
  padding: 1.84rem 2.04rem;
  font-family: 'Plus Jakarta Sans', Inter, ui-sans-serif, system-ui, sans-serif;
}

.icce-chat-input {
  min-height: 4.25rem;
  border: 0;
  border-radius: 999px;
  background: #fff;
  padding: 1rem 1.25rem;
  box-shadow: none;
}

.icce-chat-input:focus {
  border-color: transparent;
  box-shadow: 0 0 0 3px rgba(9,9,11,.07);
}

.icce-chat-send {
  min-height: 4.25rem;
  border-radius: 999px;
  padding: 0 1.25rem;
}

@media (max-width: 640px) {
  .icce-chat-message-assistant .icce-chat-bubble {
    padding: 1.35rem 1.4rem;
  }

  .icce-chat-input,
  .icce-chat-send {
    min-height: 3.5rem;
  }
}



/* v0.1.56 Ask ICCE drawer UI reset
   Return to a clean white drawer, remove assistant-bubble borders and set
   the full chat surface in Segoe UI. */
.icce-chat-panel,
.icce-chat-panel * {
  font-family: "Segoe UI", SegoeUI, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

.icce-chat-panel,
.icce-chat-body,
.icce-chat-messages,
.icce-chat-footer {
  background: #fff;
}

.icce-chat-header {
  background: #fff;
  color: #09090b;
  border-bottom: 1px solid #e4e4e7;
}

.icce-chat-header-title {
  color: #09090b;
}

.icce-chat-header-subtitle {
  color: #71717a;
}

.icce-chat-close {
  color: #52525b;
}

.icce-chat-close:hover {
  background: #f4f4f5;
  color: #09090b;
}

.icce-chat-welcome {
  border: 0;
  background: transparent;
  padding: 0;
}

.icce-chat-message {
  margin-top: 1.15rem;
}

.icce-chat-message-user .icce-chat-bubble {
  background: #DEF3E5;
  color: #0f172a;
}

.icce-chat-message-assistant .icce-chat-bubble {
  border: 0;
  background: #fff;
  color: #27272a;
  padding: 1.84rem 2.04rem;
  font-family: "Segoe UI", SegoeUI, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  box-shadow: none;
}

.icce-chat-input {
  background: #fff;
}

@media (max-width: 640px) {
  .icce-chat-message {
    margin-top: .95rem;
  }
}

/* v0.1.57 Ask ICCE drawer typography and input refinement
   Increase the drawer reading scale, soften the input field and move the
   advisory copy below the composer. */
.icce-chat-panel,
.icce-chat-panel * {
  font-family: 'Plus Jakarta Sans', Inter, ui-sans-serif, system-ui, sans-serif;
}

.icce-chat-panel {
  font-size: 1rem;
}

.icce-chat-header {
  padding: 1.1rem 1.35rem;
}

.icce-chat-header-title {
  font-size: 1.5rem;
  line-height: 1.12;
}

.icce-chat-header-subtitle {
  font-size: 1rem;
  line-height: 1.35;
}

.icce-chat-close {
  font-size: .95rem;
}

.icce-chat-starter {
  font-size: .95rem;
  line-height: 1.42;
  padding: .78rem .86rem;
}

.icce-chat-message {
  margin-top: 1.35rem;
}

.icce-chat-bubble {
  font-size: 1rem;
}

.icce-chat-message-assistant .icce-chat-bubble {
  padding: 1.84rem 2.04rem 1.84rem 1.35rem;
}

.icce-chat-bubble h3 {
  font-size: 1.04rem;
}

.icce-chat-typing {
  font-size: .92rem;
}

.icce-chat-input {
  font-size: 1rem;
  box-shadow: 0 10px 28px rgba(9, 9, 11, .08);
}

.icce-chat-input:focus {
  box-shadow: 0 12px 34px rgba(9, 9, 11, .11), 0 0 0 3px rgba(9, 9, 11, .055);
}

.icce-chat-send {
  font-size: .98rem;
}

.icce-chat-disclaimer {
  margin: .72rem .15rem 0;
  font-size: .82rem;
  line-height: 1.5;
}

.icce-chat-error {
  font-size: .9rem;
}

@media (max-width: 640px) {
  .icce-chat-header-title {
    font-size: 1.28rem;
  }

  .icce-chat-header-subtitle {
    font-size: .92rem;
  }

  .icce-chat-message-assistant .icce-chat-bubble {
    padding: 1.35rem 1.35rem 1.35rem 1.05rem;
  }
}


/* v0.1.58 Ask ICCE final drawer composer and typing refinements
   Remove the footer divider, place a green send arrow inside the input,
   and support the progressive response animation added in JS. */
.icce-chat-footer {
  border-top: 0 !important;
}

.icce-chat-form {
  position: relative;
  display: block;
}

.icce-chat-input {
  width: 100%;
  border: 1px solid #d9dee3 !important;
  border-radius: 999px;
  padding-right: 4.35rem !important;
  box-shadow: 0 10px 28px rgba(9, 9, 11, .08);
}

.icce-chat-input:focus {
  border-color: #b9c2bd !important;
  box-shadow: 0 12px 34px rgba(9, 9, 11, .11), 0 0 0 3px rgba(31, 122, 78, .08);
}

.icce-chat-send {
  position: absolute;
  right: .55rem;
  bottom: .55rem;
  display: inline-flex;
  min-height: 0 !important;
  height: 2.55rem !important;
  width: 2.55rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #1f7a4e;
  color: #fff;
  padding: 0 !important;
  font-size: 1.35rem;
  font-weight: 750;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(31, 122, 78, .18);
}

.icce-chat-send:hover:not(:disabled) {
  background: #16613d;
  color: #fff;
  transform: translateY(-1px);
}

.icce-chat-send:disabled {
  background: #cbd5d0;
  color: #fff;
  box-shadow: none;
  transform: none;
}

.icce-chat-welcome.is-hidden {
  display: none;
}

.icce-chat-message-assistant.is-typing .icce-chat-bubble::after {
  content: '';
  display: inline-block;
  width: .48rem;
  height: 1em;
  margin-left: .12rem;
  vertical-align: -.12em;
  border-right: 2px solid #27272a;
  animation: icce-chat-caret .75s steps(1, end) infinite;
}

@keyframes icce-chat-caret {
  50% { opacity: 0; }
}

@media (max-width: 640px) {
  .icce-chat-input {
    padding-right: 3.8rem !important;
  }

  .icce-chat-send {
    height: 2.2rem !important;
    width: 2.2rem;
    right: .5rem;
    bottom: .5rem;
    font-size: 1.2rem;
  }
}

/* v0.1.59 Ask ICCE response polish
   Refine the final drawer typography/composer details and make response
   markdown less visually heavy by reserving bold weight for headings. */
.icce-chat-header-subtitle {
  font-size: .8rem !important;
}

.icce-chat-message-assistant .icce-chat-bubble {
  padding-left: 1.08rem !important;
}

.icce-chat-message-assistant .icce-chat-bubble p,
.icce-chat-message-assistant .icce-chat-bubble ul,
.icce-chat-message-assistant .icce-chat-bubble h3 {
  margin-top: 0;
  margin-bottom: 0;
}

.icce-chat-message-assistant .icce-chat-bubble p + p,
.icce-chat-message-assistant .icce-chat-bubble ul + p,
.icce-chat-message-assistant .icce-chat-bubble p + ul,
.icce-chat-message-assistant .icce-chat-bubble ul + ul,
.icce-chat-message-assistant .icce-chat-bubble h3 + p,
.icce-chat-message-assistant .icce-chat-bubble h3 + ul,
.icce-chat-message-assistant .icce-chat-bubble p + h3,
.icce-chat-message-assistant .icce-chat-bubble ul + h3 {
  margin-top: .92rem !important;
}

.icce-chat-message-assistant .icce-chat-bubble h3 {
  font-weight: 760;
}

.icce-chat-message-assistant .icce-chat-bubble strong {
  font-weight: inherit;
}

.icce-chat-send {
  right: 1.2rem !important;
  bottom: 1.2rem !important;
  background: #53B559 !important;
  font-size: 1.52rem !important;
}

.icce-chat-send:hover:not(:disabled) {
  background: #47a64f !important;
}

.icce-chat-disclaimer {
  margin: 1.2rem .15rem !important;
  font-size: .72rem !important;
}

@media (max-width: 640px) {
  .icce-chat-header-subtitle {
    font-size: .8rem !important;
  }

  .icce-chat-message-assistant .icce-chat-bubble {
    padding-left: 0.1rem !important;
  }

  .icce-chat-send {
    right: .95rem !important;
    bottom: .95rem !important;
    font-size: 1.38rem !important;
  }
}

/* v0.1.60 Ask ICCE modal layout
   Replace the right-edge drawer with a large centred modal. The existing
   chat internals stay intact, but the container now sits in the middle of
   the page with more balanced vertical and horizontal space. */
.ask-panel.is-open {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}

.icce-chat-panel {
  margin: 0 !important;
  width: min(72rem, calc(100vw - 2.5rem)) !important;
  max-width: min(72rem, calc(100vw - 2.5rem)) !important;
  height: min(86vh, 56rem) !important;
  max-height: calc(100vh - 2.5rem) !important;
  border-radius: 1.35rem !important;
  overflow: hidden;
  box-shadow: 0 32px 110px rgba(9, 9, 11, .32);
}

.icce-chat-header {
  flex: 0 0 auto;
}

.icce-chat-body {
  min-height: 0;
}

.icce-chat-messages {
  padding: 1.45rem 1.65rem;
}

.icce-chat-footer {
  padding: 1rem 1.65rem 1.1rem;
}

@media (max-width: 760px) {
  .ask-panel.is-open {
    align-items: stretch;
    padding: .6rem;
  }

  .icce-chat-panel {
    width: calc(100vw - 1.2rem) !important;
    max-width: calc(100vw - 1.2rem) !important;
    height: calc(100dvh - 1.2rem) !important;
    max-height: calc(100dvh - 1.2rem) !important;
    border-radius: 1rem !important;
  }

  .icce-chat-messages {
    padding: 1.05rem;
  }

  .icce-chat-footer {
    padding: .9rem 1.05rem 1rem;
  }
}

/* v0.1.61 Ask ICCE modal fine-tuning
   Refine the modal into a lighter, quieter chat surface with smaller
   message text, a compact x close control and auto-growing composer. */
.icce-chat-input {
  resize: none !important;
  overflow-y: hidden;
  box-shadow: 0 5px 20px rgba(9, 9, 11, .04) !important;
}

.icce-chat-input:focus {
  box-shadow: 0 5px 20px rgba(9, 9, 11, .055), 0 0 0 3px rgba(31, 122, 78, .06) !important;
}

.icce-chat-bubble {
  font-size: .8rem !important;
}

.icce-chat-message-assistant .icce-chat-bubble {
  font-size: .8rem !important;
}

.icce-chat-starter {
  font-size: .8rem !important;
}

.icce-chat-close {
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #71717a !important;
  font-size: 1.25rem !important;
  font-weight: 400;
  line-height: 1;
  padding: 0 !important;
}

.icce-chat-close:hover {
  background: #f4f4f5;
  color: #09090b !important;
}

@media (max-width: 640px) {
  .icce-chat-bubble,
  .icce-chat-message-assistant .icce-chat-bubble,
  .icce-chat-starter {
    font-size: .8rem !important;
  }
}


/* v0.1.62 Ask ICCE modal/header and disclaimer adjustments */
.icce-chat-header {
  padding: 1.35rem 1.15rem !important;
}

.icce-chat-disclaimer {
  margin: 1.2rem 0.2rem 0.2rem 0.2rem !important;
}

/* v0.1.63 Ask ICCE compact expanding composer */
.icce-chat-input {
  min-height: 2.75rem !important;
  height: 2.75rem;
  max-height: 14rem !important;
  resize: none !important;
  overflow-y: hidden;
  border-radius: 1.375rem !important;
  padding: .7rem 4.1rem .7rem 1rem !important;
  line-height: 1.45 !important;
  font-size: .92rem !important;
}

.icce-chat-input:focus,
.icce-chat-input:not(:placeholder-shown) {
  border-radius: 1.25rem !important;
}

@media (max-width: 640px) {
  .icce-chat-input {
    min-height: 2.65rem !important;
    height: 2.65rem;
    max-height: 11rem !important;
    padding: .68rem 3.75rem .68rem .95rem !important;
    font-size: .9rem !important;
  }
}

/* v0.1.68 Ask AI response action pills
   Add lightweight follow-up controls under assistant answers so visitors can
   simplify, expand or reframe complex ICCE explanations without typing. */
.icce-chat-response-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(228, 228, 231, .75);
}

.icce-chat-response-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(228 228 231);
  border-radius: 999px;
  background: #fff;
  color: rgb(63 63 70);
  padding: .42rem .7rem;
  font-size: .72rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

.icce-chat-response-action:hover,
.icce-chat-response-action:focus-visible {
  border-color: #EEFF41;
  background: #EEFF41;
  color: #09090b;
  outline: 0;
  transform: translateY(-1px);
}

.icce-chat-response-action:disabled {
  cursor: not-allowed;
  opacity: .48;
  transform: none;
}

@media (max-width: 640px) {
  .icce-chat-response-actions {
    gap: .38rem;
    margin-top: .85rem;
    padding-top: .75rem;
  }

  .icce-chat-response-action {
    padding: .4rem .62rem;
    font-size: .69rem;
  }
}
