.generate-image-button{position:relative;overflow:hidden;font-weight:600;letter-spacing:.025em;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 4px 14px 0 rgba(59,130,246,.2),0 2px 4px 0 rgba(59,130,246,.1);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}.generate-image-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px 0 rgba(59,130,246,.3),0 4px 10px 0 rgba(59,130,246,.15)}.generate-image-button:active:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#1e40af,#1e3a8a);box-shadow:0 4px 12px 0 rgba(59,130,246,.25),0 2px 6px 0 rgba(59,130,246,.12)}.generate-image-button:focus:not(:disabled){outline:none;ring:2px solid rgba(59,130,246,.3);ring-offset:2px}.generate-image-button:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6;transform:none;box-shadow:0 2px 4px 0 rgba(107,114,128,.1)}.generate-image-button:hover:not(:disabled):before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer .6s ease-out}.generate-image-button.loading{background:linear-gradient(135deg,#6b7280,#4b5563);cursor:progress}.generate-image-button.loading .sparkles-icon{animation:spin 1s linear infinite}@media (prefers-color-scheme:dark){.generate-image-button{box-shadow:0 4px 14px 0 rgba(59,130,246,.3),0 2px 4px 0 rgba(59,130,246,.2)}.generate-image-button:hover:not(:disabled){box-shadow:0 8px 25px 0 rgba(59,130,246,.4),0 4px 10px 0 rgba(59,130,246,.25)}}@media (max-width:640px){.generate-image-button{min-height:56px;font-size:16px}}@media (prefers-contrast:high){.generate-image-button{border:2px solid #1e40af}.generate-image-button:hover:not(:disabled){border-color:#1e3a8a}}@media (prefers-reduced-motion:reduce){.generate-image-button{transition:none;transform:none}.generate-image-button:hover:not(:disabled){transform:none}.generate-image-button.loading .sparkles-icon,.generate-image-button:before{animation:none}}.btn-primary-generate{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;font-weight:600;padding:12px 24px;border-radius:8px;border:none;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(59,130,246,.2),0 1px 3px rgba(59,130,246,.1);cursor:pointer;position:relative;overflow:hidden;font-size:14px;letter-spacing:.025em;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary-generate:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.3),0 2px 6px rgba(59,130,246,.15)}.btn-primary-generate:active:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 2px 8px rgba(59,130,246,.25),0 1px 4px rgba(59,130,246,.12)}.btn-primary-generate:focus:not(:disabled){outline:none;box-shadow:0 2px 8px rgba(59,130,246,.2),0 0 0 3px rgba(59,130,246,.3)}.btn-primary-generate:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6;transform:none;box-shadow:0 1px 3px rgba(107,114,128,.1)}.btn-primary-generate:hover:not(:disabled):before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer .6s ease-out}@keyframes shimmer{0%{left:-100%}to{left:100%}}.btn-secondary-download{background:transparent;color:#059669;border:2px solid #059669;font-weight:500;padding:10px 22px;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;font-size:14px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.btn-secondary-download:hover:not(:disabled){background:#059669;color:white;transform:translateY(-1px);box-shadow:0 4px 12px rgba(5,150,105,.25),0 2px 6px rgba(5,150,105,.1)}.btn-secondary-download:active:not(:disabled){transform:translateY(0);background:#047857;border-color:#047857;box-shadow:0 2px 6px rgba(5,150,105,.2),0 1px 3px rgba(5,150,105,.1)}.btn-secondary-download:focus:not(:disabled){outline:none;box-shadow:0 0 0 3px rgba(5,150,105,.3)}.btn-secondary-download:disabled{background:transparent;color:#9ca3af;border-color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}.btn-close{background:transparent;color:#9ca3af;border:1px solid #4b5563;font-weight:400;padding:10px 20px;border-radius:6px;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;font-size:13px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;order:3}.btn-close:hover:not(:disabled){background:#4b5563;color:white;border-color:#6b7280;transform:translateY(-1px);box-shadow:0 2px 8px rgba(75,85,99,.2),0 1px 3px rgba(75,85,99,.1)}.btn-close:active:not(:disabled){transform:translateY(0);background:#6b7280;border-color:#9ca3af}.btn-close:focus:not(:disabled){outline:none;box-shadow:0 0 0 2px rgba(75,85,99,.3)}.modal-button-container{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:20px;flex-wrap:wrap}.btn-primary-generate{order:1}.btn-secondary-download{order:2}.btn-loading{cursor:progress;position:relative}.btn-loading .button-text{opacity:.7}.btn-loading .loading-spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:white;animation:spin .8s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.modal-button-container{flex-direction:column;width:100%;gap:12px}.btn-primary-generate,.btn-secondary-download{width:100%;max-width:280px}.btn-primary-generate{margin-bottom:4px}}@media (min-width:769px){.modal-button-container{flex-direction:row;justify-content:center}}@media (prefers-color-scheme:dark){.btn-primary-generate{box-shadow:0 2px 8px rgba(59,130,246,.3),0 1px 3px rgba(59,130,246,.2)}.btn-primary-generate:hover:not(:disabled){box-shadow:0 4px 12px rgba(59,130,246,.4),0 2px 6px rgba(59,130,246,.25)}.btn-secondary-download{color:#10b981;border-color:#10b981}.btn-secondary-download:hover:not(:disabled){background:#10b981;box-shadow:0 4px 12px rgba(16,185,129,.3),0 2px 6px rgba(16,185,129,.15)}.btn-tertiary-close{color:#9ca3af;border-color:#4b5563}.btn-tertiary-close:hover:not(:disabled){background:#4b5563;color:#f3f4f6;border-color:#6b7280}}@media (prefers-contrast:high){.btn-primary-generate{border:2px solid #1e40af}.btn-secondary-download{border-width:3px}.btn-tertiary-close{border-width:2px}}@media (prefers-reduced-motion:reduce){.btn-primary-generate,.btn-secondary-download,.btn-tertiary-close{transition:none;transform:none}.btn-primary-generate:hover:not(:disabled),.btn-secondary-download:hover:not(:disabled),.btn-tertiary-close:hover:not(:disabled){transform:none}.btn-primary-generate:before,.loading-spinner{animation:none}}.btn-success-feedback{background:linear-gradient(135deg,#10b981,#059669);color:white}.btn-success-feedback:after{content:"✓";position:absolute;right:8px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}