.fp-page{--fp-bg:#050608;--fp-surface:#ffffff06;--fp-border:#ffffff14;--fp-border-strong:#ffffff24;--fp-text-1:#fff;--fp-text-2:#e9ecf1;--fp-text-3:#9aa3b2;--fp-text-4:#6a7383;--fp-accent:#7f5af0;--fp-accent-bright:#b8a6ff;background:var(--fp-bg);width:100%;min-height:80vh;color:var(--fp-text-2);justify-content:center;align-items:center;padding:89px 21px;display:flex;position:relative;overflow:hidden}.fp-page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 50% 0,#7f5af024,#0000 70%);width:min(900px,110%);height:480px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.fp-card{z-index:1;background:var(--fp-surface);border:1px solid var(--fp-border-strong);-webkit-backdrop-filter:blur(16px);border-radius:21px;width:100%;max-width:460px;padding:34px 34px 28px;position:relative;box-shadow:inset 0 1px #ffffff0d,0 24px 60px -24px #000000b3}.fp-icon-wrap{width:64px;height:64px;color:var(--fp-accent-bright);background:linear-gradient(135deg,#7f5af038,#7f5af014);border:1px solid #7f5af052;border-radius:16px;justify-content:center;align-items:center;margin:0 auto 21px;display:flex;box-shadow:0 8px 24px -8px #7f5af073}.fp-icon-wrap.fp-success{color:#6ee7a7;background:linear-gradient(135deg,#22c55e38,#22c55e0f);border-color:#22c55e59;box-shadow:0 8px 24px -8px #22c55e66}.fp-title{letter-spacing:-.02em;color:var(--fp-text-1);text-align:center;margin:0 0 8px;font-size:26px;font-weight:700;line-height:1.2}.fp-subtitle{color:var(--fp-text-3);text-align:center;margin:0 0 28px;font-size:14.5px;line-height:1.65}.fp-form{flex-direction:column;gap:16px;display:flex}.fp-field{flex-direction:column;gap:8px;display:flex}.fp-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fp-text-3);font-size:12px;font-weight:600}.fp-input{border:1px solid var(--fp-border-strong);width:100%;height:48px;color:var(--fp-text-1);appearance:none;background:#ffffff0a;border-radius:12px;padding:0 16px;font-size:15px;line-height:1.4;transition:border-color .18s,background .18s,box-shadow .18s}.fp-input::placeholder{color:var(--fp-text-4)}.fp-input:hover{border-color:#ffffff38}.fp-input:focus{border-color:var(--fp-accent);background:#7f5af00d;outline:none;box-shadow:0 0 0 3px #7f5af02e}.fp-input.is-invalid{border-color:#ef444480}.fp-input.is-invalid:focus{box-shadow:0 0 0 3px #ef444433}.fp-error{color:#fca5a5;background:#ef444414;border:1px solid #ef444447;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;line-height:1.55;display:flex}.fp-error svg{color:#f87171;flex-shrink:0;margin-top:1px}.fp-submit{color:#fff;letter-spacing:-.005em;cursor:pointer;background:linear-gradient(#8a66ff 0%,#6c45e0 100%);border:1px solid #7f5af099;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:4px;padding:0 21px;font-size:15px;font-weight:600;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s;display:inline-flex;box-shadow:inset 0 1px #ffffff26,0 8px 24px -8px #7f5af08c}.fp-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #fff3,0 12px 32px -8px #7f5af0b3}.fp-submit:active:not(:disabled){transform:translateY(0)}.fp-submit:disabled{opacity:.55;cursor:not-allowed}.fp-spinner{animation:.9s linear infinite fpSpin}@keyframes fpSpin{to{transform:rotate(360deg)}}.fp-footer{border-top:1px solid var(--fp-border);color:var(--fp-text-3);justify-content:center;align-items:center;gap:6px;margin-top:21px;padding-top:16px;font-size:13.5px;display:flex}.fp-footer a{color:var(--fp-accent-bright);font-weight:600;text-decoration:none;transition:color .15s}.fp-footer a:hover{color:#fff}.fp-success-body{text-align:center;flex-direction:column;align-items:center;display:flex}.fp-email-pill{color:var(--fp-text-1);word-break:break-all;background:#7f5af01a;border:1px solid #7f5af047;border-radius:50px;max-width:100%;margin:0 0 21px;padding:6px 13px;font-size:13px;font-weight:600;display:inline-block}.fp-neutral-msg{border:1px solid var(--fp-border);color:var(--fp-text-3);background:#ffffff08;border-radius:10px;width:100%;margin:0 0 28px;padding:13px 16px;font-size:13px;line-height:1.6}.fp-resend-zone{flex-direction:column;align-items:center;gap:12px;margin-bottom:4px;display:flex}.fp-resend-label{letter-spacing:.04em;color:var(--fp-text-4);font-size:12px}.fp-ring-wrap{justify-content:center;align-items:center;width:144px;height:144px;display:flex;position:relative}.fp-ring-svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.fp-ring-track{fill:none;stroke:#ffffff12;stroke-width:4px}.fp-ring-progress{fill:none;stroke:url(#fp-ring-grad);stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 6px #7f5af073);transition:stroke-dashoffset .5s linear}@media (prefers-reduced-motion:reduce){.fp-ring-progress{filter:none;transition:none}}.fp-ring-btn{z-index:1;color:#fff;cursor:pointer;background:linear-gradient(#8a66ff 0%,#6c45e0 100%);border:1px solid #7f5af099;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:112px;height:112px;font-size:13px;font-weight:600;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s;display:flex;position:relative;box-shadow:inset 0 1px #ffffff2e,0 10px 28px -10px #7f5af08c}.fp-ring-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,0 14px 36px -10px #7f5af0b3}.fp-ring-btn:active:not(:disabled){transform:scale(.97)}.fp-ring-btn:disabled{border-color:var(--fp-border-strong);color:var(--fp-text-3);cursor:not-allowed;box-shadow:none;background:#ffffff08}.fp-ring-btn-icon{color:inherit;margin-bottom:2px}.fp-ring-btn-text{line-height:1}.fp-ring-countdown{font-variant-numeric:tabular-nums;color:var(--fp-text-1);letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1}.fp-ring-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--fp-text-3);margin-top:4px;font-size:10px;font-weight:500}.fp-help{color:var(--fp-text-4);text-align:center;margin-top:13px;font-size:12.5px}@media (max-width:480px){.fp-page{padding:55px 16px}.fp-card{border-radius:18px;padding:28px 24px 24px}.fp-title{font-size:22px}}
