@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--brand-blue: #2563eb;--brand-blue-hover: #1d4ed8;--brand-blue-light: #3b82f6;--bg-dark: #0f172a;--bg-dark-secondary: #1e293b;--bg-card: #1e293b;--bg-card-hover: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);--success: #10b981;--error: #ef4444;--warning: #f59e0b;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--shadow-glow: 0 0 40px rgba(37, 99, 235, .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-dark);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem;font-weight:800}h2{font-size:2rem;font-weight:700}h3{font-size:1.5rem;font-weight:600}p{color:var(--text-secondary);line-height:1.7}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.header{background:var(--bg-dark-secondary);border-bottom:1px solid rgba(255,255,255,.05);padding:var(--spacing-lg) 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{width:40px;height:40px;background:var(--accent-gradient);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1.25rem}.logo-text{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--brand-blue-light),var(--text-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:#2563eb1a;border:1px solid rgba(37,99,235,.3);border-radius:9999px;font-size:.875rem;font-weight:600;color:var(--brand-blue-light)}.card{background:var(--bg-card);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);transition:all var(--transition-normal)}.card:hover{border-color:#2563eb33;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-dark);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all var(--transition-fast);outline:none}.form-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:2px solid rgba(255,255,255,.1)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--brand-blue)}.btn-lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:1.125rem}.btn-full{width:100%}.file-upload{position:relative;width:100%}.file-upload-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);background:var(--bg-dark);border:2px dashed rgba(255,255,255,.2);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);min-height:200px}.file-upload-label:hover{border-color:var(--brand-blue);background:#2563eb0d}.file-upload-icon{font-size:3rem;margin-bottom:var(--spacing-md);color:var(--brand-blue)}.file-upload-text{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.file-upload-hint{font-size:.875rem;color:var(--text-muted)}.preview-container{width:100%;max-width:500px;margin:0 auto;padding:var(--spacing-xl);background:var(--bg-card);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.canvas-wrapper{width:100%;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--bg-dark)}.canvas-wrapper canvas{width:100%;height:100%;display:block}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-lg)}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.alert-info{background:#2563eb1a;border:1px solid rgba(37,99,235,.3);color:#93c5fd}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-gradient{background:linear-gradient(135deg,var(--brand-blue-light),var(--text-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 var(--spacing-md)}.card{padding:var(--spacing-lg)}.preview-container{padding:var(--spacing-md)}.header-content{flex-direction:column;text-align:center}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-normal) ease-out}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
