*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#3b82f6;--primary-dark:#1d4ed8;--secondary-color:#8b5cf6;--accent-color:#06b6d4;--bg-color:#0f172a;--card-bg:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--border-color:#334155;--success-color:#10b981;--error-color:#ef4444}body{font-family:'Segoe UI','Microsoft YaHei',sans-serif;background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;min-height:100vh}header{text-align:center;margin-bottom:2rem}h1{font-size:2.5rem;background:linear-gradient(135deg,var(--accent-color),var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.5rem;position:relative;display:inline-block}h1::after{content:'';position:absolute;width:50%;height:3px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);bottom:-5px;left:25%}.subtitle{color:var(--text-secondary);font-size:1.1rem}.main-content{flex:1}.step-container{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}.left-panel,.right-panel{flex:1;min-width:300px}.form-group{margin-bottom:1.5rem;background-color:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);border:1px solid var(--border-color);position:relative;overflow:hidden}.form-group::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}label{display:block;margin-bottom:.75rem;font-weight:500}input[type=text]{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);background-color:rgba(255,255,255,.05);color:var(--text-primary);font-size:1rem;outline:0;transition:all .3s ease}input[type=text]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(59,130,246,.2)}.input-with-options{position:relative}.job-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.job-option{background-color:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);color:var(--text-primary);padding:.5rem 1rem;border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.job-option:hover{background-color:rgba(59,130,246,.2);border-color:var(--primary-color)}.job-option.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.name-gender-row{display:flex;gap:1.5rem}.name-input{flex:2;display:flex;flex-direction:column}.gender-input{flex:1;display:flex;flex-direction:column}.input-with-options input,.name-input input{height:45px;box-sizing:border-box;margin-top:.75rem;padding:.75rem 1rem}input[type=radio]{display:none}.gender-selector{display:flex;gap:1rem;margin-top:.75rem;height:45px}.gender-label{flex:1;height:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 .75rem;border-radius:8px;background-color:rgba(255,255,255,.05);border:1px solid var(--border-color);cursor:pointer;transition:all .3s ease}input[type=radio]:checked+.gender-label{background-color:rgba(59,130,246,.2);border-color:var(--primary-color);box-shadow:0 0 10px rgba(59,130,246,.3)}.gender-icon{width:22px;height:22px;filter:drop-shadow(0 0 2px rgba(255, 255, 255, .2))}.male-icon{fill:#3b82f6}.female-icon{fill:#ec4899}.gender-label span{font-weight:500;letter-spacing:.5px}.gender-label:hover{border-color:var(--primary-color);background-color:rgba(59,130,246,.1);transform:translateY(-2px);box-shadow:0 4px 8px rgba(59,130,246,.15)}.input-with-options input:focus,.name-input input:focus{border-color:var(--primary-color);box-shadow:0 0 8px rgba(59,130,246,.25);outline:0}@media (max-width:768px){.name-gender-row{flex-direction:column;gap:1rem}.gender-selector{margin-top:.75rem}}.photo-options{display:flex;gap:1rem;margin-bottom:1rem}.photo-option{display:flex;align-items:center;justify-content:center;gap:.5rem;background-color:rgba(255,255,255,.05);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;flex:1}.photo-option:hover{background-color:rgba(255,255,255,.1);border-color:var(--primary-color)}.option-icon{width:20px;height:20px;fill:var(--text-primary)}.camera-container{position:relative;width:100%;height:300px;border-radius:8px;overflow:hidden;margin-top:1rem}#cameraVideo{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.capture-btn{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:60px;height:60px;border-radius:50%;background-color:rgba(255,255,255,.8);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.capture-btn svg{width:40px;height:40px;fill:#ef4444}.close-camera-btn{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background-color:rgba(0,0,0,.5);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-camera-btn svg{width:24px;height:24px;fill:white}.photo-preview{position:relative;width:100%;height:300px;border-radius:8px;overflow:hidden;margin-top:1rem;display:flex;justify-content:center;align-items:center;background-color:#f5f5f5}.photo-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}.cancel-preview-btn{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background-color:rgba(0,0,0,.5);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.cancel-preview-btn svg{width:20px;height:20px;fill:white}button{font-family:inherit;border:none;cursor:pointer}.primary-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;width:100%;transition:all .3s ease;position:relative;overflow:hidden}.primary-btn svg{width:20px;height:20px;fill:white}.primary-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:all .5s ease}.primary-btn:hover::before{left:100%}.primary-btn:hover{box-shadow:0 4px 12px rgba(59,130,246,.4)}.primary-btn:disabled{background:linear-gradient(135deg,#64748b,#475569);cursor:not-allowed;box-shadow:none}.primary-btn:disabled::before{display:none}.secondary-btn{background-color:transparent;border:1px solid var(--primary-color);color:var(--primary-color);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;transition:all .3s ease}.secondary-btn:hover{background-color:rgba(59,130,246,.1)}.result-container{background-color:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 4px 6px rgba(0,0,0,.1);border:1px solid var(--border-color);height:100%;min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}.result-container::before{content:'';position:absolute;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent,var(--primary-color),var(--secondary-color),var(--accent-color),transparent);opacity:.05;animation:rotate 20s linear infinite;top:-50%;left:-50%;z-index:-1}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.placeholder-content{text-align:center;color:var(--text-secondary)}.placeholder-icon{width:80px;height:80px;fill:var(--text-secondary);margin-bottom:1rem}.loading-effect{text-align:center;position:relative;z-index:1}.loading-spinner{width:80px;height:80px;border-radius:50%;border:4px solid rgba(59,130,246,.1);border-top-color:var(--primary-color);border-right-color:var(--secondary-color);animation:spin 1.5s infinite ease-in-out;margin:0 auto 1.5rem;position:relative}.loading-spinner::before{content:'';position:absolute;top:-15px;left:-15px;right:-15px;bottom:-15px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.2) 0,transparent 70%);filter:blur(10px);animation:pulse 2s infinite}.loading-effect p{color:var(--text-primary);font-size:1.1rem;font-weight:500;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;color:transparent;animation:colorShift 2s infinite alternate}@keyframes pulse{0%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}100%{opacity:.5;transform:scale(.8)}}@keyframes colorShift{0%{background-position:0 50%}100%{background-position:100% 50%}}@keyframes spin{to{transform:rotate(360deg)}}.result-image{width:100%;text-align:center}.result-image img{max-width:100%;max-height:512px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.result-image img:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.3)}.result-description{margin-top:1.5rem;width:100%;display:flex;flex-direction:column;gap:1rem}.description-text{background-color:rgba(255,255,255,.05);border-radius:8px;padding:1rem;border:1px solid var(--border-color);color:var(--text-primary);font-size:1rem;line-height:1.6}.description-text p{margin:0;text-align:justify}.audio-controls{display:flex;justify-content:center;margin-top:.5rem}.audio-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--accent-color),var(--primary-color));color:#fff;padding:.6rem 1.2rem;border-radius:20px;transition:all .3s ease;border:none;font-size:.9rem;cursor:pointer}.audio-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(6,182,212,.3)}.audio-btn.stop{background:linear-gradient(135deg,var(--error-color),#b91c1c)}.audio-btn.stop:hover{box-shadow:0 4px 8px rgba(239,68,68,.3)}.audio-icon{width:20px;height:20px;fill:white}.image-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.image-modal.active{opacity:1;visibility:visible}.modal-content{position:relative;max-width:90%;max-height:90%}.modal-image{max-width:100%;max-height:90vh;border-radius:4px;box-shadow:0 8px 32px rgba(0,0,0,.5)}.close-modal{position:absolute;top:-40px;right:0;width:36px;height:36px;background-color:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.close-modal:hover{background-color:rgba(255,255,255,.3)}.close-modal svg{width:24px;height:24px;fill:white}.result-actions{display:flex;gap:1rem;margin-top:1.5rem;width:100%}.result-actions button{flex:1}footer{text-align:center;margin-top:2rem;color:var(--text-secondary);font-size:.9rem}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease forwards}.glow{position:relative}.glow::after{content:'';position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;background:radial-gradient(circle,rgba(59,130,246,.3) 0,transparent 70%);filter:blur(20px);z-index:-1}.tech-border{position:relative}.tech-border::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:inherit;background:linear-gradient(45deg,var(--primary-color),transparent,var(--secondary-color),transparent);z-index:-1;animation:borderAnimation 4s linear infinite}@keyframes borderAnimation{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.progress-bar{width:100%;height:8px;background-color:rgba(255,255,255,.1);border-radius:4px;margin:1rem 0;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:4px;transition:width .5s ease}.progress-percent{font-size:1.5rem;font-weight:700;margin-top:.5rem}.action-button{padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;margin:0 10px;border:none;outline:0}.save-button{background-color:#4caf50;color:#fff;box-shadow:0 2px 4px rgba(76,175,80,.3)}.save-button:hover{background-color:#3d8b40;box-shadow:0 4px 8px rgba(76,175,80,.5);transform:translateY(-2px)}.regenerate-button{background-color:#2196f3;color:#fff;box-shadow:0 2px 4px rgba(33,150,243,.3)}.regenerate-button:hover{background-color:#0b7dda;box-shadow:0 4px 8px rgba(33,150,243,.5);transform:translateY(-2px)}.action-button svg{width:18px;height:18px;fill:currentColor;margin-right:6px}.action-button:active{transform:translateY(1px);box-shadow:0 1px 2px rgba(0,0,0,.2)}.action-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;box-shadow:none;transform:none}.error-message{text-align:center;padding:2rem;color:var(--error-color);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.error-icon{width:64px;height:64px;fill:var(--error-color)}.error-message p{font-size:1.1rem;margin-bottom:1rem}.retry-button{display:flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;border:none}.retry-button svg{width:20px;height:20px;fill:white}.retry-button:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px rgba(59,130,246,.3)}.retry-button:active{transform:translateY(0)}.export-pdf-button{background-color:#ff5722;color:#fff;box-shadow:0 2px 4px rgba(255,87,34,.3)}.export-pdf-button:hover{background-color:#e64a19;box-shadow:0 4px 8px rgba(255,87,34,.5);transform:translateY(-2px)}.export-pdf-button:active{transform:translateY(1px);box-shadow:0 1px 2px rgba(0,0,0,.2)}.export-pdf-button:disabled{background-color:#4b5563;border-color:#374151;color:#9ca3af;cursor:not-allowed}.camera-button{display:flex}@media (max-width:767px){.camera-button{display:none}}