.purchase-main { max-width: 760px; margin: 0 auto; padding: 48px 24px 80px; }
.purchase-main h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.purchase-main h2 { margin-top: 32px; font-size: 1.3rem; }
.purchase-main p { line-height: 1.6; }
.purchase-main form { display: grid; gap: 12px; }
.purchase-main label { font-weight: 600; margin-top: 8px; }
.purchase-main input, .purchase-main select, .purchase-main textarea { font: inherit; width: 100%; padding: 10px 12px; border: 1px solid #bec5cf; border-radius: 4px; background: #fff; color: #182235; }
.purchase-main button { font: inherit; padding: 9px 14px; border: 1px solid #bec5cf; border-radius: 4px; background: #f4f6f8; color: #182235; cursor: pointer; margin: 6px 8px 6px 0; width: fit-content; }
.purchase-main button:hover { background: #e8edf3; }
.purchase-main button:disabled { opacity: .55; cursor: wait; }
.purchase-main :focus-visible { outline: 2px solid #526ecc; outline-offset: 3px; }
.purchase-main .purchase-consent { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; font-weight: 400; }
.purchase-consent input { width: 18px; height: 18px; }
.purchase-notice { border-left: 3px solid #6b59bc; background: #f2effb; padding: 12px 16px; }
.purchase-main pre { overflow-x: auto; padding: 16px; background: #f4f6f8; border-radius: 4px; }
.purchase-main dl { display: grid; grid-template-columns: minmax(100px, 1fr) 2fr; gap: 12px; }
.purchase-main dt { color: #5c6675; }.purchase-main dd { margin: 0; overflow-wrap: anywhere; }
#license-key { font-family: ui-monospace, monospace; font-size: .875rem; }
#recovery { margin-top: 36px; padding-top: 16px; border-top: 1px solid #d7dce3; }
[hidden] { display: none !important; }
