.gsmai-widget {
  --gsmai-primary: #4775d1;
  --gsmai-primary-rgb: 71, 117, 209;
  --gsmai-fill-opacity: .88;
  --gsmai-border-opacity: .7;
  --gsmai-offset-x: 0px;
  --gsmai-offset-y: 0px;
  --gsmai-button-size: 70px;
  --gsmai-minimized-size: 20px;
  --gsmai-collision-offset: 0px;
  --gsmai-dur-fast: 1.3s;
  --gsmai-dur-medium: 2.2s;
  --gsmai-dur-slow: 3.6s;
  --gsmai-dur-rotate: 7s;
  position: fixed;
  z-index: 2147482000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .42s ease, transform .42s cubic-bezier(.2, .8, .2, 1), inset .35s ease;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.gsmai-position-top-left {
  top: calc(24px + var(--gsmai-offset-y));
  left: calc(24px + var(--gsmai-offset-x));
  transform: translateY(-16px) scale(.94);
}

.gsmai-position-top-center {
  top: calc(24px + var(--gsmai-offset-y));
  left: calc(50% + var(--gsmai-offset-x));
  transform: translate(-50%, -16px) scale(.94);
}

.gsmai-position-top-right {
  top: calc(24px + var(--gsmai-offset-y));
  right: calc(24px + var(--gsmai-offset-x));
  transform: translateY(-16px) scale(.94);
}

.gsmai-position-middle-left {
  top: calc(50% + var(--gsmai-offset-y));
  left: calc(24px + var(--gsmai-offset-x));
  transform: translateY(calc(-50% + 16px)) scale(.94);
}

.gsmai-position-middle-center {
  top: calc(50% + var(--gsmai-offset-y));
  left: calc(50% + var(--gsmai-offset-x));
  transform: translate(-50%, calc(-50% + 16px)) scale(.94);
}

.gsmai-position-middle-right {
  top: calc(50% + var(--gsmai-offset-y));
  right: calc(24px + var(--gsmai-offset-x));
  transform: translateY(calc(-50% + 16px)) scale(.94);
}

.gsmai-position-bottom-left {
  bottom: calc(24px + var(--gsmai-offset-y) + var(--gsmai-collision-offset));
  left: calc(24px + var(--gsmai-offset-x));
  transform: translateY(16px) scale(.94);
}

.gsmai-position-bottom-center {
  bottom: calc(24px + var(--gsmai-offset-y) + var(--gsmai-collision-offset));
  left: calc(50% + var(--gsmai-offset-x));
  transform: translate(-50%, 16px) scale(.94);
}

.gsmai-position-bottom-right {
  right: calc(24px + var(--gsmai-offset-x));
  bottom: calc(24px + var(--gsmai-offset-y) + var(--gsmai-collision-offset));
  transform: translateY(16px) scale(.94);
}

.gsmai-position-top-left.gsmai-visible,
.gsmai-position-top-right.gsmai-visible,
.gsmai-position-bottom-left.gsmai-visible,
.gsmai-position-bottom-right.gsmai-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.gsmai-position-top-center.gsmai-visible,
.gsmai-position-bottom-center.gsmai-visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
  pointer-events: auto;
}

.gsmai-position-middle-left.gsmai-visible,
.gsmai-position-middle-right.gsmai-visible {
  opacity: 1;
  transform: translateY(-50%) scale(1);
  pointer-events: auto;
}

.gsmai-position-middle-center.gsmai-visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: auto;
}

.gsmai-widget-content {
  display: flex;
  align-items: center;
  gap: 9px;
}

.gsmai-position-top-left .gsmai-widget-content,
.gsmai-position-middle-left .gsmai-widget-content,
.gsmai-position-bottom-left .gsmai-widget-content {
  flex-direction: row-reverse;
}

.gsmai-position-top-center .gsmai-widget-content,
.gsmai-position-middle-center .gsmai-widget-content,
.gsmai-position-bottom-center .gsmai-widget-content {
  flex-direction: column;
}

.gsmai-prompt {
  max-width: 176px;
  padding: 8px 12px;
  border: 1px solid rgba(147, 190, 255, .42);
  border-radius: 12px;
  background: rgba(5, 24, 58, .78);
  color: rgba(255, 255, 255, .94);
  box-shadow: 0 9px 25px rgba(2, 10, 28, .24), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px) saturate(125%);
  -webkit-backdrop-filter: blur(12px) saturate(125%);
  font-size: 13px;
  font-weight: 560;
  line-height: 1.25;
  letter-spacing: .005em;
  animation: gsmaiPromptFloat var(--gsmai-dur-slow) ease-in-out infinite;
  transition: opacity .25s ease, transform .25s ease, max-width .25s ease, padding .25s ease;
}

.gsmai-launcher {
  position: relative;
  width: var(--gsmai-button-size);
  height: var(--gsmai-button-size);
  flex: 0 0 var(--gsmai-button-size);
  overflow: hidden;
  border: 1px solid rgba(var(--gsmai-primary-rgb), var(--gsmai-border-opacity));
  background: rgba(var(--gsmai-primary-rgb), var(--gsmai-fill-opacity));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, var(--gsmai-border-opacity)),
    0 18px 42px rgba(var(--gsmai-primary-rgb), .38);
  cursor: pointer;
  isolation: isolate;
  transition: width .32s cubic-bezier(.2, .8, .2, 1), height .32s cubic-bezier(.2, .8, .2, 1), flex-basis .32s ease, transform .2s ease, box-shadow .2s ease, border-radius .3s ease;
}

.gsmai-style-glass-circle .gsmai-launcher,
.gsmai-style-solid-circle .gsmai-launcher,
.gsmai-style-minimal-ring .gsmai-launcher {
  border-radius: 50%;
}

.gsmai-style-glass-square .gsmai-launcher,
.gsmai-style-soft-square .gsmai-launcher {
  border-radius: 22%;
}

.gsmai-style-glass-circle .gsmai-launcher,
.gsmai-style-glass-square .gsmai-launcher {
  background:
    radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .38), transparent 27%),
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(4, 18, 52, .22)),
    rgba(var(--gsmai-primary-rgb), var(--gsmai-fill-opacity));
}

.gsmai-style-solid-circle .gsmai-launcher,
.gsmai-style-soft-square .gsmai-launcher {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .15), rgba(4, 18, 52, .18)),
    rgba(var(--gsmai-primary-rgb), var(--gsmai-fill-opacity));
}

.gsmai-style-minimal-ring .gsmai-launcher {
  border-width: 3px;
  background: rgba(var(--gsmai-primary-rgb), var(--gsmai-fill-opacity));
  box-shadow:
    0 0 0 6px rgba(var(--gsmai-primary-rgb), .12),
    0 16px 36px rgba(10, 24, 52, .18);
}

.gsmai-launcher::before {
  content: "";
  position: absolute;
  inset: 6%;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, var(--gsmai-border-opacity));
  border-radius: inherit;
  pointer-events: none;
}

.gsmai-launcher:hover,
.gsmai-launcher:focus-visible {
  transform: translateY(-2px) scale(1.04);
  outline: 3px solid rgba(var(--gsmai-primary-rgb), .28);
  outline-offset: 3px;
  box-shadow: 0 22px 52px rgba(var(--gsmai-primary-rgb), .54);
}

.gsmai-animation-layer {
  position: absolute;
  z-index: 2;
  border-radius: 50%;
  pointer-events: none;
  transform-origin: center;
}

.gsmai-mark {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: calc(var(--gsmai-button-size) * .22);
  font-weight: 850;
  letter-spacing: -.04em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .28);
}

.gsmai-style-minimal-ring .gsmai-mark {
  color: var(--gsmai-primary);
  text-shadow: none;
}

/* Zerfaserter Tiefenstrudel */
.gsmai-animation-vortex .gsmai-animation-layer-a {
  inset: 4%;
  background: repeating-conic-gradient(
    from 8deg,
    rgba(255, 255, 255, .98) 0 3deg,
    rgba(255, 255, 255, .12) 3deg 7deg,
    transparent 7deg 13deg,
    rgba(255, 255, 255, .58) 13deg 16deg,
    transparent 16deg 29deg
  );
  -webkit-mask: radial-gradient(circle, transparent 0 20%, #000 27% 100%);
  mask: radial-gradient(circle, transparent 0 20%, #000 27% 100%);
  filter: blur(.35px) drop-shadow(0 0 5px rgba(255, 255, 255, .42));
  animation: gsmaiVortexFrayA var(--gsmai-dur-medium) linear infinite;
}

.gsmai-animation-vortex .gsmai-animation-layer-b {
  inset: 11%;
  background: repeating-conic-gradient(
    from 121deg,
    transparent 0 8deg,
    rgba(255, 255, 255, .76) 8deg 10deg,
    transparent 10deg 18deg,
    rgba(255, 255, 255, .25) 18deg 23deg,
    transparent 23deg 38deg
  );
  -webkit-mask: radial-gradient(circle, transparent 0 28%, #000 34% 100%);
  mask: radial-gradient(circle, transparent 0 28%, #000 34% 100%);
  filter: blur(.7px);
  animation: gsmaiVortexFrayB var(--gsmai-dur-fast) linear infinite reverse;
}

.gsmai-animation-vortex .gsmai-animation-layer-c {
  inset: 8%;
  background:
    radial-gradient(ellipse at 22% 17%, rgba(255, 255, 255, .92) 0 3%, transparent 7%),
    radial-gradient(ellipse at 78% 22%, rgba(255, 255, 255, .62) 0 2.5%, transparent 7%),
    radial-gradient(ellipse at 89% 66%, rgba(255, 255, 255, .8) 0 2.5%, transparent 8%),
    radial-gradient(ellipse at 45% 91%, rgba(255, 255, 255, .55) 0 3%, transparent 8%),
    radial-gradient(ellipse at 12% 62%, rgba(255, 255, 255, .72) 0 2%, transparent 7%);
  animation: gsmaiVortexFragments var(--gsmai-dur-slow) cubic-bezier(.45, 0, .55, 1) infinite;
}

.gsmai-animation-vortex .gsmai-animation-layer-d {
  inset: 31%;
  background:
    radial-gradient(circle at 42% 35%, rgba(255, 255, 255, .9) 0 5%, rgba(255, 255, 255, .22) 18%, rgba(3, 12, 32, .72) 48%, rgba(2, 8, 22, .96) 74%);
  box-shadow: 0 0 11px rgba(255, 255, 255, .22), inset 0 0 9px rgba(0, 0, 0, .78);
  animation: gsmaiVortexDepth var(--gsmai-dur-medium) ease-in-out infinite;
}

/* Umlaufbahnen */
.gsmai-animation-orbit .gsmai-animation-layer-a,
.gsmai-animation-orbit .gsmai-animation-layer-b {
  border-style: solid;
  border-color: transparent;
}

.gsmai-animation-orbit .gsmai-animation-layer-a {
  inset: 13%;
  border-width: 3px;
  border-top-color: rgba(255, 255, 255, .98);
  border-right-color: rgba(255, 255, 255, .32);
  animation: gsmaiSpin var(--gsmai-dur-medium) linear infinite;
}

.gsmai-animation-orbit .gsmai-animation-layer-b {
  inset: 27%;
  border-width: 2px;
  border-bottom-color: rgba(255, 255, 255, .9);
  border-left-color: rgba(255, 255, 255, .24);
  animation: gsmaiSpinReverse var(--gsmai-dur-slow) linear infinite;
}

.gsmai-animation-orbit .gsmai-animation-layer-c {
  inset: 48%;
  background: #fff;
  box-shadow: 0 0 10px rgba(255, 255, 255, .9);
  animation: gsmaiNodePulse var(--gsmai-dur-fast) ease-in-out infinite;
}

/* Bewegtes neuronales Netz */
.gsmai-neural-svg {
  position: absolute;
  inset: 8%;
  z-index: 4;
  width: 84%;
  height: 84%;
  overflow: visible;
  display: none;
  transform-origin: center;
}

.gsmai-animation-neural .gsmai-neural-svg {
  display: block;
  animation: gsmaiNeuralRotate var(--gsmai-dur-rotate) linear infinite;
}

.gsmai-neural-lines {
  fill: none;
  stroke: rgba(255, 255, 255, .68);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 7 5;
}

.gsmai-neural-lines-a {
  animation: gsmaiConnectionsA var(--gsmai-dur-slow) ease-in-out infinite, gsmaiDashFlow var(--gsmai-dur-medium) linear infinite;
}

.gsmai-neural-lines-b {
  opacity: 0;
  stroke: rgba(255, 255, 255, .84);
  animation: gsmaiConnectionsB var(--gsmai-dur-slow) ease-in-out infinite, gsmaiDashFlowReverse var(--gsmai-dur-medium) linear infinite;
}

.gsmai-neural-nodes circle {
  fill: #fff;
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, .82));
  transform-box: fill-box;
  transform-origin: center;
  animation: gsmaiNodePulse var(--gsmai-dur-medium) ease-in-out infinite;
}

.gsmai-neural-nodes circle:nth-child(2) { animation-delay: -.35s; }
.gsmai-neural-nodes circle:nth-child(3) { animation-delay: -.75s; }
.gsmai-neural-nodes circle:nth-child(4) { animation-delay: -1.1s; }
.gsmai-neural-nodes circle:nth-child(5) { animation-delay: -.55s; }
.gsmai-neural-nodes circle:nth-child(6) { animation-delay: -1.35s; }
.gsmai-neural-nodes circle:nth-child(7) { animation-duration: 1.15s; }

.gsmai-animation-neural .gsmai-animation-layer-a {
  inset: 19%;
  border: 1px solid rgba(255, 255, 255, .2);
  animation: gsmaiNeuralHalo var(--gsmai-dur-medium) ease-in-out infinite;
}

/* Partikelstrom */
.gsmai-animation-particles .gsmai-animation-layer-a {
  inset: 7%;
  background:
    radial-gradient(circle at 18% 21%, #fff 0 3%, transparent 4%),
    radial-gradient(circle at 68% 16%, rgba(255, 255, 255, .92) 0 2.6%, transparent 3.6%),
    radial-gradient(circle at 86% 55%, #fff 0 3.2%, transparent 4.2%),
    radial-gradient(circle at 42% 79%, rgba(255, 255, 255, .82) 0 2.7%, transparent 3.7%),
    radial-gradient(circle at 18% 62%, #fff 0 2.2%, transparent 3.2%),
    radial-gradient(circle at 56% 45%, rgba(255, 255, 255, .72) 0 2%, transparent 3%);
  animation: gsmaiSpin var(--gsmai-dur-slow) linear infinite;
}

.gsmai-animation-particles .gsmai-animation-layer-b {
  inset: 18%;
  border: 1px dashed rgba(255, 255, 255, .42);
  animation: gsmaiSpinReverse var(--gsmai-dur-slow) linear infinite;
}

/* Energiepuls */
.gsmai-animation-pulse .gsmai-animation-layer-a,
.gsmai-animation-pulse .gsmai-animation-layer-b {
  inset: 22%;
  border: 2px solid rgba(255, 255, 255, .9);
  animation: gsmaiPulseRing var(--gsmai-dur-medium) ease-out infinite;
}

.gsmai-animation-pulse .gsmai-animation-layer-b {
  animation-delay: .75s;
}

.gsmai-animation-none .gsmai-animation-layer,
.gsmai-animation-none .gsmai-neural-svg {
  display: none;
}


.gsmai-particle-field {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: none;
  pointer-events: none;
  border-radius: inherit;
}

.gsmai-animation-particles .gsmai-particle-field,
.gsmai-animation-vortex .gsmai-particle-field {
  display: block;
}

.gsmai-particle-field i {
  --p-angle: 0deg;
  --p-radius: 30%;
  --p-delay: 0s;
  --p-size: 2px;
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--p-size);
  height: var(--p-size);
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 0 5px rgba(255, 255, 255, .8);
  transform: rotate(var(--p-angle)) translateX(var(--p-radius));
  transform-origin: 0 0;
  animation: gsmaiParticleDrift var(--gsmai-dur-slow) ease-in-out var(--p-delay) infinite;
}

.gsmai-animation-vortex .gsmai-particle-field i {
  border-radius: 70% 30% 62% 38%;
  opacity: .65;
  animation-name: gsmaiVortexShard;
  animation-duration: var(--gsmai-dur-medium);
}

/* Minimierter Randpunkt */
.gsmai-widget.gsmai-minimized .gsmai-prompt {
  max-width: 0;
  padding-inline: 0;
  border-width: 0;
  opacity: 0;
  transform: scale(.4);
  overflow: hidden;
  pointer-events: none;
}

.gsmai-widget.gsmai-minimized .gsmai-launcher {
  width: var(--gsmai-minimized-size);
  height: var(--gsmai-minimized-size);
  flex-basis: var(--gsmai-minimized-size);
  border-radius: 50%;
  border-width: 1px;
  box-shadow: 0 0 0 4px rgba(var(--gsmai-primary-rgb), .12), 0 4px 14px rgba(5, 18, 44, .28);
  animation: gsmaiEdgeBeacon 2.5s ease-in-out infinite;
}

.gsmai-widget.gsmai-minimized .gsmai-animation-layer,
.gsmai-widget.gsmai-minimized .gsmai-neural-svg,
.gsmai-widget.gsmai-minimized .gsmai-mark,
.gsmai-widget.gsmai-minimized .gsmai-launcher::before {
  opacity: 0;
}

.gsmai-widget.gsmai-minimized .gsmai-launcher::after {
  content: "";
  position: absolute;
  inset: 28%;
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 0 8px rgba(255, 255, 255, .9);
}

.gsmai-position-bottom-right.gsmai-minimized {
  right: 4px;
  bottom: calc(4px + var(--gsmai-collision-offset));
}

.gsmai-position-bottom-left.gsmai-minimized {
  left: 4px;
  bottom: calc(4px + var(--gsmai-collision-offset));
}

.gsmai-position-bottom-center.gsmai-minimized {
  bottom: calc(4px + var(--gsmai-collision-offset));
}

.gsmai-position-top-right.gsmai-minimized { right: 4px; top: 4px; }
.gsmai-position-top-left.gsmai-minimized { left: 4px; top: 4px; }
.gsmai-position-top-center.gsmai-minimized { top: 4px; }
.gsmai-position-middle-right.gsmai-minimized { right: 4px; }
.gsmai-position-middle-left.gsmai-minimized { left: 4px; }

.gsmai-modal[hidden] {
  display: none;
}

.gsmai-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
}

.gsmai-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  cursor: default;
}

.gsmai-dialog {
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: min(356px, calc(100vw - 28px));
  height: min(510px, calc(100vh - 38px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(139, 186, 255, .3);
  border-radius: 18px;
  background: rgba(5, 20, 48, .91);
  color: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 70px rgba(1, 8, 24, .48), inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(20px) saturate(135%);
  -webkit-backdrop-filter: blur(20px) saturate(135%);
  animation: gsmaiModalIn .26s cubic-bezier(.2, .8, .2, 1);
}

.gsmai-position-top-left .gsmai-dialog,
.gsmai-position-middle-left .gsmai-dialog,
.gsmai-position-bottom-left .gsmai-dialog {
  right: auto;
  left: 24px;
}

.gsmai-position-top-center .gsmai-dialog,
.gsmai-position-middle-center .gsmai-dialog,
.gsmai-position-bottom-center .gsmai-dialog {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}

.gsmai-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 13px;
  border-bottom: 1px solid rgba(145, 189, 255, .18);
  background: linear-gradient(135deg, rgba(var(--gsmai-primary-rgb), .62), rgba(5, 20, 48, .42));
  color: #fff;
}

.gsmai-dialog-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gsmai-dialog-logo {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 50%;
  background: rgba(255, 255, 255, .09);
  font-size: 12px;
  font-weight: 850;
}

.gsmai-dialog-brand strong,
.gsmai-dialog-brand small {
  display: block;
}

.gsmai-dialog-brand small {
  margin-top: 2px;
  opacity: .78;
}

.gsmai-window-actions {
  display: flex;
  gap: 7px;
}

.gsmai-close,
.gsmai-minimize {
  width: 31px;
  height: 31px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.gsmai-minimize {
  font-size: 24px;
  padding-bottom: 9px;
}

.gsmai-close:hover,
.gsmai-close:focus-visible,
.gsmai-minimize:hover,
.gsmai-minimize:focus-visible {
  background: rgba(255, 255, 255, .25);
  outline: 2px solid rgba(255, 255, 255, .5);
  outline-offset: 2px;
}

.gsmai-dialog-body {
  flex: 1;
  overflow: auto;
  padding: 14px;
  background:
    radial-gradient(circle at 14% 8%, rgba(var(--gsmai-primary-rgb), .18), transparent 34%),
    rgba(3, 14, 36, .68);
  scroll-behavior: smooth;
}

.gsmai-message {
  max-width: 90%;
  margin-bottom: 9px;
  padding: 10px 12px;
  font-size: 13.5px;
  line-height: 1.48;
  box-shadow: 0 7px 20px rgba(0, 7, 24, .16);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.gsmai-message-assistant {
  border: 1px solid rgba(142, 187, 255, .2);
  border-radius: 14px 14px 14px 5px;
  background: rgba(18, 42, 82, .72);
  color: rgba(255, 255, 255, .94);
}

.gsmai-message-user {
  margin-left: auto;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px 14px 5px 14px;
  background: rgba(var(--gsmai-primary-rgb), .84);
  color: #fff;
}

.gsmai-message-thinking {
  opacity: .72;
  animation: gsmaiThinking 1.35s ease-in-out infinite;
}

.gsmai-sources {
  margin-top: 11px;
  padding-top: 9px;
  border-top: 1px solid rgba(71, 117, 209, .13);
  font-size: 12px;
  color: #52617b;
}

.gsmai-sources strong {
  display: block;
  margin-bottom: 4px;
}

.gsmai-sources ul {
  margin: 0;
  padding-left: 17px;
}

.gsmai-dialog-foot {
  display: grid;
  grid-template-columns: 1fr 38px;
  gap: 8px;
  padding: 10px;
  border-top: 1px solid rgba(142, 187, 255, .16);
  background: rgba(5, 19, 46, .88);
}

.gsmai-dialog-foot input {
  min-width: 0;
  height: 38px;
  padding: 0 11px;
  border: 1px solid rgba(145, 189, 255, .28);
  border-radius: 10px;
  background: rgba(255, 255, 255, .07);
  color: #fff;
  font-size: 13px;
}

.gsmai-dialog-foot input:focus {
  border-color: var(--gsmai-primary);
  outline: 3px solid rgba(var(--gsmai-primary-rgb), .16);
}

.gsmai-dialog-foot button {
  border: 0;
  border-radius: 10px;
  background: rgba(var(--gsmai-primary-rgb), .9);
  color: #fff;
  cursor: pointer;
  opacity: 1;
}

.gsmai-dialog-foot button:disabled,
.gsmai-dialog-foot input:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.gsmai-dialog-foot button.gsmai-sending {
  animation: gsmaiSendPulse .9s ease-in-out infinite;
}

.gsmai-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.gsmai-modal-open {
  overflow: hidden;
}

@keyframes gsmaiSpin { to { transform: rotate(360deg); } }
@keyframes gsmaiSpinReverse { to { transform: rotate(-360deg); } }
@keyframes gsmaiVortexFrayA {
  0% { transform: rotate(0deg) scale(1) skew(0deg); }
  35% { transform: rotate(126deg) scale(.93, 1.05) skew(3deg); }
  70% { transform: rotate(254deg) scale(1.06, .92) skew(-4deg); }
  100% { transform: rotate(360deg) scale(1) skew(0deg); }
}
@keyframes gsmaiVortexFrayB {
  0% { transform: rotate(0deg) scale(1.08); opacity: .5; }
  50% { transform: rotate(180deg) scale(.82); opacity: 1; }
  100% { transform: rotate(360deg) scale(1.08); opacity: .5; }
}
@keyframes gsmaiVortexFragments {
  0%, 100% { transform: rotate(0deg) scale(1); filter: blur(0); }
  28% { transform: rotate(105deg) scale(.86) translate(2%, -1%); filter: blur(.25px); }
  62% { transform: rotate(228deg) scale(1.08) translate(-2%, 2%); filter: blur(.7px); }
}
@keyframes gsmaiVortexDepth {
  0%, 100% { transform: scale(1); opacity: .95; }
  50% { transform: scale(.56) rotate(45deg); opacity: .52; }
}
@keyframes gsmaiNeuralRotate { to { transform: rotate(360deg); } }
@keyframes gsmaiConnectionsA {
  0%, 38% { opacity: .92; }
  50%, 88% { opacity: .16; }
  100% { opacity: .92; }
}
@keyframes gsmaiConnectionsB {
  0%, 38% { opacity: .12; }
  50%, 88% { opacity: .94; }
  100% { opacity: .12; }
}
@keyframes gsmaiDashFlow { to { stroke-dashoffset: -24; } }
@keyframes gsmaiDashFlowReverse { to { stroke-dashoffset: 24; } }
@keyframes gsmaiNodePulse {
  0%, 100% { transform: scale(.72); opacity: .62; }
  50% { transform: scale(1.38); opacity: 1; }
}
@keyframes gsmaiNeuralHalo {
  0%, 100% { transform: scale(.82) rotate(0); opacity: .2; }
  50% { transform: scale(1.2) rotate(180deg); opacity: .65; }
}
@keyframes gsmaiPulseRing {
  0% { transform: scale(.35); opacity: .95; }
  100% { transform: scale(1.85); opacity: 0; }
}
@keyframes gsmaiPromptFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes gsmaiModalIn {
  from { opacity: 0; scale: .97; }
  to { opacity: 1; scale: 1; }
}
@keyframes gsmaiEdgeBeacon {
  0%, 100% { transform: scale(.82); opacity: .58; }
  50% { transform: scale(1); opacity: 1; }
}
@keyframes gsmaiThinking {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; }
}
@keyframes gsmaiSendPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(.9); }
}

@media (max-width: 600px) {
  .gsmai-position-top-left,
  .gsmai-position-middle-left,
  .gsmai-position-bottom-left {
    left: 16px;
  }

  .gsmai-position-top-right,
  .gsmai-position-middle-right,
  .gsmai-position-bottom-right {
    right: 16px;
  }

  .gsmai-position-top-left,
  .gsmai-position-top-center,
  .gsmai-position-top-right {
    top: 16px;
  }

  .gsmai-position-bottom-left,
  .gsmai-position-bottom-center,
  .gsmai-position-bottom-right {
    bottom: calc(16px + var(--gsmai-collision-offset));
  }

  .gsmai-prompt {
    max-width: min(210px, calc(100vw - 120px));
    font-size: 14px;
  }

  .gsmai-dialog,
  .gsmai-position-top-left .gsmai-dialog,
  .gsmai-position-middle-left .gsmai-dialog,
  .gsmai-position-bottom-left .gsmai-dialog,
  .gsmai-position-top-center .gsmai-dialog,
  .gsmai-position-middle-center .gsmai-dialog,
  .gsmai-position-bottom-center .gsmai-dialog {
    inset: 12px;
    width: auto;
    height: auto;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gsmai-widget,
  .gsmai-prompt,
  .gsmai-animation-layer,
  .gsmai-neural-svg,
  .gsmai-neural-lines,
  .gsmai-neural-nodes circle,
  .gsmai-dialog,
  .gsmai-message-thinking,
  .gsmai-launcher {
    animation: none !important;
    transition: none !important;
  }
}


.gsmai-dialog-brand strong { font-size: 14px; font-weight: 750; }
.gsmai-dialog-brand small { font-size: 11px; color: rgba(255,255,255,.7); }
.gsmai-dialog-foot input::placeholder { color: rgba(255,255,255,.45); }
.gsmai-message-text { display: block; }

@keyframes gsmaiParticleDrift {
  0%, 100% { transform: rotate(var(--p-angle)) translateX(var(--p-radius)) scale(.68); opacity: .35; }
  48% { transform: rotate(calc(var(--p-angle) + 145deg)) translateX(var(--p-radius-mid)) scale(1.18); opacity: 1; }
}
@keyframes gsmaiVortexShard {
  0% { transform: rotate(var(--p-angle)) translateX(var(--p-radius)) scale(.45, 1.7); opacity: .2; }
  45% { transform: rotate(calc(var(--p-angle) + 170deg)) translateX(var(--p-radius-vortex)) scale(1.7, .38); opacity: .92; }
  100% { transform: rotate(calc(var(--p-angle) + 360deg)) translateX(8%) scale(.25, 1.1); opacity: .08; }
}

/* GSM AI Hub 0.7.11: configurable shell transparency, translucent shell, solid messages and contact cards. */
[data-gsmai-widget] .gsmai-dialog {
  background: rgba(4, 18, 44, var(--gsmai-chat-alpha, .62));
  border-color: rgba(147, 190, 255, .38);
  box-shadow: 0 26px 78px rgba(1, 8, 24, .52), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
}

[data-gsmai-widget] .gsmai-dialog-head {
  background: linear-gradient(135deg, rgba(var(--gsmai-primary-rgb), var(--gsmai-chat-head-alpha, .78)), rgba(5, 20, 48, var(--gsmai-chat-head-dark-alpha, .51)));
}

[data-gsmai-widget] .gsmai-dialog-body {
  background:
    radial-gradient(circle at 14% 8%, rgba(var(--gsmai-primary-rgb), .19), transparent 36%),
    rgba(3, 14, 36, var(--gsmai-chat-body-alpha, .30));
}

[data-gsmai-widget] .gsmai-dialog-foot {
  background: rgba(5, 19, 46, var(--gsmai-chat-foot-alpha, .72));
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

[data-gsmai-widget] .gsmai-message-assistant {
  background: #142f5b;
  border-color: rgba(153, 195, 255, .28);
  color: #f8fbff;
}

[data-gsmai-widget] .gsmai-message-user {
  background: rgb(var(--gsmai-primary-rgb));
  border-color: rgba(255, 255, 255, .22);
  color: #fff;
}

[data-gsmai-widget] .gsmai-dialog-foot input[data-gsmai-input] {
  min-width: 0;
  height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(97, 132, 185, .55) !important;
  border-radius: 10px;
  background: #f7faff !important;
  color: #10213d !important;
  -webkit-text-fill-color: #10213d !important;
  caret-color: var(--gsmai-primary);
  opacity: 1;
  box-shadow: inset 0 1px 2px rgba(8, 26, 58, .08);
}

[data-gsmai-widget] .gsmai-dialog-foot input[data-gsmai-input]::placeholder {
  color: #63728b !important;
  -webkit-text-fill-color: #63728b !important;
  opacity: 1;
}

[data-gsmai-widget] .gsmai-dialog-foot input[data-gsmai-input]:focus {
  border-color: var(--gsmai-primary) !important;
  outline: 3px solid rgba(var(--gsmai-primary-rgb), .22);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .75), inset 0 1px 2px rgba(8, 26, 58, .06);
}

[data-gsmai-widget] .gsmai-dialog-foot input[data-gsmai-input]:disabled {
  background: #e8eef8 !important;
  color: #58667b !important;
  -webkit-text-fill-color: #58667b !important;
  opacity: .82;
}

[data-gsmai-widget] .gsmai-dialog-foot input[data-gsmai-input]:-webkit-autofill,
[data-gsmai-widget] .gsmai-dialog-foot input[data-gsmai-input]:-webkit-autofill:hover,
[data-gsmai-widget] .gsmai-dialog-foot input[data-gsmai-input]:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #f7faff inset !important;
  -webkit-text-fill-color: #10213d !important;
  caret-color: var(--gsmai-primary);
}

.gsmai-contact-card {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(163, 202, 255, .3);
  border-radius: 12px;
  background: #0c2347;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.gsmai-contact-heading {
  display: block;
  margin: 0 0 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.gsmai-contact-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 5px 6px;
  border-radius: 9px;
  color: #f6f9ff !important;
  text-decoration: none !important;
  transition: background .18s ease, transform .18s ease;
}

.gsmai-contact-row + .gsmai-contact-row {
  margin-top: 3px;
}

.gsmai-contact-row:hover,
.gsmai-contact-row:focus-visible {
  background: rgba(255, 255, 255, .09);
  transform: translateX(1px);
  outline: none;
}

.gsmai-contact-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(var(--gsmai-primary-rgb), .28);
  color: #dceaff;
}

.gsmai-contact-whatsapp .gsmai-contact-icon {
  background: rgba(37, 211, 102, .17);
  color: #67e49a;
}

.gsmai-contact-icon svg {
  width: 16px;
  height: 16px;
  overflow: visible;
}

.gsmai-contact-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.gsmai-contact-copy small {
  color: rgba(225, 236, 255, .7);
  font-size: 10.5px;
  line-height: 1.15;
}

.gsmai-contact-copy > span {
  overflow-wrap: anywhere;
  color: #fff;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.25;
}

/* GSM AI Hub 0.7.11: exact shell opacity, avatar image and compact welcome spacing. */
[data-gsmai-widget] .gsmai-dialog {
  background: transparent;
}

[data-gsmai-widget] .gsmai-dialog-head {
  background: linear-gradient(135deg,
    rgba(var(--gsmai-primary-rgb), var(--gsmai-chat-head-alpha, .68)),
    rgba(5, 20, 48, var(--gsmai-chat-head-dark-alpha, .62)));
  backdrop-filter: blur(22px) saturate(142%);
  -webkit-backdrop-filter: blur(22px) saturate(142%);
}

[data-gsmai-widget] .gsmai-dialog-body {
  background:
    radial-gradient(circle at 14% 8%, rgba(var(--gsmai-primary-rgb), var(--gsmai-chat-accent-alpha, .15)), transparent 38%),
    rgba(3, 14, 36, var(--gsmai-chat-body-alpha, .62));
  backdrop-filter: blur(22px) saturate(138%);
  -webkit-backdrop-filter: blur(22px) saturate(138%);
}

[data-gsmai-widget] .gsmai-dialog-foot {
  background: rgba(5, 19, 46, var(--gsmai-chat-foot-alpha, .62));
}

[data-gsmai-widget] .gsmai-dialog-logo {
  overflow: hidden;
}

[data-gsmai-widget] .gsmai-dialog-logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

[data-gsmai-widget] .gsmai-message-welcome {
  line-height: 1.42;
}

[data-gsmai-widget] .gsmai-message-welcome br {
  display: block;
  content: "";
  margin-top: 3px;
}

/* GSM AI Hub 0.7.11: true mobile viewport chat, retained from the 0.7.9 development line. */
@media (max-width: 768px), (max-height: 600px) and (orientation: landscape) {
  [data-gsmai-widget].gsmai-modal-active {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: var(--gsmai-viewport-height, 100dvh) !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
    opacity: 1 !important;
    z-index: 2147483000 !important;
  }

  [data-gsmai-widget].gsmai-modal-active > .gsmai-widget-content {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  [data-gsmai-widget].gsmai-modal-active .gsmai-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: var(--gsmai-viewport-height, 100dvh) !important;
  }

  [data-gsmai-widget].gsmai-modal-active .gsmai-backdrop {
    display: none;
  }

  [data-gsmai-widget].gsmai-modal-active .gsmai-dialog,
  [data-gsmai-widget].gsmai-modal-active.gsmai-position-top-left .gsmai-dialog,
  [data-gsmai-widget].gsmai-modal-active.gsmai-position-middle-left .gsmai-dialog,
  [data-gsmai-widget].gsmai-modal-active.gsmai-position-bottom-left .gsmai-dialog,
  [data-gsmai-widget].gsmai-modal-active.gsmai-position-top-center .gsmai-dialog,
  [data-gsmai-widget].gsmai-modal-active.gsmai-position-middle-center .gsmai-dialog,
  [data-gsmai-widget].gsmai-modal-active.gsmai-position-bottom-center .gsmai-dialog {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 0 !important;
    transform: none !important;
  }

  [data-gsmai-widget].gsmai-modal-active .gsmai-dialog-head {
    flex: 0 0 auto;
    padding-top: max(12px, env(safe-area-inset-top));
    padding-right: max(13px, env(safe-area-inset-right));
    padding-left: max(13px, env(safe-area-inset-left));
  }

  [data-gsmai-widget].gsmai-modal-active .gsmai-dialog-body {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  [data-gsmai-widget].gsmai-modal-active .gsmai-dialog-foot {
    flex: 0 0 auto;
    padding-right: max(10px, env(safe-area-inset-right));
    padding-bottom: max(10px, env(safe-area-inset-bottom));
    padding-left: max(10px, env(safe-area-inset-left));
  }
}


/* 2.0.0-alpha2 CAPTCHA / Turnstile */
.gsmai-security-challenge{grid-column:1/-1;width:100%;padding:.65rem .75rem;border:1px solid rgba(138,176,236,.24);border-radius:12px;background:rgba(8,18,30,.72)}.gsmai-security-challenge[hidden]{display:none!important}.gsmai-security-challenge>small{display:block;margin-bottom:.45rem;color:#c7d7ed;font-size:.74rem}.gsmai-security-challenge__host{min-height:1px;max-width:100%;overflow:hidden}.gsmai-security-challenge iframe{max-width:100%}.gsmai-dialog-foot:has(.gsmai-security-challenge.is-active){grid-template-columns:minmax(0,1fr) auto;flex-wrap:wrap}.gsmai-dialog-foot .gsmai-security-challenge.is-active{display:block}@media(max-width:420px){.gsmai-security-challenge{padding:.55rem}.gsmai-security-challenge__host{transform-origin:left top}}


/* 2.0.0-alpha2 – verständliche CAPTCHA-Zustände */
.gsmai-security-challenge__status{display:flex;align-items:flex-start;gap:.55rem}
.gsmai-security-challenge__status small{display:block;margin:0;color:#d7e5f7;font-size:.75rem;line-height:1.35}
.gsmai-security-challenge__indicator{flex:0 0 auto;width:.85rem;height:.85rem;margin-top:.12rem;border-radius:50%;border:2px solid rgba(176,204,244,.32);border-top-color:#8eb8ff}
.gsmai-security-challenge[data-state="checking"] .gsmai-security-challenge__indicator,
.gsmai-security-challenge[data-state="waiting"] .gsmai-security-challenge__indicator,
.gsmai-security-challenge[data-state="action_required"] .gsmai-security-challenge__indicator{animation:gsmai-security-spin .9s linear infinite}
.gsmai-security-challenge[data-state="ready"]{border-color:rgba(88,211,145,.46);background:rgba(11,46,33,.76)}
.gsmai-security-challenge[data-state="ready"] .gsmai-security-challenge__indicator{border:0;background:#58d391;position:relative}
.gsmai-security-challenge[data-state="ready"] .gsmai-security-challenge__indicator::after{content:"✓";position:absolute;inset:-.23rem 0 0 .08rem;color:#071a11;font-size:.72rem;font-weight:900}
.gsmai-security-challenge[data-state="action_required"]{border-color:rgba(255,196,72,.48);background:rgba(51,38,10,.78)}
.gsmai-security-challenge[data-state="error"]{border-color:rgba(255,111,111,.48);background:rgba(53,17,24,.78)}
.gsmai-security-challenge[data-state="error"] .gsmai-security-challenge__indicator{border:0;background:#ff7777}
.gsmai-security-challenge__retry{margin-top:.55rem;padding:.38rem .65rem;border:1px solid rgba(174,205,249,.34);border-radius:8px;background:rgba(70,111,180,.22);color:#edf5ff;font:inherit;font-size:.75rem;cursor:pointer}
.gsmai-security-challenge__retry:hover{background:rgba(70,111,180,.36)}
.gsmai-security-challenge__host{margin-top:.45rem}
@keyframes gsmai-security-spin{to{transform:rotate(360deg)}}
