*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Nunito,system-ui,-apple-system,sans-serif;background:#fde8cd;color:#4a3b2e}#app{max-width:560px;margin:0 auto;padding:18px 16px 48px}.masthead{text-align:center;padding:10px 0 4px}.masthead h1{margin:0;font-size:26px;letter-spacing:.2px}.masthead p{margin:6px 0 0;opacity:.85;font-size:15px}.step{background:#fff9ef;border-radius:20px;padding:18px 16px;margin-top:14px;box-shadow:0 4px 18px #4a3b2e14}.step h2{margin:0 0 4px;font-size:18px}.step .why{margin:0 0 12px;font-size:14px;opacity:.8}.shot-demo{background:#fbf3e4;border-radius:14px;padding:10px;text-align:center}.shot-demo svg{width:100%;max-width:340px;height:auto}.dos{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:12px 0 0;padding:0;list-style:none;font-size:13.5px}.dos li{line-height:1.35}.dos .no{opacity:.75}.drop{display:block;border:2px dashed #e0b79e;border-radius:14px;background:#fffdf8;padding:18px 12px;text-align:center;cursor:pointer;font-size:15px;margin-top:12px}.drop strong{color:#d9704c}.drop input{display:none}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-top:12px}.thumb{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1;background:#eee3d2}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .badge{position:absolute;top:5px;left:5px;background:#e8896b;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:2px 7px}.thumb.off-wall .badge{background:#a99c8c}.thumb .rm{position:absolute;top:3px;right:3px;width:24px;height:24px;border:0;border-radius:50%;background:#4a3b2ea6;color:#fff;font-size:13px;cursor:pointer;line-height:1}.wall-note{font-size:13px;margin:10px 0 0;opacity:.85}.field{margin-top:12px}.field label{display:block;font-weight:700;font-size:14px;margin-bottom:5px}.field .hint{font-weight:400;opacity:.7}.field input[type=text],.field input[type=email],.field input[type=number],.field input[type=url],.field select,.field textarea{width:100%;border:1.5px solid #e6d5be;border-radius:12px;background:#fffdf8;color:#4a3b2e;font:inherit;font-size:16px;padding:11px 12px}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#e8896b}.age-pair{display:flex;gap:8px}.age-pair select{flex:1;min-width:0}.age-pair select:disabled{opacity:.45}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kind{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.kind button{border:2px solid #e6d5be;border-radius:14px;background:#fffdf8;padding:12px 10px;font:inherit;font-size:14.5px;color:#4a3b2e;cursor:pointer;line-height:1.35}.kind button.on{border-color:#e8896b;background:#fdeee6;font-weight:700}.kind .big{font-size:17px;display:block}.memorial-note{display:none;margin:10px 0 0;font-size:13.5px;background:#f3e9fb;border-radius:12px;padding:10px 12px}.memorial-note.show{display:block}.world-badge{margin:0 0 14px;font-size:14.5px;background:#fff4e6;border:1px solid #f2dcbf;border-radius:12px;padding:11px 14px;color:#5a4632}.world-badge strong{color:#b4571f}.swatches{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:6px}.swatch{aspect-ratio:1;border-radius:12px;border:3px solid transparent;cursor:pointer;padding:0}.swatch.on{border-color:#4a3b2e;box-shadow:0 0 0 2px #fff9ef inset}.swatch-custom{position:relative;display:flex;align-items:center;justify-content:center;background:conic-gradient(#f7b1c4,#f9d9a1,#cfe6a8,#a8dbe6,#c7b6ec,#f7b1c4)}.swatch-custom input{position:absolute;inset:0;opacity:0;cursor:pointer}.swatch-custom-face{font-size:18px;pointer-events:none}.swatch-accept{grid-column:1 / -1;display:flex;align-items:center;gap:10px;margin-top:2px}.swatch-accept.hidden{display:none}.swatch-accept-chip{width:30px;height:30px;border-radius:9px;border:2px solid #4a3b2e;flex:none}.swatch-accept-btn{border:0;border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;font-weight:800;background:#e8896b;color:#fff;cursor:pointer}.bark-row{display:flex;align-items:center;gap:10px;margin-top:8px}.bark-row .drop{flex:1;margin-top:0;padding:12px}.bark-name{font-size:13.5px}.bark-clear{border:0;background:none;color:#d9704c;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.actions{margin-top:18px}.primary{width:100%;border:0;border-radius:999px;background:#e8896b;color:#fff;font:inherit;font-size:18px;font-weight:800;padding:15px 18px;cursor:pointer;box-shadow:0 6px 16px #e8896b66}.primary:disabled{opacity:.55;box-shadow:none;cursor:default}.error-note{color:#b64a2e;font-size:14px;margin:10px 0 0;text-align:center;min-height:18px}.done{text-align:center;padding:40px 18px}.done .emoji{font-size:52px}.done h2{margin:12px 0 6px}.done p{margin:6px 0;font-size:15px;opacity:.9}.done a{color:#b4571f;font-weight:700}.done .visit-link{display:inline-block;margin-top:10px;background:#e8896b;color:#fff;text-decoration:none;border-radius:999px;padding:12px 22px;font-weight:800;box-shadow:0 6px 16px #e8896b66}.thumb .star{position:absolute;top:4px;left:4px;width:28px;height:28px;border:0;border-radius:50%;background:#fff9efeb;font-size:15px;line-height:1;cursor:pointer;box-shadow:0 2px 6px #4a3b2e40}.thumb.starred{outline:3px solid #e8b64b;outline-offset:-3px}.align-stage{width:min(340px,86vw);height:min(340px,86vw);margin:14px auto 6px;border-radius:24px;background:linear-gradient(#bfe3f2,#fde8cd 62%,#e8d5b0 62%,#dcc9a4);box-shadow:inset 0 2px 14px #4a3b2e2e,0 8px 22px #4a3b2e24;overflow:hidden;touch-action:none}.align-stage canvas{width:100%;height:100%;display:block;cursor:grab}.align-tip{font-size:14.5px;max-width:340px;margin:10px auto}.align-stagewrap .primary{max-width:340px}.build-dots{font-size:22px;min-height:30px;letter-spacing:4px}.build-emoji{animation:buildBob 1.6s ease-in-out infinite;display:inline-block}@keyframes buildBob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.hint-line{font-size:13px;opacity:.75}.build-steps{text-align:left;max-width:400px;margin:18px auto 6px;display:grid;gap:4px}.build-step{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;border-radius:12px;opacity:.45;transition:opacity .4s,background .4s}.build-step .step-mark{width:20px;flex:none;text-align:center;font-weight:800}.build-step .step-detail{display:none;font-size:13px;opacity:.8;font-weight:400}.build-step strong{font-size:14.5px;display:block}.build-step.done{opacity:.8}.build-step.done .step-mark{color:#3c7d46}.build-step.current{opacity:1;background:#fdeee6;border:1.5px solid #f3c9b4;padding:10px 12px}.build-step.current .step-detail{display:block;margin-top:2px}.build-step.current .step-mark{animation:buildBob 1.2s ease-in-out infinite}.magic-how{margin-top:18px;background:#fff9ef;border:1.5px solid #f0e3cd;border-radius:14px;padding:12px 16px}.magic-how summary{cursor:pointer;font-weight:800;font-size:15px;list-style:none}.magic-how summary::-webkit-details-marker{display:none}.magic-how summary:after{content:" ▸";opacity:.6}.magic-how[open] summary:after{content:" ▾"}.magic-how ol{margin:10px 0 4px;padding-left:18px;display:grid;gap:8px;font-size:14px}.magic-how li strong{font-weight:700}.kind-ask{font-size:13.5px;text-align:center;background:#fff4e6;border:1px solid #f2dcbf;border-radius:12px;padding:9px 12px;margin:0 0 12px}
