.ai-generator{--ai-bg:#0b0e13;--ai-surface:#111620;--ai-surface2:#181f2e;--ai-surface3:#1e2739;--ai-border:rgba(255,255,255,0.07);--ai-border2:rgba(255,255,255,0.12);--ai-text:#eef2f7;--ai-text2:#8b96a8;--ai-muted:#4a5568;--ai-accent:#f97316;--ai-accent2:#fb923c;--ai-accent-glow:rgba(249,115,22,0.18);--ai-blue:#3b82f6;--ai-blue-bg:rgba(59,130,246,0.1);--ai-green:#22c55e;--ai-green-bg:rgba(34,197,94,0.1);--ai-purple:#a855f7;--ai-purple-bg:rgba(168,85,247,0.1);--ai-yellow:#eab308;--ai-yellow-bg:rgba(234,179,8,0.1)}.light .ai-generator,:root:not(.dark) .ai-generator{--ai-bg:#ffffff;--ai-surface:#f9fafb;--ai-surface2:#f3f4f6;--ai-surface3:#e5e7eb;--ai-border:rgba(0,0,0,0.08);--ai-border2:rgba(0,0,0,0.12);--ai-text:#111827;--ai-text2:#4b5563;--ai-muted:#9ca3af;--ai-accent:#f97316;--ai-accent2:#fb923c;--ai-accent-glow:rgba(249,115,22,0.12);--ai-blue:#3b82f6;--ai-blue-bg:rgba(59,130,246,0.15);--ai-green:#22c55e;--ai-green-bg:rgba(34,197,94,0.15);--ai-purple:#a855f7;--ai-purple-bg:rgba(168,85,247,0.15);--ai-yellow:#eab308;--ai-yellow-bg:rgba(234,179,8,0.15)}.ai-generator{min-height:100vh;background:var(--ai-bg);color:var(--ai-text);position:relative;overflow-x:hidden;padding-top:80px}.ai-generator:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(249,115,22,.025) 1px,transparent 0),linear-gradient(90deg,rgba(249,115,22,.025) 1px,transparent 0);background-size:60px 60px;pointer-events:none;z-index:0}.light .ai-generator:before,:root:not(.dark) .ai-generator:before{background-image:linear-gradient(rgba(249,115,22,.04) 1px,transparent 0),linear-gradient(90deg,rgba(249,115,22,.04) 1px,transparent 0)}.stage-bar{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.9rem 1rem;margin-top:100px;position:sticky;top:80px;z-index:50;border-bottom:1px solid var(--ai-border);background:rgba(11,14,19,.92);backdrop-filter:blur(16px)}.light .stage-bar,:root:not(.dark) .stage-bar{background:rgba(255,255,255,.92)}.stage-btn{display:flex;align-items:center;gap:.45rem;padding:.42rem 1rem;border-radius:100px;border:1px solid var(--ai-border2);background:transparent;font-size:.76rem;font-weight:600;color:var(--ai-muted);cursor:pointer;transition:all .2s}.stage-btn:hover{color:var(--ai-text2);border-color:var(--ai-border2)}.stage-btn.active{background:var(--ai-accent);border-color:var(--ai-accent);color:#fff;box-shadow:0 3px 14px rgba(249,115,22,.3)}.stage-num{width:18px;height:18px;border-radius:50%;background:var(--ai-surface3);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700}.stage-btn.active .stage-num{background:rgba(255,255,255,.25)}.stage-sep{color:var(--ai-muted);font-size:.75rem}.stage-connector{width:40px;height:1.5px;background:var(--ai-border2);flex-shrink:0;transition:background .3s ease;margin:0 2px}.stage-connector.filled{background:var(--ai-accent)}.stage-btn.completed{color:var(--ai-green)}.stage-btn.completed .stage-num{background:rgba(34,197,94,.15);color:var(--ai-green)}@keyframes pulse-ring{0%{transform:scale(.85);opacity:.5}50%{transform:scale(1.15);opacity:.15}to{transform:scale(.85);opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.spinner{width:40px;height:40px;border:3px solid var(--ai-border2);border-top-color:var(--ai-accent);border-radius:50%;animation:spin .75s linear infinite;margin:0 auto}