@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

html{height:100%}

body{
    font-family:'Figtree','CircularSp','Helvetica Neue',Helvetica,Arial,sans-serif;
    background:#000;
    color:#fff;
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* ── WRAPPER ── */
.sp-wrapper{
    width:100%;
    max-width:734px;
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:0 24px;
}

/* ── LOGO ── */
.sp-logo{
    margin-top:48px;
    margin-bottom:32px;
    display:flex;
    justify-content:center;
}
.sp-logo svg{width:40px;height:40px}

/* ── TITLE ── */
.sp-title{
    font-size:48px;
    font-weight:800;
    text-align:center;
    letter-spacing:-0.04em;
    line-height:1.1;
    margin-bottom:40px;
    color:#fff;
}

/* ── FORM CONTENT ── */
.sp-form{
    width:100%;
    max-width:324px;
    display:flex;
    flex-direction:column;
}

/* ── FIELD ── */
.sp-field{margin-bottom:16px}
.sp-field-label{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#fff;
    margin-bottom:8px;
}
.sp-input-wrap{position:relative}
.sp-input{
    width:100%;
    height:48px;
    padding:0 14px;
    background:transparent;
    border:1px solid #727272;
    border-radius:4px;
    color:#fff;
    font-size:16px;
    font-family:inherit;
    outline:none;
    transition:border-color .15s,box-shadow .15s;
}
.sp-input::placeholder{color:#a7a7a7}
.sp-input:hover{border-color:#fff}
.sp-input:focus{border-color:#fff;box-shadow:0 0 0 2px #fff}
.sp-input.sp-input-error{border-color:#f15e6c}
.sp-input.sp-input-error:focus{box-shadow:0 0 0 2px #f15e6c}
.sp-input.sp-input-readonly{
    color:#a7a7a7;
    border-color:#414141;
    background:#282828;
    cursor:default;
}
.sp-input.sp-input-readonly:hover{border-color:#414141}
.sp-input.sp-input-readonly:focus{border-color:#414141;box-shadow:none}

/* ── PASSWORD TOGGLE ── */
.sp-pass-toggle{
    position:absolute;
    right:12px;top:50%;
    transform:translateY(-50%);
    background:none;border:none;
    cursor:pointer;color:#a7a7a7;
    padding:4px;display:flex;
    align-items:center;justify-content:center;
    transition:color .15s;
}
.sp-pass-toggle:hover{color:#fff}

/* ── GREEN BUTTON ── */
.sp-btn-green{
    width:100%;
    height:48px;
    background:#1ed760;
    border:none;
    border-radius:500px;
    color:#000;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    font-family:inherit;
    transition:all .08s ease;
    letter-spacing:.02em;
    margin-top:8px;
}
.sp-btn-green:hover{background:#1fdf64;transform:scale(1.04)}
.sp-btn-green:active{background:#169c46;transform:scale(1)}

/* ── DIVIDER ── */
.sp-divider{
    display:flex;align-items:center;
    margin:32px 0;
}
.sp-divider::before,.sp-divider::after{
    content:'';flex:1;height:1px;background:#292929;
}
.sp-divider span{
    padding:0 16px;font-size:14px;color:#fff;font-weight:500;
}

/* ── SOCIAL BUTTONS ── */
.sp-social-list{
    display:flex;flex-direction:column;gap:8px;
    margin-bottom:0;
}
.sp-social-btn{
    display:flex;align-items:center;justify-content:center;
    gap:0;
    width:100%;height:48px;
    border-radius:500px;
    font-size:15px;font-weight:700;
    cursor:pointer;
    transition:all .1s ease;
    text-decoration:none;
    border:1px solid #727272;
    background:transparent;
    color:#fff;
    font-family:inherit;
    letter-spacing:.01em;
    position:relative;
}
.sp-social-btn:hover{border-color:#fff;background:rgba(255,255,255,.05);transform:scale(1.02)}
.sp-social-btn:active{transform:scale(.99);background:rgba(255,255,255,.08)}

.sp-social-btn .sp-icon{
    width:22px;height:22px;
    display:flex;align-items:center;justify-content:center;
    position:absolute;left:24px;
}
.sp-social-btn .sp-icon svg,.sp-social-btn .sp-icon img{width:22px;height:22px}

/* facebook override */
.sp-social-btn.sp-fb{
    background:#405a93;border-color:#405a93;
}
.sp-social-btn.sp-fb:hover{background:#4a6aab;border-color:#4a6aab}

/* ── BOTTOM LINKS ── */
.sp-bottom-links{
    text-align:center;
    margin-top:32px;
    padding-bottom:32px;
}
.sp-bottom-links p{
    color:#a7a7a7;
    font-size:16px;
    font-weight:500;
    margin-bottom:8px;
}
.sp-bottom-links a,.sp-link{
    color:#fff;
    text-decoration:underline;
    text-underline-offset:3px;
    font-weight:600;
    transition:color .15s;
}
.sp-bottom-links a:hover,.sp-link:hover{color:#1ed760}

.sp-signup-link{
    display:inline-block;
    font-size:16px;
    font-weight:700;
    color:#fff;
    text-decoration:underline;
    text-underline-offset:3px;
}
.sp-signup-link:hover{color:#1ed760}

/* ── BACK BUTTON ── */
.sp-back{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#a7a7a7;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    margin-bottom:16px;
    cursor:pointer;
    transition:color .15s;
    background:none;border:none;
    font-family:inherit;
    padding:0;
}
.sp-back svg{width:20px;height:20px}
.sp-back:hover{color:#fff}

/* ── PASSWORDLESS LINK ── */
.sp-alt-link{
    display:block;
    text-align:center;
    color:#fff;
    font-size:14px;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
    margin-top:24px;
    transition:color .15s;
}
.sp-alt-link:hover{color:#1ed760}

/* ── ERROR BANNER ── */
.sp-error-banner{
    display:none;
    background:rgba(241,94,108,.1);
    border:1px solid #f15e6c;
    border-radius:4px;
    padding:12px 16px;
    margin-bottom:16px;
    color:#f15e6c;
    font-size:14px;
    font-weight:500;
    text-align:left;
}
.sp-error-banner svg{vertical-align:-2px;margin-right:6px}

/* ── PAGE FOOTER ── */
.sp-page-footer{
    width:100%;
    padding:32px 24px;
    text-align:center;
    font-size:12px;
    color:#a7a7a7;
    line-height:1.6;
    margin-top:auto;
}
.sp-page-footer a{color:#a7a7a7;text-decoration:underline;text-underline-offset:2px}
.sp-page-footer a:hover{color:#fff}

/* ── LOADING OVERLAY ── */
.loading-overlay{
    display:none;
    position:fixed;top:0;left:0;
    width:100vw;height:100vh;
    background:rgba(0,0,0,.8);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    z-index:9999;
    justify-content:center;align-items:center;
    flex-direction:column;gap:16px;
}
.sp-spinner{
    width:48px;height:48px;
    border:4px solid rgba(30,215,96,.15);
    border-top-color:#1ed760;
    border-radius:50%;
    animation:sp-spin .7s linear infinite;
}
@keyframes sp-spin{to{transform:rotate(360deg)}}
.sp-loading-text{color:#a7a7a7;font-size:14px;font-weight:500}

/* ── RESPONSIVE ── */
@media(max-width:480px){
    .sp-title{font-size:32px;margin-bottom:32px}
    .sp-logo{margin-top:32px;margin-bottom:24px}
    .sp-form{max-width:100%}
    .sp-social-btn{font-size:14px;height:44px}
    .sp-btn-green{height:44px;font-size:15px}
}
