*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 600px at 20% -10%,#4c1d95 0%,transparent 60%),radial-gradient(1000px 500px at 90% 0%,#9d174d 0%,transparent 55%),#0b0713;color:#f3eefc;min-height:100vh}.page{max-width:1080px;margin:0 auto;padding:32px 20px 60px}.hero{text-align:center;margin-bottom:28px}.hero h1{font-size:2.6rem;letter-spacing:-.02em;background:linear-gradient(90deg,#f0abfc,#818cf8,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{opacity:.75;margin-top:8px}.layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 820px){.layout{grid-template-columns:1fr}}.panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel h2{font-size:1.1rem;margin-bottom:12px;opacity:.9}.lbl{display:block;font-size:.8rem;opacity:.7;margin:12px 0 6px;text-transform:uppercase;letter-spacing:.08em}textarea,select{width:100%;border-radius:10px;padding:12px;background:#0006;color:#fff;border:1px solid rgba(255,255,255,.15);font-size:1rem}textarea:focus,select:focus{outline:none;border-color:#818cf8}.go{width:100%;margin-top:14px;padding:14px;border:0;border-radius:12px;font-size:1.05rem;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(90deg,#7c3aed,#db2777)}.go:disabled{opacity:.5;cursor:wait}.err{margin-top:10px;color:#fda4af;font-size:.9rem}.status{margin-top:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.row{display:flex;justify-content:space-between;padding:4px 0;font-size:.95rem}.row span{opacity:.65}.row .queued{color:#fcd34d}.row .processing{color:#67e8f9}.row .done{color:#6ee7b7}.row .failed{color:#fda4af}.dl{display:inline-block;margin-top:10px;color:#93c5fd}.result{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12)}.placeholder{min-height:320px;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;opacity:.6;border:1px dashed rgba(255,255,255,.25);border-radius:12px}.gallery-wrap{margin-top:34px}.gallery-wrap h2{margin-bottom:12px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.thumb{background:none;border:0;padding:0;cursor:pointer}button.dl{background:none;border:0;padding:0;font-size:1rem;cursor:pointer}.muted{opacity:.55}footer{margin-top:34px;text-align:center;opacity:.5;font-size:.85rem}
