@charset "UTF-8";
/********************************
 * AI工具箱
 * 走思范（http://zousifan.com）出品
 * !!盗版必究!!
 ********************************/
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,'Segoe UI',system-ui,sans-serif;background:radial-gradient(circle at 50% 30%,rgba(99,102,241,.15) 0,transparent 60%),#0a0a0f;color:#e0e0e0;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
body::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(99,102,241,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.08) 1px,transparent 1px);background-size:60px 60px;animation:gridMove 25s linear infinite;pointer-events:none;z-index:0}
@keyframes gridMove{0%{background-position:0 0}
100%{background-position:60px 60px}
}
.glow{text-shadow:0 0 20px rgba(165,180,252,.6),0 0 40px rgba(139,92,246,.4),0 0 80px rgba(99,102,241,.3)}
.card{background:rgba(15,15,28,.85);border:1px solid rgba(129,140,248,.25);border-radius:24px;backdrop-filter:blur(24px);width:440px;padding:48px 40px;box-shadow:0 0 60px -10px rgba(99,102,241,.4),0 25px 50px -12px rgb(0 0 0 / .5);position:relative;z-index:10;transition:all .4s cubic-bezier(.4, 0, .2, 1)}
.card:hover{box-shadow:0 0 80px -10px rgba(139,92,246,.5),0 30px 70px -15px rgb(0 0 0 / .6);border-color:rgba(165,180,252,.4)}
.input-dark{background:rgba(20,20,38,.85);border:1px solid rgba(129,140,248,.2);border-radius:12px;color:#e0e0e0;padding:14px 18px;font-size:15px;outline:0;width:100%;transition:all .3s ease}
.input-dark:focus{border-color:#818cf8;box-shadow:0 0 0 4px rgba(129,140,248,.15);transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,#6366f1,#a855f7,#6366f1);background-size:200% 200%;border:none;color:#fff;padding:14px 24px;border-radius:12px;font-weight:600;font-size:16px;cursor:pointer;width:100%;transition:all .4s ease;position:relative;overflow:hidden}
.btn-primary::before{content:'';position:absolute;top:-50%;left:-50%;width:40%;height:200%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-25deg);animation:shimmer 4s infinite}
@keyframes shimmer{0%{transform:translateX(-150%) skewX(-25deg)}
100%{transform:translateX(400%) skewX(-25deg)}
}
.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 15px 40px rgba(139,92,246,.5);background-position:100% 50%}
.toast{position:fixed;bottom:30px;right:30px;padding:14px 24px;border-radius:12px;font-size:14px;z-index:9999;transform:translateY(20px);opacity:0;transition:all .4s cubic-bezier(.4, 0, .2, 1);box-shadow:0 10px 30px rgba(0,0,0,.3)}
.toast.show{transform:translateY(0);opacity:1}
.toast-success{background:linear-gradient(135deg,#065f46,#047857);color:#a7f3d0;border:1px solid rgba(52,211,153,.4)}
.toast-error{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fca5a5;border:1px solid rgba(239,68,68,.4)}
.title-glow{background:linear-gradient(90deg,#c4d0ff,#a5b4fc,#c4d0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titlePulse 6s ease-in-out infinite}
@keyframes titlePulse{0%,100%{opacity:.95}
50%{opacity:1}
}