.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sidebar-connection{display:none!important}
.brand-theme-control{display:flex;align-items:center;flex-direction:column;gap:8px;cursor:pointer;margin:8px auto 14px;position:relative}
.brand-theme-control input{position:absolute;opacity:0;width:1px;height:1px}
.brand-theme-control:focus-within{outline:2px solid #0ea5e9;outline-offset:5px;border-radius:12px}
.brand-emblem{width:132px;height:132px;object-fit:contain;border-radius:16px;filter:drop-shadow(0 5px 7px #0002)}
.brand-theme-control .simple-text{font-size:13px;font-weight:600;color:var(--na-fg,#475569)}
.user-sidebar.collapsed .brand-emblem{width:40px;height:40px}
.user-sidebar.collapsed .brand-theme-control .simple-text{display:none}
.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
.payment-method{border:1px solid #d4d4d8;border-radius:12px;background:transparent;color:inherit;padding:10px 8px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;min-height:74px;transition:border-color .15s,background .15s,transform .15s}
.payment-method:hover:not(:disabled){transform:translateY(-1px);border-color:#94a3b8}
.payment-method-visual{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px}.payment-method-visual svg{width:40px;height:40px;display:block}
.payment-method-copy{display:grid;gap:4px;min-width:0}.payment-method-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-method-copy small{font-size:11px;color:#71717a}.dark .payment-method-copy small{color:#a1a1aa}
.payment-method.is-selected{border-color:#16a34a;background:#22c55e12;box-shadow:0 0 0 1px #16a34a}
.payment-method:disabled{opacity:.5;cursor:not-allowed}
.purchase-steps{list-style:none;display:flex;padding:0;margin:8px 0 20px;gap:8px;justify-content:space-between;flex-wrap:wrap}
.purchase-steps li{display:flex;align-items:center;gap:5px;font-size:12px;color:#71717a}
.purchase-steps li span{display:grid;place-items:center;border:1px solid #d4d4d8;border-radius:50%;width:23px;height:23px;font-size:11px}
.purchase-steps .is-active{color:#15803d}.purchase-steps .is-active span{background:#dcfce7;border-color:#86efac}
.dark .purchase-steps .is-active{color:#86efac}
.purchase-error{padding:10px 12px;border-radius:8px;background:#fef3c7;color:#92400e;font-size:13px;line-height:1.7}
.purchase-error[hidden]{display:none}
.purchase-empty{padding:20px 0;color:var(--na-fg-muted,#71717a);font-size:13px}.purchase-empty p{font-size:16px;font-weight:600;color:var(--na-fg);margin-top:0}
.purchase-receipt{padding:16px;border:1px solid #d4d4d8;border-radius:12px;margin:16px 0;text-align:left;font-size:13px;overflow-wrap:anywhere}
.purchase-receipt.is-complete{border-color:#86efac;background:#22c55e08}
.purchase-receipt-heading{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;align-items:center}
.purchase-receipt-heading strong{font-size:17px}.purchase-receipt.is-complete .purchase-receipt-heading strong{color:#15803d}.dark .purchase-receipt.is-complete .purchase-receipt-heading strong{color:#86efac}
.purchase-facts{display:grid;gap:10px;margin:16px 0}.purchase-facts>div{display:flex;justify-content:space-between;gap:16px}.purchase-facts dt{color:#71717a;flex-shrink:0}.purchase-facts dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}.dark .purchase-facts dt{color:#a1a1aa}
.image-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.image-config-grid label{display:grid;gap:8px;font-size:13px}.image-config-grid select{width:100%}.image-example{margin:20px 0}.image-example summary{cursor:pointer;font-size:14px}.image-example pre{overflow:auto}
.purchase-preview-options{text-align:left;margin-top:20px}
.billing-page{padding-top:0!important;overflow-wrap:anywhere}
.billing-page .subscription-column,.billing-page .subscription-card,.billing-page .subscription-field,.billing-page form{min-width:0}
.billing-page .subscription-input{min-width:0;max-width:100%}
.billing-page .subscription-inline-pill{max-width:100%;white-space:normal}
.billing-page .subscription-actions>*{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.billing-page .subscription-top-grid{align-items:stretch}
.billing-page .subscription-column{display:flex;align-items:stretch}
.billing-page .subscription-column>.subscription-card{flex:1;height:auto}
.billing-page .subscription-inline-status{padding-top:14px}
.billing-page .subscription-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.billing-page form .subscription-actions{margin-bottom:0!important}
.billing-page .subscription-tips{line-height:1.7;font-size:12px;background:transparent;border:0;border-radius:0;padding:0;margin-top:0!important;margin-bottom:18px!important}
.billing-page ul.subscription-tips{padding-left:16px}
.billing-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px}
.billing-products .payment-product-card{display:flex;flex-direction:column;padding:20px;gap:12px;min-width:0}
.billing-product-top h3{font-size:18px;margin:12px 0;color:var(--na-fg)}
.billing-price{font-size:30px;font-weight:650;margin:10px 0;letter-spacing:-.02em}
.billing-price small{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:var(--na-fg-muted,#71717a);margin-top:4px}
.billing-products form{display:grid;gap:12px;margin-top:auto}
.billing-presets{display:flex;gap:8px;flex-wrap:wrap}
.billing-features{padding-left:18px;font-size:13px;line-height:2;flex:1}
.billing-buy{width:100%;justify-content:center;min-height:40px}
.billing-quote{font-size:12px;line-height:1.7;min-height:21px;color:var(--na-fg-muted,#71717a);margin:0}
.billing-invalid{color:#b45309}
.dark .billing-invalid{color:#fbbf24}
.billing-active{padding-top:14px}
.billing-active .subscription-panel{margin-bottom:12px;padding:16px}
.billing-page .subscription-history{padding:0;list-style:none}
.billing-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.46);backdrop-filter:blur(5px)}
.billing-overlay .payment-confirm-modal{position:relative;width:min(480px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border-radius:20px;background:#f8fafc;color:#18181b;text-align:center;box-shadow:0 24px 80px #0003}
.dark .billing-overlay .payment-confirm-modal{background:#25252b;color:#f4f4f5}
.billing-overlay .neo-pill-button{color:#334155;background:#e2e8f0;border:1px solid #cbd5e1;box-shadow:none}
.billing-overlay .neo-pill-button--primary{color:#fff;background:#18181b;border-color:#18181b}
.billing-overlay .neo-pill-button:disabled{opacity:.45;cursor:not-allowed}
.dark .billing-overlay .neo-pill-button{color:#e2e8f0;background:#3f3f46;border-color:#52525b}
.dark .billing-overlay .neo-pill-button--primary{color:#18181b;background:#f4f4f5;border-color:#f4f4f5}
.billing-close{position:absolute;right:12px;top:12px}
.billing-close svg{width:20px;height:20px}
.billing-overlay h2{font-size:21px;margin:0 24px 14px}
.billing-overlay p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.billing-overlay p.billing-price{font-size:32px}
.billing-overlay .subscription-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.billing-qr{display:flex;justify-content:center;margin:18px auto}
.billing-qr img,.billing-qr canvas{max-width:100%;height:auto;border-radius:8px}
.billing-order-number{color:#71717a;font-family:monospace}
.dark .billing-order-number{color:#a1a1aa}
.billing-page button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.billing-products{grid-template-columns:1fr}}
@media(max-width:600px){.billing-page .subscription-top-grid{grid-template-columns:1fr}.billing-page .subscription-actions>*{width:auto;flex:0 1 auto}.billing-overlay{padding:12px}.billing-overlay .payment-confirm-modal{padding:24px 16px}.billing-page .subscription-history__head{flex-wrap:wrap;gap:6px}.image-config-grid{grid-template-columns:1fr}.purchase-steps{gap:8px 12px}.purchase-facts>div{flex-wrap:wrap;gap:3px}}
/* Brand artwork supplied by the site owner; the whole rounded card is clickable. */
.payment-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:368px;container:payment-brands / inline-size}
.billing-page .payment-brand-grid .payment-brand-button{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;min-width:0;min-height:0;border:1px solid var(--neo-border,#e4e4e7);border-radius:14px;background:var(--neo-surface,#fff);color:var(--neo-text,#18181b);box-shadow:0 2px 5px #00000005;transition:transform .16s ease,box-shadow .16s ease}
.payment-brand-grid .payment-brand-button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #00000012;border-color:#8d9cb5}
.dark .payment-brand-grid .payment-brand-button{background:#27272a}
.payment-brand-art{display:flex;align-items:center;justify-content:center;height:48px;padding:5px 10px;overflow:hidden;background:#fff}
.payment-brand-art img{display:block;max-width:100%;width:144px;height:100%;object-fit:contain}
.payment-brand-alipay .payment-brand-art,.scan-brand.payment-brand-alipay{background:#1677fb}
.payment-brand-wxpay .payment-brand-art,.scan-brand.payment-brand-wxpay{background:#1aa53c}
.payment-brand-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px;padding:6px 10px;text-align:left;line-height:1.4;min-width:0}
.payment-brand-caption strong{font-size:13px;font-weight:600}
/* Use the actual card width, including the space taken by the sidebar. */
@container payment-brands (max-width:200px){.payment-brand-caption{padding:6px}.payment-brand-art{padding:5px 6px}}
.billing-page .billing-buy,.billing-overlay .neo-pill-button{border-radius:999px!important;min-height:44px}
.scan-payment-page{max-width:680px;margin:0 auto;padding:24px 16px 48px;color:var(--neo-text,#18181b);overflow-wrap:anywhere}
.scan-back{display:inline-block;margin-bottom:22px;font-size:13px;color:var(--neo-muted,#71717a);text-decoration:none}
.scan-payment-card{text-align:center;padding:36px;border-radius:28px;border:1px solid var(--neo-border,#e4e4e7);background:var(--neo-surface,#fff);box-shadow:0 12px 40px #00000006}
.dark .scan-payment-card{background:#25252b}
.scan-brand{display:flex;align-items:center;justify-content:center;width:144px;height:48px;padding:5px 10px;overflow:hidden;background:#fff;border-radius:12px;margin:0 auto 18px}
.scan-brand img{width:100%;height:100%;object-fit:contain}
.scan-eyebrow{font-size:13px;color:var(--neo-muted,#71717a);margin:0 0 10px}
.scan-payment-card h1{font-size:24px;margin:0 0 18px;line-height:1.4}
.scan-amount{font-size:40px;font-weight:650;letter-spacing:-.03em;margin:0 0 8px;overflow-wrap:anywhere}
.scan-benefit{font-size:13px;color:var(--neo-muted,#71717a);margin:0}
.scan-qr-frame{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e4e4e7;border-radius:20px;width:min(100%,320px);min-height:280px;margin:26px auto;padding:16px;color:#52525b}
.scan-qr-frame img{display:block;max-width:100%;width:280px;height:auto;object-fit:contain}
.scan-qr-empty{padding:16px}.scan-qr-empty>span{font-size:52px;color:#a1a1aa}.scan-qr-empty h2{font-size:18px}.scan-qr-empty p{font-size:13px;line-height:1.8}
.scan-instruction{font-size:13px;line-height:1.9;margin:0 auto 20px;max-width:390px}
.scan-confirmation{text-align:left;background:rgba(148,163,184,.09);border-radius:16px;padding:16px 18px;font-size:13px;line-height:1.8}
.scan-confirmation p{margin:4px 0 0;color:var(--neo-muted,#71717a)}
.scan-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.scan-actions .neo-pill-button{border-radius:999px;min-height:44px;text-decoration:none}
.scan-methods{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:20px;border-top:1px solid var(--neo-border,#e4e4e7)}
.scan-method-link{font-size:12px;text-decoration:none;color:var(--neo-muted,#71717a);padding:8px 12px;border-radius:999px}
.scan-method-link.is-active{background:rgba(148,163,184,.15);color:var(--neo-text,#18181b);font-weight:600}
@media(max-width:600px){.payment-brand-caption{padding:6px 8px}.scan-payment-page{padding:10px 0 28px}.scan-payment-card{padding:24px 18px;border-radius:22px}.scan-amount{font-size:34px}.scan-actions>*{flex:1 1 auto}.scan-payment-card h1{font-size:22px}.scan-method-link{padding:8px}}
