.placeholder-form{display:flex;flex-direction:column;gap:var(--space-4)}.size-row{display:flex;align-items:center;gap:var(--space-3)}.size-row .form-group{flex:1}.size-separator{font-size:var(--font-size-lg);color:var(--color-text-tertiary);margin-top:1.5rem}.size-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.size-preset-btn{padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-normal)}.size-preset-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.color-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.color-picker-group{display:flex;align-items:center;gap:var(--space-2)}.color-picker-group input[type=color]{width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:2px}.color-picker-group input[type=text]{flex:1}.format-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.format-options label{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-normal)}.format-options label:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent)}.format-options input[type=radio]{display:none}.preview-area{text-align:center;padding:var(--space-4)}.preview-area canvas{max-width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border)}.output-info{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-2)}.pattern-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pattern-options label{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-normal)}.pattern-options label:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent)}.pattern-options input[type=radio]{display:none}
