:root{--accent:#01a343;--accent-dark:#018a38;--bg:#f5f5f5;--text:#1a1a1a;--muted:#666;--border:#ddd}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:Hiragino Sans,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.6}.container{max-width:520px;margin:0 auto;padding:24px 16px 48px}.brand{text-align:center;color:var(--accent);margin:8px 0 4px;font-size:20px;font-weight:800}.lead{text-align:center;color:var(--muted);margin-bottom:24px;font-size:14px}.card{border:2px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;margin-bottom:12px;padding:16px;transition:border-color .15s,box-shadow .15s}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card-head{align-items:center;gap:8px;display:flex}.card-title{font-size:17px;font-weight:800}.badge{background:var(--accent);color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.card-features{color:#333;margin:8px 0 0;padding-left:18px;font-size:13px}.field{margin:16px 0 8px}.field label{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.field input{border:1px solid var(--border);border-radius:8px;width:100%;padding:12px;font-size:16px}.cta{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:16px;font-weight:800}.cta:disabled{cursor:not-allowed;background:#ccc}.note{color:var(--muted);margin-top:12px;font-size:12px}.error{color:#c62828;background:#ffebee;border-radius:8px;margin:12px 0;padding:10px 12px;font-size:13px}.code-box{border:2px dashed var(--accent);text-align:center;background:#e8f5e9;border-radius:12px;margin:16px 0;padding:20px}.code-value{letter-spacing:2px;color:var(--accent-dark);-webkit-user-select:all;user-select:all;font-size:28px;font-weight:800}
