@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Instrument+Sans:wght@400;500;600&display=swap");*{box-sizing:border-box}body,html{margin:0;padding:0}.wrap{--ink:#2a1b24;--paper:#f4efea;--card:#fbf8f5;--brass:#a9803f;--brand:#56123d;--brand-dark:#420e2e;--walnut:#7e5230;--line:#e7ddd4;--muted:#6e6058;font-family:Instrument Sans,system-ui,sans-serif;color:var(--ink);background:var(--paper);min-height:100vh;width:100%;line-height:1.5;-webkit-font-smoothing:antialiased}.inner{max-width:1080px;margin:0 auto;padding:22px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:26px}.logo-text{font-family:Fraunces,serif;font-weight:600;font-size:30px;color:var(--brand);letter-spacing:.005em}.topbar .tag{font-size:12.5px;color:var(--muted)}.hero h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(32px,6vw,54px);line-height:1.03;letter-spacing:-.01em;margin:2px 0 14px;max-width:16ch}.hero p.sub{font-size:clamp(15px,2.6vw,18px);color:var(--muted);max-width:52ch;margin:0 0 26px}.panel{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden}.grid{display:grid;grid-template-columns:1.05fr .95fr}@media (max-width:760px){.grid{grid-template-columns:1fr}}.col{padding:22px}.col+.col{border-left:1px solid var(--line)}@media (max-width:760px){.col+.col{border-left:none;border-top:1px solid var(--line)}}.stepnum{color:var(--brass);font-size:14px}.steph,.stepnum{font-family:Fraunces,serif}.steph{font-size:20px;font-weight:500;margin:2px 0 12px}.drop{border:1.5px dashed var(--line);border-radius:3px;background:#efe9de;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;color:var(--muted);font-size:14px;gap:6px;overflow:hidden;position:relative;transition:border-color .15s ease}.drop:hover{border-color:var(--brass)}.drop img{width:100%;height:100%;object-fit:cover}.drop .ico{font-family:Fraunces,serif;font-size:26px;color:var(--walnut)}textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line);background:#fbf8f2;border-radius:3px;padding:11px 12px;font:inherit;color:var(--ink)}input:focus,textarea:focus{outline:none;border-color:var(--brass)}.lbl{font-size:13px;color:var(--muted);margin:0 0 8px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}.chip{border:1px solid var(--line);background:#fbf8f2;color:var(--ink);padding:6px 11px;border-radius:100px;font-size:13px;cursor:pointer;transition:.12s}.chip:hover{border-color:var(--walnut)}.chip.on{border-color:var(--brand)}.chip.on,.cta{background:var(--brand);color:var(--card)}.cta{margin-top:16px;width:100%;border:none;cursor:pointer;font:inherit;font-weight:600;font-size:15px;padding:13px 16px;border-radius:3px;letter-spacing:.01em;transition:.15s}.cta:hover{background:var(--brand-dark)}.cta:disabled{opacity:.4;cursor:not-allowed}.cta.brass{background:var(--brass);color:#2a2013}.cta.brass:hover{background:#b98d47}.render{position:relative;border-radius:3px;overflow:hidden;aspect-ratio:4/3;background:#2a2320;display:flex;align-items:center;justify-content:center}.render img{width:100%;height:100%;object-fit:cover}.render .rlabel{position:absolute;top:10px;left:10px;background:hsla(39,39%,93%,.92);color:var(--ink);font-size:11px;padding:3px 8px;border-radius:100px;letter-spacing:.02em}.render .loading{color:var(--card);font-size:14px;text-align:center;padding:20px;opacity:.9}.render .err{color:#f4efe6;background:#7a3b2f;font-size:13px;padding:12px 14px;border-radius:3px;margin:16px}.chat{display:flex;flex-direction:column;gap:10px;margin-top:14px;max-height:260px;overflow-y:auto;padding-right:4px}.msg{font-size:14px;padding:10px 12px;border-radius:10px;max-width:90%}.msg.a{background:#efe9de;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:3px}.msg.u{background:var(--brand);color:#f4efe6;align-self:flex-end;border-bottom-right-radius:3px}.msg.think{color:var(--muted);font-style:italic;background:transparent;border:none}.composer{display:flex;gap:8px;margin-top:12px}.composer input{flex:1 1;border:1px solid var(--line);background:#fbf8f2;border-radius:3px;padding:11px 12px;font:inherit}.composer button{border:none;background:var(--ink);color:var(--card);padding:0 16px;border-radius:3px;cursor:pointer;font:inherit;font-weight:600}.rerender{margin-top:12px;width:100%;background:none;border:1px solid var(--line);color:var(--muted);padding:9px;border-radius:3px;cursor:pointer;font:inherit;font-size:13px}.rerender:hover{border-color:var(--walnut);color:var(--ink)}input.field{width:100%;border:1px solid var(--line);background:#fbf8f2;border-radius:3px;padding:11px 12px;font:inherit;margin-bottom:10px}.done{text-align:center;padding:40px 22px}.done .tick{font-size:34px;color:var(--brass)}.done .tick,.done h2{font-family:Fraunces,serif}.done h2{font-weight:500;font-size:26px;margin:8px 0}.package{text-align:left;background:#efe9de;border:1px solid var(--line);border-radius:3px;padding:16px;margin:18px auto 0;max-width:460px}.package .k{font-size:12px;color:var(--muted)}.package .v{font-size:14px;margin:0 0 10px}.package .v:last-child{margin-bottom:0}.footnote{font-size:12px;color:var(--muted);margin-top:18px;text-align:center}