:root{--bg: #f5f7fb;--surface: #ffffff;--surface-muted: #f2f5fa;--text: #111827;--text-secondary: #6b7280;--border: #e5e7eb;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-soft: #dbeafe;--danger: #dc2626;--danger-soft: #fee2e2;--success: #16a34a;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--nav-h: 64px;--safe-b: env(safe-area-inset-bottom, 0px);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;max-width:480px;margin:0 auto;background:var(--bg);color:var(--text)}button,[type=button],[type=submit],.nav-item,.tx-mode-btn,.counter-btn,.stepper-btn,.btn-primary,.btn-secondary,.btn-ghost,.modal-close{touch-action:manipulation}.hidden{display:none!important}.screen{min-height:100dvh;display:flex;flex-direction:column}.setup-hero{text-align:center;padding:56px var(--space-6) var(--space-5)}.setup-icon{font-size:48px;margin-bottom:var(--space-3)}.setup-hero h1{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-2)}.setup-hero p{color:var(--text-secondary);font-size:15px;line-height:1.45}.tab-panel{flex:1;overflow-y:auto;padding-bottom:calc(var(--nav-h) + var(--safe-b) + var(--space-6))}#tab-wallet{padding-top:var(--space-4)}.page-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-3)}.page-header-action{justify-content:space-between}.page-header-main{display:flex;align-items:center;gap:var(--space-2);min-width:0}.page-title{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.hero-card{margin:0 var(--space-4) var(--space-4);border-radius:var(--radius-xl);padding:var(--space-5);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;box-shadow:var(--shadow-md)}.hero-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.86;margin-bottom:var(--space-2)}.hero-amount{font-size:clamp(34px,8vw,42px);font-weight:700;letter-spacing:-.03em;line-height:1}.denom-group{margin:0 var(--space-4) var(--space-3)}.denom-group-label{padding:0 var(--space-2) var(--space-2);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.denom-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.denom-row,.counter-row{display:flex;align-items:center;gap:var(--space-3);padding:14px var(--space-4) 14px 12px;border-bottom:1px solid var(--border);border-left:4px solid var(--dc, var(--border));background:color-mix(in srgb,var(--dc, transparent) 8%,white)}.setup-row,.interactive-row{align-items:stretch;gap:0;min-height:52px;padding:0 0 0 12px}.setup-row .denom-label,.interactive-row .counter-label{display:flex;align-items:center;padding-right:12px}.denom-row:last-child,.counter-row:last-child{border-bottom:none}.denom-label,.counter-label{flex:1;min-width:0;font-size:15px;font-weight:500}.denom-count{min-width:42px;text-align:right;font-size:14px;font-weight:600}.denom-value{min-width:82px;text-align:right;font-size:13px;color:var(--text-secondary)}.denom-zero .denom-label,.denom-zero .denom-count{color:var(--text-secondary);font-weight:400}.tx-step-desc{color:var(--text-secondary);font-size:14px;line-height:1.45;padding:0 var(--space-4) var(--space-3)}.tx-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-2)}.tx-mode-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease,border-color .15s ease,background .15s ease}.tx-mode-btn:active{transform:translateY(1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,white)}.tx-mode-btn:disabled{border-color:var(--border);background:var(--surface-muted);color:var(--text-secondary);opacity:.7;box-shadow:none;cursor:not-allowed}.tx-mode-btn:disabled .tx-mode-label,.tx-mode-btn:disabled .tx-mode-sub,.tx-mode-btn:disabled .tx-mode-icon{color:var(--text-secondary)}.tx-mode-icon{font-size:28px;line-height:1}.tx-mode-label{color:var(--text);font-size:16px;font-weight:700}.tx-mode-sub{color:var(--text-secondary);font-size:12px;text-align:center}.tx-back-btn{border:none;background:none;color:var(--accent);cursor:pointer;font-size:30px;line-height:1;padding:0;margin-right:var(--space-1);flex-shrink:0}.counter-bar{display:grid;grid-template-columns:56px 44px 56px;align-items:center;flex-shrink:0;min-height:44px;border:none;border-radius:0;background:transparent;margin-left:auto;align-self:stretch}.counter-btn{width:100%;height:100%;border:none;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;cursor:pointer;transition:color .15s ease,opacity .15s ease}.counter-btn:active{color:var(--text);opacity:.72}.counter-btn:disabled{color:#d1d9e6;cursor:not-allowed}.counter-dec{text-align:left}.counter-inc{text-align:right}.counter-val{min-width:0;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:17px;font-weight:700;color:var(--text);border:none;background:transparent}.review-card{margin:0 var(--space-4) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.review-type-badge{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.review-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:11px var(--space-4);border-bottom:1px solid var(--border);font-size:14px}.review-row:last-child{border-bottom:none}.review-denom{color:var(--text-secondary)}.review-changes{display:flex;gap:var(--space-3);font-weight:600}.review-out{color:var(--danger)}.review-in{color:var(--success)}.review-net{display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);font-size:15px;font-weight:700}.review-note-row{padding:10px var(--space-4);border-top:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-style:italic}.stepper{display:grid;grid-template-columns:46px 40px 46px;align-items:center;background:transparent;border:none;border-radius:0;min-height:40px;margin-left:auto;align-self:stretch}.stepper-btn{width:100%;height:100%;border:none;background:transparent;color:#94a3b8;font-size:18px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,opacity .15s ease}.stepper-btn:active{color:var(--text);opacity:.72}.stepper-btn:disabled{color:#d1d9e6;opacity:.35;cursor:not-allowed}.stepper input[type=number]{width:100%;height:100%;border:none;background:transparent;text-align:center;font:inherit;font-size:16px;font-weight:600;padding:0;-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.tx-current{min-width:32px;text-align:right;color:var(--text-secondary);font-size:12px}.note-field{margin:0 var(--space-4) var(--space-3)}.note-field input{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text);font:inherit;font-size:16px;padding:12px var(--space-4);outline:none}.note-field input::placeholder{color:#9ca3af}.note-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,white)}.action-bar{padding:var(--space-2) var(--space-4) var(--space-2)}.btn-full{width:100%}.btn-primary,.btn-secondary{border-radius:var(--radius-md);padding:12px var(--space-4);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s ease,filter .15s ease,background .15s ease,border-color .15s ease}.btn-primary{border:none;background:var(--accent);color:#fff}.btn-primary:active{transform:translateY(1px);filter:brightness(.95)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}.btn-secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn-secondary:active{transform:translateY(1px);background:#f8fafc}.btn-ghost{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;padding:8px 12px;cursor:pointer}.btn-ghost:active{background:#f8fafc}.btn-danger-outline{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,white)}.btn-danger-outline:active{background:color-mix(in srgb,var(--danger) 13%,white)}.btn-confirm{background:var(--success)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:grid;place-items:end center;background:#0f172a61}.modal-card{width:100%;max-width:480px;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4) var(--space-4) var(--space-5);box-shadow:0 -18px 34px #0f172a38}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:20px;font-weight:700;letter-spacing:-.01em}.modal-close{border:none;background:none;color:var(--text-secondary);font-size:30px;line-height:1;padding:0;cursor:pointer}.modal-sub{margin:var(--space-1) 0 var(--space-4);font-size:14px;color:var(--text-secondary)}.modal-actions{display:grid;gap:var(--space-2)}.modal-input{margin:0 0 var(--space-3)}.smartpay-result{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);font-size:14px}.smartpay-summary{color:var(--text-secondary);margin-bottom:var(--space-2)}.smartpay-lines{list-style:none;display:grid;gap:2px}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);border-top:1px solid var(--border);background:#ffffffe6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:flex-start;justify-content:space-around;z-index:100}.nav-item{flex:1;border:none;background:none;color:var(--text-secondary);font:inherit;font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:10px;cursor:pointer}.nav-item.active{color:var(--accent)}.history-list{padding:0 var(--space-4);display:grid;gap:var(--space-3)}.history-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm)}.history-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.history-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.history-date{flex-shrink:0;color:var(--text-secondary);font-size:12px}.history-lines{list-style:none;display:grid;gap:var(--space-1)}.history-line{display:flex;justify-content:space-between;font-size:13px}.hl-denom{color:var(--text-secondary)}.hl-changes{display:flex;gap:var(--space-2)}.hl-out{color:var(--danger);font-weight:600}.hl-in{color:var(--success);font-weight:600}.empty-state{text-align:center;color:var(--text-secondary);font-size:15px;padding:56px var(--space-4)}.storage-note{text-align:center;color:var(--text-secondary);font-size:11px;padding:var(--space-4) var(--space-4) var(--space-2)}.message{position:fixed;left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 14px);transform:translate(-50%);border-radius:var(--radius-md);background:#111827;color:#fff;font-size:13px;font-weight:600;padding:10px 14px;white-space:nowrap;box-shadow:0 10px 24px #11182747;z-index:400}.message.error{background:var(--danger)}.message.success{background:var(--success)}button:focus-visible,input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 52%,white);outline-offset:2px}
