
:root{--brand:#5034b3;--ink:#19253d;--muted:#536078;--line:#dce1eb;--soft:#f1edf9;background:#f7f8fc;color:var(--ink);font-family:Tahoma,Arial,sans-serif;line-height:1.8}*{box-sizing:border-box}body{margin:0}main{max-width:980px;margin:24px auto;padding:0 24px}h1{font-size:clamp(1.5rem,4vw,2rem)}h2{font-size:1.2rem}.card{border:1px solid var(--line);border-radius:20px;background:white;padding:28px;box-shadow:0 8px 30px #26345908;margin-block:20px}button,input,select,textarea{font:inherit;max-width:100%}button,a.primary{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 18px;cursor:pointer}button[type=submit],#prepare,#pay,#start-setup,#passkey,#totp-start,a.primary{background:var(--brand);color:white;border-color:var(--brand)}a.primary{display:inline-flex;align-items:center;text-decoration:none}button:disabled{opacity:.55;cursor:default}input:not([type=checkbox]),select,textarea{width:100%;padding:12px;border:1px solid #8390a7;border-radius:10px;background:white;color:var(--ink)}label{display:block;margin-block:8px}form{display:grid;gap:10px}p{overflow-wrap:anywhere}a{color:var(--brand);text-underline-offset:4px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:16px}.steps{display:flex;gap:8px;list-style:none;padding:0;margin-block:20px}.steps li{flex:1;padding:10px;border-radius:10px;background:#edf0f6;text-align:center;font-size:.9rem}.steps .current{background:var(--soft);color:var(--brand);font-weight:bold}.small,.help{font-size:.9rem;color:var(--muted)}.badge{background:var(--soft);color:var(--brand);padding:8px 12px;border-radius:10px;font-size:.9rem}.buyer-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start}.buyer-grid>.card{margin-block:0}#amount,#purchase-price{padding:16px;background:#f5f3fb;border-radius:12px;white-space:pre-line;font-weight:bold}#message:empty{display:none}#message{padding:12px;background:#fff3dd;border-inline-start:4px solid #ad620b;border-radius:8px}#progress,#payment-status{font-weight:bold}#account-password,#account-password-help,label[for=account-password],#account-purpose-signup,#account-purpose-login{display:none!important}.account-entry .intro,.account-entry .journey{display:none}.account-entry:not(.entry-feedback) #plans-card{display:none}.account-entry #account-section{max-width:540px;margin:auto}.account-entry main{max-width:590px}main#security{max-width:760px;background:white;border-radius:20px;border:1px solid var(--line);padding:28px}main#security header{display:flex;justify-content:space-between;gap:16px}main#security #state{font-size:.9rem;color:var(--muted)}#secret{min-height:200px;white-space:pre;font-family:monospace}#proof{background:#edf7ef;padding:16px;border-radius:12px}#proof-next{display:inline-flex}.purchase-complete #offer-card{display:none}.purchase-complete #purchase-card{max-width:760px;margin:auto}#later{display:inline-flex;align-items:center;min-height:44px;padding:8px}.header{max-width:1080px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;gap:16px}.languages{display:flex;gap:8px}.brand{font-size:1.5rem;font-weight:bold;text-decoration:none}.brand span{font-size:.7rem;margin-inline-start:10px}.skip{position:absolute;top:-100px;z-index:10;padding:12px;background:white}.skip:focus{top:8px}:focus-visible{outline:3px solid #1768bc;outline-offset:3px}[hidden]{display:none!important}#totp-qr{max-width:100%;height:auto;display:block;margin:auto}#totp-guide{background:#f5f6fa;padding:16px;border-radius:12px}footer{text-align:center;padding:20px;color:var(--muted)}.receipt-number{font-variant-numeric:tabular-nums}#new-purchase{margin-block:12px}#venue-status{padding:12px;background:var(--soft);border-radius:10px}#setup-success{background:#edf7ef;border-color:#c3ddca}.slug-help{font-size:.85rem;color:var(--muted)}@media(max-width:680px){main{padding:0 16px;margin-block:16px}.buyer-grid{grid-template-columns:minmax(0,1fr)}.card,main#security{padding:20px}.header{padding:16px;flex-wrap:wrap}.steps li{padding:8px;font-size:.8rem}.actions button{flex:1 1 160px}.brand span{display:none}main#security{margin-inline:16px}#amount,#purchase-price{font-size:.95rem}button[type=submit],#start-setup,#pay,a.primary{width:100%;justify-content:center}.buyer-grid{gap:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.purchase-complete .buyer-grid{display:block}.purchase-complete #order-preview{display:none}#order-preview{position:sticky;top:20px}#order-preview h2{margin-block-start:0}@media(max-width:680px){#order-preview{position:static}}
.account-card input:not([type=checkbox]){background:white;color:var(--ink);border-color:#8390a7}.account-card .account-actions:has(#account-purpose-signup){display:none}#account-message:empty,#account-phone-masked:empty,#account-expiry:empty,#account-offer:empty{display:none}.purchase-complete .buyer-grid{display:block}

.account-card input:focus-visible{outline:3px solid #1768bc;outline-offset:3px}.account-card input[type=checkbox]{accent-color:#1768bc}#manual-key{font-family:monospace;letter-spacing:.06em}#manual-key-section{padding:16px;background:#f5f6fa;border-radius:12px}
.returning-owner-guard .intro,.returning-owner-guard .journey,.returning-owner-guard #plans-card{display:none!important}.returning-owner-guard #account-section{max-width:540px;margin:auto}
.returning-owner .intro,.returning-owner .journey,.returning-owner #plans-card,.returning-owner #account-section{display:none!important}.returning-owner main{max-width:860px}.owner-return{margin:auto}.owner-return h1{margin-block:0 12px}.owner-return-actions{padding-block-start:18px;border-block-start:1px solid var(--line)}.owner-return-actions a,.owner-subscription{display:inline-flex;align-items:center;min-height:44px;padding:8px}.owner-return #owner-targets{display:grid;gap:16px}.owner-target{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fbfbfe}.owner-target h2{margin-block-start:0}.owner-target button.primary{background:var(--brand);color:white;border-color:var(--brand);min-height:48px}.owner-plan{color:var(--muted)}#owner-return-status:empty{display:none}#owner-return-status{padding:12px;background:#fff3dd;border-radius:10px}.account-entry #owner-return{max-width:760px}@media(max-width:680px){.owner-target{padding:16px}.owner-target button.primary{width:100%}.owner-return-actions{gap:8px}.owner-return-actions a,.owner-return-actions button{flex:1 1 180px;justify-content:center}.returning-owner .card{padding:20px}}

/* Buyer steps keep the same visual identity as the public and Owner surfaces. */
.rst-buyer .header { max-width: 1120px; padding-block: 22px; border-block-end: 1px solid var(--rst-line, #e8e3ed); }
.rst-buyer .header .rst-brand span { font-size: inherit; margin: 0; }
.rst-buyer .languages { gap: 4px; }
.rst-buyer .languages button { min-width: 48px; min-height: 44px; border-color: transparent; color: var(--rst-muted, #6d6579); background: transparent; font-size: 13px; }
.rst-buyer .languages button[aria-pressed=true] { color: var(--rst-accent, #6f41bd); background: var(--rst-soft, #f1ecf8); }
.rst-buyer main { margin-block: 36px; }
.rst-buyer h1 { font-size: clamp(26px, 3.4vw, 34px); letter-spacing: -.02em; }
.rst-buyer .card { border-color: var(--rst-line, #e8e3ed); border-radius: 22px; box-shadow: var(--rst-shadow, 0 14px 40px #39245208); }
.rst-buyer .steps { gap: 10px; margin-block: 24px; }
.rst-buyer .steps li { border: 1px solid var(--rst-line, #e8e3ed); background: var(--rst-surface, #fff); color: var(--rst-muted, #6d6579); font-size: 13px; }
.rst-buyer .steps .current { color: var(--rst-accent, #6f41bd); background: var(--rst-soft, #f1ecf8); border-color: var(--rst-soft, #f1ecf8); }
.rst-buyer .badge { font-size: 12px; }
.rst-buyer input:not([type=checkbox]), .rst-buyer select, .rst-buyer textarea { border-color: #7c879a; border-radius: 12px; min-height: 48px; }
.rst-buyer input[aria-invalid=true], .rst-buyer select[aria-invalid=true], .rst-buyer textarea[aria-invalid=true] { border-color: #9a2e2e; }
.rst-buyer button, .rst-buyer a.primary { border-radius: 12px; }
.rst-buyer main#security { margin-block: 36px; border-color: var(--rst-line, #e8e3ed); border-radius: 22px; box-shadow: var(--rst-shadow, 0 14px 40px #39245208); }
.rst-buyer .security-home { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; font-size: 13px; }
.rst-buyer main#security > header { align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--rst-line, #e8e3ed); }
@media (max-width: 680px) {
  .rst-buyer main { margin-block: 24px; }
  .rst-buyer .header { padding: 16px; }
  .rst-buyer main#security { margin-block: 24px; }
  .rst-buyer .steps { gap: 6px; }
  .rst-buyer .steps li { font-size: 11px; padding: 9px 5px; min-width: 0; }
}
/* Approved minimal-light composition, beyond shared colors alone. */
.rst-buyer main { max-inline-size:1040px; margin:42px auto 64px; padding-inline:28px; }
.rst-buyer .buyer-page-heading { margin-block-end:14px; }
.rst-buyer .buyer-eyebrow { color:var(--rst-accent); font-size:13px; margin-block:0 10px; }
.rst-buyer h1 { margin-block:0 12px; font-weight:750; line-height:1.7; }
.rst-buyer .buyer-intro { color:var(--rst-muted); max-inline-size:640px; margin-block:0 22px; }
.rst-buyer .steps { counter-reset:buyer-step; justify-content:flex-start; gap:24px; margin-block:26px; padding-block:14px; border-block:1px solid var(--rst-line); }
.rst-buyer .steps li { display:flex; align-items:center; gap:9px; flex:0 1 auto; border:0; padding:0; border-radius:0; background:transparent; text-align:start; }
.rst-buyer .steps li::before { counter-increment:buyer-step; content:counter(buyer-step); display:grid; place-items:center; inline-size:28px; block-size:28px; flex-shrink:0; border:1px solid var(--rst-line); border-radius:50%; font-size:12px; color:var(--rst-muted); background:var(--rst-surface); }
.rst-buyer .steps .current { background:transparent; color:var(--rst-accent); }
.rst-buyer .steps .current::before { background:var(--rst-soft); border-color:var(--rst-soft); color:var(--rst-accent); }
.rst-buyer .badge { display:inline-block; padding:6px 12px; margin-block:0; background:var(--rst-soft); color:var(--rst-muted); font-size:12px; }
.rst-buyer .buyer-grid { gap:24px; grid-template-columns:minmax(0,1.3fr) minmax(270px,.85fr); }
.rst-buyer .card { padding:28px; background:var(--rst-surface); box-shadow:none; border-radius:20px; }
.rst-buyer label { font-size:14px; font-weight:550; }
.rst-buyer input:not([type=checkbox]), .rst-buyer select, .rst-buyer textarea { border-color:#7c879a; background:var(--rst-surface); border-radius:11px; }
.rst-buyer input[type=checkbox] { inline-size:18px; block-size:18px; accent-color:var(--rst-accent); vertical-align:middle; margin-inline-end:8px; }
.rst-buyer .buyer-status-actions { justify-content:flex-end; margin-block:0 20px; }
.rst-buyer .buyer-status-actions button { background:transparent; color:var(--rst-muted); border-color:transparent; font-size:12px; padding:6px 10px; }
.rst-buyer #purchase-terms { border-block:1px solid var(--rst-line); padding-block:12px; margin-block:8px; }
.rst-buyer #purchase-terms summary { min-block-size:44px; display:list-item; cursor:pointer; color:var(--rst-muted); font-size:13px; padding-block:9px; }
.rst-buyer #terms-text { max-block-size:280px; overflow:auto; color:var(--rst-muted); font-size:13px; }
.rst-buyer #order-preview h2 { font-size:16px; }
.rst-buyer #amount { background:transparent; padding:0; line-height:2.6; font-size:14px; font-weight:500; }
.rst-buyer #order-preview .small { border-block-start:1px solid var(--rst-line); margin-block-end:0; padding-block-start:14px; font-size:12px; }
.rst-buyer #branch-config p { font-size:12px; color:var(--rst-muted); margin-block:8px; }
.rst-buyer #buyer-details { display:grid; gap:12px; }
.rst-buyer #buyer-details label[for=accept] { font-size:13px; font-weight:400; color:var(--rst-muted); }
.rst-buyer #prepare { margin-block-start:8px; min-block-size:50px; font-size:14px; }
.rst-buyer #message { font-size:14px; }
.rst-buyer #offer-state { color:var(--rst-muted); font-size:12px; }
.rst-buyer #purchase-price { background:var(--rst-bg); padding:18px; line-height:2.2; font-size:14px; font-weight:500; }
.rst-buyer #purchase-summary h3 { font-size:14px; color:var(--rst-muted); margin-block:24px 16px; }
.rst-buyer #purchase-created { font-size:12px; color:var(--rst-muted); }
.rst-buyer #progress { font-weight:500; color:var(--rst-ink); padding-block-start:20px; border-block-start:1px solid var(--rst-line); }
.rst-buyer #proof-progress { font-size:13px; color:var(--rst-positive); }
.rst-buyer main#security { padding:32px; max-inline-size:820px; background:var(--rst-surface); box-shadow:none; }
.rst-buyer .buyer-back a { display:inline-flex; min-block-size:44px; align-items:center; color:var(--rst-muted); text-decoration:none; font-size:13px; }
.rst-buyer #form-card { max-inline-size:740px; }
.rst-buyer #setup-success { max-inline-size:740px; background:var(--rst-surface); border-color:var(--rst-line); }
.rst-buyer #setup-success h2 { color:var(--rst-positive); }
@media(max-width:760px) {
 .rst-buyer main { margin-block:28px 48px; padding-inline:16px; }
 .rst-buyer .buyer-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .rst-buyer .steps { gap:16px; }
 .rst-buyer .steps li { font-size:12px; }
 .rst-buyer .card { padding:22px; }
 .rst-buyer #order-preview { position:static; }
 .rst-buyer main#security { margin-inline:16px; padding:22px; }
}
@media(max-width:420px) {
 .rst-buyer .steps { gap:10px; }
 .rst-buyer .steps li { gap:5px; font-size:11px; }
 .rst-buyer .steps li::before { inline-size:23px; block-size:23px; font-size:11px; }
 .rst-buyer .buyer-status-actions button { flex:0 1 auto; }
 .rst-buyer h1 { font-size:25px; }
 .rst-buyer .card, .rst-buyer main#security { padding:20px; }
}
