/* Rayan AI Connector 0.23.3 — hiérarchie moteur/confidentialité affinée. */

#rayan-ai-root #rayan-ai-modal .rai-selector-deck {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: min(100%, 560px) !important;
  min-width: 0 !important;
  margin: 2px auto 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Les deux cartes sont de vrais éléments de grille. Aucun display:contents :
   Firefox conserve ainsi les panneaux lors de l'ouverture. */
#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-response-mode-selector,
#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-privacy-bar {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 204px !important;
  min-height: 204px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-response-mode-selector {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-privacy-bar {
  grid-column: 2 !important;
  grid-row: 1 !important;
  grid-template-columns: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-privacy-bar.is-choosing {
  display: flex !important;
  grid-template-columns: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-privacy-bar > .rai-privacy-switcher {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck.has-one-selector > .rai-response-mode-selector,
#rayan-ai-root #rayan-ai-modal .rai-selector-deck.has-one-selector > .rai-privacy-bar {
  grid-column: 1 / -1 !important;
  width: min(100%, 275px) !important;
  justify-self: center !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-selector {
  --rai-selector-accent: #36ff72;
  --rai-selector-rgb: 54, 255, 114;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-selector.is-tone-yellow {
  --rai-selector-accent: #ffe100;
  --rai-selector-rgb: 255, 225, 0;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-selector.is-tone-orange {
  --rai-selector-accent: #ff8a1d;
  --rai-selector-rgb: 255, 138, 29;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-selector.is-tone-red {
  --rai-selector-accent: #ff3553;
  --rai-selector-rgb: 255, 53, 83;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-bar.is-standard {
  --rai-selector-accent: #7ab989;
  --rai-selector-rgb: 122, 185, 137;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-bar.is-anonymous {
  --rai-selector-accent: #20ff58;
  --rai-selector-rgb: 32, 255, 88;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-bar.is-sensitive {
  --rai-selector-accent: #ff3131;
  --rai-selector-rgb: 255, 49, 49;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-panel.is-tone-green {
  --rai-selector-accent: #36ff72;
  --rai-selector-rgb: 54, 255, 114;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-panel.is-tone-yellow {
  --rai-selector-accent: #ffe100;
  --rai-selector-rgb: 255, 225, 0;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-panel.is-tone-orange {
  --rai-selector-accent: #ff8a1d;
  --rai-selector-rgb: 255, 138, 29;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-panel.is-tone-red {
  --rai-selector-accent: #ff3553;
  --rai-selector-rgb: 255, 53, 83;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-panel.is-standard {
  --rai-selector-accent: #7ab989;
  --rai-selector-rgb: 122, 185, 137;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-panel.is-anonymous {
  --rai-selector-accent: #20ff58;
  --rai-selector-rgb: 32, 255, 88;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-panel.is-sensitive {
  --rai-selector-accent: #ff3131;
  --rai-selector-rgb: 255, 49, 49;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current {
  position: relative !important;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto minmax(82px, 1fr) auto minmax(34px, auto) auto !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 204px !important;
  min-height: 204px !important;
  max-height: 204px !important;
  margin: 0 !important;
  padding: 11px 10px 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(var(--rai-selector-rgb), .54) !important;
  border-radius: 15px !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(var(--rai-selector-rgb), .13), transparent 53%),
    linear-gradient(155deg, rgba(5, 29, 13, .98), rgba(0, 12, 6, .99)) !important;
  color: #f1fff4 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .035),
    0 8px 24px rgba(0, 0, 0, .28),
    0 0 0 1px rgba(var(--rai-selector-rgb), .04) !important;
  font: inherit !important;
  text-align: center !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transform: translateZ(0);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary {
  flex: 1 1 auto !important;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-current {
  flex: 1 1 auto !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck.has-one-selector .rai-response-mode-summary,
#rayan-ai-root #rayan-ai-modal .rai-selector-deck.has-one-selector .rai-privacy-current {
  grid-column: 1 / -1 !important;
  width: min(100%, 275px) !important;
  height: 204px !important;
  justify-self: center !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary::before,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .5;
  background:
    linear-gradient(90deg, transparent, rgba(var(--rai-selector-rgb), .18), transparent) top / 100% 1px no-repeat,
    repeating-linear-gradient(0deg, rgba(var(--rai-selector-rgb), .018) 0 1px, transparent 1px 5px);
  pointer-events: none;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary:hover:not(:disabled),
#rayan-ai-root #rayan-ai-modal .rai-privacy-current:hover:not(:disabled),
#rayan-ai-root #rayan-ai-modal .rai-response-mode-selector.is-open .rai-response-mode-summary,
#rayan-ai-root #rayan-ai-modal .rai-privacy-switcher.is-open .rai-privacy-current {
  border-color: var(--rai-selector-accent) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .06),
    0 10px 28px rgba(0, 0, 0, .32),
    0 0 19px rgba(var(--rai-selector-rgb), .18) !important;
  transform: translateY(-1px);
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary:focus-visible,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current:focus-visible,
#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button:focus-visible {
  outline: 2px solid var(--rai-selector-accent) !important;
  outline-offset: 2px !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-kicker {
  position: relative !important;
  z-index: 3 !important;
  color: rgba(223, 255, 231, .72) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-visual {
  position: absolute !important;
  z-index: 1 !important;
  inset: 22px 0 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-engine-visual img {
  display: block !important;
  width: min(92%, 185px) !important;
  height: 132px !important;
  opacity: .82 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 8px rgba(var(--rai-selector-rgb), .28));
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-image-cue img {
  display: block !important;
  width: 104px !important;
  height: 104px !important;
  margin: 0 !important;
  opacity: .76 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 9px rgba(var(--rai-selector-rgb), .32));
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > strong,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > strong {
  position: relative !important;
  z-index: 3 !important;
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--rai-selector-accent) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .065em !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 4px #001507, 0 0 11px rgba(var(--rai-selector-rgb), .58);
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy {
  display: contents !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > small,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > small {
  position: relative !important;
  z-index: 3 !important;
  display: -webkit-box !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: rgba(224, 255, 232, .78) !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  line-height: 1.38 !important;
  letter-spacing: .01em !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-action {
  position: relative !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 24px !important;
  margin-top: 2px !important;
  padding: 3px 9px !important;
  border: 1px solid rgba(var(--rai-selector-rgb), .25) !important;
  border-radius: 999px !important;
  background: rgba(var(--rai-selector-rgb), .055) !important;
  color: rgba(235, 255, 240, .83) !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-action b {
  color: inherit !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-action i {
  color: var(--rai-selector-accent) !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1 !important;
  transition: transform 180ms ease !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-selector.is-open .rai-context-selector-action i,
#rayan-ai-root #rayan-ai-modal .rai-privacy-switcher.is-open .rai-context-selector-action i {
  transform: rotate(180deg);
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-selector.is-locked .rai-context-selector-action,
#rayan-ai-root #rayan-ai-modal .rai-privacy-switcher.is-locked .rai-context-selector-action {
  border-color: rgba(255, 210, 74, .25) !important;
  color: #ffe6a0 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-dot,
#rayan-ai-root #rayan-ai-modal .rai-response-mode-caption,
#rayan-ai-root #rayan-ai-modal .rai-privacy-change-hint,
#rayan-ai-root #rayan-ai-modal .rai-response-mode-check,
#rayan-ai-root #rayan-ai-modal .rai-response-mode-option-dot {
  display: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-context-selector-panel {
  position: relative !important;
  inset: auto !important;
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
  overflow: hidden !important;
  max-height: none !important;
  border: 1px solid rgba(var(--rai-selector-rgb), .5) !important;
  border-radius: 15px !important;
  background:
    radial-gradient(circle at 50% 0, rgba(var(--rai-selector-rgb), .1), transparent 42%),
    linear-gradient(165deg, rgba(3, 24, 10, .99), rgba(0, 11, 5, .995)) !important;
  box-shadow: 0 13px 30px rgba(0, 0, 0, .32), 0 0 18px rgba(var(--rai-selector-rgb), .09) !important;
  box-sizing: border-box !important;
  animation: rai-context-panel-in 180ms ease-out both;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-context-selector-panel[hidden] {
  display: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-context-selector-panel:not([hidden]) {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

@keyframes rai-context-panel-in {
  from { opacity: 0; transform: translateY(-5px) scale(.992); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-panel-head,
#rayan-ai-root #rayan-ai-modal .rai-privacy-explanation {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 4px 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 2px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(var(--rai-selector-rgb), .18) !important;
  border-radius: 0 !important;
  background: none !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-panel-head > span,
#rayan-ai-root #rayan-ai-modal .rai-privacy-explanation-head > span {
  color: rgba(219, 255, 228, .69) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-panel-head > strong,
#rayan-ai-root #rayan-ai-modal .rai-privacy-explanation-head > strong {
  color: var(--rai-selector-accent) !important;
  font-size: 12px !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-explanation-head {
  display: contents !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-panel-head > p,
#rayan-ai-root #rayan-ai-modal .rai-privacy-explanation > p {
  grid-column: 1 / -1 !important;
  margin: 2px 0 0 !important;
  color: #effff3 !important;
  font-size: 11.5px !important;
  line-height: 1.48 !important;
  overflow-wrap: anywhere !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-panel-head > small,
#rayan-ai-root #rayan-ai-modal .rai-privacy-explanation > small {
  grid-column: 1 / -1 !important;
  color: rgba(209, 255, 221, .58) !important;
  font-size: 9.5px !important;
  line-height: 1.4 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options,
#rayan-ai-root #rayan-ai-modal .rai-response-mode-options,
#rayan-ai-root #rayan-ai-modal .rai-privacy-options {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Neutralise définitivement les anciens états de panneaux Privacy P3.x. */
#rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-context-selector-panel:not([hidden]) > .rai-context-selector-options {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-options {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-options {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button,
#rayan-ai-root #rayan-ai-modal .rai-response-mode-button,
#rayan-ai-root #rayan-ai-modal .rai-privacy-options button {
  --rai-option-accent: #57ff85;
  --rai-option-rgb: 87, 255, 133;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 78px auto minmax(30px, auto) auto !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 3px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 157px !important;
  margin: 0 !important;
  padding: 8px 7px 7px !important;
  overflow: hidden !important;
  border: 1px solid rgba(var(--rai-option-rgb), .22) !important;
  border-radius: 11px !important;
  background: rgba(3, 35, 14, .72) !important;
  color: #effff3 !important;
  box-shadow: none !important;
  font: inherit !important;
  text-align: center !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-button.is-yellow {
  --rai-option-accent: #ffe100;
  --rai-option-rgb: 255, 225, 0;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-button.is-orange {
  --rai-option-accent: #ff8a1d;
  --rai-option-rgb: 255, 138, 29;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-button.is-red {
  --rai-option-accent: #ff3553;
  --rai-option-rgb: 255, 53, 83;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-options button[data-privacy-mode="standard"] {
  --rai-option-accent: #7ab989;
  --rai-option-rgb: 122, 185, 137;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-options button[data-privacy-mode="anonymous"] {
  --rai-option-accent: #20ff58;
  --rai-option-rgb: 32, 255, 88;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-options button[data-privacy-mode="sensitive"] {
  --rai-option-accent: #ff3131;
  --rai-option-rgb: 255, 49, 49;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button:hover:not(:disabled) {
  border-color: rgba(var(--rai-option-rgb), .7) !important;
  background: rgba(var(--rai-option-rgb), .09) !important;
  transform: translateY(-1px);
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button.is-active {
  border-color: var(--rai-option-accent) !important;
  background: linear-gradient(160deg, rgba(var(--rai-option-rgb), .16), rgba(var(--rai-option-rgb), .045)) !important;
  box-shadow: inset 0 0 18px rgba(var(--rai-option-rgb), .07), 0 0 15px rgba(var(--rai-option-rgb), .12) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button:disabled {
  cursor: default !important;
  opacity: .58 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button.is-active:disabled {
  opacity: 1 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-option-visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 78px !important;
  min-width: 0 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-image {
  display: block !important;
  width: min(100%, 122px) !important;
  height: 86px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 6px rgba(var(--rai-option-rgb), .21));
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-options .rai-context-selector-option-visual img {
  display: block !important;
  width: 68px !important;
  height: 68px !important;
  margin: 0 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 7px rgba(var(--rai-option-rgb), .25));
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-copy,
#rayan-ai-root #rayan-ai-modal .rai-privacy-options button > span:not(.rai-context-selector-option-visual):not(.rai-selector-choice-state) {
  display: contents !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button strong {
  display: block !important;
  min-width: 0 !important;
  color: var(--rai-option-accent) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button small {
  display: -webkit-box !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: rgba(222, 255, 230, .72) !important;
  font-size: 9px !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-choice-state {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 20px !important;
  padding: 2px 7px !important;
  border: 1px solid rgba(var(--rai-option-rgb), .18) !important;
  border-radius: 999px !important;
  color: rgba(223, 255, 231, .58) !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button.is-active .rai-selector-choice-state {
  border-color: rgba(var(--rai-option-rgb), .46) !important;
  background: rgba(var(--rai-option-rgb), .1) !important;
  color: var(--rai-option-accent) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-composer-dock.is-tools-open .rai-chat-tools.is-selector-choosing {
  max-height: min(78dvh, 650px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scroll-padding-block: 10px !important;
}

@media (max-width: 420px) {
  #rayan-ai-root #rayan-ai-modal .rai-selector-deck {
    gap: 7px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-response-mode-selector,
  #rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-privacy-bar {
    height: 184px !important;
    min-height: 184px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-response-mode-summary,
  #rayan-ai-root #rayan-ai-modal .rai-privacy-current {
    grid-template-rows: auto minmax(72px, 1fr) auto minmax(37px, auto) auto !important;
    height: 184px !important;
    min-height: 184px !important;
    max-height: 184px !important;
    padding: 9px 6px 8px !important;
    border-radius: 13px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-kicker {
    font-size: 8.5px !important;
    letter-spacing: .08em !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-visual {
    inset: 19px 0 39px !important;
    height: auto !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-engine-visual img {
    width: min(96%, 162px) !important;
    height: 112px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-privacy-image-cue img {
    width: 90px !important;
    height: 90px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > strong,
  #rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > strong {
    font-size: 12px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > small,
  #rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > small {
    font-size: 9px !important;
    line-height: 1.32 !important;
    -webkit-line-clamp: 3;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-action {
    gap: 4px !important;
    min-height: 22px !important;
    padding: 3px 6px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-action b {
    font-size: 8px !important;
    letter-spacing: .045em !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-panel {
    padding: 10px !important;
    border-radius: 13px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-privacy-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-privacy-options button:last-child {
    grid-column: 1 / -1 !important;
    width: calc(50% - 4px) !important;
    justify-self: center !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-options button {
    min-height: 151px !important;
    padding-inline: 5px !important;
  }
}

@media (max-width: 340px) {
  #rayan-ai-root #rayan-ai-modal .rai-selector-deck {
    gap: 5px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-response-mode-selector,
  #rayan-ai-root #rayan-ai-modal .rai-selector-deck > .rai-privacy-bar {
    height: 180px !important;
    min-height: 180px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-response-mode-summary,
  #rayan-ai-root #rayan-ai-modal .rai-privacy-current {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    padding-inline: 4px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-engine-visual img {
    width: min(98%, 154px) !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > strong,
  #rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > strong {
    font-size: 11px !important;
    letter-spacing: .035em !important;
  }
}

/* -------------------------------------------------------------------------- */
/* 0.23.3 — la barre Outils suit le moteur, le champ suit la confidentialité. */
/* -------------------------------------------------------------------------- */

#rayan-ai-root #rayan-ai-modal.rai-response-tone-green {
  --rai-engine-bar-rgb: 54, 255, 114;
}

#rayan-ai-root #rayan-ai-modal.rai-response-tone-yellow {
  --rai-engine-bar-rgb: 255, 225, 0;
}

#rayan-ai-root #rayan-ai-modal.rai-response-tone-orange {
  --rai-engine-bar-rgb: 255, 138, 29;
}

#rayan-ai-root #rayan-ai-modal.rai-response-tone-red {
  --rai-engine-bar-rgb: 255, 53, 83;
}

#rayan-ai-root #rayan-ai-modal[class*="rai-response-tone-"] .rai-composer-dock {
  border-top-color: rgba(var(--rai-engine-bar-rgb), .82) !important;
  box-shadow:
    0 -11px 32px rgba(var(--rai-engine-bar-rgb), .15),
    inset 0 1px 0 rgba(var(--rai-engine-bar-rgb), .2) !important;
}

#rayan-ai-root #rayan-ai-modal[class*="rai-response-tone-"] .rai-mobile-tools-handle,
#rayan-ai-root #rayan-ai-modal[class*="rai-response-tone-"] .rai-tools-handle {
  border-top-color: rgba(var(--rai-engine-bar-rgb), .38) !important;
  border-bottom-color: rgba(var(--rai-engine-bar-rgb), .22) !important;
}

#rayan-ai-root #rayan-ai-modal[class*="rai-response-tone-"] .rai-mobile-tools-grip i {
  background: rgba(var(--rai-engine-bar-rgb), .78) !important;
  box-shadow: 0 0 6px rgba(var(--rai-engine-bar-rgb), .28) !important;
}

#rayan-ai-root #rayan-ai-modal[class*="rai-response-tone-"] .rai-mobile-tools-chevron {
  color: rgb(var(--rai-engine-bar-rgb)) !important;
  text-shadow: 0 0 7px rgba(var(--rai-engine-bar-rgb), .3) !important;
}

/* Les visuels portent déjà le nom du moteur. Sur la carte Confidentialité,
   le mode est maintenant intégré au début de la fonction courte. */
#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > strong,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > strong {
  display: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current {
  grid-template-rows: auto minmax(78px, 1fr) minmax(42px, auto) 30px !important;
}

#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > small,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > small {
  grid-row: 3 !important;
  align-self: center !important;
  -webkit-line-clamp: 3 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-action {
  grid-row: 4 !important;
  align-self: center !important;
}

/* Le moteur remonte légèrement ; le masque de confidentialité est réduit de
   30 % sans modifier le fichier image source. */
#rayan-ai-root #rayan-ai-modal .rai-context-selector-visual.rai-engine-visual {
  left: 50% !important;
  right: auto !important;
  width: 100% !important;
  transform: translate(-50%, -8px) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-image-cue img {
  width: 73px !important;
  height: 73px !important;
}

/* Centrage optique et métrique du texte Configurer dans la carte Privacy. */
#rayan-ai-root #rayan-ai-modal .rai-privacy-current .rai-context-selector-action {
  height: 30px !important;
  min-height: 30px !important;
  padding-block: 0 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-current .rai-context-selector-action b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  height: 100% !important;
  line-height: 1 !important;
  padding-top: 1px !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-privacy-current .rai-context-selector-action i {
  align-self: center !important;
}

@media (max-width: 420px) {
  #rayan-ai-root #rayan-ai-modal .rai-response-mode-summary,
  #rayan-ai-root #rayan-ai-modal .rai-privacy-current {
    grid-template-rows: auto minmax(70px, 1fr) minmax(39px, auto) 28px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-visual.rai-engine-visual {
    transform: translate(-50%, -6px) !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-privacy-image-cue img {
    width: 63px !important;
    height: 63px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-privacy-current .rai-context-selector-action {
    height: 28px !important;
    min-height: 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #rayan-ai-root #rayan-ai-modal .rai-response-mode-summary,
  #rayan-ai-root #rayan-ai-modal .rai-privacy-current,
  #rayan-ai-root #rayan-ai-modal .rai-context-selector-options button,
  #rayan-ai-root #rayan-ai-modal .rai-context-selector-panel,
  #rayan-ai-root #rayan-ai-modal .rai-context-selector-action i {
    animation: none !important;
    transition: none !important;
  }
}

/* -------------------------------------------------------------------------- */
/* 0.23.2 — la configuration s'ouvre dans une vraie vue dédiée.              */
/* -------------------------------------------------------------------------- */

#rayan-ai-root #rayan-ai-modal .rai-selector-surface {
  position: absolute !important;
  z-index: 90 !important;
  inset: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  border: 0 !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(45, 255, 86, .095), transparent 44%),
    repeating-linear-gradient(0deg, rgba(74, 255, 103, .018) 0 1px, transparent 1px 5px),
    linear-gradient(160deg, #031b09, #000a03 72%) !important;
  box-shadow: inset 0 0 62px rgba(36, 255, 70, .055) !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface[hidden] {
  display: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface-shell {
  display: grid !important;
  place-items: center !important;
  width: min(100%, 500px) !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  align-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: auto !important;
  padding: 18px !important;
  overflow: visible !important;
  border: 1px solid rgba(var(--rai-selector-rgb), .5) !important;
  border-radius: 17px !important;
  background:
    radial-gradient(circle at 50% 0, rgba(var(--rai-selector-rgb), .105), transparent 43%),
    linear-gradient(165deg, rgba(3, 25, 10, .995), rgba(0, 10, 4, .998)) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .5), 0 0 22px rgba(var(--rai-selector-rgb), .1) !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel[hidden] {
  display: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel:not([hidden]) {
  display: grid !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel-head,
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-explanation {
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 14px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-panel-topline {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: 0 84px !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-panel-topline > span {
  display: block !important;
  min-width: 0 !important;
  color: #effff3 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-panel-close {
  appearance: none !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 76px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 5px 9px !important;
  border: 1px solid rgba(var(--rai-selector-rgb), .38) !important;
  border-radius: 999px !important;
  background: rgba(var(--rai-selector-rgb), .07) !important;
  color: #eaffee !important;
  box-shadow: none !important;
  font: 700 10px/1 "Courier New", monospace !important;
  letter-spacing: .035em !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-panel-close:hover,
#rayan-ai-root #rayan-ai-modal .rai-selector-panel-close:focus-visible {
  border-color: rgba(var(--rai-selector-rgb), .82) !important;
  background: rgba(var(--rai-selector-rgb), .14) !important;
  outline: none !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel-head > strong,
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-explanation-head > strong,
#rayan-ai-root #rayan-ai-modal .rai-response-mode-summary > strong,
#rayan-ai-root #rayan-ai-modal .rai-privacy-current-copy > strong,
#rayan-ai-root #rayan-ai-modal .rai-context-selector-options button strong {
  color: #effff3 !important;
  text-shadow: 0 1px 5px rgba(0, 12, 4, .95) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-explanation-head {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel-head > p,
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-explanation > p,
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel-head > small,
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-explanation > small {
  grid-column: 1 !important;
  width: min(100%, 420px) !important;
  margin-inline: auto !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options,
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-response-mode-options,
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-options {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-response-mode-options {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-options {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options button {
  grid-template-rows: 116px auto minmax(34px, auto) auto !important;
  min-width: 0 !important;
  min-height: 202px !important;
  padding: 10px 8px 9px !important;
  overflow: hidden !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-option-visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 116px !important;
  margin: 0 auto !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-response-mode-image {
  display: block !important;
  width: min(100%, 174px) !important;
  height: 116px !important;
  margin: 0 auto !important;
  object-position: center !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-options .rai-context-selector-option-visual img {
  display: block !important;
  width: 108px !important;
  height: 108px !important;
  margin: 0 auto !important;
  object-position: center !important;
}

/* Les titres restent lisibles mais ne reprennent plus les couleurs de mode. */
#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options button strong {
  font-size: 11.5px !important;
  letter-spacing: .04em !important;
}

#rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options button small {
  font-size: 9.5px !important;
  line-height: 1.38 !important;
}

/* Centrage strict des visuels des deux cartes, y compris sous Firefox. */
#rayan-ai-root #rayan-ai-modal .rai-context-selector-visual {
  left: 50% !important;
  right: auto !important;
  width: 100% !important;
  transform: translateX(-50%) !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-visual img {
  margin-inline: auto !important;
  object-position: center !important;
}

/* Boutons jumeaux, larges et toujours sur une seule ligne. */
#rayan-ai-root #rayan-ai-modal .rai-context-selector-action {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  min-width: 126px !important;
  min-height: 28px !important;
  padding: 5px 12px !important;
  white-space: nowrap !important;
}

#rayan-ai-root #rayan-ai-modal .rai-context-selector-action b,
#rayan-ai-root #rayan-ai-modal .rai-context-selector-action i {
  display: inline-block !important;
  white-space: nowrap !important;
}

@media (max-width: 420px) {
  #rayan-ai-root #rayan-ai-modal .rai-selector-surface {
    padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)) !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel {
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 14px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-panel-topline {
    min-height: 34px !important;
    padding-inline: 74px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-panel-topline > span {
    font-size: 10.5px !important;
    letter-spacing: .045em !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-panel-close {
    min-width: 68px !important;
    min-height: 30px !important;
    padding-inline: 7px !important;
    font-size: 9px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-response-mode-options,
  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-options button:last-child {
    grid-column: 1 / -1 !important;
    width: calc(50% - 4px) !important;
    justify-self: center !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options button {
    grid-template-rows: 98px auto minmax(38px, auto) auto !important;
    min-height: 188px !important;
    padding-inline: 6px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-option-visual {
    height: 98px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-response-mode-image {
    width: min(100%, 156px) !important;
    height: 102px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-privacy-options .rai-context-selector-option-visual img {
    width: 94px !important;
    height: 94px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options button strong {
    font-size: 10.5px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options button small {
    font-size: 8.8px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-context-selector-action {
    min-width: min(118px, 92%) !important;
    padding-inline: 8px !important;
  }
}

@media (max-width: 340px) {
  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-panel {
    padding-inline: 9px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-options button {
    grid-template-rows: 90px auto minmax(42px, auto) auto !important;
    min-height: 181px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-context-selector-option-visual {
    height: 90px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-surface .rai-response-mode-image {
    width: min(100%, 143px) !important;
    height: 94px !important;
  }

  #rayan-ai-root #rayan-ai-modal .rai-selector-panel-topline > span {
    font-size: 9.5px !important;
  }
}
