/* Match the shared assistant launcher, with the Matrix button below it. */
.dbm-ai-trigger {
  display: inline-flex;
  align-items: center;
  pointer-events: auto;
}

.dbm-group-ai-trigger {
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 0;
  transform: translateY(-50%);
}

.db-wannsee-widget .dbm-group-ai-trigger > .db-wannsee-launcher {
  position: relative;
  inset: auto;
  transform: none;
}

#dbm-ai-launcher .dbm-matrix-ai-trigger {
  position: fixed;
  z-index: 9991;
  inset-inline-end: max(12px, env(safe-area-inset-right, 0px));
  inset-block-start: calc(50% + 32px);
}

#dbm-ai-launcher .dbm-matrix-ai-trigger > [data-dbmai-open] {
  appearance: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #a777bb;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(160deg, #86509e, #633783 44%, #482459);
  box-shadow: inset 0 1px 0 #fff5, 0 5px 20px #48245955;
  font: 600 14px/1.2 system-ui, sans-serif;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .18s ease, box-shadow .18s ease;
}

#dbm-ai-launcher .dbm-matrix-ai-trigger > [data-dbmai-open]::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 12% 0%, #f0c9ff8c, transparent 38%),
    radial-gradient(circle at 88% 100%, #d99ff966, transparent 40%);
  opacity: .52;
  pointer-events: none;
}

#dbm-ai-launcher .dbm-matrix-ai-trigger > [data-dbmai-open]:hover {
  border-color: #e3bcf5;
  box-shadow: inset 0 1px 0 #fff5, 0 5px 20px #63378380;
}

#dbm-ai-launcher .dbm-matrix-ai-trigger > [data-dbmai-open]:focus-visible {
  outline: 2px solid #d39df0;
  outline-offset: 3px;
}

#dabrain-wannsee-widget {
  z-index: 9990;
}

body[data-dbm-privacy-visible="true"] #dbm-ai-launcher .dbm-matrix-ai-trigger,
body[data-dbm-privacy-visible="true"] ~ #dabrain-wannsee-widget,
body:has(#dbm-main-menu.is-menu-open) #dbm-ai-launcher .dbm-matrix-ai-trigger,
body:has(#dbm-main-menu.is-menu-open) ~ #dabrain-wannsee-widget {
  display: none;
}

.dbm-ai-tooltip {
  position: absolute;
  z-index: 2;
  inset-inline-end: 100%;
  inset-block-start: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
  width: min(270px, 46vw);
  padding-inline-end: 8px;
  visibility: hidden;
  pointer-events: none;
}

.dbm-ai-tooltip > span {
  display: block;
  padding: 10px 12px;
  border: 1px solid #6c91a6;
  border-radius: 9px;
  background: #11151d;
  color: #f3f4ee;
  box-shadow: 0 5px 22px #08101965;
  text-align: start;
  font: 400 13px/1.42 system-ui, sans-serif;
}

.dbm-ai-trigger:not(.dbm-ai-tooltip-dismissed) > button:focus-visible + .dbm-ai-tooltip {
  visibility: visible;
  pointer-events: auto;
}

@media (any-hover: hover) {
  .dbm-ai-trigger:not(.dbm-ai-tooltip-dismissed):hover > button + .dbm-ai-tooltip {
    visibility: visible;
    pointer-events: auto;
  }
}

.db-wannsee-widget #dabrain-wannsee-panel[aria-describedby] {
  position: fixed;
  inset-block: var(--dbm-ai-top, 88px) max(12px, env(safe-area-inset-bottom, 0px));
  inset-inline-end: max(174px, calc(env(safe-area-inset-right, 0px) + 162px));
  margin-block: auto;
  width: min(478px, calc(100cqw - 186px));
  height: auto;
  max-height: 730px;
  transform: none;
  animation: none;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.dbm-group-ai-trigger:hover,
.dbm-group-ai-trigger:focus-within {
  z-index: 3;
}

.db-wannsee-panel > .dbm-ai-scope {
  margin: 0;
  padding: 9px 13px;
  border-bottom: 1px solid #35404b;
  background: #172530;
  color: #d3e5ec;
  font: 400 12px/1.35 system-ui, sans-serif;
}

#dbm-ai-chat-dialog > .dbm-ai-scope {
  margin: 0;
  padding: 10px 18px;
  background: #f7edf9;
  color: #482459;
  border-bottom: 1px solid #dec8e7;
  font: 400 14px/1.45 system-ui, sans-serif;
}

body #dbm-ai-chat-dialog .dbm-ai-dialog-bar {
  background: linear-gradient(145deg, #693b82, #482459);
}

.dbm-matrix-ai-trigger .dbm-ai-tooltip > span {
  background: #482459;
  border-color: #a777bb;
  color: #fff;
}

@media (max-width: 680px) {
  #dabrain-wannsee-widget {
    inset: var(--dbm-ai-viewport-top, 0px) auto auto var(--dbm-ai-viewport-left, 0px);
    width: var(--dbm-ai-viewport-width, 100vw);
    height: var(--dbm-ai-viewport-height, 100dvh);
  }

  #dbm-ai-launcher .dbm-matrix-ai-trigger {
    inset-inline: auto;
    left: calc(var(--dbm-ai-viewport-left, 0px) + var(--dbm-ai-viewport-width, 100vw) - max(4px, env(safe-area-inset-right, 0px)));
    top: calc(var(--dbm-ai-viewport-top, 0px) + var(--dbm-ai-viewport-height, 100dvh) / 2 + 29px);
    transform: translateX(-100%);
  }

  #dbm-ai-launcher .dbm-matrix-ai-trigger > [data-dbmai-open] {
    min-height: 44px;
    padding: 5px 7px;
    border-radius: 9px;
    font-size: 11px;
  }

  .db-wannsee-widget #dabrain-wannsee-panel[aria-describedby] {
    inset-inline: max(4px, env(safe-area-inset-left, 0px)) max(4px, env(safe-area-inset-right, 0px));
    inset-block-end: calc(108px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-width: 478px;
    margin-inline-start: auto;
  }

  .db-wannsee-widget.db-wannsee-open .dbm-group-ai-trigger {
    position: fixed;
    inset-block: auto calc(58px + env(safe-area-inset-bottom, 0px));
    inset-inline-end: max(4px, env(safe-area-inset-right, 0px));
    transform: none;
  }

  .db-wannsee-widget.db-wannsee-open .dbm-group-ai-trigger > .db-wannsee-launcher {
    visibility: visible;
  }

  .dbm-group-ai-open #dbm-ai-launcher .dbm-matrix-ai-trigger {
    top: calc(var(--dbm-ai-viewport-top, 0px) + var(--dbm-ai-viewport-height, 100dvh) - 52px - env(safe-area-inset-bottom, 0px));
  }
}

@media (prefers-reduced-motion: reduce) {
  #dbm-ai-launcher .dbm-matrix-ai-trigger > [data-dbmai-open] {
    transition: none;
  }
}

