*{margin:0;padding:0;box-sizing:border-box}html,body,#root{background:linear-gradient(135deg,#f8fafc,#e0e7ff,#c7d2fe);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.form-container{max-width:800px;margin:0 auto;background:#fffffff2;backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 40px #0000001a;overflow:hidden;border:1px solid rgba(255,255,255,.2);position:relative}.form-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:300% 100%;animation:gradientShift 4s ease infinite}.form-header{position:relative;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:300% 300%;animation:gradientShift 8s ease infinite;overflow:hidden}.form-header:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.3}.form-header-content{position:relative;z-index:10;text-align:center;padding:48px 32px;color:#fff}.form-title{font-size:2.5rem;font-weight:700;margin-bottom:16px;text-shadow:0 2px 4px rgba(0,0,0,.1);letter-spacing:.05em}.form-description{font-size:1.1rem;opacity:.95;line-height:1.6;max-width:600px;margin:0 auto;text-shadow:0 1px 2px rgba(0,0,0,.1)}.form-content{padding:40px}.form-section{margin-bottom:40px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:32px;box-shadow:0 4px 12px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.form-section:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.section-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:24px;padding-bottom:12px;border-bottom:3px solid transparent;background:linear-gradient(90deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px}.form-field{margin-bottom:24px}.field-label{display:block;font-size:1rem;font-weight:600;color:#374151;margin-bottom:8px}.required{color:#ef4444;margin-left:4px;font-size:1.1rem}.form-input,.form-textarea,.form-select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#fff;box-shadow:0 2px 4px #0000000d}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-1px)}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:#a5b4fc;box-shadow:0 2px 8px #667eea1a}.form-input.error,.form-textarea.error,.form-select.error{border-color:#ef4444;box-shadow:0 2px 8px #ef444426}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:12px}.radio-item,.checkbox-item{display:flex;align-items:center;padding:12px 16px;border-radius:10px;transition:all .3s ease;cursor:pointer;border:1px solid transparent}.radio-item:hover,.checkbox-item:hover{background:#f8fafc;border-color:#e5e7eb;transform:translate(4px)}.radio-input,.checkbox-input{margin-right:12px;width:18px;height:18px;accent-color:#667eea}.radio-label,.checkbox-label{font-size:1rem;color:#374151;cursor:pointer}.error-text{color:#ef4444;font-size:.875rem;margin-top:6px;font-weight:500;animation:slideInDown .3s ease-out}.char-count{color:#6b7280;font-size:.875rem;text-align:right;margin-top:6px}.form-divider{height:1px;background:linear-gradient(90deg,transparent,#e5e7eb,transparent);margin:40px 0}.form-footer{text-align:center;padding:32px 0}.footer-description{color:#6b7280;line-height:1.6;white-space:pre-line;max-width:500px;margin-left:auto;margin-right:auto;margin-bottom:24px}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 32px;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;position:relative;overflow:hidden;min-width:200px}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.submit-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #667eea66;background:linear-gradient(135deg,#5a67d8,#6b46c1)}.submit-button:hover:before{left:100%}.submit-button:active{transform:translateY(0) scale(1.01)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.submit-icon{font-size:1.2rem}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.success-state{text-align:center;padding:60px 40px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh}.success-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.form-container.success-container{display:flex;align-items:center;justify-content:center;min-height:auto;padding:0;margin:0;width:100%;max-width:500px}.form-container.success-container .success-state{min-height:auto;padding:40px;width:100%}.success-icon{font-size:4rem;margin-bottom:24px;animation:bounceIn .8s ease-out}.success-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:16px}.success-description{color:#6b7280;font-size:1.1rem;line-height:1.6;max-width:400px;margin:0 auto 32px}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.form-container{margin:0 16px;border-radius:16px}.form-header-content{padding:32px 24px}.form-title{font-size:2rem}.form-description{font-size:1rem}.form-content{padding:24px}.form-section{padding:24px;margin-bottom:24px}.section-title{font-size:1.25rem}.submit-button{width:100%;padding:16px}}@media (max-width: 480px){.form-container{margin:0 8px;border-radius:12px}.form-header-content{padding:24px 16px}.form-title{font-size:1.75rem}.form-content,.form-section{padding:16px}}
