/* Pension Pie floating launcher + slide-up panel */

/* ---- Launcher: a named pill "Pension Assistant" ---- */
.ppc-fab{position:fixed;right:22px;bottom:22px;z-index:2147483000;height:58px;padding:0 20px 0 11px;border:none;border-radius:30px;cursor:pointer;
  background:linear-gradient(135deg,#8358e4 0%,#6a3fca 55%,#5a34ad 100%);
  box-shadow:0 12px 30px rgba(90,45,160,.42),0 2px 6px rgba(45,20,70,.26);
  display:inline-flex;align-items:center;gap:10px;color:#fff;
  transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,width .2s ease,padding .2s ease,border-radius .2s ease;
  animation:ppcfab-in .5s cubic-bezier(.34,1.56,.64,1) both}
.ppc-fab:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(90,45,160,.5),0 3px 9px rgba(45,20,70,.3)}
.ppc-fab:active{transform:translateY(0) scale(.98)}
.ppc-fab:focus-visible{outline:3px solid rgba(253,105,52,.75);outline-offset:3px}
.ppc-fab .ppc-ico{width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 1px 3px rgba(45,20,70,.2)}
.ppc-fab .ppc-ico img{width:24px;height:24px;display:block}
.ppc-fab .ppc-ico::after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;
  background:#37d67a;border:2px solid #fff;box-shadow:0 0 0 rgba(55,214,122,.6);animation:ppconline 2.4s ease-out infinite}
.ppc-fab .ppc-label{font:700 15px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;white-space:nowrap;letter-spacing:.01em}
.ppc-fab .ppc-x{display:none;font:700 26px/1 -apple-system,Arial,sans-serif;color:#fff}
/* open -> collapse to a round close button */
.ppc-fab.ppc-open{width:56px;height:56px;padding:0;border-radius:50%;justify-content:center;animation:none}
.ppc-fab.ppc-open .ppc-ico,.ppc-fab.ppc-open .ppc-label,.ppc-fab.ppc-open .ppc-badge{display:none}
.ppc-fab.ppc-open .ppc-x{display:block}

@keyframes ppcfab-in{0%{opacity:0;transform:translateY(14px) scale(.92)}100%{opacity:1;transform:none}}
@keyframes ppconline{0%{box-shadow:0 0 0 0 rgba(55,214,122,.55)}70%{box-shadow:0 0 0 7px rgba(55,214,122,0)}100%{box-shadow:0 0 0 0 rgba(55,214,122,0)}}

/* PREVIEW pill (preview mode only) */
.ppc-badge{position:absolute;top:-9px;right:14px;background:#fd6934;color:#fff;white-space:nowrap;
  font:800 8.5px/1 -apple-system,Arial,sans-serif;padding:3px 7px;border-radius:20px;letter-spacing:.07em;box-shadow:0 3px 9px rgba(253,105,52,.45)}

/* ---- Teaser prompt bubble ---- */
.ppc-teaser{position:fixed;right:24px;bottom:92px;z-index:2147482999;max-width:252px;
  background:#fff;color:#2a1748;border-radius:16px;padding:12px 32px 13px 14px;
  box-shadow:0 16px 38px rgba(45,20,70,.24);border:1px solid rgba(114,74,206,.12);
  font:500 13.5px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  cursor:pointer;opacity:0;transform:translateY(12px) scale(.95);pointer-events:none;
  transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}
.ppc-teaser.ppc-in{opacity:1;transform:none;pointer-events:auto}
.ppc-teaser strong{color:#724ace;font-weight:700}
.ppc-teaser .ppc-teaser-emoji{margin-right:4px}
.ppc-teaser::after{content:"";position:absolute;right:26px;bottom:-7px;width:14px;height:14px;background:#fff;
  border-right:1px solid rgba(114,74,206,.12);border-bottom:1px solid rgba(114,74,206,.12);transform:rotate(45deg)}
.ppc-teaser-x{position:absolute;top:6px;right:7px;width:20px;height:20px;border:none;border-radius:50%;background:#f1edfb;color:#6a5a90;
  font:700 11px/1 Arial,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}
.ppc-teaser-x:hover{background:#e5ddf8}

/* ---- Slide-up panel ---- */
.ppc-panel{position:fixed;right:22px;bottom:92px;z-index:2147483001;width:404px;max-width:calc(100vw - 32px);
  height:720px;max-height:calc(100vh - 124px);display:none;border-radius:20px;overflow:hidden;background:#fff;
  box-shadow:0 24px 60px rgba(45,20,70,.34)}
.ppc-panel.ppc-open{display:block;animation:ppcpop .24s cubic-bezier(.34,1.4,.64,1)}
@keyframes ppcpop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.ppc-panel iframe{width:100%;height:100%;border:0;display:block}

@media(prefers-reduced-motion:reduce){
  .ppc-fab,.ppc-fab .ppc-ico::after,.ppc-teaser,.ppc-panel.ppc-open{animation:none!important}
  .ppc-fab,.ppc-teaser{transition:opacity .2s ease!important}
}
@media(max-width:480px){
  .ppc-fab{right:16px;bottom:16px}
  .ppc-teaser{right:18px;bottom:86px;max-width:calc(100vw - 40px)}
  .ppc-panel{right:0;left:0;bottom:0;width:100vw;max-width:100vw;height:88vh;border-radius:18px 18px 0 0}
}

/* ---- Attention pulse: make the launcher more obvious ---- */
.ppc-fab.ppc-pulse{animation:ppcfab-in .4s ease both, ppcbob 2.6s ease-in-out 1.4s infinite}
@keyframes ppcbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.ppc-fab.ppc-pulse::before{content:"";position:absolute;inset:-4px;border-radius:34px;box-shadow:0 0 0 0 rgba(253,105,52,.55);animation:ppcring 2.4s ease-out infinite;pointer-events:none}
@keyframes ppcring{0%{box-shadow:0 0 0 0 rgba(253,105,52,.55)}70%{box-shadow:0 0 0 18px rgba(253,105,52,0)}100%{box-shadow:0 0 0 0 rgba(253,105,52,0)}}
.ppc-fab.ppc-open.ppc-pulse{animation:none}
.ppc-fab.ppc-open.ppc-pulse::before{display:none}
@media(prefers-reduced-motion:reduce){ .ppc-fab.ppc-pulse{animation:none!important} .ppc-fab.ppc-pulse::before{animation:none!important;display:none} }

/* ---- Centered mid-screen pop-up mode ---- */
.ppc-backdrop{position:fixed;inset:0;z-index:2147483000;background:rgba(28,18,54,.55)}
.ppc-panel.ppc-center{right:auto;bottom:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-width:calc(100vw - 32px);height:min(760px,92vh)}
.ppc-panel.ppc-center.ppc-open{display:block;animation:ppccenter .26s cubic-bezier(.34,1.4,.64,1)}
@keyframes ppccenter{from{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:560px){
  .ppc-panel.ppc-center{top:auto;bottom:0;left:0;transform:none;width:100vw;max-width:100vw;height:90vh;border-radius:18px 18px 0 0}
  .ppc-panel.ppc-center.ppc-open{animation:ppcpop .24s ease}
}
