/* ──────────────────────────────────────────────────────────────────────
   AI UFO 2030 — Floating Dock (bottom-right launcher)
   Back-to-top · UFO toggle · Ask/Kontakt
   ────────────────────────────────────────────────────────────────────── */

.aiufo2030 {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99996;
  font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
  color: #dcdcdc;
  --aiufo-accent: #0f0;
  --aiufo-accent-soft: rgba(0,255,80,.55);
  --aiufo-line: rgba(0,255,80,.45);
  --aiufo-bg: rgba(6,12,8,.92);
  pointer-events: none;
}
.aiufo2030 > * { pointer-events: auto; }

/* Collapsed pill */
.aiufo-pill {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .85rem;
  background: var(--aiufo-bg);
  border: 1px solid var(--aiufo-line);
  color: var(--aiufo-accent);
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
  border-radius: 999px;
  box-shadow:
    0 4px 18px rgba(0,0,0,.5),
    0 0 14px rgba(0,255,80,.18),
    inset 0 0 0 1px rgba(0,255,80,.08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: border-color .15s, box-shadow .2s, transform .15s;
}
.aiufo-pill:hover {
  border-color: var(--aiufo-accent);
  box-shadow:
    0 4px 22px rgba(0,0,0,.55),
    0 0 22px rgba(0,255,80,.4),
    inset 0 0 0 1px rgba(0,255,80,.15);
  transform: translateY(-1px);
}
.aiufo-pill .aiufo-icon {
  font-size: 1rem;
  line-height: 1;
  filter: drop-shadow(0 0 4px rgba(0,255,80,.7));
  animation: aiufo-bob 3.2s ease-in-out infinite;
}
@keyframes aiufo-bob {
  0%,100% { transform: translateY(0) rotate(-2deg); }
  50%     { transform: translateY(-2px) rotate(2deg); }
}
.aiufo-pill .aiufo-label {
  font-weight: 600;
  text-shadow: 0 0 6px rgba(0,255,80,.45);
}
.aiufo-pill .aiufo-version {
  color: #7be37b;
  opacity: .7;
  font-size: .58rem;
  letter-spacing: .15em;
}

/* Dock panel — open state */
.aiufo-dock {
  display: none;
  position: absolute;
  right: 0;
  bottom: 100%;
  margin-bottom: 8px;
  min-width: 230px;
  background: var(--aiufo-bg);
  border: 1px solid var(--aiufo-line);
  border-radius: 6px;
  box-shadow:
    0 8px 32px rgba(0,0,0,.6),
    0 0 20px rgba(0,255,80,.18),
    inset 0 0 0 1px rgba(0,255,80,.05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  overflow: hidden;
}
.aiufo2030[data-open="1"] .aiufo-dock { display: block; }
.aiufo2030[data-open="1"] .aiufo-pill .aiufo-caret { transform: rotate(180deg); }
.aiufo-caret {
  font-size: .55rem;
  margin-left: .15rem;
  transition: transform .2s;
  display: inline-block;
}

.aiufo-dock-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .8rem;
  border-bottom: 1px solid rgba(0,255,80,.18);
  font-size: .56rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--aiufo-accent);
  background: rgba(0,255,80,.04);
}
.aiufo-dock-head .dot {
  width: 6px; height: 6px;
  background: var(--aiufo-accent);
  box-shadow: 0 0 6px var(--aiufo-accent);
  border-radius: 50%;
  animation: aiufo-blink 2.2s ease-in-out infinite;
}
@keyframes aiufo-blink {
  0%,100% { opacity: 1; }
  50%     { opacity: .3; }
}
.aiufo-dock-head .ver { margin-left: auto; color: #7be37b; opacity: .7; letter-spacing: .15em; font-size: .55rem; }

.aiufo-actions {
  display: flex;
  flex-direction: column;
}
.aiufo-act {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .7rem .85rem;
  background: transparent;
  border: 0;
  border-bottom: 1px dashed rgba(0,255,80,.12);
  color: #dcdcdc;
  font-family: inherit;
  font-size: .72rem;
  letter-spacing: .08em;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s, color .15s;
  width: 100%;
  box-sizing: border-box;
}
.aiufo-act:last-child { border-bottom: 0; }
.aiufo-act:hover {
  background: rgba(0,255,80,.08);
  color: #fff;
}
.aiufo-act .aiufo-act-icon {
  width: 18px;
  text-align: center;
  font-size: .85rem;
  color: var(--aiufo-accent);
  text-shadow: 0 0 6px rgba(0,255,80,.55);
  flex: 0 0 auto;
}
.aiufo-act[data-state="on"] .aiufo-act-icon { animation: aiufo-bob 2s ease-in-out infinite; }
.aiufo-act .aiufo-act-sub {
  margin-left: auto;
  color: #7be37b;
  opacity: .6;
  font-size: .58rem;
  letter-spacing: .15em;
}

/* Contact pane */
.aiufo-pane {
  display: none;
  padding: .85rem;
  border-top: 1px solid rgba(0,255,80,.18);
  background: rgba(0,255,80,.02);
}
.aiufo2030[data-pane="contact"] .aiufo-pane { display: block; }
.aiufo2030[data-pane="contact"] .aiufo-actions { display: none; }

.aiufo-pane-head {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .58rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--aiufo-accent);
  margin-bottom: .55rem;
}
.aiufo-pane-back {
  margin-left: auto;
  background: transparent;
  border: 1px solid rgba(0,255,80,.25);
  color: #7be37b;
  font-family: inherit;
  font-size: .55rem;
  letter-spacing: .18em;
  padding: .15rem .45rem;
  border-radius: 2px;
  cursor: pointer;
  text-transform: uppercase;
}
.aiufo-pane-back:hover { border-color: var(--aiufo-accent); color: #fff; }

.aiufo-pane textarea {
  width: 100%;
  min-height: 90px;
  resize: vertical;
  background: rgba(0,0,0,.6);
  border: 1px solid rgba(0,255,80,.3);
  color: #fff;
  font-family: inherit;
  font-size: .8rem;
  line-height: 1.55;
  padding: .55rem .65rem;
  letter-spacing: .02em;
  outline: none;
  caret-color: var(--aiufo-accent);
  border-radius: 3px;
  box-sizing: border-box;
  margin-bottom: .5rem;
}
.aiufo-pane textarea:focus { border-color: var(--aiufo-accent); box-shadow: 0 0 8px rgba(0,255,80,.3); }
.aiufo-pane input.aiufo-from {
  width: 100%;
  background: rgba(0,0,0,.6);
  border: 1px solid rgba(0,255,80,.22);
  color: #fff;
  font-family: inherit;
  font-size: .72rem;
  padding: .4rem .6rem;
  outline: none;
  border-radius: 3px;
  box-sizing: border-box;
  margin-bottom: .5rem;
}
.aiufo-pane input.aiufo-from:focus { border-color: var(--aiufo-accent); }
.aiufo-pane .aiufo-row {
  display: flex;
  gap: .4rem;
  justify-content: flex-end;
  align-items: center;
}
.aiufo-pane .aiufo-row .aiufo-status {
  margin-right: auto;
  font-size: .58rem;
  color: #7be37b;
  letter-spacing: .15em;
  opacity: .8;
}
.aiufo-pane .aiufo-row button {
  background: transparent;
  border: 1px solid rgba(0,255,80,.3);
  color: #9bff9b;
  font-family: inherit;
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .35rem .8rem;
  border-radius: 3px;
  cursor: pointer;
  transition: all .15s;
}
.aiufo-pane .aiufo-row button.primary {
  background: rgba(0,255,80,.12);
  border-color: var(--aiufo-accent);
  color: #fff;
}
.aiufo-pane .aiufo-row button:hover {
  border-color: var(--aiufo-accent);
  color: #fff;
  box-shadow: 0 0 8px rgba(0,255,80,.4);
}
.aiufo-pane .aiufo-row button:disabled {
  opacity: .4;
  cursor: not-allowed;
  box-shadow: none;
}
.aiufo-pane .aiufo-honey { position: absolute; left: -9999px; opacity: 0; }
.aiufo-pane .aiufo-error { color: #fcc; font-size: .65rem; margin-bottom: .4rem; letter-spacing: .05em; }

/* Mobile tuning */
@media (max-width: 480px) {
  .aiufo2030 { right: 10px; bottom: 10px; }
  .aiufo-pill .aiufo-label { display: none; }
  .aiufo-pill { padding: .45rem .55rem; }
  .aiufo-dock { min-width: 220px; }
}
