/* Uğurlu Panel: the single portal is created only when a valid trigger is activated. */
[data-ugp-trigger="1"] { cursor: pointer; }
.ugp-portal[hidden] { display: none !important; }
.ugp-portal { position: fixed; inset: 0; isolation: isolate; z-index: 2147482000; pointer-events: none; }
.ugp-backdrop { position: absolute; inset: 0; background: var(--ugp-overlay, #000); opacity: var(--ugp-alpha, .55); pointer-events: auto; }
.ugp-motion {
  box-sizing: border-box; position: absolute; z-index: 1;
  width: min(100vw, var(--ugp-width, 400px)); height: min(100dvh, var(--ugp-height, 100vh));
  pointer-events: none; will-change: transform, opacity;
}
/* Nine independent viewport anchors; animation remains a separate setting. */
.ugp-motion[data-align^="top-"] { top: 0; }
.ugp-motion[data-align^="center-"] { top: 0; bottom: 0; margin-block: auto; }
.ugp-motion[data-align^="bottom-"] { bottom: 0; }
.ugp-motion[data-align$="-left"] { left: 0; }
.ugp-motion[data-align$="-center"] { left: 0; right: 0; margin-inline: auto; }
.ugp-motion[data-align$="-right"] { right: 0; }
.ugp-dialog {
  box-sizing: border-box; position: absolute; inset: 0; z-index: 1; border: 0; margin: 0;
  padding: 0; color: inherit; background: var(--ugp-background, #fff);
  width: 100%; height: 100%; overflow: hidden;
  pointer-events: auto; outline: none;
}
/* Clip the scroll container to the dialog's rounded border box. The outer
   shadow and the sibling close button remain outside this clipped area. */
.ugp-content {
  box-sizing: border-box; width: 100%; height: 100%;
  padding: var(--ugp-padding, 0px);
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: none; -ms-overflow-style: none;
}
.ugp-close {
  position: absolute; z-index: 3; width: 38px; height: 38px;
  display: grid; place-items: center; cursor: pointer; border: 0; border-radius: 50%;
  margin: 0; padding: 0; background: #222; color: #fff;
  font: 25px/1 Arial, sans-serif; box-shadow: 0 1px 5px #0003; pointer-events: auto;
}
.ugp-close:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.ugp-close[hidden] { display: none !important; }

/* Keep the actual scroll container scrollable, but do not reserve a gutter. */
.ugp-content::-webkit-scrollbar { display: none; width: 0; height: 0; }
.ugp-content:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.ugp-indicator {
  box-sizing: border-box; position: absolute; z-index: 2; display: grid;
  place-items: center; min-width: 44px; min-height: 44px; width: max-content;
  height: max-content; margin: 0; padding: 4px; border: 0; background: transparent;
  color: #222; font-size: var(--ugp-indicator-size, 24px); line-height: 1;
  cursor: pointer; pointer-events: auto; -webkit-tap-highlight-color: transparent;
}
.ugp-indicator[hidden] { display: none !important; }
.ugp-indicator:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 4px; }
.ugp-indicator-direction { display: inline-flex; align-items: center; justify-content: center; transform: rotate(0deg); }
.ugp-indicator[data-up="1"] .ugp-indicator-direction { transform: rotate(180deg); }
.ugp-indicator-visual { display: inline-flex; position: relative; align-items: center; justify-content: center; line-height: 1; transform-origin: center; }
.ugp-indicator-visual > i { font-size: 1em; line-height: 1; }
.ugp-indicator-visual svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.ugp-indicator-visual[data-animation]:not([data-animation="none"]) {
  animation-duration: var(--ugp-indicator-duration, 1200ms) !important;
  animation-delay: var(--ugp-indicator-delay, 0ms) !important;
  animation-iteration-count: var(--ugp-indicator-iterations, infinite) !important;
  animation-timing-function: ease-in-out !important;
  animation-fill-mode: none !important;
  animation-play-state: running !important;
}
.ugp-indicator-visual[data-animation="up-down"] { animation-name: ugpi-up-down !important; }
@keyframes ugpi-up-down { 0%,100% { transform:translateY(0) } 50% {transform:translateY(8px)} }
.ugp-indicator-visual[data-animation="bounce"] { animation-name: ugpi-bounce !important; }
@keyframes ugpi-bounce { 0%,100% {transform:translateY(0)} 30% {transform:translateY(-13px)} 55% {transform:translateY(3px)} 72% {transform:translateY(-5px)} }
.ugp-indicator-visual[data-animation="elastic-bounce"] { animation-name: ugpi-elastic-bounce !important; }
@keyframes ugpi-elastic-bounce { 0%,100% {transform:translateY(0) scaleY(1)} 28% {transform:translateY(-19px) scaleY(1.18)} 45% {transform:translateY(5px) scaleY(.77)} 65% {transform:translateY(-7px) scaleY(1.1)} 82% {transform:translateY(1px)} }
.ugp-indicator-visual[data-animation="spring"] { animation-name: ugpi-spring !important; }
@keyframes ugpi-spring { 0%,100% {transform:translateY(0)} 20% {transform:translateY(12px)} 45% {transform:translateY(-8px)} 65% {transform:translateY(5px)} 82% {transform:translateY(-2px)} }
.ugp-indicator-visual[data-animation="slide-down"] { animation-name: ugpi-slide-down !important; }
@keyframes ugpi-slide-down { 0% {transform:translateY(-13px);opacity:.4} 70% {transform:translateY(10px);opacity:1} 100% {transform:translateY(-13px);opacity:.4} }
.ugp-indicator-visual[data-animation="slide-up"] { animation-name: ugpi-slide-up !important; }
@keyframes ugpi-slide-up { 0% {transform:translateY(13px);opacity:.4} 70% {transform:translateY(-10px);opacity:1} 100% {transform:translateY(13px);opacity:.4} }
.ugp-indicator-visual[data-animation="left-right"] { animation-name: ugpi-left-right !important; }
@keyframes ugpi-left-right { 0%,100% {transform:translateX(-9px)} 50% {transform:translateX(9px)} }
.ugp-indicator-visual[data-animation="swing"] { animation-name: ugpi-swing !important; }
@keyframes ugpi-swing { 0%,100% {transform:rotate(-16deg)} 50% {transform:rotate(16deg)} }
.ugp-indicator-visual[data-animation="shake"] { animation-name: ugpi-shake !important; }
@keyframes ugpi-shake { 0%,100% {transform:translateX(0)} 12% {transform:translateX(-6px)} 24% {transform:translateX(6px)} 36% {transform:translateX(-5px)} 48% {transform:translateX(4px)} 60% {transform:translateX(-3px)} 72% {transform:translateX(2px)} }
.ugp-indicator-visual[data-animation="wiggle"] { animation-name: ugpi-wiggle !important; }
@keyframes ugpi-wiggle { 0%,100% {transform:rotate(0)} 20% {transform:rotate(-7deg)} 40% {transform:rotate(9deg)} 60% {transform:rotate(-5deg)} 80% {transform:rotate(3deg)} }
.ugp-indicator-visual[data-animation="wobble"] { animation-name: ugpi-wobble !important; }
@keyframes ugpi-wobble { 0%,100% {transform:translateX(0) rotate(0)} 18% {transform:translateX(-8px) rotate(-10deg)} 36% {transform:translateX(6px) rotate(8deg)} 57% {transform:translateX(-4px) rotate(-5deg)} 78% {transform:translateX(2px) rotate(2deg)} }
.ugp-indicator-visual[data-animation="pulse"] { animation-name: ugpi-pulse !important; }
@keyframes ugpi-pulse { 0%,100% {transform:scale(1)} 50% {transform:scale(1.2)} }
.ugp-indicator-visual[data-animation="heartbeat"] { animation-name: ugpi-heartbeat !important; }
@keyframes ugpi-heartbeat { 0%,30%,60%,100% {transform:scale(1)} 16% {transform:scale(1.35)} 45% {transform:scale(1.22)} }
.ugp-indicator-visual[data-animation="breathe"] { animation-name: ugpi-breathe !important; }
@keyframes ugpi-breathe { 0%,100% {transform:scale(.96);opacity:.75} 50% {transform:scale(1.07);opacity:1} }
.ugp-indicator-visual[data-animation="zoom-in"] { animation-name: ugpi-zoom-in !important; }
@keyframes ugpi-zoom-in { 0%,100% {transform:scale(.6);opacity:.5} 70% {transform:scale(1.18);opacity:1} }
.ugp-indicator-visual[data-animation="zoom-out"] { animation-name: ugpi-zoom-out !important; }
@keyframes ugpi-zoom-out { 0%,100% {transform:scale(1.38);opacity:1} 75% {transform:scale(.68);opacity:.65} }
.ugp-indicator-visual[data-animation="fade"] { animation-name: ugpi-fade !important; }
@keyframes ugpi-fade { 0%,100% {opacity:.2} 50% {opacity:1} }
.ugp-indicator-visual[data-animation="blink"] { animation-name: ugpi-blink !important; }
@keyframes ugpi-blink { 0%,18%,42%,75%,100% {opacity:1} 19%,41%,76%,95% {opacity:.05} }
.ugp-indicator-visual[data-animation="rotate"] { animation-name: ugpi-rotate !important; }
@keyframes ugpi-rotate { 0%,100% {transform:rotate(-25deg)} 50% {transform:rotate(25deg)} }
.ugp-indicator-visual[data-animation="spin"] { animation-name: ugpi-spin !important; }
@keyframes ugpi-spin { 0% {transform:rotate(0)} 100% {transform:rotate(360deg)} }
.ugp-indicator-visual[data-animation="reverse-spin"] { animation-name: ugpi-reverse-spin !important; }
@keyframes ugpi-reverse-spin { 0% {transform:rotate(0)} 100% {transform:rotate(-360deg)} }
.ugp-indicator-visual[data-animation="flip-x"] { animation-name: ugpi-flip-x !important; }
@keyframes ugpi-flip-x { 0%,100% {transform:perspective(300px) rotateX(0)} 50% {transform:perspective(300px) rotateX(180deg)} }
.ugp-indicator-visual[data-animation="flip-y"] { animation-name: ugpi-flip-y !important; }
@keyframes ugpi-flip-y { 0%,100% {transform:perspective(300px) rotateY(0)} 50% {transform:perspective(300px) rotateY(180deg)} }
.ugp-indicator-visual[data-animation="glow"] { animation-name: ugpi-glow !important; }
@keyframes ugpi-glow { 0%,100% {filter:drop-shadow(0 0 0 transparent)} 50% {filter:drop-shadow(0 0 9px currentColor)} }
.ugp-indicator-visual[data-animation="ripple"] { animation-name: ugpi-ripple !important; }
@keyframes ugpi-ripple { 0%,100% {transform:scale(1)} 55% {transform:scale(1.06)} }
.ugp-indicator-visual[data-animation="bounce-fade"] { animation-name: ugpi-bounce-fade !important; }
@keyframes ugpi-bounce-fade { 0%,100% {transform:translateY(8px);opacity:.15} 45% {transform:translateY(-11px);opacity:1} 67% {transform:translateY(1px);opacity:.85} }
.ugp-indicator-visual[data-animation="slide-zoom"] { animation-name: ugpi-slide-zoom !important; }
@keyframes ugpi-slide-zoom { 0%,100% {transform:translateX(-10px) scale(.75)} 50% {transform:translateX(9px) scale(1.25)} }
.ugp-indicator-visual[data-animation="pulse-glow"] { animation-name: ugpi-pulse-glow !important; }
@keyframes ugpi-pulse-glow { 0%,100% {transform:scale(.92);filter:drop-shadow(0 0 0 transparent)} 50% {transform:scale(1.17);filter:drop-shadow(0 0 7px currentColor)} }
.ugp-indicator-visual[data-animation="scroll-down-hint"] { animation-name: ugpi-scroll-down-hint !important; }
@keyframes ugpi-scroll-down-hint { 0%,100% {transform:translateY(-7px);opacity:0} 35% {transform:translateY(3px);opacity:1} 72% {transform:translateY(11px);opacity:.15} }
.ugp-indicator-visual[data-animation="soft-float"] { animation-name: ugpi-soft-float !important; }
@keyframes ugpi-soft-float { 0%,100% {transform:translate3d(-2px,-4px,0)} 50% {transform:translate3d(2px,4px,0)} }
.ugp-indicator-visual[data-animation="spin"],
.ugp-indicator-visual[data-animation="reverse-spin"] { animation-timing-function: linear; }
.ugp-indicator-visual[data-animation="ripple"]::after {
  content: ""; position: absolute; inset: -.25em; border: 2px solid currentColor;
  border-radius: 50%; pointer-events: none; opacity: 0;
  animation: ugpi-ripple-ring var(--ugp-indicator-duration,1200ms) ease-out var(--ugp-indicator-delay,0ms) var(--ugp-indicator-iterations,infinite) none;
}
@keyframes ugpi-ripple-ring { 0% {transform:scale(.5);opacity:.75} 100% {transform:scale(1.6);opacity:0} }

/* A deliberate user selection takes precedence over generic theme-level motion resets. */
.ugp-indicator-visual[data-animation="none"] { animation: none !important; }
