.sf-purchase-modal{--purchase-green:#246b53;--purchase-green-soft:#edf6f1;--purchase-green-line:#cde2d6;--purchase-amber:#946719;--purchase-amber-soft:#faf3e6;--purchase-red:#a3443c;width:min(100%,660px);border-radius:22px}.sf-purchase-modal .sf-modal-header{padding:20px 24px;gap:20px}.sf-purchase-modal .sf-modal-header h2{font-size:19px;font-weight:700;line-height:1.7}.sf-purchase-modal .sf-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--page);font-size:26px;line-height:1;transition:background .18s ease}.sf-purchase-modal .sf-close:hover{background:var(--soft)}.sf-purchase-modal .sf-modal-body{gap:23px;padding:24px;font-size:12px}.sf-purchase-modal .sf-modal-body>*{min-width:0}.sf-purchase-modal a:focus-visible,.sf-purchase-modal button:focus-visible,.sf-purchase-modal input:focus-visible{outline:2px solid var(--purchase-green);outline-offset:3px}.sf-purchase-modal .sf-text-button{min-height:44px}.sf-purchase-modal .sf-purchase-intro{display:grid;gap:6px}.sf-purchase-modal .sf-purchase-intro>strong{color:var(--ink);font-size:14px;font-weight:700;line-height:1.8}.sf-purchase-modal .sf-purchase-intro>p{color:var(--muted);font-size:12px;line-height:1.9}.sf-purchase-modal .sf-purchase-wallet{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--page)}.sf-purchase-modal .sf-purchase-wallet>span{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.sf-purchase-modal .sf-purchase-wallet>strong{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.sf-purchase-modal .sf-purchase-wallet svg{width:18px;height:18px;color:var(--muted)}.sf-purchase-modal .sf-purchase-section{display:grid;gap:14px;min-width:0}.sf-purchase-modal .sf-purchase-section>h3,.sf-purchase-modal .sf-quantity-row h3,.sf-purchase-modal .sf-quantity-row label{display:block;margin:0;font-size:13px;font-weight:700;line-height:1.9}.sf-purchase-modal .sf-purchase-section>p{margin:0;color:var(--muted);font-size:11px;line-height:1.9}.sf-purchase-modal .sf-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.sf-purchase-modal .sf-quantity-row>div:first-child{min-width:0}.sf-purchase-modal .sf-quantity-row small{display:block;margin-block-start:3px;color:var(--muted);font-size:10px;line-height:1.8}.sf-purchase-modal .sf-quantity-control{display:inline-flex;align-items:center;flex-shrink:0;min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--page);overflow:hidden}.sf-purchase-modal .sf-quantity-control button{display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;border-radius:0;color:var(--ink);background:transparent;font-size:20px;line-height:1;transition:background .18s ease}.sf-purchase-modal .sf-quantity-control button:hover:not(:disabled){color:var(--purchase-green);background:var(--purchase-green-soft)}.sf-purchase-modal .sf-quantity-control button:disabled{opacity:.35;cursor:default}.sf-purchase-modal .sf-quantity-control button svg{width:16px;height:16px}.sf-purchase-modal .sf-quantity-control input{width:52px;min-width:0;height:44px;min-height:44px;padding:8px 2px;border:0;border-inline:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}.sf-purchase-modal .sf-quantity-control input::-webkit-inner-spin-button,.sf-purchase-modal .sf-quantity-control input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.sf-purchase-modal .sf-quantity-control:focus-within{outline:2px solid var(--purchase-green);outline-offset:3px}.sf-purchase-modal .sf-quantity-control button:focus-visible,.sf-purchase-modal .sf-quantity-control input:focus-visible{outline-offset:-4px}.sf-purchase-modal .sf-quantity-help{color:var(--muted);font-size:10px;line-height:1.9}.sf-purchase-modal .sf-quantity-help[role=alert]{color:var(--purchase-red)}.sf-purchase-modal .sf-quantity-control input[aria-invalid=true]{color:var(--purchase-red);box-shadow:inset 0 0 0 1px var(--purchase-red)}.sf-purchase-modal .sf-quantity-control input:disabled{opacity:.6;cursor:not-allowed}.sf-purchase-modal .sf-purchase-summary{padding:18px 20px;border:1px solid var(--line);border-radius:13px;background:var(--page)}.sf-purchase-modal .sf-purchase-summary>strong{font-size:14px;font-weight:700;line-height:1.9;overflow-wrap:anywhere}.sf-purchase-modal .sf-purchase-summary dl{margin-block-start:14px;gap:9px}.sf-purchase-modal .sf-purchase-summary dl>div{align-items:flex-start;gap:16px}.sf-purchase-modal .sf-purchase-summary dd,.sf-purchase-modal .sf-purchase-summary dt{min-width:0;font-size:11px;line-height:1.9}.sf-purchase-modal .sf-purchase-summary dd{text-align:end;overflow-wrap:anywhere}.sf-purchase-modal .sf-purchase-summary .sf-total{margin-block-start:4px;padding-block-start:13px}.sf-purchase-modal .sf-purchase-summary .sf-total dt{color:var(--ink);font-size:12px;font-weight:600}.sf-purchase-modal .sf-purchase-summary .sf-total dd{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.sf-purchase-modal .sf-purchase-methods{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.sf-purchase-modal .sf-purchase-methods>legend{margin:0;padding-block-end:12px;font-size:13px;font-weight:700}.sf-purchase-modal .sf-purchase-methods .sf-method{display:flex;align-items:center;gap:12px;min-height:88px;padding:15px 16px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--surface);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.sf-purchase-modal .sf-purchase-methods .sf-method:hover{border-color:color-mix(in srgb,var(--purchase-green) 45%,var(--line));background:var(--page)}.sf-purchase-modal .sf-purchase-methods .sf-method.is-selected{border-color:var(--purchase-green);background:var(--purchase-green-soft);box-shadow:inset 0 0 0 1px var(--purchase-green)}.sf-purchase-modal .sf-purchase-methods .sf-method:focus-within{outline:2px solid var(--purchase-green);outline-offset:3px}.sf-purchase-modal .sf-purchase-methods input[type=radio]{width:17px;height:17px;min-height:0;padding:0;margin:0;accent-color:var(--purchase-green)}.sf-purchase-modal .sf-method-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 12px;flex:1;min-width:0}.sf-purchase-modal .sf-method-copy>strong{grid-column:1;font-size:12px;font-weight:700;line-height:1.8}.sf-purchase-modal .sf-method-copy>small{grid-column:1;margin:0;color:var(--muted);font-size:10px;line-height:1.8}.sf-purchase-modal .sf-method-tag{grid-column:2;grid-row:1/span 2;align-self:center;justify-self:end;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;max-width:130px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:var(--page);color:var(--muted);font-size:9px;font-weight:600;line-height:1.7;text-align:center}.sf-purchase-modal .sf-method.is-selected .sf-method-tag{border-color:var(--purchase-green-line);background:var(--surface);color:var(--purchase-green)}.sf-purchase-modal .sf-method-tag[data-tone=review]{border-color:transparent;background:var(--purchase-amber-soft);color:var(--purchase-amber)}.sf-purchase-modal .sf-method-balance{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 5px;margin-block-start:3px;color:var(--purchase-green);font-size:10px;line-height:1.8;font-variant-numeric:tabular-nums}.sf-purchase-modal .sf-method.is-unavailable .sf-method-balance{color:var(--purchase-amber)}.sf-purchase-modal .sf-method-balance em{padding:1px 5px;border-radius:4px;color:var(--purchase-amber);background:var(--purchase-amber-soft);font-size:9px;font-style:normal}.sf-purchase-modal .sf-purchase-methods:disabled .sf-method{cursor:wait;opacity:.65}.sf-purchase-modal .sf-purchase-methods .sf-method.is-unavailable{border-color:var(--line);color:var(--muted);background:var(--page);box-shadow:none;cursor:not-allowed}.sf-purchase-modal .sf-method.is-unavailable input{opacity:.5}.sf-purchase-modal .sf-selected-payment{display:grid;gap:10px;min-width:0;padding:18px 20px;border:1px solid var(--purchase-green-line);border-radius:13px;background:color-mix(in srgb,var(--purchase-green-soft) 55%,var(--surface))}.sf-purchase-modal .sf-selected-payment h4{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);font-size:12px;font-weight:700;line-height:1.8}.sf-purchase-modal .sf-selected-payment h4 svg{width:17px;height:17px;color:var(--purchase-green)}.sf-purchase-modal .sf-selected-payment>p{margin:0;color:var(--muted);font-size:11px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.sf-purchase-modal .sf-selected-payment dl{display:grid;gap:9px;margin:3px 0 0}.sf-purchase-modal .sf-selected-payment dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;min-width:0}.sf-purchase-modal .sf-selected-payment dt{color:var(--muted);font-size:10px;line-height:1.8}.sf-purchase-modal .sf-selected-payment dd{text-align:end;min-width:0;margin:0;font-size:11px;line-height:1.9;overflow-wrap:anywhere}.sf-purchase-modal .sf-selected-payment code{display:block;min-width:0;max-width:100%;padding:11px 12px;border:1px solid var(--purchase-green-line);border-radius:8px;color:var(--ink);background:var(--surface);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;user-select:text;unicode-bidi:plaintext}.sf-purchase-modal .sf-payment-copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:10px 12px;border:1px solid var(--purchase-green-line);border-radius:9px;color:var(--purchase-green);background:var(--surface);font-size:11px;font-weight:600;line-height:1.7}.sf-purchase-modal .sf-payment-copy:hover{border-color:var(--purchase-green);background:var(--purchase-green-soft)}.sf-purchase-modal .sf-payment-copy svg{width:16px;height:16px}.sf-purchase-modal .sf-selected-payment small{color:var(--muted);font-size:10px;line-height:1.9}.sf-purchase-modal .sf-purchase-loading{display:grid;gap:12px;min-width:0;color:var(--muted);font-size:11px;line-height:1.9;text-align:center}.sf-purchase-modal .sf-purchase-loading>div,.sf-purchase-modal .sf-purchase-loading>span{display:block;min-height:82px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(100deg,var(--page) 20%,var(--soft) 45%,var(--page) 70%);background-size:220% 100%;animation:sf-purchase-shimmer 1.8s ease-in-out infinite}.sf-purchase-modal .sf-purchase-loading>p{margin:0;color:var(--muted);font-size:11px;text-align:center}.sf-purchase-modal .sf-purchase-empty{display:grid;justify-items:center;gap:10px;padding:25px 20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:var(--page);text-align:center;font-size:11px;line-height:1.9}.sf-purchase-modal .sf-purchase-empty>strong{max-width:360px;color:var(--ink);font-size:13px;font-weight:600;line-height:1.9}.sf-purchase-modal .sf-purchase-empty p{max-width:360px;margin:0}.sf-purchase-modal .sf-purchase-empty>svg{width:24px;height:24px;color:var(--purchase-green)}.sf-purchase-modal .sf-purchase-empty a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}.sf-purchase-modal .sf-purchase-footer{position:sticky;bottom:-24px;z-index:2;display:flex;align-items:center;gap:22px;padding-block:18px 4px;border-block-start:1px solid var(--line);background:var(--surface);box-shadow:0 -10px 12px var(--surface)}.sf-purchase-modal .sf-purchase-footer>div{display:grid;gap:4px;flex-shrink:0}.sf-purchase-modal .sf-purchase-footer small{display:block;color:var(--muted);font-size:10px;line-height:1.8}.sf-purchase-modal .sf-purchase-footer strong{font-size:20px;font-weight:700;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}.sf-purchase-modal .sf-purchase-footer .sf-action{flex:1;gap:9px;min-height:48px;width:auto;padding:12px 20px;border-radius:11px;font-size:12px;font-weight:700;line-height:1.8;transition:background .18s ease,border-color .18s ease}.sf-purchase-modal .sf-purchase-footer .sf-action:hover:not(:disabled){border-color:var(--purchase-green);color:var(--surface);background:var(--purchase-green)}.sf-purchase-modal .sf-purchase-footer .sf-action svg{width:18px;height:18px}.sf-purchase-modal .sf-purchase-hint{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:10px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.sf-purchase-modal .sf-purchase-hint svg{width:15px;height:15px;margin-block-start:3px}.sf-purchase-modal .sf-purchase-retry{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:7px;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);font-size:11px;font-weight:600;text-align:center}.sf-purchase-modal .sf-purchase-retry:hover{background:var(--soft)}.sf-purchase-modal .sf-purchase-retry:disabled{opacity:.5;cursor:wait}.sf-purchase-modal .sf-error{font-size:11px;line-height:1.9}:root[data-theme=dark] .sf-purchase-modal{--purchase-green:#a7d9bd;--purchase-green-soft:#27382e;--purchase-green-line:#3a5143;--purchase-amber:#e6c388;--purchase-amber-soft:#3b3426;--purchase-red:#efb1a9}:root[data-theme=dark] .sf-purchase-modal .sf-purchase-footer .sf-action:hover:not(:disabled){color:var(--page)}@keyframes sf-purchase-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:600px){.sf-purchase-modal{border-radius:18px}.sf-purchase-modal .sf-modal-header{padding:15px 18px;gap:12px}.sf-purchase-modal .sf-modal-header h2{font-size:17px}.sf-purchase-modal .sf-modal-body{padding:18px;gap:20px}.sf-purchase-modal .sf-purchase-footer{bottom:-18px;gap:16px;padding-block-start:16px}.sf-purchase-modal .sf-purchase-methods .sf-method{min-height:84px;gap:10px;padding:14px}.sf-purchase-modal .sf-purchase-summary,.sf-purchase-modal .sf-selected-payment{padding:16px}}@media (max-width:420px){.sf-purchase-modal .sf-quantity-row{gap:14px}.sf-purchase-modal .sf-quantity-row small{font-size:9px}.sf-purchase-modal .sf-quantity-control input{width:45px}.sf-purchase-modal .sf-quantity-control button{width:44px}.sf-purchase-modal .sf-purchase-wallet{padding:12px 14px}.sf-purchase-modal .sf-purchase-methods .sf-method{flex-wrap:nowrap;gap:9px;padding:13px}.sf-purchase-modal .sf-method-copy{min-width:0;column-gap:9px}.sf-purchase-modal .sf-method-tag{max-width:100px;margin:0;padding:3px 6px;font-size:8px}.sf-purchase-modal .sf-purchase-footer{align-items:stretch;flex-direction:column;gap:12px}.sf-purchase-modal .sf-purchase-footer>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.sf-purchase-modal .sf-purchase-footer strong{font-size:19px}.sf-purchase-modal .sf-purchase-footer .sf-action{width:100%}.sf-purchase-modal .sf-selected-payment dl>div{column-gap:7px}.sf-purchase-modal .sf-selected-payment code{padding:10px;font-size:11px}.sf-purchase-modal .sf-payment-copy{padding-inline:9px;font-size:10px}}@media (prefers-reduced-motion:reduce){.sf-purchase-modal *,.sf-purchase-modal .sf-purchase-loading>div,.sf-purchase-modal .sf-purchase-loading>span{transition:none!important;animation:none!important}}