body{background:#111827;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:20px}.btn-primary{background:linear-gradient(to right,#14b8a6,#9333ea);color:#000;font-weight:600;padding:.75rem 1.5rem;border-radius:.5rem;transition:all .2s;border:none;cursor:pointer;width:100%;font-size:1rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px #14b8a666}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-input{width:100%;padding:.75rem;border:2px solid rgb(75 85 99);border-radius:.5rem;background:#1f2937;color:#fff;transition:all .3s;font-size:.875rem;box-sizing:border-box}.form-input:focus{outline:none;border-color:#14b8a6;background:#374151}.status-generating{padding:1rem;border-radius:.5rem;margin-bottom:1.25rem;font-weight:500;background:#eab3081a;color:#eab308;border:1px solid rgb(234 179 8);display:flex;align-items:center}.status-success{padding:1rem;border-radius:.5rem;margin-bottom:1.25rem;font-weight:500;background:#22c55e1a;color:#22c55e;border:1px solid rgb(34 197 94)}.status-error{padding:1rem;border-radius:.5rem;margin-bottom:1.25rem;font-weight:500;background:#ef44441a;color:#ef4444;border:1px solid rgb(239 68 68)}.squarcle{aspect-ratio:1;border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .2s;border:2px solid rgb(75 85 99);background:#1f2937;position:relative}.squarcle:hover{transform:scale(1.05);box-shadow:0 10px 15px -3px #14b8a64d;border-color:#14b8a6}.squarcle img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.squarcle .overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;padding:.5rem}.squarcle:hover .overlay{opacity:1}.progress-bar{width:100%;height:.5rem;background:#4b5563;border-radius:9999px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:linear-gradient(to right,#14b8a6,#9333ea);border-radius:9999px;transition:width .3s}.loading-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:3px solid rgb(75 85 99);border-top:3px solid rgb(20 184 166);border-radius:50%;animation:spin 1s linear infinite;margin-right:.75rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-4{gap:1rem}.gap-8{gap:2rem}.p-8{padding:2rem}.p-6{padding:1.5rem}.p-4{padding:1rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.space-y-5>*+*{margin-top:1.25rem}.space-y-3>*+*{margin-top:.75rem}.space-y-1>*+*{margin-top:.25rem}.text-white{color:#fff}.text-gray-300{color:#d1d5db}.text-sm{font-size:.875rem}.text-2xl{font-size:1.5rem}.text-xl{font-size:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.block{display:block}.flex{display:flex}.items-center{align-items:center}.w-auto{width:auto}.w-full{width:100%}.max-w-6xl{max-width:72rem}.mx-auto{margin-left:auto;margin-right:auto}.min-h-screen{min-height:100vh}.rounded-xl{border-radius:.75rem}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.overflow-hidden{overflow:hidden}.cursor-pointer{cursor:pointer}.transition-all{transition:all .2s}.transition-opacity{transition:opacity .2s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.relative{position:relative}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.top-5{top:1.25rem}.right-5{right:1.25rem}.z-50{z-index:50}.fixed{position:fixed}.bg-black\/90{background:#000000e6}.bg-black\/50{background:#00000080}.bg-gray-800{background:#1f2937}.bg-gray-700{background:#374151}.hover-bg-white-20:hover{background:#fff3}.text-center{text-align:center}.object-cover{-o-object-fit:cover;object-fit:cover}.resize-vertical{resize:vertical}@media (min-width: 768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
