@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #3B82F6;--primary-dark: #2563EB;--primary-light: #60A5FA;--primary-hover: #2563EB;--secondary: #64748B;--secondary-dark: #475569;--secondary-light: #94A3B8;--accent: #3B82F6;--accent-light: #60A5FA;--accent-purple: #3B82F6;--accent-purple-dark: #2563EB;--gradient-primary: linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%);--gradient-purple: linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%);--gradient-purple-light: linear-gradient(135deg, color-mix(in srgb, #3B82F6 6%, transparent) 0%, color-mix(in srgb, #60A5FA 6%, transparent) 100%);--gradient-hero: linear-gradient(135deg, color-mix(in srgb, #3B82F6 2%, transparent) 0%, color-mix(in srgb, #60A5FA 2%, transparent) 100%);--gradient-spinner: linear-gradient(135deg, #3B82F6, #60A5FA);--text-dark: #0F172A;--text-primary: #1E293B;--text-secondary: #475569;--text-muted: #64748B;--surface-white: #FFFFFF;--surface-light: #F8FAFC;--card-bg: #ffffff;--border-color: #E2E8F0;--hover-bg: #F1F5F9;--nav-bg: #FFFFFF;--nav-text: #1E293B;--nav-text-hover: #2563EB;--nav-border: #E2E8F0;--success: #10b981;--success-dark: #059669;--success-bg: #d1fae5;--success-text: #065f46;--danger: #ef4444;--danger-dark: #dc2626;--danger-bg: #fef2f2;--danger-border: #fecaca;--danger-text: #991b1b;--warning-bg: #fef3c7;--warning-border: #fcd34d;--warning-text: #92400e;--info-bg: #dbeafe;--info-border: #93c5fd;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-900: #111827;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--border-width: 1px;--border-width-thick: 2px;--border-radius: 8px;--border-radius-sm: 6px;--border-radius-lg: 12px;--border-radius-full: 50%;--shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 2px 4px color-mix(in srgb, #000 6%, transparent);--shadow-lg: 0 4px 12px rgb(0 0 0 / .08);--shadow-xl: 0 8px 16px color-mix(in srgb, #2563EB 8%, transparent);--shadow-focus: 0 0 0 3px color-mix(in srgb, #2563EB 12%, transparent);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem;--line-height-tight: 1.1;--line-height-snug: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--line-height-loose: 1.6;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-heading: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width-sm: 420px;--max-width-md: 800px;--max-width-lg: 1000px;--max-width-xl: 1200px;--header-height: 72px;--transition-fast: .2s;--transition-normal: .3s;--transition-slow: .6s;--opacity-disabled: .5;--opacity-hover: .8;--opacity-medium: .7;--opacity-high: .9;--opacity-very-high: .95;--overlay-dark: color-mix(in srgb, var(--text-dark) 70%, transparent);--overlay-light: color-mix(in srgb, var(--surface-white) 20%, transparent);--overlay-medium: color-mix(in srgb, var(--surface-white) 30%, transparent);--border-white-subtle: color-mix(in srgb, var(--surface-white) 10%, transparent);--border-white-light: color-mix(in srgb, var(--surface-white) 30%, transparent);--bg-dragging: color-mix(in srgb, var(--primary) 5%, transparent);--text-shadow: color-mix(in srgb, var(--text-dark) 10%, transparent);--danger-focus: color-mix(in srgb, var(--danger) 10%, transparent);--z-index-header: 100;--z-index-modal: 1000}body{font-family:var(--font-body);line-height:1.6;color:var(--text-dark);background:var(--surface-light);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--text-dark)}.app{min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;padding:var(--spacing-3xl) var(--spacing-md) var(--spacing-xl);color:var(--surface-white)}.header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);text-shadow:0 2px 4px var(--text-shadow)}.header p{font-size:var(--font-size-md);opacity:var(--opacity-very-high)}.main{flex:1;padding:var(--spacing-xl) var(--spacing-md);max-width:var(--max-width-xl);width:100%;margin:0 auto}.footer{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--surface-white);opacity:var(--opacity-hover);font-size:var(--font-size-sm)}.upload-form{background:var(--surface-white);border-radius:var(--border-radius);padding:var(--spacing-xl);box-shadow:0 10px 40px #667eea26,0 0 0 1px #667eea0d;max-width:var(--max-width-md);margin:0 auto;position:relative;overflow:hidden}.upload-form:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#4facfe,#667eea);background-size:200% 100%;animation:gradient-shift 3s linear infinite}@keyframes gradient-shift{0%{background-position:0% 0%}to{background-position:200% 0%}}.form-section{margin-bottom:var(--spacing-xl)}.form-label{display:block;font-weight:var(--font-weight-semibold);color:var(--gray-700);margin-bottom:var(--spacing-sm);font-size:var(--font-size-base)}.required{color:var(--danger)}.optional{color:var(--gray-600);font-weight:var(--font-weight-normal);font-size:var(--font-size-sm)}.drop-zone{border:var(--border-width-thick) dashed var(--gray-300);border-radius:var(--border-radius);padding:var(--spacing-3xl) var(--spacing-xl);text-align:center;cursor:pointer;transition:all var(--transition-fast) ease;background:linear-gradient(135deg,#f5f7fa,#fafbff);position:relative;overflow:hidden}.drop-zone:after{content:"✨";position:absolute;top:1rem;right:1rem;font-size:1.5rem;opacity:0;transition:opacity .3s ease}.drop-zone:hover{border-color:#667eea;background:linear-gradient(135deg,#e0e7ff,#f0e7ff);box-shadow:0 4px 15px #667eea33}.drop-zone:hover:after{opacity:.6}.drop-zone.dragging{border-color:#667eea;background:linear-gradient(135deg,#c7d2fe,#ddd6fe);transform:scale(1.02);box-shadow:0 6px 25px #667eea4d}.drop-zone.dragging:after{opacity:1;animation:sparkle .5s ease-in-out infinite}.drop-zone.has-image{padding:0;border:none}.drop-zone-placeholder{color:var(--gray-600)}.drop-zone-placeholder svg{margin:0 auto var(--spacing-md);color:var(--gray-400)}.drop-zone-placeholder p{margin-bottom:var(--spacing-xs)}.drop-zone-placeholder .hint{font-size:var(--font-size-sm);color:var(--gray-500)}.preview-image{width:100%;height:auto;max-height:25rem;object-fit:contain;border-radius:var(--border-radius)}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.preview-item{position:relative;border-radius:var(--border-radius);overflow:hidden;border:var(--border-width-thick) solid var(--gray-200);aspect-ratio:1}.preview-item img{width:100%;height:100%;object-fit:cover}.remove-btn{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:var(--danger);color:var(--surface-white);border:none;border-radius:var(--border-radius-full);width:1.5rem;height:1.5rem;cursor:pointer;font-size:var(--font-size-lg);line-height:1;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast) ease}.remove-btn:hover{transform:scale(1.1)}.prompt-input{width:100%;padding:var(--spacing-sm);border:var(--border-width-thick) solid var(--gray-300);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:inherit;resize:vertical;transition:border-color var(--transition-fast) ease}.prompt-input:focus{outline:none;border-color:var(--primary)}.prompt-input:disabled{background:var(--gray-100);cursor:not-allowed}.name-input{width:100%;padding:var(--spacing-sm);border:var(--border-width-thick) solid var(--gray-300);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:inherit;transition:border-color var(--transition-fast) ease}.name-input:focus{outline:none;border-color:var(--primary)}.name-input:disabled{background:var(--gray-100);cursor:not-allowed}.name-input.has-error,.prompt-input.has-error{border-color:var(--danger)}.name-input.has-error:focus,.prompt-input.has-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #dc354526}.drop-zone.has-error{border-color:var(--danger);background:#dc354505}.drop-zone.has-error:after{border-color:var(--danger)}.field-error{color:var(--danger);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.char-count{font-size:var(--font-size-xs);color:var(--gray-500);text-align:right;margin-top:var(--spacing-xs)}.help-text{font-size:var(--font-size-sm);color:var(--gray-600);margin-top:var(--spacing-sm);line-height:var(--line-height-normal)}.image-prompts-section{margin-top:var(--spacing-lg)}.image-prompts-section h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--gray-700);margin-bottom:var(--spacing-md)}.add-image-btn{background:var(--gray-100);color:var(--gray-700);border:var(--border-width) solid var(--gray-300);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast) ease;margin-top:var(--spacing-md)}.add-image-btn:hover{background:var(--gray-200);border-color:var(--gray-400)}.submit-btn{width:auto;min-width:200px;padding:var(--spacing-md) var(--spacing-xl);background:var(--primary);color:var(--surface-white);border:none;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin:0 0 0 auto}.submit-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.submit-btn:disabled{background:var(--gray-300);cursor:not-allowed;transform:none}.submit-btn-magic{position:relative;background:linear-gradient(135deg,#667eea,#764ba2);font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-xl);overflow:hidden;box-shadow:0 4px 15px #667eea66}.submit-btn-magic:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.submit-btn-magic:hover:not(:disabled):before{left:100%}.submit-btn-magic:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-3px);box-shadow:0 6px 25px #667eea99}.spinner{width:1.25rem;height:1.25rem;border:var(--border-width-thick) solid var(--border-white-light);border-top-color:var(--surface-white);border-radius:var(--border-radius-full);animation:spin var(--transition-slow) linear infinite}.preview-section{background:var(--gray-50);border:var(--border-width) solid var(--gray-200);border-radius:var(--border-radius);padding:var(--spacing-lg);margin:var(--spacing-lg) 0}.preview-section h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--gray-900);margin-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--gray-200);padding-bottom:var(--spacing-sm)}.preview-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.preview-item{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.preview-item strong{color:var(--gray-700);font-weight:var(--font-weight-semibold)}.preview-item ul{margin:var(--spacing-sm) 0 0 var(--spacing-md);padding:0}.preview-item li{margin-bottom:var(--spacing-xs);color:var(--gray-600)}.validation-errors{background:var(--danger-bg);border:var(--border-width) solid var(--danger-border);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-md) 0}.error-message{color:var(--danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.error-message:last-child{margin-bottom:0}.api-error{background:var(--warning-bg);border:var(--border-width) solid var(--warning-border);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-md) 0}.api-error .error-message{color:var(--warning-text)}.success-message{background:var(--success-bg);border:var(--border-width) solid var(--success);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--success-text);font-weight:var(--font-weight-medium);text-align:center;animation:fadeInOut 3s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%,90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.result-container{background:var(--surface-white);border-radius:var(--border-radius);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);max-width:var(--max-width-lg);margin:0 auto}.result-header{text-align:center;margin-bottom:var(--spacing-xl)}.result-header h2{font-size:var(--font-size-3xl);color:var(--gray-900)}.result-image-wrapper{margin-bottom:var(--spacing-xl);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow)}.result-image{width:100%;height:auto;display:block}.result-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.download-btn,.edit-btn,.reset-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast) ease;border:none;display:flex;align-items:center;gap:var(--spacing-sm)}.download-btn{background:var(--success);color:var(--surface-white)}.download-btn:hover{background:var(--success-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.edit-btn{background:var(--primary);color:var(--surface-white)}.edit-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.reset-btn{background:var(--gray-200);color:var(--gray-700)}.reset-btn:hover{background:var(--gray-300)}.auth-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-2xl)}.auth-logo-top{position:absolute;top:calc(var(--spacing-2xl) * 2.5);left:50%;transform:translate(-50%)}.auth-card{background:var(--surface-white);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);padding:var(--spacing-2xl);width:100%;max-width:var(--max-width-sm)}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.auth-card h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm);color:var(--gray-900)}.auth-subtitle{color:var(--gray-600);margin-bottom:var(--spacing-lg)}.confirmation-text{color:var(--gray-700);margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:var(--font-weight-medium);color:var(--gray-700);font-size:var(--font-size-sm)}.form-group input{padding:var(--spacing-sm);border:var(--border-width) solid var(--gray-300);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-group input:disabled{background:var(--gray-100);cursor:not-allowed}.form-hint{font-size:var(--font-size-xs);color:var(--gray-600)}.form-group-checkbox{flex-direction:row;align-items:flex-start}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;font-weight:400;font-size:var(--font-size-sm);color:var(--gray-600);line-height:1.5}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:var(--primary)}.checkbox-label a{color:var(--primary);text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.turnstile-container{display:flex;justify-content:center;margin:var(--spacing-md) 0}.error-message{padding:var(--spacing-sm);background:var(--danger-bg);border:var(--border-width) solid var(--danger-border);border-radius:var(--border-radius-sm);color:var(--danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.success-message{padding:var(--spacing-sm);background:var(--success-bg);border:var(--border-width) solid var(--success);border-radius:var(--border-radius-sm);color:var(--success);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--primary)!important;color:var(--surface-white)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)!important}.btn-primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-danger{background:var(--danger);color:var(--surface-white)}.btn-danger:hover{background:var(--danger-dark)}.auth-footer{text-align:center;margin-top:var(--spacing-lg);color:var(--gray-600);font-size:var(--font-size-sm)}.link-button{background:none;border:none;color:var(--primary);font-weight:var(--font-weight-semibold);cursor:pointer;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.header-content{max-width:var(--max-width-xl);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-md)}.profile-button{background:var(--overlay-light);border:var(--border-width-thick) solid var(--border-white-light);border-radius:var(--border-radius-full);width:3rem;height:3rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.profile-button:hover{background:var(--overlay-medium);transform:scale(1.05)}.profile-icon{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--surface-white)}.profile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dark);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal);padding:var(--spacing-md)}.profile-card{background:var(--surface-white);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);width:100%;max-width:31.25rem;max-height:90vh;overflow-y:auto}.profile-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--gray-200)}.profile-header h2{font-size:var(--font-size-xl);color:var(--gray-900)}.close-button{background:none;border:none;font-size:var(--font-size-3xl);line-height:1;color:var(--gray-600);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--spacing-xs);transition:background var(--transition-fast)}.close-button:hover{background:var(--gray-100)}.profile-content{padding:var(--spacing-lg)}.profile-avatar{width:5rem;height:5rem;border-radius:var(--border-radius-full);background:var(--gradient-purple);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--surface-white);margin:0 auto var(--spacing-lg)}.profile-info{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.profile-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.profile-field label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.profile-field p{font-size:var(--font-size-base);color:var(--gray-900)}.subscription-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--primary);color:var(--surface-white);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:capitalize;width:fit-content}.profile-actions{display:flex;gap:var(--spacing-sm)}.profile-actions .btn{flex:1}.loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--text-primary);background:var(--surface-light);min-height:100vh}.content-loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--text-primary);background:var(--surface-light);min-height:50vh;padding:var(--spacing-2xl)}.loading-spinner{width:3rem;height:3rem;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:var(--border-radius-full);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.header h1{font-size:var(--font-size-3xl)}.header-content{flex-direction:column;gap:var(--spacing-md);text-align:center}.upload-form,.result-container{padding:var(--spacing-lg)}.drop-zone{padding:var(--spacing-xl) var(--spacing-md)}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr))}.result-actions{flex-direction:column}.download-btn,.edit-btn,.reset-btn{width:100%;justify-content:center}.auth-card{padding:var(--spacing-xl)}.profile-card{max-height:100vh;border-radius:0}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dark);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-white);border-radius:16px;padding:2rem;max-width:400px;width:90%;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.modal p{color:var(--text-secondary);margin-bottom:.5rem;font-size:1rem}.modal p strong{color:var(--text-primary);font-weight:700}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions .btn{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-actions .btn-primary{background:var(--gradient-purple);color:var(--surface-white)}.modal-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.modal-actions .btn-secondary{background:var(--gray-200);color:var(--gray-700)}.modal-actions .btn-secondary:hover{background:var(--gray-300)}.credit-balance{display:flex;align-items:center;gap:.25rem;padding:0;background:transparent;border:none;outline:none;cursor:pointer;white-space:nowrap;transition:opacity var(--transition-fast);overflow:visible;min-width:max-content;flex-shrink:0}.credit-balance:hover{opacity:var(--opacity-medium)}.credit-balance:focus-visible{outline:var(--border-width-thick) solid var(--primary);outline-offset:2px;border-radius:var(--spacing-xs)}.credit-balance:active{opacity:var(--opacity-disabled)}.credit-icon{font-size:var(--font-size-lg);line-height:1}.credit-count{font-size:.9375rem;font-weight:var(--font-weight-semibold);color:var(--text-dark);font-variant-numeric:tabular-nums;overflow:visible;text-overflow:clip;flex-shrink:0}.credit-label{font-size:var(--font-size-sm);opacity:var(--opacity-high);font-weight:var(--font-weight-medium);color:var(--surface-white)}.buy-credits-btn{background:var(--overlay-light);border:none;color:var(--surface-white);width:1.5rem;height:1.5rem;border-radius:var(--border-radius-full);cursor:pointer;font-size:var(--font-size-lg);line-height:1;transition:background var(--transition-fast);display:flex;align-items:center;justify-content:center}.buy-credits-btn:hover{background:var(--overlay-medium)}.buy-credits-btn:active{transform:scale(.95)}@media (max-width: 768px){.credit-balance{gap:.3rem}.credit-icon{font-size:1.1rem}.credit-count{font-size:var(--font-size-sm)}}@media (max-width: 480px){.credit-balance{gap:.25rem}.credit-icon{font-size:1rem}.credit-count{font-size:.8125rem}}.site-header{background:var(--nav-bg);border-bottom:1px solid var(--nav-border);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:72px}.logo{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--nav-text);transition:opacity .2s}.logo:hover{opacity:.8}.logo-icon{font-size:1.75rem}.logo-text{letter-spacing:-.025em}.nav-menu{display:flex;gap:var(--spacing-xl);align-items:center}.nav-link{text-decoration:none;color:var(--nav-text);opacity:.8;font-weight:500;font-size:.9375rem;transition:all .2s;position:relative}.nav-link:hover{color:var(--nav-text-hover);opacity:1}.nav-link:after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:2px;background:var(--nav-text-hover);transform:scaleX(0);transition:transform .2s}.nav-link:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.btn-primary{background:var(--primary-light);color:var(--surface-white);border:none;padding:.625rem 1.5rem;border-radius:var(--border-radius-sm);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--text-secondary);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-start-generation{font-weight:700;padding:.75rem 1.75rem;background:var(--primary-light)!important;color:var(--surface-white)!important}.btn-start-generation:hover{background:var(--text-secondary)!important}.btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--gray-300);padding:.625rem 1.25rem;border-radius:var(--border-radius-sm);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--hover-bg)}.profile-menu-container{position:relative}.profile-button{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.header-profile-avatar{min-width:40px;min-height:40px;width:40px;height:40px;box-sizing:border-box;border-radius:50%;background:var(--primary);color:var(--surface-white);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1;transition:all var(--transition-fast);vertical-align:middle}.profile-button:hover .header-profile-avatar{background:var(--primary-dark);transform:scale(1.05)}.profile-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;background:var(--surface-white);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);min-width:150px;z-index:1000;overflow:hidden;animation:fadeIn var(--transition-fast) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-item{width:100%;padding:var(--spacing-md);background:none;border:none;text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);display:block}.profile-dropdown-item:hover{background:var(--hover-bg)}.profile-dropdown-logout{border-top:var(--border-width) solid var(--gray-200)}@media (max-width: 768px){.header-container{padding:0 var(--spacing-md)}.nav-menu{display:none}.logo-text{font-size:var(--font-size-lg)}.header-actions{gap:var(--spacing-sm)}.btn-start-generation,.btn-secondary{padding:.625rem var(--spacing-md);font-size:var(--font-size-sm)}.header-profile-avatar{min-width:2.25rem;min-height:2.25rem;width:2.25rem;height:2.25rem;font-size:.8125rem}}@media (max-width: 480px){.header-container{padding:0 var(--spacing-sm);height:3.75rem}.logo-icon{font-size:var(--font-size-xl)}.logo-text{font-size:1.1rem}.header-actions{gap:.5rem}.btn-start-generation,.btn-secondary{padding:var(--spacing-sm) var(--spacing-sm);font-size:.8125rem}.header-profile-avatar{min-width:2rem;min-height:2rem;width:2rem;height:2rem;font-size:var(--font-size-xs)}}.site-footer{background:var(--primary);color:var(--surface-light);padding:var(--spacing-3xl) 0 var(--spacing-xl);margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.footer-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-brand{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--surface-white);margin-bottom:var(--spacing-sm)}.footer-description{color:var(--surface-light);line-height:1.6;max-width:300px;opacity:.9}.footer-title{font-family:var(--font-heading);font-size:.875rem;font-weight:600;color:var(--surface-white);text-transform:uppercase;letter-spacing:.05em}.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-links a{color:var(--surface-light);text-decoration:none;transition:color .2s;font-size:.9375rem;opacity:.85}.footer-links a:hover{color:var(--surface-white);opacity:1}.footer-bottom{padding-top:var(--spacing-xl);border-top:1px solid var(--border-white-subtle);display:flex;justify-content:center;align-items:center}.footer-copy{color:var(--surface-white);font-size:.875rem;opacity:.9}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;gap:var(--spacing-xl)}.footer-description{max-width:100%}.footer-bottom{flex-direction:column;gap:var(--spacing-sm);text-align:center}}.page-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-white)}.page-content{flex:1;width:100%}.page-content{padding:1.5rem var(--spacing-lg);box-sizing:border-box}
