/* Platform human check (bootstrap/forms.php). A site restyles it by setting these variables on .pf-check. */
.pf-check{
  --pf-bg:#0a0c11; --pf-glow:rgba(120,79,178,.2); --pf-text:#eef0f4; --pf-muted:#8b91a1; --pf-line:rgba(255,255,255,.12);
  --pf-accent:#74C255; --pf-accent-rgb:116,194,85; --pf-second:#a98be0; --pf-second-rgb:169,139,224; --pf-trail-from:#784FB2;
  --pf-danger:#e5675e; --pf-radius:16px; --pf-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  position:relative;margin-top:22px;border:1px solid var(--pf-line);border-radius:var(--pf-radius);padding:18px 20px 16px;
  background:radial-gradient(90% 120% at 100% 0%,var(--pf-glow),transparent 60%),var(--pf-bg);color:var(--pf-text);
  transition:border-color .4s,box-shadow .4s;font-size:15px;line-height:1.5}
.pf-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.pf-head b{font-size:15px;font-weight:600}
.pf-status{font-family:var(--pf-mono);font-size:12.5px;color:var(--pf-muted)}
.pf-track{position:relative;height:46px;margin:16px 14px 12px;touch-action:none}
.pf-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--pf-line) 0 6px,transparent 6px 12px)}
.pf-trail{position:absolute;left:0;top:50%;height:2px;margin-top:-1px;width:0;background:linear-gradient(90deg,var(--pf-trail-from),var(--pf-accent));box-shadow:0 0 12px rgba(var(--pf-accent-rgb),.6)}
.pf-slot{position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.pf-slot svg{width:100%;height:100%;fill:rgba(var(--pf-second-rgb),.08);stroke:var(--pf-second);stroke-width:1.4;stroke-linejoin:round;transition:.35s;animation:pfpulse 2s ease-in-out infinite}
.pf-slot .pf-tick{fill:none;stroke:var(--pf-bg);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:12;stroke-dashoffset:12;transition:stroke-dashoffset .5s .15s}
@keyframes pfpulse{50%{filter:drop-shadow(0 0 8px rgba(var(--pf-second-rgb),.7))}}
.pf-packet{position:absolute;top:50%;left:0;z-index:1;width:26px;height:26px;transform:translate(-50%,-50%);border-radius:50%;cursor:grab;outline:0;
  background:radial-gradient(circle at 35% 35%,#fff,var(--pf-accent) 55%);box-shadow:0 0 0 6px rgba(var(--pf-accent-rgb),.14),0 0 22px rgba(var(--pf-accent-rgb),.75);transition:box-shadow .2s}
.pf-packet:focus-visible{box-shadow:0 0 0 3px var(--pf-bg),0 0 0 5px var(--pf-text),0 0 22px rgba(var(--pf-accent-rgb),.75)}
.pf-check.pf-dragging .pf-packet{cursor:grabbing;box-shadow:0 0 0 10px rgba(var(--pf-accent-rgb),.18),0 0 34px rgba(var(--pf-accent-rgb),.95)}
.pf-check:not(.pf-dragging):not(.pf-locked) .pf-packet{transition:left .45s cubic-bezier(.3,1.4,.5,1),box-shadow .2s}
.pf-check:not(.pf-dragging):not(.pf-locked) .pf-trail{transition:width .45s cubic-bezier(.3,1.4,.5,1)}
.pf-check.pf-near .pf-slot svg{stroke:var(--pf-accent);fill:rgba(var(--pf-accent-rgb),.14);transform:scale(1.12)}
.pf-check.pf-locked .pf-slot svg{stroke:var(--pf-accent);fill:var(--pf-accent);animation:none;filter:drop-shadow(0 0 14px rgba(var(--pf-accent-rgb),.9))}
.pf-check.pf-locked .pf-slot .pf-tick{stroke-dashoffset:0}
.pf-check.pf-locked .pf-packet{opacity:0;transform:translate(-50%,-50%) scale(.3);transition:opacity .3s,transform .3s}
.pf-check.pf-verified{border-color:rgba(var(--pf-accent-rgb),.55);box-shadow:0 0 30px rgba(var(--pf-accent-rgb),.16)}
.pf-check.pf-verified .pf-status{color:var(--pf-accent)}
.pf-check.pf-miss{animation:pfshake .4s}
@keyframes pfshake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.pf-check.pf-failed .pf-status{color:var(--pf-danger)}
.pf-pow{display:flex;align-items:center;gap:12px;font-family:var(--pf-mono);font-size:12px;color:var(--pf-muted)}
.pf-bar{flex:none;width:90px;height:4px;border-radius:4px;background:var(--pf-line);overflow:hidden}
.pf-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pf-trail-from),var(--pf-accent));transition:width .3s}
.pf-err{display:block;font-style:normal;font-size:13px;color:var(--pf-danger)}
.pf-err:not(:empty){margin-top:8px}
.pf-noscript{margin-top:10px;font-size:13.5px;color:var(--pf-danger)}
.pf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion: reduce){.pf-slot svg,.pf-check.pf-miss{animation:none}}
