/* ULIXES V2.5.3 optional, consent-first quick tour */
.ulx-tour-invite {
  --ulx-arrow-x: 50%;
  position: fixed;
  z-index: 2147482000;
  width: min(340px, calc(100vw - 28px));
  padding: 18px;
  color: #EAF7FF;
  border: 1px solid rgba(0,163,255,.38);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(6,12,20,.88), rgba(5,7,10,.76));
  box-shadow: 0 24px 70px rgba(0,0,0,.35), inset 0 0 45px rgba(0,163,255,.045);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  opacity: 0;
  transform: translateY(8px) scale(.985);
  pointer-events: none;
  transition: opacity .25s ease, transform .4s cubic-bezier(.16,1,.3,1);
}
.ulx-tour-invite.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.ulx-tour-invite::before {
  content: "";
  position: absolute;
  left: var(--ulx-arrow-x);
  width: 13px;
  height: 13px;
  border-left: 1px solid rgba(0,163,255,.38);
  border-top: 1px solid rgba(0,163,255,.38);
  background: rgba(6,12,20,.92);
  transform: translateX(-50%) rotate(45deg);
}
.ulx-tour-invite[data-side="bottom"]::before { top: -7px; }
.ulx-tour-invite[data-side="top"]::before { bottom: -7px; transform: translateX(-50%) rotate(225deg); }
.ulx-tour-invite__kicker { display: flex; align-items: center; gap: 8px; color: #82D8FF; font: 700 .64rem/1.3 "IBM Plex Mono", Consolas, monospace; letter-spacing: .13em; text-transform: uppercase; }
.ulx-tour-invite__kicker i { width: 7px; height: 7px; border-radius: 50%; background: #FF2D2D; box-shadow: 0 0 0 4px rgba(255,45,45,.08); }
.ulx-tour-invite strong { display: block; margin-top: 9px; color: #fff; font-size: 1.02rem; letter-spacing: -.015em; }
.ulx-tour-invite p { margin: 7px 0 0; color: #A8B7C8; font-size: .82rem; line-height: 1.55; }
.ulx-tour-invite__actions { display: flex; gap: 9px; margin-top: 15px; }
.ulx-tour-invite button { min-height: 38px; padding: 0 14px; border-radius: 7px; border: 1px solid rgba(255,255,255,.16); color: #D9E7F3; background: rgba(255,255,255,.045); font: 700 .72rem/1 Inter, sans-serif; cursor: pointer; }
.ulx-tour-invite button:first-child { color: #031018; background: #00A3FF; border-color: #00A3FF; box-shadow: 0 10px 26px rgba(0,163,255,.24); }
.ulx-tour-invite button:hover { transform: translateY(-1px); }

.driver-popover.ulx-driver-popover {
  max-width: 360px;
  padding: 20px;
  color: #DDEAF5;
  border: 1px solid rgba(0,163,255,.38);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(6,12,20,.96), rgba(5,7,10,.94));
  box-shadow: 0 28px 90px rgba(0,0,0,.48), inset 0 0 50px rgba(0,163,255,.035);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.driver-popover.ulx-driver-popover .driver-popover-title { color: #fff; font: 700 1.05rem/1.25 Inter, sans-serif; letter-spacing: -.02em; }
.driver-popover.ulx-driver-popover .driver-popover-description { color: #9FB0C2; font: 400 .82rem/1.58 Inter, sans-serif; }
.driver-popover.ulx-driver-popover .driver-popover-progress-text { color: #6F8296; font: 700 .62rem/1 "IBM Plex Mono", Consolas, monospace; letter-spacing: .1em; }
.driver-popover.ulx-driver-popover .driver-popover-footer button { min-height: 36px; padding: 0 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 7px; color: #E8F4FC; background: rgba(255,255,255,.05); text-shadow: none; font: 700 .7rem/1 Inter, sans-serif; }
.driver-popover.ulx-driver-popover .driver-popover-footer button.driver-popover-next-btn { color: #031018; border-color: #00A3FF; background: #00A3FF; }
.driver-popover.ulx-driver-popover .driver-popover-close-btn { color: #8EA1B5; }
.driver-popover.ulx-driver-popover .driver-popover-arrow-side-left { border-left-color: rgba(6,12,20,.96); }
.driver-popover.ulx-driver-popover .driver-popover-arrow-side-right { border-right-color: rgba(6,12,20,.96); }
.driver-popover.ulx-driver-popover .driver-popover-arrow-side-top { border-top-color: rgba(6,12,20,.96); }
.driver-popover.ulx-driver-popover .driver-popover-arrow-side-bottom { border-bottom-color: rgba(6,12,20,.96); }
.driver-active-element { box-shadow: 0 0 0 1px rgba(0,163,255,.55), 0 0 50px rgba(0,163,255,.18) !important; }

.ulx-footer-tour-link { margin: 0; padding: 0; border: 0; color: inherit; background: none; font: inherit; cursor: pointer; }
.ulx-footer-tour-link:hover { color: #fff; }

@media (max-width: 720px) {
  .ulx-tour-invite { width: min(320px, calc(100vw - 20px)); padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ulx-tour-invite { transition: none; }
}
