/* ===== 公共高级AI生成中弹窗 ===== */
.ai-power-mask{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:
        radial-gradient(circle at 20% 15%,rgba(37,99,235,.30),transparent 30%),
        radial-gradient(circle at 82% 72%,rgba(147,51,234,.28),transparent 32%),
        rgba(2,6,23,.58);
    backdrop-filter:blur(14px);
}

.ai-power-mask.show{
    display:flex;
}

.ai-power-card{
    position:relative;
    width:430px;
    max-width:100%;
    overflow:hidden;
    border-radius:30px;
    background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(30,41,59,.96),rgba(17,24,39,.96));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:
        0 30px 90px rgba(0,0,0,.42),
        0 0 60px rgba(99,102,241,.22);
    color:#fff;
    padding:30px 28px 28px;
}

.ai-power-card:before{
    content:"";
    position:absolute;
    inset:-120px;
    background:
        radial-gradient(circle at 18% 22%,rgba(59,130,246,.44),transparent 26%),
        radial-gradient(circle at 82% 28%,rgba(168,85,247,.34),transparent 30%),
        radial-gradient(circle at 48% 88%,rgba(34,211,238,.26),transparent 32%);
    animation:aiPowerGlow 5.5s ease-in-out infinite alternate;
}

@keyframes aiPowerGlow{
    from{transform:translate(-18px,-10px) scale(1);}
    to{transform:translate(20px,16px) scale(1.08);}
}

.ai-power-inner{
    position:relative;
    z-index:2;
    text-align:center;
}

.ai-power-orb{
    position:relative;
    width:88px;
    height:88px;
    margin:0 auto 18px;
    border-radius:50%;
    background:linear-gradient(135deg,#38bdf8,#6366f1,#a855f7);
    box-shadow:
        0 0 35px rgba(99,102,241,.75),
        inset 0 0 22px rgba(255,255,255,.22);
    animation:aiPowerOrb 1.9s ease-in-out infinite;
}

.ai-power-orb:before,
.ai-power-orb:after{
    content:"";
    position:absolute;
    inset:-12px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.24);
    animation:aiPowerRing 1.8s ease-out infinite;
}

.ai-power-orb:after{
    inset:-25px;
    animation-delay:.42s;
    border-color:rgba(56,189,248,.22);
}

@keyframes aiPowerOrb{
    0%,100%{transform:scale(.96);filter:brightness(.95);}
    50%{transform:scale(1.05);filter:brightness(1.16);}
}

@keyframes aiPowerRing{
    0%{transform:scale(.72);opacity:.9;}
    100%{transform:scale(1.35);opacity:0;}
}

.ai-power-title{
    font-size:25px;
    font-weight:1000;
    letter-spacing:.5px;
    margin:0 0 10px;
}

.ai-power-desc{
    color:#dbeafe;
    line-height:1.75;
    font-size:15px;
    font-weight:800;
    margin:0;
}

.ai-power-sub{
    margin-top:14px;
    color:#93c5fd;
    font-size:13px;
    font-weight:900;
}

.ai-power-progress{
    height:9px;
    margin-top:22px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.12);
}

.ai-power-progress span{
    display:block;
    width:38%;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#22c55e,#38bdf8,#818cf8,#c084fc);
    animation:aiPowerProgress 1.25s ease-in-out infinite;
}

@keyframes aiPowerProgress{
    0%{transform:translateX(-110%);}
    100%{transform:translateX(270%);}
}

.ai-power-dots{
    display:inline-flex;
    gap:5px;
    margin-left:4px;
    vertical-align:middle;
}

.ai-power-dots i{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#bfdbfe;
    animation:aiPowerDot 1s ease-in-out infinite;
}

.ai-power-dots i:nth-child(2){animation-delay:.15s;}
.ai-power-dots i:nth-child(3){animation-delay:.3s;}

@keyframes aiPowerDot{
    0%,100%{opacity:.35;transform:translateY(0);}
    50%{opacity:1;transform:translateY(-4px);}
}


/* ===== 免费次数用完 VIP GOLD 精品弹窗 ===== */
.ai-vip-limit-mask{
    position:fixed;
    inset:0;
    z-index:1000000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:
        radial-gradient(circle at 18% 14%,rgba(250,204,21,.18),transparent 28%),
        radial-gradient(circle at 78% 74%,rgba(249,115,22,.20),transparent 32%),
        rgba(2,6,23,.66);
    backdrop-filter:blur(16px);
}

.ai-vip-limit-mask.show{
    display:flex;
}

.ai-vip-limit-card{
    position:relative;
    width:460px;
    max-width:100%;
    overflow:hidden;
    border-radius:32px;
    background:linear-gradient(145deg,#111827,#020617,#1e1b4b);
    color:#fff;
    padding:34px 30px 28px;
    border:1px solid rgba(250,204,21,.28);
    box-shadow:
        0 32px 96px rgba(0,0,0,.46),
        0 0 68px rgba(250,204,21,.18);
}

.ai-vip-limit-card:before{
    content:"VIP GOLD";
    position:absolute;
    right:-28px;
    top:18px;
    transform:rotate(18deg);
    font-size:54px;
    font-weight:1000;
    letter-spacing:2px;
    color:rgba(250,204,21,.08);
    pointer-events:none;
}

.ai-vip-limit-card:after{
    content:"";
    position:absolute;
    inset:-120px;
    background:
        radial-gradient(circle at 18% 20%,rgba(250,204,21,.30),transparent 28%),
        radial-gradient(circle at 86% 30%,rgba(249,115,22,.22),transparent 26%),
        radial-gradient(circle at 50% 94%,rgba(124,58,237,.28),transparent 30%);
    animation:aiVipLimitGlow 6s ease-in-out infinite alternate;
}

@keyframes aiVipLimitGlow{
    from{transform:translate(-18px,-10px) scale(1);}
    to{transform:translate(18px,16px) scale(1.08);}
}

.ai-vip-limit-inner{
    position:relative;
    z-index:2;
    text-align:center;
}

.ai-vip-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 14px;
    border-radius:999px;
    background:linear-gradient(135deg,#facc15,#f97316);
    color:#111827;
    font-size:13px;
    font-weight:1000;
    box-shadow:0 12px 28px rgba(249,115,22,.32);
    margin-bottom:18px;
}

.ai-vip-limit-title{
    margin:0 0 12px;
    font-size:27px;
    font-weight:1000;
    letter-spacing:.5px;
}

.ai-vip-limit-desc{
    margin:0;
    color:#fde68a;
    font-size:16px;
    font-weight:900;
    line-height:1.72;
}

.ai-vip-limit-sub{
    margin:14px auto 0;
    max-width:360px;
    color:#dbeafe;
    line-height:1.7;
    font-size:14px;
}

.ai-vip-limit-actions{
    display:flex;
    gap:12px;
    margin-top:24px;
}

.ai-vip-limit-actions button{
    flex:1;
    height:48px;
    border:none;
    border-radius:16px;
    font-weight:1000;
    cursor:pointer;
}

.ai-vip-open-btn{
    background:linear-gradient(135deg,#facc15,#f97316);
    color:#111827;
    box-shadow:0 12px 28px rgba(249,115,22,.35);
}

.ai-vip-close-btn{
    background:rgba(255,255,255,.12);
    color:#fff;
    border:1px solid rgba(255,255,255,.16)!important;
}

.ai-vip-watermark{
    margin-top:18px;
    font-size:12px;
    color:rgba(255,255,255,.46);
    font-weight:900;
    letter-spacing:3px;
}
