/* ============================================================
   FarsKids — pop-up ورود / ثبت‌نام
   Opens over the current page; the persistent player is never touched.
   ============================================================ */
.fk-am{
    --am-ease:cubic-bezier(.22,1,.36,1);
    --am-spring:cubic-bezier(.34,1.45,.5,1);
    --am-a:#7c3aed; --am-b:#c026d3;
    --am-bg:#1d1a22; --am-line:rgba(255,255,255,.09);
    --am-text:#f5f3f7; --am-mute:#a8a1b3;
    position:fixed; inset:0; z-index:2147483647;
    display:flex; align-items:center; justify-content:center;
    padding:20px; box-sizing:border-box;
    font-family:inherit; color:var(--am-text);
    pointer-events:none; visibility:hidden;
}
.fk-am[hidden]{display:none!important}
.fk-am.is-mounted{visibility:visible}
.fk-am.is-open{pointer-events:auto}
.fk-am *{box-sizing:border-box}

/* ---------- backdrop ---------- */
.fk-am-backdrop{
    position:absolute; inset:0;
    background:radial-gradient(120% 90% at 50% 0%,rgba(124,58,237,.22),transparent 60%),rgba(9,7,13,.66);
    -webkit-backdrop-filter:blur(0px); backdrop-filter:blur(0px);
    opacity:0; transition:opacity .38s var(--am-ease),backdrop-filter .45s var(--am-ease),-webkit-backdrop-filter .45s var(--am-ease);
}
.fk-am.is-open .fk-am-backdrop{opacity:1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}

/* ---------- card ---------- */
.fk-am-card{
    position:relative; width:100%; max-width:468px; max-height:min(92vh,760px);
    display:flex; flex-direction:column;
    background:linear-gradient(180deg,#221e29 0%,#1a171f 100%);
    border:1px solid var(--am-line); border-radius:26px;
    box-shadow:0 40px 90px -20px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.02) inset,0 0 80px -30px rgba(192,38,211,.5);
    outline:none; overflow:hidden;
    opacity:0; transform:translateY(26px) scale(.93);
    transition:opacity .3s ease,transform .55s var(--am-spring);
    will-change:transform,opacity;
}
.fk-am.is-open .fk-am-card{opacity:1;transform:none}
.fk-am.is-closing .fk-am-card{transform:translateY(14px) scale(.96);opacity:0;transition:opacity .22s ease,transform .26s var(--am-ease)}
.fk-am.is-closing .fk-am-backdrop{opacity:0;transition-duration:.26s}

.fk-am-glow{
    position:absolute; inset:-1px -1px auto -1px; height:170px; pointer-events:none;
    background:radial-gradient(70% 120% at 50% -10%,rgba(168,85,247,.38),rgba(192,38,211,.12) 45%,transparent 72%);
}
.fk-am-scroll{
    position:relative; overflow-y:auto; overscroll-behavior:contain;
    padding:34px 30px 28px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent;
}

/* ---------- close ---------- */
.fk-am-close{
    position:absolute; top:14px; left:14px; z-index:5;
    width:36px; height:36px; display:grid; place-items:center; padding:0;
    border-radius:50%; border:1px solid var(--am-line); background:rgba(255,255,255,.05);
    color:#cfc8d8; cursor:pointer;
    transition:transform .35s var(--am-ease),background .25s,color .25s,border-color .25s;
}
.fk-am-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.fk-am-close:hover{background:rgba(192,38,211,.22);border-color:rgba(216,120,240,.5);color:#fff;transform:rotate(90deg)}
.fk-am-close:active{transform:rotate(90deg) scale(.9)}
.fk-am-close:focus-visible,.fk-am-tab:focus-visible,.fk-am-eye:focus-visible,.fk-am-link:focus-visible,.fk-am-submit:focus-visible,.fk-am-gbtn:focus-visible{outline:2px solid #d98cf0;outline-offset:2px}

/* ---------- head ---------- */
.fk-am-head{text-align:center;margin-bottom:22px}
.fk-am-badge{
    width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:19px;color:#fff;
    background:linear-gradient(135deg,var(--am-a),var(--am-b));
    box-shadow:0 14px 30px -10px rgba(192,38,211,.75),inset 0 1px 0 rgba(255,255,255,.3);
    transform:scale(.6) rotate(-14deg);opacity:0;
}
.fk-am-badge svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fk-am-badge circle{fill:rgba(255,255,255,.3)}
.fk-am.is-open .fk-am-badge{animation:fkAmPop .7s .12s var(--am-spring) forwards}
@keyframes fkAmPop{to{transform:none;opacity:1}}
.fk-am-title{margin:0;font-size:19px;line-height:1.6;font-weight:800;color:#fff;font-family:inherit}
.fk-am-sub{margin:4px 0 0;font-size:12.5px;line-height:1.9;color:var(--am-mute)}
.fk-am-head .fk-am-title,.fk-am-head .fk-am-sub{transition:opacity .2s ease,transform .3s var(--am-ease)}
.fk-am-head.is-swap .fk-am-title,.fk-am-head.is-swap .fk-am-sub{opacity:0;transform:translateY(5px)}

/* ---------- tabs ---------- */
.fk-am-tabs{
    position:relative; display:grid; grid-template-columns:1fr 1fr; padding:4px; margin-bottom:20px;
    background:rgba(255,255,255,.045); border:1px solid var(--am-line); border-radius:15px;
    max-height:60px; transition:max-height .4s var(--am-ease),opacity .3s,margin .4s var(--am-ease),padding .4s var(--am-ease),border-width .4s;
}
.fk-am.is-lost .fk-am-tabs{max-height:0;opacity:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0;overflow:hidden;pointer-events:none}
.fk-am-tab-ind{
    position:absolute; top:4px; bottom:4px; right:4px; width:calc(50% - 4px); border-radius:11px;
    background:linear-gradient(135deg,var(--am-a),var(--am-b));
    box-shadow:0 8px 20px -8px rgba(192,38,211,.8),inset 0 1px 0 rgba(255,255,255,.22);
    transition:transform .5s var(--am-spring);
}
.fk-am-tabs[data-active="register"] .fk-am-tab-ind{transform:translateX(-100%)}
.fk-am-tab{
    position:relative; z-index:1; padding:11px 8px; border:0; background:none; cursor:pointer;
    font:inherit; font-size:13.5px; font-weight:700; color:var(--am-mute); border-radius:11px;
    transition:color .3s;
}
.fk-am-tab:hover{color:#fff}
.fk-am-tab.is-active{color:#fff}

/* ---------- stage / panels ---------- */
.fk-am-stage{position:relative;transition:height .45s var(--am-ease);overflow:hidden;margin:0 -4px;padding:0 4px}
.fk-am-panel{display:none;opacity:0;transform:translateY(10px)}
.fk-am-panel.is-active{display:block}
.fk-am-panel.is-in{opacity:1;transform:none;transition:opacity .34s ease,transform .45s var(--am-ease)}
.fk-am-panel.is-out{opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .2s ease}
.fk-am-form{display:flex;flex-direction:column;gap:14px}
.fk-am-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ---------- fields ---------- */
.fk-am-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.fk-am-label{font-size:12px;color:var(--am-mute);font-weight:600}
.fk-am-label small{color:#7d7689;font-weight:400}
.fk-am-field input[type=text],.fk-am-field input[type=email],.fk-am-field input[type=password]{
    width:100%; height:46px; padding:0 14px; font:inherit; font-size:13.5px; color:#fff;
    background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.09); border-radius:13px; outline:none;
    transition:border-color .25s,background .25s,box-shadow .3s,transform .3s var(--am-ease);
}
.fk-am-field input::placeholder{color:#7a7386;font-size:12.5px}
.fk-am-field input:hover{background:rgba(255,255,255,.07)}
.fk-am-field input:focus{border-color:#b45be8;background:rgba(255,255,255,.075);box-shadow:0 0 0 4px rgba(168,85,247,.2)}
.fk-am-field input.is-bad{border-color:#f0709a;box-shadow:0 0 0 4px rgba(240,112,154,.16);animation:fkAmShake .4s}
@keyframes fkAmShake{20%{transform:translateX(5px)}40%{transform:translateX(-5px)}60%{transform:translateX(3px)}80%{transform:translateX(-2px)}}
.fk-am-pass{position:relative;display:block}
.fk-am-pass input{padding-left:44px!important}
.fk-am-eye{
    position:absolute; top:50%; left:6px; width:34px; height:34px; margin-top:-17px; padding:0; display:grid; place-items:center;
    border:0; border-radius:10px; background:none; color:#9a93a6; cursor:pointer; transition:color .2s,background .2s;
}
.fk-am-eye:hover{color:#fff;background:rgba(255,255,255,.07)}
.fk-am-eye svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fk-am-eye .fk-am-eye-shut{display:none}
.fk-am-eye.is-on .fk-am-eye-open{display:none}
.fk-am-eye.is-on .fk-am-eye-shut{display:block}

.fk-am-meter{display:block;height:5px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden}
.fk-am-meter i{display:block;height:100%;width:0;border-radius:5px;background:#c026d3;transition:width .35s var(--am-ease),background .3s}
.fk-am-meter-text{font-size:11px;color:#7d7689;transition:color .3s}

.fk-am-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.fk-am-check{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--am-mute);cursor:pointer;user-select:none}
.fk-am-check input{position:absolute;opacity:0;pointer-events:none}
.fk-am-box{
    width:18px;height:18px;border-radius:6px;border:1.5px solid rgba(255,255,255,.25);display:grid;place-items:center;flex:none;
    transition:background .25s,border-color .25s,transform .3s var(--am-spring);
}
.fk-am-box::after{
    content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) scale(0);margin-top:-2px;
    transition:transform .3s var(--am-spring);
}
.fk-am-check input:checked+.fk-am-box{background:linear-gradient(135deg,var(--am-a),var(--am-b));border-color:transparent}
.fk-am-check input:checked+.fk-am-box::after{transform:rotate(-45deg) scale(1)}
.fk-am-check input:focus-visible+.fk-am-box{outline:2px solid #d98cf0;outline-offset:2px}
.fk-am-check:active .fk-am-box{transform:scale(.88)}

.fk-am-link{background:none;border:0;padding:2px 0;font:inherit;font-size:12px;color:#c99bf5;cursor:pointer;transition:color .2s}
.fk-am-link:hover{color:#fff}
.fk-am-back{align-self:center;margin-top:2px}
.fk-am-hint{margin:0;font-size:12.5px;line-height:2;color:var(--am-mute)}

/* ---------- message ---------- */
.fk-am-msg{
    padding:11px 14px;border-radius:12px;font-size:12.5px;line-height:1.9;text-align:center;
    background:rgba(240,112,154,.12);border:1px solid rgba(240,112,154,.35);color:#ffb3cb;
    animation:fkAmMsg .4s var(--am-ease);
}
.fk-am-msg[hidden]{display:none}
.fk-am-msg.is-ok{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.35);color:#9bf0b9}
@keyframes fkAmMsg{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

/* ---------- submit ---------- */
.fk-am-submit{
    position:relative;height:48px;border:0;border-radius:14px;cursor:pointer;color:#fff;font:inherit;font-size:14px;font-weight:800;
    background:linear-gradient(135deg,var(--am-a),var(--am-b));background-size:140% 140%;background-position:0 50%;
    box-shadow:0 14px 28px -12px rgba(192,38,211,.8),inset 0 1px 0 rgba(255,255,255,.25);
    display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;
    transition:transform .3s var(--am-ease),box-shadow .3s,background-position .6s var(--am-ease),opacity .2s;
}
.fk-am-submit::after{
    content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);
    transform:translateX(110%);transition:transform .8s var(--am-ease);
}
.fk-am-submit:hover{transform:translateY(-2px);background-position:100% 50%;box-shadow:0 18px 32px -12px rgba(192,38,211,.95),inset 0 1px 0 rgba(255,255,255,.3)}
.fk-am-submit:hover::after{transform:translateX(-110%)}
.fk-am-submit:active{transform:translateY(0) scale(.985)}
.fk-am-spin{
    display:none;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:fkAmSpin .7s linear infinite;
}
@keyframes fkAmSpin{to{transform:rotate(360deg)}}
.fk-am-form.is-busy .fk-am-spin{display:inline-block}
.fk-am-form.is-busy .fk-am-submit{pointer-events:none;opacity:.88}
.fk-am-form.is-busy .fk-am-submit-text{opacity:.85}

.fk-am-captcha{display:flex;justify-content:center;min-height:0;transform-origin:center top}
.fk-am-captcha:empty{display:none}

/* ---------- google ---------- */
.fk-am-or{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:#7d7689;font-size:11.5px}
.fk-am-or::before,.fk-am-or::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.fk-am.is-lost .fk-am-google{display:none}
.fk-am-gbtn{
    width:100%;height:47px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;cursor:pointer;
    background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);color:#fff;font:inherit;font-size:13.5px;font-weight:700;
    transition:background .25s,transform .3s var(--am-ease),border-color .25s;
}
.fk-am-gbtn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);transform:translateY(-2px)}
.fk-am-gbtn:active{transform:scale(.985)}
.fk-am-gbtn:disabled{opacity:.7;pointer-events:none}
.fk-am-g{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:#fff;color:#4285f4;font:700 14px/1 Arial,sans-serif;flex:none}
.fk-am-gvisual{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.fk-am-gvisual.is-shown{position:static;width:100%;height:auto;overflow:visible;opacity:1;pointer-events:auto;display:flex;justify-content:center;margin-top:10px}
.fk-am-gmsg{margin-top:10px}

/* ---------- success ---------- */
.fk-am-success{
    position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;
    background:linear-gradient(180deg,#221e29,#1a171f);opacity:0;transition:opacity .35s ease;padding:30px;
}
.fk-am-success[hidden]{display:none}
.fk-am.is-success .fk-am-success{opacity:1}
.fk-am-tick{width:92px;height:92px;margin-bottom:6px;transform:scale(.7);transition:transform .6s var(--am-spring)}
.fk-am.is-success .fk-am-tick{transform:none}
.fk-am-tick-c{fill:rgba(168,85,247,.14);stroke:#c026d3;stroke-width:2.5;stroke-dasharray:145;stroke-dashoffset:145}
.fk-am-tick-p{fill:none;stroke:#fff;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40}
.fk-am.is-success .fk-am-tick-c{animation:fkAmDraw .65s .1s var(--am-ease) forwards}
.fk-am.is-success .fk-am-tick-p{animation:fkAmDraw .45s .55s var(--am-ease) forwards}
@keyframes fkAmDraw{to{stroke-dashoffset:0}}
.fk-am-success-title{font-size:19px;font-weight:800;color:#fff;opacity:0;transform:translateY(8px)}
.fk-am-success-sub{font-size:12.5px;color:var(--am-mute);opacity:0;transform:translateY(8px)}
.fk-am.is-success .fk-am-success-title{animation:fkAmUp .5s .45s var(--am-ease) forwards}
.fk-am.is-success .fk-am-success-sub{animation:fkAmUp .5s .6s var(--am-ease) forwards}
@keyframes fkAmUp{to{opacity:1;transform:none}}

/* ---------- mobile: bottom sheet ---------- */
@media (max-width:560px){
    .fk-am{padding:0;align-items:flex-end}
    .fk-am-card{
        max-width:none;border-radius:26px 26px 0 0;max-height:94vh;max-height:94dvh;border-bottom:0;
        transform:translateY(100%);opacity:1;
        transition:transform .55s var(--am-ease);
        padding-bottom:env(safe-area-inset-bottom,0);
    }
    .fk-am.is-open .fk-am-card{transform:none}
    .fk-am.is-closing .fk-am-card{transform:translateY(100%);opacity:1;transition:transform .3s var(--am-ease)}
    .fk-am-card::before{
        content:"";position:absolute;top:8px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:rgba(255,255,255,.2);z-index:4;
    }
    .fk-am-scroll{padding:30px 20px 24px}
    .fk-am-grid{grid-template-columns:1fr}
    .fk-am-title{font-size:17.5px}
    .fk-am-field input{font-size:16px!important} /* stops iOS zoom-on-focus */
    .fk-am-captcha{transform:scale(.9)}
}
@media (max-width:359px){.fk-am-captcha{transform:scale(.78);margin:0 -20px}}

@media (prefers-reduced-motion:reduce){
    .fk-am *,.fk-am *::before,.fk-am *::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
    .fk-am-badge{opacity:1;transform:none}
}
