.app{min-height:100vh;padding:20px}.container{background:#fff;border-radius:20px;padding:50px 40px;box-shadow:0 4px 20px #00000014;max-width:1200px;margin:0 auto;border:1px solid rgba(0,0,0,.06)}.title{text-align:center;color:#2c3e50;margin-bottom:50px;font-size:2.2em;font-weight:700;letter-spacing:-.5px}.form-section,.step-section{margin-bottom:30px;padding:30px;background:#fff;border-radius:16px;border:1px solid #e8ecef;box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s ease}.step-section:hover{box-shadow:0 4px 12px #0000000f}.step-section h2{color:#2c3e50;margin-bottom:24px;font-size:1.4em;font-weight:600;padding-bottom:12px;border-bottom:2px solid #f0f2f5;letter-spacing:-.3px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;color:#495057;font-weight:500;font-size:.95em;letter-spacing:.2px}.form-group input,.form-group textarea,.form-group select,.form-input{width:100%;padding:14px 18px;border:1.5px solid #dee2e6;border-radius:10px;font-size:.95em;font-family:inherit;transition:all .2s ease;background:#fafbfc;color:#2c3e50}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#4a90e2;background:#fff;box-shadow:0 0 0 3px #4a90e21a}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}.btn{padding:14px 28px;border:none;border-radius:10px;font-size:1em;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;letter-spacing:.3px}.btn-primary{background:#4a90e2;color:#fff;box-shadow:0 2px 8px #4a90e240}.btn-primary:hover:not(:disabled){background:#357abd;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e259}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-download{background:#50c878;color:#fff;margin-top:20px;box-shadow:0 2px 8px #50c87840}.btn-download:hover:not(:disabled){background:#45b069;transform:translateY(-1px);box-shadow:0 4px 12px #50c87859}.btn-download:active:not(:disabled){transform:translateY(0)}.progress{margin-top:20px;padding:16px 20px;background:#f8f9fa;border-radius:10px;color:#495057;text-align:center;font-size:.95em;border:1px solid #e8ecef}.preview-section{margin-top:40px;padding-top:40px;border-top:1px solid #e8ecef}.preview-section h2{color:#2c3e50;margin-bottom:24px;font-size:1.8em;font-weight:600}.preview-section h3{color:#495057;margin-bottom:16px;font-size:1.2em;font-weight:500}.preview-group{margin-bottom:40px}.preview-image{border:1.5px solid #e8ecef;border-radius:12px;background:linear-gradient(45deg,#f0f2f5 25%,transparent 25%),linear-gradient(-45deg,#f0f2f5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f2f5 75%),linear-gradient(-45deg,transparent 75%,#f0f2f5 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:block}.main-image{width:240px;height:240px;object-fit:contain}.tab-image{width:96px;height:74px;object-fit:contain}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;margin-top:20px}.sticker-item{text-align:center;padding:12px;background:#fafbfc;border-radius:12px;border:1px solid #e8ecef;transition:all .2s ease}.sticker-item:hover{background:#fff;box-shadow:0 2px 8px #0000000f}.sticker-image{width:200px;height:200px;object-fit:contain;margin:0 auto}.sticker-description{margin-top:10px;font-size:.9em;color:#6c757d;word-break:break-word;line-height:1.5}.character-preview{margin-top:20px;text-align:center}.character-image{max-width:500px;max-height:500px;margin:20px auto;border:2px solid #4a90e2;border-radius:16px;box-shadow:0 4px 16px #4a90e226}.character-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.btn-success{background:#50c878;color:#fff;box-shadow:0 2px 8px #50c87840}.btn-success:hover:not(:disabled){background:#45b069;transform:translateY(-1px);box-shadow:0 4px 12px #50c87859}.btn-success:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#6c757d;color:#fff;box-shadow:0 2px 8px #6c757d33}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.btn-secondary:active:not(:disabled){transform:translateY(0)}.success-message{color:#50c878;font-weight:500;margin-top:10px;font-size:.95em}.descriptions-editor{margin-top:20px}.description-item{background:#fafbfc;padding:18px;margin-bottom:12px;border-radius:12px;border:1px solid #e8ecef;transition:all .2s ease}.description-item:hover{background:#fff;box-shadow:0 2px 8px #0000000a}.description-field{margin-bottom:12px}.description-field label{display:block;margin-bottom:6px;color:#495057;font-weight:500;font-size:.9em}.description-field input{width:100%;padding:10px 14px;border:1.5px solid #dee2e6;border-radius:8px;background:#fff;font-size:.9em}.description-field input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.preview-image-small{max-width:200px;max-height:200px;margin-top:12px;border:1.5px solid #e8ecef;border-radius:12px}.grid-preview{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.grid-item{flex:1;min-width:300px}.grid-image{width:100%;max-width:800px;height:auto;border:1.5px solid #e8ecef;border-radius:12px}.sticker-info{margin-top:10px;font-size:.85em;color:#6c757d;word-break:break-word;line-height:1.5}.sticker-info strong{color:#4a90e2;font-size:1.05em;font-weight:600}.main-tab-preview{display:flex;gap:30px;align-items:flex-start;margin-top:20px;flex-wrap:wrap}.preview-item{text-align:center;padding:16px;background:#fafbfc;border-radius:12px;border:1px solid #e8ecef}.preview-item h4{margin-bottom:12px;color:#495057;font-size:1em;font-weight:500}.main-image{width:240px;height:240px;object-fit:contain;border:1.5px solid #e8ecef;border-radius:12px}.tab-image{width:96px;height:74px;object-fit:contain;border:1.5px solid #e8ecef;border-radius:12px}.text-style-preview{margin-top:20px;padding:20px;background:#fafbfc;border-radius:12px;border:1px solid #e8ecef}.text-style-preview h3{margin-bottom:12px;color:#2c3e50;font-size:1.1em;font-weight:500}.text-style-content{padding:14px;background:#fff;border-radius:8px;color:#495057;line-height:1.7;margin-bottom:16px;border:1px solid #e8ecef}.threshold-control{display:flex;align-items:center;gap:16px;margin:12px 0}.threshold-slider{flex:1;height:6px;border-radius:3px;background:#e8ecef;outline:none;-webkit-appearance:none}.threshold-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#4a90e2;cursor:pointer;box-shadow:0 2px 4px #4a90e24d;transition:all .2s ease}.threshold-slider::-webkit-slider-thumb:hover{background:#357abd;box-shadow:0 2px 6px #4a90e266}.threshold-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#4a90e2;cursor:pointer;border:none;box-shadow:0 2px 4px #4a90e24d;transition:all .2s ease}.threshold-slider::-moz-range-thumb:hover{background:#357abd;box-shadow:0 2px 6px #4a90e266}.threshold-value{font-size:1.1em;font-weight:600;color:#4a90e2;min-width:50px;text-align:center}.threshold-hint{margin-top:8px;color:#6c757d;font-size:.9em}.form-hint{margin-top:6px;color:#868e96;font-size:.85em;font-style:italic}.info-box{margin-top:20px;padding:18px;background:#e7f3ff;border-radius:12px;border-left:4px solid #4a90e2}.info-box p{margin-bottom:12px;color:#2c5aa0;line-height:1.6;font-size:.95em}@media (max-width: 768px){.container{padding:30px 20px}.title{font-size:1.6em}.step-section{padding:20px}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.sticker-image{width:150px;height:150px}.character-actions{flex-direction:column}.character-actions .btn{width:100%}.grid-item{min-width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang TC,Microsoft JhengHei,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;min-height:100vh;padding:20px}#root{max-width:1200px;margin:0 auto}
