.penlive{--purple:#7032aa;max-width:860px;margin:28px auto;padding:32px;background:#fff;border:1px solid #e7ddec;border-radius:20px;box-shadow:0 14px 40px #42275212;color:#33293a;font:16px/1.6 system-ui,sans-serif;box-sizing:border-box}.penlive *{box-sizing:border-box}.penlive [hidden]{display:none!important}.penlive h2{font:700 32px/1.2 Georgia,serif;color:#54217f;margin:20px 0 10px}.penlive h3{font:700 25px/1.3 Georgia,serif;color:#54217f;margin:22px 0 16px}.penlive h4{font-size:20px}.penlive .penlive-banner{background:#fff7e6;color:#695020;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:700}.penlive-intro{color:#6b6172}.penlive .penlive-progress{display:flex;gap:8px;list-style:none;padding:0;margin:26px 0}.penlive-progress li{flex:1;padding:12px 8px;text-align:center;border-bottom:3px solid #e7ddec;font-size:14px}.penlive-progress [aria-current]{color:#7032aa;border-color:#7032aa;font-weight:700}.penlive label{display:block;margin:0 0 17px;font-weight:600}.penlive input:not([type=checkbox]):not([type=radio]),.penlive select,.penlive textarea{display:block;width:100%;max-width:none;margin-top:6px;padding:11px 12px;min-height:46px;border:1px solid #cfc4d8;border-radius:8px;background:#fff;color:#33293a;font:inherit}.penlive input:focus,.penlive select:focus,.penlive textarea:focus,.penlive button:focus-visible,.penlive summary:focus-visible{outline:3px solid #c3a3df;outline-offset:2px}.penlive-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.penlive button{cursor:pointer;border:0;border-radius:9px;padding:13px 20px;background:#7032aa;color:#fff;font:700 15px system-ui;min-height:46px}.penlive button:disabled{opacity:.5;cursor:wait}.penlive button.penlive-secondary{background:#f1eaf6;color:#54217f}.penlive-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.penlive fieldset{border:1px solid #d9cbe3;border-radius:10px;padding:18px;margin:20px 0}.penlive legend{font-weight:700}.penlive input[type=checkbox],.penlive input[type=radio]{appearance:auto!important;width:20px!important;height:20px!important;opacity:1!important;position:static!important;accent-color:#7032aa;flex-shrink:0;margin:3px 8px 0 0!important}.penlive fieldset label,.penlive .penlive-check{display:flex;align-items:flex-start;font-weight:400}.penlive .penlive-id{padding:16px;background:#f5eff9;border-radius:8px}.penlive .penlive-id strong{font-size:23px;letter-spacing:1px}.penlive details{margin:22px 0}.penlive summary{cursor:pointer;font-weight:700}.penlive pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 system-ui;background:#fcfafc;padding:18px;border:1px solid #e7ddec;max-height:500px;overflow:auto}.penlive dl{display:grid;grid-template-columns:1fr 2fr;gap:9px;padding:18px;background:#faf7fc;border-radius:9px}.penlive dt{font-weight:600}.penlive dd{margin:0;white-space:pre-wrap}.penlive #penlive-error{background:#fff0f1;color:#8a1634;padding:14px;border-radius:8px;margin:16px 0}.penlive #penlive-done p{overflow-wrap:anywhere}@media(max-width:640px){.penlive{padding:20px 16px;margin:15px auto}.penlive-grid{grid-template-columns:1fr}.penlive .penlive-progress li{font-size:12px;padding:9px 3px}.penlive h2{font-size:27px}.penlive dl{grid-template-columns:1fr}.penlive dd{margin-bottom:8px}.penlive-actions{flex-wrap:wrap}.penlive-actions button{flex:1}.penlive pre{padding:12px}}

/* 0.1.1: explicit agreement visibility and one checkbox rendering source. */
#penlive-root .penlive-readable{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.75 system-ui,sans-serif;max-height:none;overflow:visible;display:block;color:#33293a;margin:12px 0 24px}
#penlive-root #penlive-terms,#penlive-root #penlive-policies{display:block!important;visibility:visible!important;opacity:1!important}
#penlive-root #penlive-terms p{font-size:15px;line-height:1.75;margin:0 0 18px}
#penlive-root .penlive-policy-nav{padding:14px 0;line-height:2}#penlive-root .penlive-policy-nav a{color:#7032aa;text-decoration:underline}
#penlive-root h4{scroll-margin-top:90px}
#penlive-root input[type=checkbox]{-webkit-appearance:none!important;appearance:none!important;background:#fff!important;border:2px solid #7032aa!important;border-radius:3px!important;display:inline-block!important;position:relative!important;box-shadow:none!important;min-width:20px!important;padding:0!important}
#penlive-root input[type=checkbox]::before{content:none!important;display:none!important}
#penlive-root input[type=checkbox]::after{content:none!important;display:none!important}
#penlive-root input[type=checkbox]:checked::after{content:""!important;display:block!important;position:absolute!important;left:4px!important;top:0px!important;width:5px!important;height:10px!important;border:solid #7032aa!important;border-width:0 2px 2px 0!important;transform:rotate(45deg)!important;background:none!important;box-shadow:none!important}
#penlive-root .penlive-check::before,#penlive-root .penlive-check::after{content:none!important;display:none!important}

/* 0.1.2 policy reading width and fee confirmation. */
#penlive-root #penlive-policies,#penlive-root #penlive-terms{max-width:68ch;margin-left:auto;margin-right:auto;text-align:left!important}
#penlive-root .penlive-policy-text p{font:400 15px/1.75 system-ui,sans-serif!important;white-space:pre-line!important;overflow-wrap:anywhere;word-break:normal;text-align:left!important;margin:0 0 18px!important;letter-spacing:normal!important;width:auto!important}
#penlive-root #penlive-price-summary:not(:empty){font-size:18px;font-weight:700;color:#54217f;padding:16px;background:#f5eff9;border-radius:8px;margin:12px 0}

/* Secondary policies are optional to expand, not optional to accept. */
#penlive-root details.penlive-policy-section{margin:16px 0;border:1px solid #d8c5e4;border-radius:10px;overflow:hidden;scroll-margin-top:90px}
#penlive-root details.penlive-policy-section>summary{display:list-item;list-style:disclosure-closed inside;padding:16px 18px;background:#f3ecf8;color:#54217f;font:700 17px/1.5 Georgia,serif;cursor:pointer}
#penlive-root details.penlive-policy-section[open]>summary{list-style-type:disclosure-open;border-bottom:1px solid #d8c5e4}
#penlive-root .penlive-policy-section>.penlive-policy-text{padding:18px}
#penlive-root .penlive-policy-section:not([open])>.penlive-policy-text{display:none!important}

#penlive-root .penlive-agreement-title {padding:18px 20px;background:#f2e9f8;border-left:5px solid #7032aa;border-radius:10px;color:#54217f;font-size:21px;margin:24px 0 14px;}
#penlive-verification-status {padding:12px;background:#f8f4fb;border-radius:8px;}
#penlive-root [hidden],#penlive-offer-form [hidden] {display:none!important;}

#penlive-root .penlive-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}

#penlive-captcha-box{padding:18px;margin:18px 0;border:2px solid #7032aa;border-radius:12px;background:#faf6fd;}#penlive-captcha-box button{margin-top:12px;}

#penlive-root .penlive-captcha-inline{margin:18px 0;padding:12px 0;}#penlive-root .penlive-captcha-inline p{font-size:13px;margin:6px 0;}

/* Step 2: distinct registration routes; shared form styling stays unchanged. */
#penlive-root .penlive-routes > label {display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #d9cbe4;border-radius:10px;margin:10px 0;background:#fbf8fd;cursor:pointer;}
#penlive-root .penlive-routes small {display:block;margin-top:5px;font-weight:400;line-height:1.5;}
#penlive-root .penlive-routes input {flex:0 0 auto;margin-top:4px;}
