.paid-book{text-decoration:none}.checkout-page{max-width:66rem;margin:auto;padding:2rem 1rem 5rem;color:var(--ink)}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem;margin-top:2rem}.checkout-page h1{font:clamp(2rem,5vw,3rem)/1.1 Georgia,serif}
.checkout-page h2{font:1.4rem Georgia,serif}.checkout-cover{width:12rem;max-width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:4px}
.checkout-panel{padding:1.5rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface)}
.checkout-page label{display:block;margin:1rem 0 .5rem}.checkout-page input,.checkout-page select{width:100%;padding:.8rem;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:4px;font:inherit}
.checkout-page button{min-height:44px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font:inherit;cursor:pointer;margin-top:.75rem}
.checkout-page button:disabled{opacity:.5;cursor:default}.checkout-page [hidden]{display:none!important}.checkout-page a{color:inherit}
.checkout-quote{padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1rem 0}.checkout-quote p{margin:.4rem 0}
.checkout-status{line-height:1.5;overflow-wrap:anywhere}.checkout-status:empty{display:none}.checkout-wallet{overflow-wrap:anywhere;font-size:.85rem}.checkout-page .checkout-confirm{display:flex;align-items:start;gap:.6rem;font-size:.9rem;line-height:1.5}.checkout-confirm input{width:auto;margin-top:.3rem}
.checkout-page details{margin-top:1.5rem}.checkout-page summary{cursor:pointer;padding:.5rem 0}.checkout-page blockquote{border-left:2px solid var(--line);padding-left:1rem;line-height:1.7;margin:1.5rem 0}.checkout-muted{color:var(--muted);font-size:.9rem;line-height:1.5}
@media(max-width:700px){.checkout-layout{grid-template-columns:1fr;gap:1.5rem}.checkout-cover{width:9rem}.checkout-panel{padding:1rem}}

.checkout-page :is(#purchasePay,#spendableXpBuy){background:var(--surface);border-color:var(--accent-soft);font:17px Georgia,serif}
.checkout-page button:hover:not(:disabled){background:var(--line)}
.checkout-page :is(button,a,input,select):focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* Editorial checkout: shared by live book checkout and the disabled preview. */
body:has(>.checkout-page){margin:0;font:15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
.checkout-page,.checkout-page *{box-sizing:border-box}
.checkout-page{max-width:1160px;padding:28px 40px 64px}
.checkout-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.checkout-brand>a:first-child{font:32px/1 Georgia,serif;letter-spacing:-1.5px;text-decoration:none}
.checkout-brand>a:last-child{font-size:13px;text-decoration:none;color:var(--muted)}
.checkout-kicker{font:600 10px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0 0 20px}
.checkout-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;margin-top:56px;align-items:start}
.checkout-layout>article{min-width:0;padding:8px 0}
.checkout-page h1{font:clamp(36px,4vw,56px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:24px 0 12px;overflow-wrap:anywhere}
.checkout-page h2{font:30px/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 14px}
.checkout-page h3{font:600 16px/1.4 system-ui,sans-serif;margin:0 0 12px}
.checkout-page p{margin:12px 0;overflow-wrap:anywhere}
.checkout-cover{width:170px;border-radius:3px 8px 8px 3px;box-shadow:8px 16px 28px #0003,2px 0 0 #ffffff22 inset;transform:rotate(-3deg);margin:4px 0 14px}
.checkout-panel{padding:32px;border-radius:22px;background:color-mix(in srgb,var(--surface) 75%,var(--bg));box-shadow:0 18px 60px #00000010,0 1px 0 #ffffff12 inset;border:1px solid var(--line)}
.checkout-panel>h2{max-width:320px}
.checkout-panel #checkoutAvailability{padding-bottom:24px;margin-bottom:0;border-bottom:1px solid var(--line)}
.checkout-panel :is(.book-money-checkout,#spendableXpCheckout,#walletCheckout){padding:24px 0;margin:0;border-bottom:1px solid var(--line)}
.checkout-panel .book-money-checkout p,.checkout-panel #spendableXpCheckout p{font-size:13px;line-height:1.7;color:var(--muted)}
.checkout-page button{min-height:48px;padding:12px 18px;border-radius:9px;font:600 13px/1.5 system-ui,sans-serif;transition:background .15s,color .15s;max-width:100%;white-space:normal}
.checkout-page :is(#purchasePay,#spendableXpBuy,[data-action=pay],[data-action=connect],#checkoutSignIn button){width:100%;background:var(--ink);color:var(--bg);border-color:var(--ink);font:600 14px/1.5 system-ui,sans-serif}
.checkout-page :is(#purchasePay,#spendableXpBuy,[data-action=pay],[data-action=connect],#checkoutSignIn button):hover:not(:disabled){background:var(--muted);border-color:var(--muted)}
.checkout-page button:disabled{opacity:1;background:var(--bg);color:var(--muted);border-color:var(--line);cursor:not-allowed}
.checkout-page input:not([type=checkbox]),.checkout-page select{border-radius:9px;min-height:48px;font-size:15px}
.checkout-page input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:var(--ink);margin:3px 10px 0 0;padding:0;vertical-align:top}
.checkout-page label:has(input[type=checkbox]){display:flex;gap:0;font-size:12px;line-height:1.65;color:var(--muted)}
.checkout-page :is(#purchaseStatus,[data-status]):not(:empty){padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:13px}
.checkout-page #purchaseRead{display:block;padding:14px 20px;background:var(--ink);color:var(--bg);border-radius:9px;text-align:center;text-decoration:none}
.checkout-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:56px;padding-top:24px;color:var(--muted);font-size:12px}
.checkout-foot nav{display:flex;gap:20px;flex-wrap:wrap}.checkout-foot a{text-decoration:none}
.checkout-note{max-width:360px;padding-top:20px;margin-top:28px!important;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.checkout-preview-label{font-size:11px!important;letter-spacing:.06em;color:var(--muted);padding:10px 0}
@media(max-width:760px){.checkout-page{padding:20px 22px 40px}.checkout-layout{grid-template-columns:1fr;gap:28px;margin-top:30px}.checkout-panel{padding:26px 22px}.checkout-layout>article:has(.checkout-cover:not([hidden])){display:flow-root}.checkout-cover{float:left;width:92px;margin:0 24px 16px 3px}.checkout-page h1{font-size:36px;margin-top:12px}.checkout-note{clear:both;max-width:none}.checkout-foot{align-items:flex-start;flex-direction:column;margin-top:36px}.checkout-brand{padding-bottom:20px}.checkout-page h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.checkout-page button{transition:none}}
.checkout-page :is(#purchasePay,#spendableXpBuy,[data-action=pay],[data-action=connect],#checkoutSignIn button):disabled{background:var(--bg);color:var(--muted);border-color:var(--line)}
.checkout-page :is(input:not([type=checkbox]):not([type=radio]),select){border-color:var(--control-line,var(--accent-soft))}
.checkout-page .checkout-brand a:last-child,.checkout-foot a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:360px){.checkout-layout>article .checkout-cover{float:none;display:block;width:100px;margin:0 0 24px}.checkout-page h1{font-size:32px;overflow-wrap:normal;hyphens:auto}.checkout-brand>a:last-child{max-width:130px}.checkout-panel{padding:24px 18px}}
.checkout-panel .checkout-code{padding:20px 0 0;margin:20px 0 0;border-top:1px solid var(--line)}
.checkout-panel .checkout-code summary{display:flex;align-items:center;min-height:44px;padding:8px 0;font:500 14px/1.5 system-ui,sans-serif;color:var(--ink);cursor:pointer}
.checkout-panel .checkout-code summary::before{content:'+';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:18px;font-weight:400;line-height:1}
.checkout-panel .checkout-code[open] summary::before{content:'−'}
.checkout-panel .checkout-code form{margin-top:12px}
.checkout-panel .checkout-code label{font-size:13px}
.checkout-panel .checkout-code input{letter-spacing:.06em}
.checkout-panel .checkout-code button{width:100%;border-color:var(--control-line);background:transparent;color:var(--ink)}
.checkout-panel .checkout-code button:hover:not(:disabled){background:var(--line)}
.checkout-panel .checkout-code #bookCodeStatus:not(:empty){margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink)}
/* Purchase panel: one clear primary action, with funding and rewards secondary. */
html:has(.checkout-page){scrollbar-width:none}html:has(.checkout-page)::-webkit-scrollbar,.checkout-page ::-webkit-scrollbar{display:none}
.checkout-panel{border-radius:16px;padding:36px;background:var(--surface);box-shadow:none}
.checkout-panel>.checkout-kicker{margin:0 0 12px;font-size:10px}
.checkout-panel #checkoutAvailability{font-size:13px;padding-bottom:24px;color:var(--muted)}
.payment-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.checkout-panel .payment-heading h3{font:22px/1.25 Georgia,serif;font-weight:400;margin:4px 0 0}
.checkout-panel .payment-eyebrow{font:10px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0}
.checkout-panel .payment-price{font:32px/1 Georgia,serif;color:var(--ink);text-align:right;margin:0;white-space:nowrap}
.payment-price span{display:block;font:11px/1.5 system-ui,sans-serif;color:var(--muted);margin-top:7px}
.checkout-panel .payment-intro{margin:10px 0 22px}
.payment-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 8px}
.checkout-panel .payment-balance p{margin:6px 0 0;font-size:13px;color:var(--ink)}
.checkout-page [data-action=balance]{border:0;background:transparent;font-size:12px;padding:8px;margin:0;min-height:44px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.checkout-page .payment-fund{border:0;padding:8px 0;margin:0;background:transparent;font-size:13px;font-weight:400;display:flex;justify-content:space-between;width:100%;text-align:left}
.checkout-page label.payment-consent:has(input[type=checkbox]){align-items:flex-start;margin:20px 0 14px;gap:12px;cursor:pointer}
.checkout-page label:has(input[type=checkbox]) input{appearance:auto;display:block;flex:0 0 16px;width:16px;height:16px;margin:2px 0 0;border-radius:3px}
.checkout-page #spendableXpCheckout label{gap:10px;align-items:flex-start}
.checkout-page :is([data-action=connect],[data-action=pay]){border-radius:7px;min-height:50px;display:flex;justify-content:space-between;align-items:center;letter-spacing:.01em}
.checkout-page [data-action=pay]{justify-content:center}
.checkout-page .payment-explainer{margin:18px 0 0;font-size:12px;color:var(--muted)}
.checkout-page .payment-explainer summary{padding:8px 0;min-height:40px}
.checkout-page .payment-explainer p{font-size:12px;line-height:1.7}
.checkout-panel #purchaseAccount{font-size:11px;color:var(--muted);margin:18px 0}
.checkout-panel #spendableXpCheckout{border:0;padding:20px 0 0}
.checkout-panel #spendableXpCheckout h3{font:18px/1.4 Georgia,serif;font-weight:400}
.checkout-page #spendableXpBuy{background:transparent;color:var(--ink);font-size:13px;border-color:var(--line);min-height:46px}
.checkout-page #spendableXpBuy:disabled{background:transparent;color:var(--muted);opacity:.6}
.book-money-checkout [hidden]{display:none!important}
.checkout-page .book-money-checkout :is([data-action=connect],[data-action=pay],[data-action=fund]){width:100%;min-height:48px;border-radius:9px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:12px 16px}
.checkout-panel .payment-disclosure{font-size:12px;line-height:1.65;color:var(--muted);margin:16px 0 0}
@media(max-width:760px){.checkout-panel{padding:26px 22px}.payment-heading{gap:12px}.checkout-panel .payment-heading h3{font-size:20px}.checkout-panel .payment-price{font-size:28px}}
