*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#0a0a0a;color:#e0e0e0;min-height:100vh}.app{max-width:900px;margin:0 auto;padding:40px 20px}.app h1{text-align:center;font-size:28px;font-weight:300;letter-spacing:2px;text-transform:uppercase;color:#c9a96e;margin-bottom:40px}.upload-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px;align-items:start}.upload-card{border:2px dashed #333;border-radius:12px;padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative;overflow:hidden;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-card:hover{border-color:#c9a96e;background:#111}.upload-card.has-image{border-color:#c9a96e;padding:0}.upload-card img{width:100%;height:100%;object-fit:cover;border-radius:10px}.upload-card input{display:none}.upload-card .label{font-size:14px;color:#888;margin-top:10px}.upload-card .icon{font-size:36px;color:#555;margin-bottom:8px}.generate-btn{display:block;width:100%;padding:16px;background:#c9a96e;color:#0a0a0a;border:none;border-radius:8px;font-size:16px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s,opacity .2s}.generate-btn:hover:not(:disabled){background:#d4b87a}.generate-btn:disabled{opacity:.4;cursor:not-allowed}.loading{text-align:center;padding:60px 20px}.loading .spinner{width:48px;height:48px;border:3px solid #333;border-top:3px solid #c9a96e;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.loading .step{font-size:14px;color:#888;margin-top:10px}.result{margin-top:30px}.result-image{width:100%;border-radius:12px;margin-bottom:20px}.prompt-section{background:#111;border:1px solid #222;border-radius:8px;padding:20px;margin-top:20px}.prompt-section h3{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#c9a96e;margin-bottom:12px}.prompt-section p{font-size:14px;line-height:1.6;color:#aaa;white-space:pre-wrap;word-break:break-word}.error{background:#1a0a0a;border:1px solid #3a1a1a;color:#ff6b6b;padding:16px;border-radius:8px;margin-top:20px;font-size:14px}.reset-btn{display:block;width:100%;padding:12px;background:transparent;color:#c9a96e;border:1px solid #c9a96e;border-radius:8px;font-size:14px;cursor:pointer;margin-top:20px;text-transform:uppercase;letter-spacing:1px}.reset-btn:hover{background:#c9a96e;color:#0a0a0a}.jewelry-upload{border:2px dashed #333;border-radius:12px;padding:16px;display:flex;flex-direction:column}.jewelry-label{font-size:13px;color:#888;text-align:center;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.jewelry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.jewelry-thumb{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1}.jewelry-thumb img{width:100%;height:100%;object-fit:cover}.jewelry-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#000000b3;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jewelry-remove:hover{background:#f44}.jewelry-add{border:2px dashed #333;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;aspect-ratio:1}.jewelry-add.full-width{grid-column:1 / -1;aspect-ratio:auto;padding:40px 20px}.jewelry-add:hover{border-color:#c9a96e;background:#111}.jewelry-add .icon{font-size:24px;color:#555}.jewelry-add-label{font-size:11px;color:#666;margin-top:4px}.jewelry-add.full-width .icon{font-size:36px}.jewelry-add.full-width .jewelry-add-label{font-size:14px;color:#888}@media(max-width:600px){.upload-section{grid-template-columns:1fr}}
