.pr{flex-direction:column;min-height:100vh;display:flex}.pr-card{background:var(--card);flex:1;width:100%}.pr-top{background:var(--card);border-bottom:1px solid var(--line);align-items:center;height:56px;padding:0 20px;display:flex}.pr-top img{width:auto;height:28px;display:block}.pr-main{padding:24px 20px 0}.pr h1{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:24px;font-weight:500;line-height:1.35}.pr-sub{color:var(--ink-soft);margin:10px 0 0;font-size:16px}.pr-small{margin:0;font-size:12px;line-height:1.5}.pr-shot{border:1px solid var(--card-border);background:var(--bg);border-radius:20px;width:220px;height:320px;margin:24px auto 0;position:relative;overflow:hidden}.pr-shot img{width:100%;height:auto;display:block}.pr-shot:after{content:"";background:linear-gradient(to bottom,transparent,var(--card));height:72px;position:absolute;bottom:0;left:0;right:0}.pr-benefit{background:var(--accent-tint);border-radius:12px;margin-top:20px;padding:16px}.pr-benefit p{color:var(--ink);margin:0;font-size:15px;line-height:1.6}.pr-benefit .pr-small{color:var(--accent);margin-top:6px}.pr-field{margin-top:24px}.pr-label{color:var(--ink);margin:0 0 8px;font-size:14px;font-weight:500;display:block}.pr-input{font:inherit;border:1px solid var(--card-border);background:var(--card);width:100%;height:48px;color:var(--ink);box-sizing:border-box;border-radius:10px;padding:0 14px;font-size:17px}.pr-input::placeholder{color:var(--ink-muted)}.pr-input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.pr-input[aria-invalid=true]{border-color:var(--error)}.pr-seg{outline:none;grid-template-columns:1fr 1fr;gap:8px;display:grid}.pr-seg button{font:inherit;border:1px solid var(--card-border);background:var(--card);height:48px;color:var(--ink-soft);cursor:pointer;border-radius:10px;font-size:16px;font-weight:500}.pr-seg button[aria-checked=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.pr-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pr-note{color:var(--ink-soft);margin-top:8px}.pr-consent{justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.pr-check{min-height:44px;color:var(--ink);cursor:pointer;flex:1;align-items:center;gap:10px;font-size:15px;display:flex}.pr-check input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.pr-check input[aria-invalid=true]{outline:2px solid var(--error);outline-offset:1px}.pr-toggle{font:inherit;color:var(--ink-muted);cursor:pointer;text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;min-width:44px;min-height:44px;padding:0 4px;font-size:13px;text-decoration:underline}.pr-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.pr-detail{background:var(--bg);color:var(--ink-soft);border-radius:10px;margin:0 0 8px;padding:12px 14px 12px 28px;font-size:13px;line-height:1.6}.pr-detail li+li{margin-top:4px}.pr-err{color:var(--error-ink);margin:6px 0 0;font-size:13px;line-height:1.5}.pr-hp{opacity:0;width:1px;height:1px;position:absolute;top:auto;left:-9999px}.pr-bar{padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--hairline);z-index:10;margin:24px -20px 0;position:sticky;bottom:0}.pr-bar .pr-err{text-align:center}.pr-btn{font:inherit;background:var(--accent);width:100%;height:52px;color:var(--white);cursor:pointer;box-sizing:border-box;border:0;border-radius:12px;justify-content:center;align-items:center;font-size:16px;font-weight:500;text-decoration:none;display:flex}.pr-btn:hover{background:var(--navy-soft)}.pr-btn:active{background:var(--navy)}.pr-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pr-btn[aria-busy=true]{cursor:progress}.pr-done{padding-bottom:40px}.pr-done .pr-btn{margin-top:28px}@media (min-width:900px){.pr{background:var(--bg)}.pr-card{border:1px solid var(--card-border);border-radius:20px;flex:none;max-width:480px;margin:40px auto;overflow:clip}.pr-top{padding:0 28px}.pr-main{padding:28px 28px 0}.pr-bar{margin:28px -28px 0;padding:16px 28px}.pr-done{padding-bottom:44px}}
