/* PluginPip 2027 / Corner Rail. Branded, unobtrusive quick-navigation. */
.pp-corner-rail {
  --rail-edge: rgba(223,194,255,.48);
  position: fixed;
  z-index: 130;
  right: clamp(14px,2.2vw,36px);
  bottom: max(16px,env(safe-area-inset-bottom,0px) + 12px);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  max-width: calc(100vw - 26px);
  padding: 7px;
  border-radius: 999px;
  border: 1px solid var(--rail-edge);
  color: #f4eaff;
  background: linear-gradient(115deg,rgba(53,29,91,.96),rgba(24,12,50,.96));
  box-shadow: 0 12px 38px rgba(13,4,32,.38), 0 0 0 1px rgba(188,118,255,.12), 0 0 19px rgba(159,66,241,.25);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  isolation: isolate;
}
.pp-corner-rail::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(100deg,rgba(179,101,238,.35),rgba(210,165,255,.85) 60%,rgba(199,248,58,.6));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.pp-corner-rail__links {
  display: flex;
  align-items: stretch;
  min-width: 0;
  max-width: 1100px;
  overflow: hidden;
  transition: max-width .4s cubic-bezier(.25,.8,.2,1),opacity .25s ease,transform .3s ease,visibility .25s;
}
.pp-corner-rail__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  position:relative;
  min-height: 54px;
  min-width: 77px;
  padding: 6px 12px;
  flex: 1 0 auto;
  color: #f5edff;
  text-decoration:none;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.16;
  background: transparent;
  border: 0;
  cursor:pointer;
  white-space: nowrap;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.pp-corner-rail__link > span { display:block; max-width:100px; overflow:hidden; text-overflow:ellipsis; }
.pp-corner-rail__link + .pp-corner-rail__link::before {
  content:"";
  position:absolute;
  inset:13px auto 13px 0;
  width:1px;
  background:rgba(232,208,255,.22);
}
.pp-corner-rail__icon { display:block; flex:none; width:22px; height:22px; }
.pp-corner-rail__link:hover,
.pp-corner-rail__link:focus-visible {color:#c9f93e;background:rgba(203,163,255,.13);border-radius:16px;}
.pp-corner-rail__link:hover .pp-corner-rail__icon {transform:translateY(-2px);}
.pp-corner-rail__link .pp-corner-rail__icon {transition:transform .2s ease;}
.pp-corner-rail__link:focus-visible,
.pp-corner-rail__toggle:focus-visible {outline:3px solid #e9d8ff;outline-offset:4px;}
.pp-corner-rail__link--contact {color:#c9f93e;}
.pp-corner-rail__toggle {
  position:relative;
  flex:0 0 57px;
  width:57px;
  height:57px;
  border-radius:999px;
  border: 2px solid #21103a;
  display:grid;
  place-items:center;
  padding:0;
  color:#1b0c2e;
  background:#ccfa3a;
  box-shadow:0 0 0 2px rgba(220,207,255,.55), 0 0 23px rgba(198,247,56,.42);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.pp-corner-rail__toggle:hover {transform:scale(1.05);background:#dcff66;box-shadow:0 0 0 2px rgba(221,208,255,.65),0 0 28px rgba(203,248,58,.75);}
.pp-corner-rail__spark {font-size:31px;line-height:1;display:block;font-family:Arial,sans-serif;transition:transform .35s cubic-bezier(.25,.8,.2,1);}
.pp-corner-rail[data-open="false"] .pp-corner-rail__spark {transform:rotate(-45deg);}
.pp-corner-rail[data-open="false"] .pp-corner-rail__links {
  max-width:0;
  opacity:0;
  visibility:hidden;
  transform:translateX(14px);
  pointer-events:none;
}
@media (max-width:1120px) and (min-width:761px) {
  .pp-corner-rail__link {min-width:58px;padding:6px 8px;font-size:10px;}
  .pp-corner-rail__icon{width:20px;height:20px;}
}
@media (max-width:760px) {
  .pp-corner-rail {
    right: max(14px,env(safe-area-inset-right,0px) + 12px);
    bottom: max(14px,env(safe-area-inset-bottom,0px) + 14px);
    padding:0;
    border:none;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .pp-corner-rail::before {display:none;}
  .pp-corner-rail__toggle {width:55px;height:55px;flex-basis:55px;box-shadow:0 0 0 3px #341b55,0 8px 25px #1505298c;}
  .pp-corner-rail__links {
    position:absolute;
    bottom:calc(100% + 12px);
    right:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
    width:min(320px,calc(100vw - 28px));
    max-width:none;
    padding:10px;
    border:1px solid rgba(231,194,255,.47);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(45,24,75,.98),rgba(22,10,45,.98));
    box-shadow:0 18px 40px rgba(12,4,28,.54),0 0 20px rgba(168,77,244,.22);
    transform-origin:bottom right;
    transition:opacity .22s ease,transform .28s ease,visibility .22s;
    overflow:visible;
  }
  .pp-corner-rail__link {
    min-width:0;
    min-height:54px;
    flex-direction:row;
    justify-content:flex-start;
    gap:10px;
    padding:11px 12px;
    font-size:12px;
    border-radius:12px;
  }
  .pp-corner-rail__link + .pp-corner-rail__link::before{display:none;}
  .pp-corner-rail__link--contact{grid-column:1/-1;}
  .pp-corner-rail__icon{width:21px;height:21px;}
  .pp-corner-rail__link > span { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .pp-corner-rail[data-open="false"] .pp-corner-rail__links {
    max-width:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(12px) scale(.96);
  }
}
@media(max-width:350px){.pp-corner-rail__links {width:min(294px,calc(100vw - 20px));gap:2px;padding:7px;}.pp-corner-rail__link{font-size:11px;padding:10px 7px;}}
@media(prefers-reduced-motion:reduce){.pp-corner-rail,.pp-corner-rail * {animation:none!important;transition:none!important;}}
