:root{--fpmy-navy:#1d3557;--fpmy-cream:#f7f1e8;--fpmy-line:#e4d6c6;--fpmy-ok:#166534;--fpmy-bad:#b91c1c;--fpmy-ink:#1d2433}.fpmy-wrap{max-width:640px;margin:0 auto;padding:1rem;color:var(--fpmy-ink);font-family:inherit}.fpmy-header h2{margin:0 0 .35rem;font-size:1.35rem;color:var(--fpmy-navy)}.fpmy-muted{color:#6b7280;font-size:.92rem;margin:0}.fpmy-steps{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}.fpmy-step{font-size:.75rem;padding:.35rem .65rem;border-radius:999px;background:#fff;border:1px solid var(--fpmy-line);color:#6b7280}.fpmy-step.is-active{background:var(--fpmy-navy);color:#fff;border-color:var(--fpmy-navy)}.fpmy-step.is-done{background:var(--fpmy-cream);color:var(--fpmy-navy)}.fpmy-panel{background:linear-gradient(180deg,#fbf7f2,#f4eee6);border:1px solid var(--fpmy-line);border-radius:20px;padding:1.1rem;box-shadow:0 10px 24px rgb(29 53 87 / .07)}.fpmy-panel[hidden]{display:none!important}.fpmy-preview-wrap{position:relative;background:#bebebe;border-radius:14px;aspect-ratio:4/5;overflow:hidden;display:grid;place-items:center}.fpmy-preview-wrap img{width:100%;height:100%;object-fit:cover;display:block}.fpmy-preview-wrap img[hidden]{display:none!important}.fpmy-guide{text-align:center;padding:1rem;color:#fff;text-shadow:0 1px 4px rgb(0 0 0 / .4);font-size:.9rem}.fpmy-actions{margin-top:.85rem;display:flex;gap:.5rem;flex-wrap:wrap;flex-direction:column}.fpmy-actions .fpmy-btn{display:flex;justify-content:center;align-items:center;width:100%;text-align:center;box-sizing:border-box}@media (min-width:768px){.fpmy-pick-camera{display:none!important}.fpmy-pick-album{width:auto}.fpmy-actions{flex-direction:row}}.fpmy-btn{appearance:none;border:0;border-radius:999px;background:var(--fpmy-navy);color:#fff;font-weight:700;padding:.7rem 1.2rem;cursor:pointer;font-size:.9rem}.fpmy-btn:disabled{opacity:.4;cursor:not-allowed}.fpmy-btn-ghost{background:#fff;color:var(--fpmy-navy);border:1.5px solid var(--fpmy-navy)}.fpmy-btn-studio{background:#b45309;color:#fff}.fpmy-next-row{margin-top:1rem;flex-direction:column;align-items:stretch}.fpmy-next-row .fpmy-btn{width:100%;text-align:center}.fpmy-studio-note{margin:.45rem 0 0;font-size:.85rem}.fpmy-pay-options{display:grid;gap:.5rem;margin:1rem 0}.fpmy-pay-opt{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;background:#fff;border:2px solid var(--fpmy-line);border-radius:14px;cursor:pointer;font-weight:600;font-size:.92rem}.fpmy-pay-opt:has(input:checked){border-color:var(--fpmy-navy);background:#f7f1e8}.fpmy-pay-opt input{width:auto;margin:0}.fpmy-pay-detail{margin:0 0 1rem;padding:1rem;background:#fff;border:1px solid var(--fpmy-line);border-radius:14px;font-size:.88rem;line-height:1.55}.fpmy-pay-detail a{color:var(--fpmy-navy)}.fpmy-checks{margin-top:1rem;background:#fff;border:1px solid var(--fpmy-line);border-radius:14px;padding:.85rem}.fpmy-checks h3{margin:0 0 .6rem;font-size:.95rem}.fpmy-checks ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.fpmy-checks li{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem}.fpmy-checks .mark{font-weight:800;min-width:1.2rem}.fpmy-checks .mark.ok{color:var(--fpmy-ok)}.fpmy-checks .mark.bad{color:var(--fpmy-bad)}.fpmy-check-summary{margin:.65rem 0 0;font-weight:700;font-size:.9rem}.fpmy-check-summary.ok{color:var(--fpmy-ok)}.fpmy-check-summary.bad{color:var(--fpmy-bad)}.fpmy-progress{margin:0 0 .85rem}.fpmy-progress-bar{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.fpmy-progress-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--fpmy-navy),#457b9d);border-radius:999px;transition:width .25s ease}.fpmy-progress-label{margin:.45rem 0 0;font-size:.85rem;font-weight:600;color:var(--fpmy-navy)}#fpmy-signature{display:block;width:100%;max-width:600px;height:auto;aspect-ratio:3/1;background:#fff;border:2px solid var(--fpmy-line);border-radius:12px;touch-action:none;cursor:crosshair}.fpmy-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;justify-content:flex-end}.fpmy-form{display:grid;gap:.75rem;margin-bottom:1rem}.fpmy-form label{display:grid;gap:.3rem;font-size:.88rem;font-weight:600}.fpmy-form input{width:100%;padding:.65rem .8rem;border:1px solid var(--fpmy-line);border-radius:10px;font:inherit;box-sizing:border-box}.fpmy-summary{margin-bottom:.75rem}.fpmy-tips{margin-top:1rem;background:#fff;border:1px solid var(--fpmy-line);border-radius:14px;padding:.75rem 1rem}.fpmy-tips summary{cursor:pointer;font-weight:700;color:var(--fpmy-navy);font-size:.9rem}.fpmy-tips ul{margin:.65rem 0 0;padding-left:1.1rem;display:grid;gap:.4rem;font-size:.85rem;color:#4b5563}.fpmy-tips li{line-height:1.45}.fpmy-msg{margin-top:.75rem;color:var(--fpmy-bad);font-size:.9rem}.fpmy-msg:not([hidden]){display:block}.fpmy-msg.is-ok{color:var(--fpmy-ok)}.fpmy-success{text-align:center;padding:1rem 0}.fpmy-success h3{color:var(--fpmy-navy);margin:0 0 .5rem}#fpmy-payment-info{margin-top:1rem;padding:1rem;background:#fff;border-radius:12px;text-align:left;font-size:.88rem;line-height:1.55}.fpmy-notice{margin:1rem 0;padding:.85rem 1rem;background:#fff;border:1px solid #fed7aa;border-radius:14px;font-size:.85rem;line-height:1.5;color:#7c2d12}.fpmy-notice p{margin:0}.fpmy-terms{margin:0 0 .75rem;background:#fff;border:1px solid var(--fpmy-line);border-radius:14px;padding:.75rem 1rem}.fpmy-terms summary{cursor:pointer;font-weight:700;color:var(--fpmy-navy);font-size:.88rem}.fpmy-terms ol{margin:.65rem 0 0;padding-left:1.2rem;display:grid;gap:.45rem;font-size:.82rem;color:#4b5563;line-height:1.45}.fpmy-terms-check{display:flex;align-items:flex-start;gap:.55rem;margin:0 0 1rem;font-size:.85rem;font-weight:600;cursor:pointer}.fpmy-terms-check input{margin-top:.2rem;width:auto;flex-shrink:0}.fpmy-extra-opt{display:flex;align-items:flex-start;gap:.55rem;margin:0 0 1rem;padding:.85rem 1rem;background:#fff;border:1px solid var(--fpmy-line);border-radius:14px;font-size:.85rem;line-height:1.45;cursor:pointer}.fpmy-extra-opt input{margin-top:.2rem;width:auto;flex-shrink:0}.fpmy-sig-note{margin:.5rem 0 .75rem;font-size:.85rem}.fpmy-print-note{margin:.45rem 0 0;font-size:.85rem}.fpmy-upload-policy-note{margin-top:.75rem;font-size:.85rem;text-align:left}