:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f9fafb;--fg: #111827;--border: #e5e7eb;--muted: #6b7280;--accent: #2563eb;--accent-fg: #ffffff;--success: #10b981;--success-tint: #d1fae5;--danger: #ef4444;--danger-tint: #fee2e2;--warn: #f59e0b;--warn-tint: #fef3c7}@media(prefers-color-scheme:dark){:root{--bg: #0f172a;--surface: #111827;--surface-2: #1e293b;--fg: #f1f5f9;--border: #1e293b;--muted: #94a3b8;--accent: #3b82f6;--accent-fg: #ffffff;--success: #10b981;--success-tint: #064e3b;--danger: #ef4444;--danger-tint: #7f1d1d;--warn: #f59e0b;--warn-tint: #78350f}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.app{max-width:420px;margin:0 auto;padding:24px;min-height:100vh;display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.heading{font-size:18px;font-weight:600;margin:0}.subheading{font-size:14px;color:var(--muted);margin:0}.method-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.method{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;transition:border-color .15s}.method:hover:not(:disabled){border-color:var(--accent)}.method:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.method:disabled{opacity:.5;cursor:not-allowed}.method-meta{font-size:12px;color:var(--muted)}.address-block{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;padding:12px;background:var(--surface-2);border-radius:6px;word-break:break-all;-webkit-user-select:all;user-select:all}.qr{display:block;margin:0 auto;max-width:220px;width:100%;image-rendering:pixelated;background:#fff;padding:8px;border-radius:6px}.qr-placeholder{width:220px;height:220px;margin:0 auto;background:var(--surface-2);border-radius:6px}.countdown{font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.countdown.warn{color:var(--danger)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.badge.pending,.badge.awaiting_payment{background:var(--surface-2);color:var(--muted)}.badge.detected{background:var(--warn-tint);color:var(--warn)}.badge.settled{background:var(--success-tint);color:var(--success)}.badge.expired,.badge.cancelled{background:var(--danger-tint);color:var(--danger)}.button{padding:10px 16px;border-radius:6px;border:1px solid var(--border);cursor:pointer;font:inherit;font-weight:500;background:var(--surface);color:var(--fg)}.button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.button.secondary{background:transparent}.button:disabled{opacity:.5;cursor:not-allowed}.status-row{display:flex;justify-content:space-between;align-items:center}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;margin:32px auto;animation:spin .8s linear infinite}.error{color:var(--danger);padding:12px;border:1px solid var(--danger);border-radius:6px;background:var(--danger-tint)}.muted{color:var(--muted);font-size:12px}.center{text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.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}
