.cgen-wrap { max-width: 1100px; margin: 0 auto; padding: 20px 16px 60px; }
.cgen-title { font-size: 1.5rem; font-weight: 900; margin: 0 0 20px; }
.cgen-layout { display: grid; grid-template-columns: 300px 1fr; gap: 20px; }
@media(max-width:768px){ .cgen-layout { grid-template-columns: 1fr; } }
.cgen-controls { background: #f9f9f9; border: 1px solid #ddd; border-radius: 10px; padding: 20px; }
.cgen-field-group { margin-bottom: 14px; }
.cgen-field-group label { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; margin-bottom: 5px; color: #666; }
.cgen-field-group input { width: 100%; padding: 8px 10px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; box-sizing: border-box; }
.cgen-upload-slot { border: 2px dashed #ddd; border-radius: 8px; padding: 20px; text-align: center; cursor: pointer; transition: border-color .15s; }
.cgen-upload-slot:hover { border-color: #6366f1; }
.cgen-fid-note { padding: 8px 12px; background: rgba(99,102,241,.07); border: 1px solid rgba(99,102,241,.2); border-radius: 6px; font-size: 12px; color: #666; margin-bottom: 14px; }
.cgen-download-btn { width: 100%; padding: 12px; background: #6366f1; color: #fff; border: none; border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; margin-top: 12px; }
.cgen-download-btn:hover { opacity: .88; }
.cgen-preview canvas { max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,.1); display: block; }
.cgen-picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.cgen-picker-card { display: block; text-decoration: none; border: 1px solid #ddd; border-radius: 10px; overflow: hidden; transition: transform .15s, box-shadow .15s; }
.cgen-picker-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.1); }
.cgen-picker-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.cgen-picker-name { padding: 12px; font-weight: 700; }
