:root{--bg: #f4f5f7;--surface: #ffffff;--text: #0b0f19;--muted: #6b7280;--brand: #612fff;--danger: #dc2626;--success: #16a34a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.checkout-wrap{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;background:var(--bg);padding:20px 16px 32px}.checkout-card{width:100%;max-width:480px;margin:0 auto;background:var(--surface);border-radius:20px;box-shadow:0 1px 2px #0b0f190a,0 8px 24px #0b0f190f;overflow:hidden}.checkout-card-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #eef0f5}.checkout-card-title{font-size:16px;font-weight:650;color:var(--text)}.checkout-card-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.checkout-card-close:active{background:#eef0f5}.checkout-container{width:100%;min-height:480px;padding:20px}.checkout-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg)}.state{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface)}.state-card{width:100%;max-width:360px;text-align:center}.state-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef0f5}.state-error .state-icon{background:#fdecec;color:var(--danger)}.state-success .state-icon{background:#e9f8ef;color:var(--success)}.glyph{font-size:30px;font-weight:700;line-height:1}.state-title{font-size:19px;font-weight:650;margin:0 0 8px}.state-message{font-size:15px;line-height:1.45;color:var(--muted);margin:0 0 24px;word-break:break-word}.state-action{width:100%;padding:14px 16px;border:none;border-radius:12px;background:var(--brand);color:#fff;font-size:16px;font-weight:600;cursor:pointer}.state-action:active{opacity:.9}.spinner{width:28px;height:28px;border:3px solid #d1d5db;border-top-color:var(--brand);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
