*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--border: #e2e8f0;--border-light: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--accent-light: #eef2ff;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition: .15s cubic-bezier(.4, 0, .2, 1)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--bg-secondary);color:var(--text-primary);line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;outline:none;font-size:inherit}input,textarea{font-family:inherit;font-size:inherit;outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.toolbar-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:transparent;color:#fff9;transition:all var(--transition);border:none;cursor:pointer}.toolbar-btn:hover{background:#ffffff1a;color:#ffffffe6}.toolbar-btn.active{background:var(--accent);color:#fff}.toolbar-btn.close:hover{background:#ef444433;color:#ef4444}.color-swatch{width:20px;height:20px;border-radius:50%;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:transform .1s ease;flex-shrink:0;padding:0}.color-swatch:hover{transform:scale(1.3)}.color-swatch.selected{outline:2px solid #e2e8f0;outline-offset:2px}
