/* EA668 v23 登录注册弹窗与独立认证页 */
.ea668-auth-trigger{
    appearance:none;
    border:0;
    cursor:pointer;
    font:inherit
}
.ea668-nav-login-compact{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:72px;
    height:40px;
    padding:0 13px;
    border:1px solid #bfdbfe;
    border-radius:12px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
    transition:.18s ease
}
.ea668-nav-login-compact:hover{
    border-color:#93c5fd;
    background:#dbeafe;
    transform:translateY(-1px)
}
body.ea668-auth-open{
    overflow:hidden!important
}
.ea668-auth-modal[hidden]{
    display:none!important
}
.ea668-auth-modal{
    position:fixed;
    inset:0;
    z-index:10000;
    display:grid;
    place-items:center;
    padding:20px
}
.ea668-auth-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.62);
    backdrop-filter:blur(7px)
}
.ea668-auth-dialog{
    position:relative;
    width:min(900px,calc(100vw - 32px));
    max-height:calc(100vh - 40px);
    overflow:auto;
    display:grid;
    grid-template-columns:minmax(250px,.78fr) minmax(360px,1.22fr);
    border:1px solid rgba(255,255,255,.82);
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 90px rgba(15,23,42,.28);
    animation:ea668AuthIn .22s ease both
}
@keyframes ea668AuthIn{
    from{opacity:0;transform:translateY(14px) scale(.985)}
    to{opacity:1;transform:none}
}
.ea668-auth-close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:rgba(255,255,255,.92);
    color:#475569;
    cursor:pointer;
    font-size:22px;
    line-height:1
}
.ea668-auth-close:hover{
    color:#0f172a;
    border-color:#bfdbfe;
    background:#eff6ff
}
.ea668-auth-side{
    position:relative;
    overflow:hidden;
    padding:38px 30px;
    color:#fff;
    background:
      radial-gradient(circle at 22% 15%,rgba(255,255,255,.22),transparent 28%),
      radial-gradient(circle at 86% 75%,rgba(56,189,248,.23),transparent 30%),
      linear-gradient(145deg,#1d4ed8 0%,#2563eb 48%,#4f46e5 100%)
}
.ea668-auth-side:after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-100px;
    bottom:-85px;
    border:34px solid rgba(255,255,255,.08);
    border-radius:50%
}
.ea668-auth-brand{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:34px;
    font-size:16px;
    font-weight:950
}
.ea668-auth-brand-logo{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#fff;
    color:#2563eb;
    font-size:14px;
    box-shadow:0 10px 25px rgba(15,23,42,.16)
}
.ea668-auth-side h2{
    position:relative;
    z-index:1;
    margin:0 0 13px;
    font-size:29px;
    line-height:1.25
}
.ea668-auth-side p{
    position:relative;
    z-index:1;
    margin:0;
    color:rgba(255,255,255,.82);
    line-height:1.8;
    font-size:14px
}
.ea668-auth-benefits{
    position:relative;
    z-index:1;
    display:grid;
    gap:10px;
    margin-top:28px
}
.ea668-auth-benefit{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:13px;
    background:rgba(255,255,255,.09);
    color:#fff;
    font-size:13px;
    font-weight:760
}
.ea668-auth-benefit b{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(255,255,255,.18);
    font-size:12px
}
.ea668-auth-main{
    min-width:0;
    padding:36px 36px 30px
}
.ea668-auth-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin:0 44px 24px 0;
    padding:5px;
    border-radius:14px;
    background:#f1f5f9
}
.ea668-auth-tab{
    min-height:42px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#64748b;
    cursor:pointer;
    font-size:14px;
    font-weight:900
}
.ea668-auth-tab[aria-selected="true"]{
    background:#fff;
    color:#2563eb;
    box-shadow:0 4px 14px rgba(15,23,42,.08)
}
.ea668-auth-panel[hidden]{
    display:none!important
}
.ea668-auth-panel h3{
    margin:0 0 6px;
    color:#0f172a;
    font-size:22px
}
.ea668-auth-panel-intro{
    margin:0 0 18px;
    color:#64748b;
    font-size:13px;
    line-height:1.65
}
.ea668-auth-status{
    display:none;
    margin:0 0 14px;
    padding:11px 13px;
    border:1px solid #fecaca;
    border-radius:11px;
    background:#fef2f2;
    color:#b91c1c;
    font-size:13px;
    line-height:1.55
}
.ea668-auth-status.is-visible{
    display:block
}
.ea668-auth-status.is-success{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#15803d
}
.ea668-auth-form{
    display:grid;
    gap:13px
}
.ea668-auth-field{
    display:grid;
    gap:6px
}
.ea668-auth-field label{
    color:#334155;
    font-size:12px;
    font-weight:900
}
.ea668-auth-input-wrap{
    position:relative
}
.ea668-auth-input{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:11px 13px;
    border:1px solid #dbe3ee;
    border-radius:11px;
    outline:0;
    background:#fff;
    color:#0f172a;
    font-size:14px;
    transition:.18s ease
}
.ea668-auth-input:focus{
    border-color:#60a5fa;
    box-shadow:0 0 0 4px rgba(37,99,235,.1)
}
.ea668-auth-input.has-toggle{
    padding-right:58px
}
.ea668-auth-password-toggle{
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    min-width:42px;
    height:30px;
    border:0;
    border-radius:8px;
    background:#f1f5f9;
    color:#475569;
    cursor:pointer;
    font-size:12px;
    font-weight:850
}
.ea668-auth-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px
}
.ea668-auth-captcha-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 148px 36px;
    gap:8px;
    align-items:center
}
.ea668-auth-captcha-image{
    display:block;
    width:148px;
    height:46px;
    border-radius:10px;
    background:#f8fafc;
    cursor:pointer
}
.ea668-auth-captcha-refresh{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid #dbe3ee;
    border-radius:10px;
    background:#fff;
    color:#2563eb;
    cursor:pointer;
    font-size:18px
}
.ea668-auth-captcha-refresh:hover{
    background:#eff6ff;
    border-color:#bfdbfe
}
.ea668-auth-check{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:#64748b;
    font-size:12px;
    line-height:1.55
}
.ea668-auth-check input{
    width:16px;
    height:16px;
    margin-top:2px;
    accent-color:#2563eb
}
.ea668-auth-submit{
    min-height:48px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,#2563eb,#4f46e5);
    color:#fff;
    cursor:pointer;
    font-size:15px;
    font-weight:950;
    box-shadow:0 10px 24px rgba(37,99,235,.22)
}
.ea668-auth-submit:hover{
    filter:brightness(1.04);
    transform:translateY(-1px)
}
.ea668-auth-submit:disabled{
    cursor:not-allowed;
    opacity:.65;
    transform:none
}
.ea668-auth-footnote{
    margin:14px 0 0;
    color:#94a3b8;
    font-size:12px;
    line-height:1.6;
    text-align:center
}
.ea668-auth-switch-link{
    border:0;
    padding:0;
    background:transparent;
    color:#2563eb;
    cursor:pointer;
    font:inherit;
    font-weight:900
}
.ea668-auth-invite-note{
    display:none;
    padding:9px 11px;
    border:1px solid #bfdbfe;
    border-radius:10px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:12px;
    line-height:1.55
}
.ea668-auth-invite-note.is-visible{
    display:block
}

/* 独立登录、注册页 */
.ea668-auth-page{
    min-height:calc(100vh - 160px);
    display:grid;
    place-items:center;
    padding:42px 16px;
    background:
      radial-gradient(circle at 15% 10%,rgba(37,99,235,.09),transparent 25%),
      radial-gradient(circle at 90% 85%,rgba(79,70,229,.08),transparent 28%),
      #f5f8fc
}
.ea668-auth-page-card{
    width:min(920px,100%);
    display:grid;
    grid-template-columns:minmax(250px,.8fr) minmax(360px,1.2fr);
    overflow:hidden;
    border:1px solid #e2e8f0;
    border-radius:24px;
    background:#fff;
    box-shadow:0 25px 70px rgba(15,23,42,.12)
}
.ea668-auth-page-card .ea668-auth-side{
    min-height:520px
}
.ea668-auth-page-main{
    padding:38px
}
.ea668-auth-page-main h1{
    margin:0 0 7px;
    color:#0f172a;
    font-size:28px
}
.ea668-auth-page-main>p{
    margin:0 0 22px;
    color:#64748b;
    line-height:1.7
}
.ea668-auth-page-links{
    margin:16px 0 0;
    color:#64748b;
    font-size:13px;
    text-align:center
}
.ea668-auth-page-links a{
    color:#2563eb;
    font-weight:900
}

@media(max-width:760px){
    .ea668-nav-login-compact{
        min-width:56px;
        height:38px;
        padding:0 9px
    }
    .ea668-auth-modal{
        align-items:end;
        padding:0
    }
    .ea668-auth-dialog{
        width:100%;
        max-height:92vh;
        grid-template-columns:1fr;
        border-radius:22px 22px 0 0
    }
    .ea668-auth-side{
        display:none
    }
    .ea668-auth-main{
        padding:24px 16px calc(22px + env(safe-area-inset-bottom))
    }
    .ea668-auth-tabs{
        margin-right:42px;
        margin-bottom:18px
    }
    .ea668-auth-row{
        grid-template-columns:1fr
    }
    .ea668-auth-captcha-row{
        grid-template-columns:minmax(0,1fr) 128px 36px
    }
    .ea668-auth-captcha-image{
        width:128px;
        object-fit:cover
    }
    .ea668-auth-page{
        padding:18px 10px
    }
    .ea668-auth-page-card{
        grid-template-columns:1fr;
        border-radius:18px
    }
    .ea668-auth-page-card .ea668-auth-side{
        display:none
    }
    .ea668-auth-page-main{
        padding:24px 16px
    }
    .ea668-auth-page-main h1{
        font-size:24px
    }
}

@media(max-width:620px){
    body.ea668-front .ea668-nav-main{
        gap:5px!important
    }
    body.ea668-front .ea668-nav-main .brand{
        max-width:calc(100vw - 154px)!important
    }
    body.ea668-front .ea668-nav-actions{
        gap:5px!important
    }
}
@media(max-width:390px){
    body.ea668-front .ea668-nav-main .brand>span:last-child{
        max-width:105px
    }
    .ea668-nav-login-compact{
        min-width:50px;
        padding:0 7px
    }
}

/* EA668 V1: restore email verification code in modal quick register */
.ea668-modal-email-code-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 118px;
    gap:8px;
    align-items:center
}
.ea668-modal-email-code-row .ea668-auth-input{
    min-width:0
}
.ea668-modal-email-code-row .ea668-auth-captcha-refresh,
.ea668-modal-email-code-btn{
    width:118px;
    min-width:118px;
    height:46px;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    line-height:1.2!important;
    text-align:center;
    font-size:13px;
    font-weight:900;
    padding:0 8px
}
.ea668-modal-email-code-tip{
    display:block;
    margin-top:7px;
    color:#64748b;
    font-size:12px;
    line-height:1.45
}
@media (max-width:560px){
    .ea668-modal-email-code-row{
        grid-template-columns:minmax(0,1fr) 106px
    }
    .ea668-modal-email-code-row .ea668-auth-captcha-refresh,
    .ea668-modal-email-code-btn{
        width:106px;
        min-width:106px;
        font-size:12px;
        padding-left:5px;
        padding-right:5px
    }
}

