:root{--bg: #fbf7f1;--card: #ffffff;--text: #2b2118;--muted: #5e5045;--primary: #9a4a1f;--primary-text: #ffffff;--border: #d9cbbb;--error: #a3231a;--focus: #1d5fbf;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.app{max-width:480px;margin:0 auto;padding:16px 16px 96px}.top{padding:4px 0 12px}.brand{font-weight:700;color:var(--primary)}.step{display:flex;flex-direction:column;gap:16px}.step.center{align-items:center;text-align:center;padding-top:25vh}h1{font-size:1.6rem;line-height:1.2;margin:8px 0 0}h1:focus{outline:none}.help,.note{color:var(--muted);margin:0}.note{font-size:.9rem;background:#f3eadf;padding:10px 12px;border-radius:10px}.error{color:var(--error);font-weight:600;margin:0}.optional{color:var(--muted);font-weight:400}.btn{min-height:56px;padding:12px 18px;border-radius:14px;border:2px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn.big{min-height:72px;font-size:1.2rem}.btn.link{border:none;background:none;text-decoration:underline;min-height:48px}.btn:disabled{opacity:.6}.btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-weight:600}.field input,.field textarea{font:inherit;font-weight:400;padding:12px;border:2px solid var(--border);border-radius:12px;background:var(--card);color:var(--text)}.field input{min-height:56px}.thumb{width:50%;align-self:center;border-radius:12px}.result{width:100%;border-radius:12px;box-shadow:0 4px 18px #0000001f;aspect-ratio:4 / 5}.estilos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.btn.estilo{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px}.btn.estilo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:8px}.spinner{width:56px;height:56px;border-radius:50%;border:6px solid var(--border);border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:4s}}.status{font-size:1.1rem}progress{width:100%;height:14px}.toast:empty{display:none}.toast{position:fixed;left:16px;right:16px;bottom:16px;max-width:448px;margin:0 auto;background:var(--text);color:#fff;padding:14px 16px;border-radius:12px}
