.keyfile-success-dialog{width:min(34rem,calc(100vw - 2rem));max-width:none;padding:0;border:1px solid #d7bd7b;background:#f8f4e6;color:#1d211d;box-shadow:0 18px 70px #0008}
.keyfile-success-dialog::backdrop{background:rgba(13,21,18,.72)}
.keyfile-success-card{position:relative;padding:2.25rem;background:repeating-linear-gradient(0deg,transparent 0,transparent 23px,rgba(164,139,83,.08) 24px),linear-gradient(135deg,#fcf7e7,#edf4e9)}
.keyfile-success-card h2{margin:.5rem 2.5rem 1rem 0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.16}
.keyfile-success-card p{line-height:1.55}
.keyfile-success-eyebrow{color:#14754e;font-family:monospace;font-weight:700;letter-spacing:.09em}
.keyfile-success-close{position:absolute;right:1rem;top:1rem;width:2.5rem;height:2.5rem;border:1px solid #bca66a;background:#fff9e9;font-size:1.5rem;cursor:pointer}
.keyfile-success-download,.keyfile-success-reopen{border:1px solid #ad8029;background:#eebf54;color:#19180e;font:inherit;font-weight:700;padding:.85rem 1.2rem;cursor:pointer}
.keyfile-success-download{width:100%;margin-top:.75rem}.keyfile-success-reopen{margin-top:.6rem;background:transparent;padding:.5rem .8rem}
.keyfile-success-download:focus-visible,.keyfile-success-close:focus-visible,.keyfile-success-reopen:focus-visible{outline:3px solid #167950;outline-offset:3px}
.keyfile-offer-price{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;margin:1.15rem 0 1.3rem;padding:.75rem 1rem;border-block:1px solid #dcc68d;background:rgba(255,250,229,.68);text-align:center}
.keyfile-offer-price span{color:#806019;font-family:monospace;font-size:.75rem;font-weight:700;letter-spacing:.08em}
.keyfile-offer-price strong{color:#17251e;font-size:clamp(1.65rem,3vw,2rem);line-height:1.2}
.keyfile-email-form{display:grid;gap:.4rem;margin:0 0 1.15rem}.keyfile-email-form label{display:grid;gap:.5rem;font-size:.95rem;font-weight:700;line-height:1.35}.keyfile-email-form input{box-sizing:border-box;width:100%;min-height:2.8rem;padding:.65rem .8rem;border:1px solid #b6b9ac;border-radius:2px;background:#fff;color:#17201c;font:inherit}.keyfile-email-form small{color:#525b50;font-size:.82rem;line-height:1.4}
.keyfile-inline-offer{box-sizing:border-box;min-width:0;padding:1.4rem;border:1px solid #d8bd7d;background:linear-gradient(145deg,#fffbef,#f0f5ed);color:#202820}
.keyfile-inline-content{max-width:32rem;margin:auto}.keyfile-inline-kicker{color:#14754e;font:700 .72rem/1.3 monospace;letter-spacing:.08em}.keyfile-inline-offer h3{margin:.35rem 0 .55rem;font-size:1.4rem;line-height:1.2}.keyfile-inline-offer p{margin:.5rem 0;line-height:1.5}.keyfile-inline-offer .keyfile-inline-note{font-size:.86rem;color:#526054}.keyfile-inline-offer .keyfile-offer-price{margin:1rem 0;padding:.55rem}.keyfile-inline-offer paypal-button{display:block;max-width:20rem}
@media(min-width:1000px){.release-download-grid.has-keyfile-offer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.release-download-grid.has-keyfile-offer .keyfile-inline-offer{grid-column:2;grid-row:var(--keyfile-row,1)}.release-download-grid.has-keyfile-offer .release-download-card{grid-column:1}}
[data-theme="dark"] .keyfile-inline-offer{background:linear-gradient(145deg,#26231a,#16231c);border-color:#826b3d;color:#f4f0e5}[data-theme="dark"] .keyfile-inline-note{color:#c6c9ba}[data-theme="dark"] .keyfile-offer-price{background:#272b20;border-color:#816f46}[data-theme="dark"] .keyfile-offer-price strong{color:#f5ebce}[data-theme="dark"] .keyfile-email-form small{color:#c6c9ba}
.release-download-grid.has-keyfile-offer .release-download-card{min-width:0}.release-download-grid.has-keyfile-offer .release-download-actions{width:100%;min-width:0;flex:0 1 auto;justify-content:flex-start;flex-wrap:wrap}.release-download-grid.has-keyfile-offer .release-download-actions .button{box-sizing:border-box;max-width:100%;white-space:normal;text-align:center}
.release-download-grid.has-keyfile-offer .release-download-security,.release-download-grid.has-keyfile-offer .release-security-panel{min-width:0;max-width:100%;box-sizing:border-box}.release-download-grid.has-keyfile-offer .release-security-panel dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.release-download-grid.has-keyfile-offer .release-security-panel dd,.release-download-grid.has-keyfile-offer .release-security-panel code,.release-download-grid.has-keyfile-offer .release-security-footer{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.release-download-grid.has-keyfile-offer .release-download-actions .button{flex:1 1 7rem}
.release-download-grid.has-keyfile-offer .release-security-footer{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.release-download-grid.has-keyfile-offer .release-security-footer small{max-width:none;text-align:left}
.keyfile-inline-offer paypal-button{margin-left:auto;margin-right:auto}
.keyfile-inline-offer [data-status]{text-align:center;overflow-wrap:anywhere}.keyfile-inline-offer .keyfile-success-reopen{display:inline-block;max-width:100%;box-sizing:border-box;white-space:normal}
.keyfile-inline-offer .keyfile-currency-note{margin:-.4rem 0 1rem;text-align:center;font-size:.8rem;line-height:1.4;color:#525b50}[data-theme="dark"] .keyfile-inline-offer .keyfile-currency-note{color:#c6c9ba}
.keyfile-inline-offer .keyfile-email-form label span,.keyfile-inline-offer .keyfile-email-form small{text-align:center}
.keyfile-inline-offer .keyfile-inline-note{text-align:center}
.keyfile-email-form label.keyfile-consent{display:grid;grid-template-columns:1.1rem minmax(0,1fr);align-items:start;gap:.6rem;font-size:.8rem;font-weight:400;line-height:1.45;text-align:left;margin-top:.55rem}
.keyfile-email-form label.keyfile-consent input{box-sizing:border-box;width:1rem;height:1rem;min-height:0;margin:.15rem 0 0;padding:0;accent-color:#14754e}
.keyfile-open-checkout{display:block;width:100%;max-width:20rem;margin:1rem auto;padding:.9rem 1.2rem;border:1px solid #b98426;background:#efc359;color:#17201c;font:inherit;font-weight:700;line-height:1.25;cursor:pointer}
.keyfile-purchase-dialog{box-sizing:border-box;width:min(94vw,37rem);max-height:90vh;overflow:auto;border:1px solid #c7aa6b;padding:0;background:#faf8eb;color:#17201c;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.keyfile-purchase-dialog::backdrop{background:rgba(15,25,20,.72)}
.keyfile-purchase-card{position:relative;padding:clamp(1.3rem,4vw,2.5rem)}
.keyfile-purchase-card h2{margin:0 2.5rem 1rem 0;font-size:1.5rem}
.keyfile-purchase-card .keyfile-legal-facts{margin:.6rem 0 1rem;padding:.8rem 1rem;border-left:3px solid #c9912b;background:rgba(201,145,43,.08);font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}
.keyfile-purchase-card .keyfile-legal-facts a{color:inherit;text-decoration:underline}
.keyfile-purchase-amount{padding:.65rem 0;border-top:1px solid #d4c7a2;border-bottom:1px solid #d4c7a2;font-weight:700}
.keyfile-offer-price span{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.keyfile-pixel-heart{width:1.15rem;height:1.15rem;flex:none;fill:#c33438;filter:drop-shadow(0 1px 0 #8f2027)}.keyfile-pixel-heart-shine{fill:#ffb5a7}[data-theme="dark"] .keyfile-pixel-heart{fill:#ef6663}[data-theme="dark"] .keyfile-pixel-heart-shine{fill:#ffd5ca}

/* Shared checkout dialog for release pages and the shop. */
.keyfile-purchase-dialog{width:min(92vw,40rem);max-height:min(88vh,860px);border:1px solid #cbb57f;background:#faf8ed}
.keyfile-purchase-card{padding:clamp(1.25rem,4vw,2rem);background:repeating-linear-gradient(0deg,transparent 0,transparent 28px,rgba(166,143,88,.045) 29px),linear-gradient(145deg,#fffdf4,#f3f6ee)}
.keyfile-purchase-card h2{margin:0 3rem 1.1rem 0;font-size:clamp(1.55rem,4vw,2rem);line-height:1.15}
.keyfile-purchase-card .keyfile-purchase-amount{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.2rem;padding:.95rem 1.1rem;border:1px solid #d9be7d;background:#f6e8b9;box-shadow:inset 0 1px #fff9df}
.keyfile-purchase-amount span{font:700 .72rem/1.3 monospace;letter-spacing:.06em;text-transform:uppercase;color:#74561e}
.keyfile-purchase-amount strong{font-size:clamp(1.4rem,3.5vw,1.8rem);line-height:1.1;color:#1d2a22;white-space:nowrap}
.keyfile-purchase-card .keyfile-support-choices{box-sizing:border-box;min-width:0;margin:0 0 1.25rem;padding:0;border:0}
.keyfile-purchase-card .keyfile-support-choices legend{margin:0 0 .65rem;padding:0;font-size:.86rem;font-weight:700;line-height:1.3;color:#25322a}
.keyfile-purchase-card .keyfile-support-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.keyfile-purchase-card .keyfile-support-options label{position:relative;display:block;min-width:0;cursor:pointer}
.keyfile-purchase-card .keyfile-support-options label:last-child{grid-column:1/-1}
.keyfile-purchase-card .keyfile-support-options input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;opacity:0;pointer-events:none}
.keyfile-purchase-card .keyfile-support-options span{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:3.15rem;padding:.65rem .75rem;border:1px solid #cbbf9d;background:#fffcf2;color:#223026;font-weight:750;line-height:1.2;text-align:center;transition:background .15s,border-color .15s,box-shadow .15s}
.keyfile-purchase-card .keyfile-support-options label:hover span{border-color:#ae7c29;background:#fff5d9}
.keyfile-purchase-card .keyfile-support-options input:checked+span{border-color:#a8731d;background:#edc45d;box-shadow:inset 0 0 0 1px #a8731d,0 3px 10px rgba(122,87,27,.12)}
.keyfile-purchase-card .keyfile-support-options input:focus-visible+span{outline:3px solid #167950;outline-offset:3px}
.keyfile-purchase-card .keyfile-support-custom{display:none;margin:.75rem 0 0;font-size:.86rem;font-weight:700}
.keyfile-purchase-card .keyfile-support-choices:has(input[value="custom"]:checked) .keyfile-support-custom{display:grid;gap:.4rem}
.keyfile-purchase-card .keyfile-support-custom input{box-sizing:border-box;width:100%;min-height:2.9rem;padding:.65rem .8rem;border:1px solid #b5aa8e;background:#fff;color:#17201c;font:inherit}
.keyfile-purchase-card .keyfile-support-choices>small{display:block;margin:.7rem 0 0;color:#5d655c;font-size:.78rem;line-height:1.35}
.keyfile-purchase-card .keyfile-currency-note{margin:.45rem 0 0;color:#5d655c;font-size:.78rem;line-height:1.35;text-align:left}
.keyfile-purchase-card .keyfile-email-form{gap:.55rem;margin:0}
.keyfile-purchase-card .keyfile-email-form>label:not(.keyfile-consent){margin-top:.3rem}
.keyfile-purchase-card .keyfile-email-form label.keyfile-consent{box-sizing:border-box;grid-template-columns:1.1rem minmax(0,1fr);gap:.75rem;margin:.35rem 0 0;padding:.85rem;border:1px solid #ddd0aa;background:rgba(255,253,244,.82);text-align:left}
.keyfile-purchase-card .keyfile-email-form label.keyfile-consent span{text-align:left}
.keyfile-purchase-card paypal-button{display:block;width:min(100%,20rem);margin:1.25rem auto .25rem}
.keyfile-purchase-card [data-status]{margin:.6rem 0 0;text-align:center;overflow-wrap:anywhere}
[data-theme="dark"] .keyfile-purchase-card{background:linear-gradient(145deg,#29271e,#18251d);color:#f5f0df}
[data-theme="dark"] .keyfile-purchase-card .keyfile-purchase-amount{background:#3b341e;border-color:#887242}
[data-theme="dark"] .keyfile-purchase-amount span{color:#e0c681}
[data-theme="dark"] .keyfile-purchase-amount strong,[data-theme="dark"] .keyfile-purchase-card .keyfile-support-choices legend{color:#f5f0df}
[data-theme="dark"] .keyfile-purchase-card .keyfile-support-options span,[data-theme="dark"] .keyfile-purchase-card .keyfile-email-form label.keyfile-consent{background:#202a22;border-color:#786944;color:#f5f0df}
[data-theme="dark"] .keyfile-purchase-card .keyfile-support-options input:checked+span{background:#e6bd5c;color:#242014}
@media(max-width:520px){.keyfile-purchase-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.keyfile-purchase-card{padding:1.15rem}.keyfile-purchase-card .keyfile-purchase-amount{align-items:flex-start;flex-direction:column;gap:.3rem;padding:.75rem .85rem}.keyfile-purchase-card .keyfile-support-options span{min-height:3rem}.keyfile-purchase-card .keyfile-email-form label.keyfile-consent{padding:.75rem}}
