/* FastVPS interaction language, shared by public tools, the panel and status. */
[data-fastvps-hover] {
  position: relative;
  isolation: isolate;
  transition: translate .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease;
}
[data-fastvps-hover]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(340px circle at var(--fastvps-pointer-x,50%) var(--fastvps-pointer-y,35%), rgba(30,232,240,.14), transparent 72%);
  transition: opacity .3s ease;
}
[data-fastvps-hover]::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(90deg,var(--blue,var(--secondary,#0b76ff)),var(--cyan,var(--accent,#1ee8f0)));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
[data-fastvps-hover]:focus-within {
  border-color: var(--cyan,var(--accent,#1ee8f0));
  box-shadow: 0 16px 36px rgba(0,0,0,.25), 0 0 28px rgba(30,232,240,.09);
}
[data-fastvps-hover]:focus-within::before { opacity: 1; }
[data-fastvps-hover]:focus-within::after { transform: scaleX(1); }
@media (hover:hover) and (pointer:fine) {
  [data-fastvps-hover]:hover {
    translate: 0 -6px;
    border-color: var(--cyan,var(--accent,#1ee8f0));
    box-shadow: 0 16px 36px rgba(0,0,0,.25), 0 0 28px rgba(30,232,240,.09);
  }
  [data-fastvps-hover]:hover::before { opacity: 1; }
  [data-fastvps-hover]:hover::after { transform: scaleX(1); }
}
html.fastvps-experience-ready [data-fastvps-enter] {
  opacity: 0;
  filter: blur(8px);
  transform: translate3d(0,38px,0);
  transition: opacity var(--fastvps-enter-duration,1.05s) cubic-bezier(.2,.8,.2,1), filter var(--fastvps-enter-duration,1.05s) cubic-bezier(.2,.8,.2,1), transform var(--fastvps-enter-duration,1.05s) cubic-bezier(.2,.8,.2,1), translate .28s ease, border-color .28s ease, box-shadow .28s ease;
  transition-delay: var(--fastvps-enter-delay,0ms), var(--fastvps-enter-delay,0ms), var(--fastvps-enter-delay,0ms), 0ms, 0ms, 0ms;
}
html.fastvps-experience-ready [data-fastvps-enter="left"] { transform: translate3d(-150px,0,0); }
html.fastvps-experience-ready [data-fastvps-enter="right"] { transform: translate3d(150px,0,0); }
html.fastvps-experience-ready [data-fastvps-enter="zoom"] { filter: blur(10px); transform: scale(.76); transform-origin: center; }
html.fastvps-experience-ready [data-fastvps-enter].is-entered { opacity: 1; filter: none; transform: none; }
@media (max-width:560px) {
  html.fastvps-experience-ready [data-fastvps-enter] { filter: blur(5px); transform: translate3d(0,28px,0); }
  html.fastvps-experience-ready [data-fastvps-enter="left"] { transform: translate3d(0,22px,0); }
  html.fastvps-experience-ready [data-fastvps-enter="right"] { transform: translate3d(0,34px,0); }
  html.fastvps-experience-ready [data-fastvps-enter="zoom"] { transform: scale(.88); }
  html.fastvps-experience-ready [data-fastvps-enter].is-entered { opacity: 1; filter: none; transform: none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  [data-fastvps-hover], [data-fastvps-hover]::before, [data-fastvps-hover]::after { transition: none; }
  [data-fastvps-hover]:hover { translate: none; }
  html.fastvps-experience-ready [data-fastvps-enter] { opacity: 1; filter: none; transform: none; transition: none; }
}
@media print {
  html.fastvps-experience-ready [data-fastvps-enter] { opacity: 1; filter: none; transform: none; }
}

/* Clip both the viewport and body so lateral entrances never widen the account layout. */
html.fastvps-experience-ready.fastvps-panel-motion,
html.fastvps-experience-ready body.fastvps-panel-motion { overflow-x: clip; }

/* Establish the hidden state immediately; animate only the entrance. */
html.fastvps-experience-ready [data-fastvps-enter]:not(.is-entered) { transition: none; }
