.landing{background:linear-gradient(to bottom, var(--bg-grad-top), var(--bg) 60%);min-height:100vh}.lp-nav{z-index:100;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.lp-nav-inner{max-width:var(--maxw);justify-content:space-between;align-items:center;margin:0 auto;padding:.875rem 2rem;display:flex}.lp-nav-logo{font-family:var(--font-display);color:var(--text);align-items:center;gap:.625rem;font-size:1.125rem;font-weight:700;text-decoration:none;display:flex}.lp-nav-right{align-items:center;gap:1.5rem;display:flex}.lp-nav-link{color:var(--text-dim);font-size:.875rem;font-weight:400;text-decoration:none;transition:color .15s}.lp-nav-link:hover{color:var(--text)}.lp-nav-gear{color:var(--text-dim);cursor:pointer;font-size:.9375rem;transition:color .15s}.lp-nav-gear:hover{color:var(--text)}.lp-nav-signin{color:var(--text);font-size:.875rem;font-weight:700;text-decoration:none;transition:color .15s}.lp-nav-signin:hover{color:var(--accent)}.lp-btn-pill{border-radius:100px;padding:.5rem 1.25rem}.lp-btn-primary{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);font-family:var(--font-body);cursor:pointer;border:none;padding:.5rem 1.125rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .2s;display:inline-block}.lp-btn-primary:hover{background:var(--accent-deep);color:var(--text)}.lp-btn-lg{border-radius:100px;padding:.75rem 1.75rem;font-size:.9375rem}.lp-btn-outline{background:var(--btn-soft);color:var(--text);border:1px solid var(--line-2);font-family:var(--font-body);cursor:pointer;border-radius:100px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-block}.lp-btn-outline:hover{background:var(--btn-soft-hover);border-color:var(--line-strong)}.lp-section-inner{max-width:var(--maxw);margin:0 auto;padding:0 2rem}.lp-section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:1rem;font-size:.6875rem;font-weight:700}.lp-center-h2{font-family:var(--font-display);color:var(--text);text-align:center;max-width:640px;margin:0 auto .75rem;font-size:2.25rem;font-weight:700;line-height:1.2}.lp-center-sub{color:var(--text-dim);text-align:center;max-width:540px;margin:0 auto;font-size:.9375rem;line-height:1.6}.lp-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.lp-hero{padding:5rem 0 4rem}.lp-hero-inner{max-width:var(--maxw);grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin:0 auto;padding:0 2rem;display:grid}.lp-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:1.5rem;padding:.25rem .75rem;font-size:.6875rem;font-weight:700;display:inline-block}.lp-hero-text h1{font-family:var(--font-display);color:var(--text);margin-bottom:1.5rem;font-size:3.75rem;font-weight:700;line-height:1.08}.lp-hero-gold{color:var(--accent)}.lp-hero-sub{color:var(--text-dim);max-width:460px;margin-bottom:2rem;font-size:1rem;line-height:1.65}.lp-hero-ctas{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.lp-hero-note{font-family:var(--font-mono);color:var(--text-faint);font-size:.75rem}.lp-feed-card{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:1.25rem}.lp-feed-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;font-size:.6875rem;display:flex}.lp-feed-label{color:var(--text-faint)}.lp-feed-row{border-radius:var(--r-sm);background:var(--surface-2);justify-content:space-between;align-items:center;margin-bottom:.375rem;padding:.625rem .5rem;display:flex}.lp-feed-left{align-items:center;gap:.5rem;display:flex}.lp-feed-name{color:var(--text);font-size:.875rem;font-weight:500}.lp-tag{font-family:var(--font-mono);border-radius:var(--r-sm);text-transform:lowercase;padding:.125rem .5rem;font-size:.625rem;font-weight:700}.lp-feed-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700}.lp-feed-amount.neg{color:var(--debit)}.lp-feed-amount.pos{color:var(--green)}.neg{color:var(--debit)}.pos{color:var(--green)}.lp-feed-quote{color:var(--text-faint);text-align:center;margin-top:1rem;padding-top:.75rem;font-size:.75rem;font-style:italic}.lp-problem{padding:5rem 0}.lp-problem-grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.lp-problem-h2{font-family:var(--font-display);color:var(--text);font-size:2rem;font-weight:700;line-height:1.25}.lp-problem-body{color:var(--text-dim);font-size:.9375rem;line-height:1.7}.lp-problem-body p{margin-bottom:1rem}.lp-problem-body em{color:var(--text);font-style:italic}.lp-features{padding:0 0 5rem}.lp-features-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.lp-feature-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:1.5rem}.lp-feature-num{font-family:var(--font-mono);color:var(--accent);margin-bottom:.75rem;font-size:.6875rem;font-weight:700;display:block}.lp-feature-card h3{font-family:var(--font-display);color:var(--text);margin-bottom:.5rem;font-size:.9375rem;font-weight:700}.lp-feature-card p{color:var(--text-dim);font-size:.8125rem;line-height:1.6}.lp-difference{padding:5rem 0}.lp-difference .lp-section-label{text-align:center}.lp-diff-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.5rem;display:grid}.lp-diff-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:1.75rem}.lp-diff-card-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.lp-diff-icon{background:var(--accent-dim);width:40px;height:40px;color:var(--accent);border-radius:var(--r-md);justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.lp-diff-card h3{font-family:var(--font-display);color:var(--text);font-size:1rem;font-weight:700}.lp-diff-meta{font-family:var(--font-mono);color:var(--text-faint);font-size:.6875rem}.lp-diff-desc{color:var(--text-dim);margin-top:1rem;font-size:.8125rem;line-height:1.6}.lp-diff-link{color:var(--accent);margin-top:1rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-block}.lp-diff-link:hover{text-decoration:underline}.lp-shortcut-steps{flex-direction:column;gap:.375rem;display:flex}.lp-shortcut-step{background:var(--surface-2);border-radius:var(--r-sm);font-family:var(--font-mono);color:var(--text);align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;display:flex}.lp-code-block{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.lp-code-header{font-family:var(--font-mono);color:var(--text-faint);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.75rem;display:flex}.lp-code-copy{cursor:pointer;color:var(--text-dim)}.lp-code-block pre{padding:1rem;overflow-x:auto}.lp-code-block code{font-family:var(--font-mono);color:var(--text-dim);font-size:.8125rem;line-height:1.6}.lp-payoff{padding:5rem 0}.lp-payoff .lp-section-label{text-align:center}.lp-dash-mockup{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-xl);box-shadow:var(--shadow-card);max-width:740px;margin-top:2.5rem;margin-left:auto;margin-right:auto;padding:2rem}.lp-dash-top{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.lp-dash-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:.25rem;font-size:.625rem}.lp-dash-total{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.lp-dash-stats{text-align:right;gap:1.5rem;display:flex}.lp-dash-stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:.125rem;font-size:.625rem;display:block}.lp-dash-stat{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700}.lp-dash-stat.pos{color:var(--green)}.lp-dash-stat.neg{color:var(--debit)}.lp-dash-chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:.75rem;height:100px;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.lp-bar{background:var(--surface-3);border-radius:var(--r-sm) var(--r-sm) 0 0;flex:1;min-height:8px}.lp-bar-accent{background:var(--green)}.lp-dash-txs{flex-direction:column;gap:.25rem;display:flex}.lp-dash-tx{color:var(--text);justify-content:space-between;align-items:center;padding:.5rem .25rem;font-size:.8125rem;display:flex}.lp-dash-tx span:first-child{align-items:center;gap:.5rem;display:flex}.lp-dash-tx .neg,.lp-dash-tx .pos{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.lp-dash-cta-row{text-align:center;margin-top:1.5rem;padding-top:1rem}.lp-privacy{padding:5rem 0}.lp-privacy-grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.lp-privacy-body{color:var(--text-dim);margin:1rem 0;font-size:.9375rem;line-height:1.7}.lp-trust-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.lp-trust-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:1.25rem}.lp-trust-icon{margin-bottom:.625rem;font-size:1.25rem;display:block}.lp-trust-card h4{font-family:var(--font-display);color:var(--text);margin-bottom:.375rem;font-size:.875rem;font-weight:700}.lp-trust-card p{color:var(--text-dim);font-size:.8125rem;line-height:1.5}.lp-pricing{padding:5rem 0}.lp-pricing .lp-section-label{text-align:center}.lp-pricing-ctas{justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.lp-footer{border-top:1px solid var(--line);padding:3rem 0 2rem}.lp-footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;display:grid}.lp-footer-logo{font-family:var(--font-display);color:var(--text);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9375rem;font-weight:700;display:flex}.lp-footer-tagline{color:var(--text-dim);max-width:260px;font-size:.8125rem;font-style:italic;line-height:1.6}.lp-footer-post{font-family:var(--font-mono);color:var(--text-faint);margin-top:.375rem;font-size:.75rem}.lp-footer-col h5{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:.75rem;font-size:.6875rem;font-weight:700}.lp-footer-col a{color:var(--text-dim);padding:.25rem 0;font-size:.8125rem;text-decoration:none;transition:color .15s;display:block}.lp-footer-col a:hover{color:var(--text)}.lp-footer-bottom{border-top:1px solid var(--line);color:var(--text-faint);justify-content:space-between;align-items:center;padding-top:1.5rem;font-size:.75rem;display:flex}@media (width<=768px){.lp-hero-inner,.lp-problem-grid,.lp-privacy-grid{grid-template-columns:1fr;gap:2rem}.lp-features-grid{grid-template-columns:1fr 1fr}.lp-diff-grid{grid-template-columns:1fr}.lp-hero-text h1{font-size:2.25rem}.lp-center-h2{font-size:1.75rem}.lp-footer-grid{grid-template-columns:1fr 1fr}.lp-nav-links{display:none}.lp-footer-bottom{text-align:center;flex-direction:column;gap:.5rem}}:root{--font-display:"Ubuntu", system-ui, sans-serif;--font-body:"Ubuntu", system-ui, sans-serif;--font-mono:"Ubuntu Mono", ui-monospace, "SFMono-Regular", monospace;--r-sm:7px;--r-md:11px;--r-lg:18px;--r-xl:24px;--maxw:1180px;--bg:#0e1116;--bg-grad-top:#11151c;--surface-1:#14181f;--surface-2:#191e26;--surface-3:#222834;--surface-inset:#0c0f14;--line:#f0eee717;--line-2:#f0eee726;--line-strong:#f0eee73d;--text:#eceae3;--text-dim:#a3a8b0;--text-faint:#6b7079;--accent:#cba24e;--accent-deep:#a9842f;--accent-dim:#cba24e24;--accent-line:#cba24e57;--accent-ink:#1b1403;--green:#5cb293;--green-deep:#3e8b72;--green-dim:#5cb29324;--debit:#d4806a;--debit-deep:#b4543e;--debit-dim:#d4806a24;--btn-soft:#f0eee716;--btn-soft-hover:#f0eee726;--shadow-card:0 0 0 1px #ffffff03 inset, 0 10px 26px -22px #000000a6;--shadow-pop:0 16px 40px -22px #0000008c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:linear-gradient(to bottom, var(--bg-grad-top), var(--bg) 60%);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.loading{min-height:100vh;color:var(--text-faint);justify-content:center;align-items:center;font-size:.875rem;display:flex}.logo-mark{vertical-align:middle;display:inline-block}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-xl);width:100%;max-width:400px;box-shadow:var(--shadow-card);padding:2.5rem}.auth-card h1{font-family:var(--font-display);color:var(--text);align-items:center;gap:.5rem;margin-bottom:.125rem;font-size:1.5rem;font-weight:700;display:flex}.auth-subtitle{color:var(--text-faint);margin-bottom:1.75rem;font-size:.875rem}.auth-card form{flex-direction:column;gap:.625rem;display:flex}.auth-card input{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);font-family:var(--font-body);outline:none;padding:.75rem 1rem;font-size:.875rem;transition:border-color .2s}.auth-card input::placeholder{color:var(--text-faint)}.auth-card input:focus{border-color:var(--accent-line)}.auth-card button[type=submit]{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);font-family:var(--font-body);cursor:pointer;border:none;margin-top:.25rem;padding:.75rem;font-size:.875rem;font-weight:500;transition:background .2s}.auth-card button[type=submit]:hover{background:var(--accent-deep);color:var(--text)}.auth-card button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:var(--debit);font-size:.8125rem}.auth-toggle{text-align:center;color:var(--text-faint);margin-top:1.25rem;font-size:.8125rem}.auth-toggle a{color:var(--accent);font-weight:500;text-decoration:none}.auth-toggle a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface-1);border-right:1px solid var(--line);z-index:20;flex-direction:column;flex-shrink:0;width:210px;padding:1.25rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{font-family:var(--font-display);color:var(--text);align-items:center;gap:.5rem;padding:.25rem .5rem 1.25rem;font-size:1.0625rem;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;gap:.125rem;display:flex}.sidebar-nav-item{border-radius:var(--r-md);color:var(--text-dim);border-left:2px solid #0000;align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-nav-item svg{color:var(--text-faint);flex-shrink:0}.sidebar-nav-item:hover{background:var(--btn-soft);color:var(--text)}.sidebar-nav-item.active{background:var(--accent-dim);border-left-color:var(--accent);color:var(--text);font-weight:500}.sidebar-nav-item.active svg{color:var(--accent)}.sidebar-add-btn{background:var(--accent);width:100%;color:var(--accent-ink);border-radius:var(--r-md);font-family:var(--font-body);cursor:pointer;border:none;margin-top:1rem;padding:.625rem;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.sidebar-add-btn:hover{background:var(--accent-deep);color:var(--text)}.sidebar-foot{flex-direction:column;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.sidebar-toggle{color:var(--text-faint);align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.8125rem;display:flex}.sidebar-toggle-dot{background:var(--surface-3);border:1px solid var(--line-2);border-radius:999px;width:28px;height:16px;position:relative}.sidebar-toggle-dot:after{content:"";background:var(--text-faint);border-radius:50%;width:11px;height:11px;position:absolute;top:1.5px;left:2px}.sidebar-user{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;text-align:left;align-items:center;gap:.625rem;padding:.5rem;transition:border-color .15s;display:flex}.sidebar-user:hover{border-color:var(--line-2)}.sidebar-avatar{background:var(--accent-dim);width:30px;height:30px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.sidebar-user-info{flex-direction:column;min-width:0;display:flex}.sidebar-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.sidebar-user-tier{font-family:var(--font-mono);color:var(--text-faint);font-size:.6875rem}.main-area{flex:1;max-width:980px;margin-left:210px;padding:2rem 2.5rem 4rem}.greeting-banner{color:var(--text-dim);align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.greeting-text{color:var(--text-dim);font-size:.9375rem;font-style:italic}.balance-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:.6875rem;font-weight:700}.balance-total{font-family:var(--font-mono);color:var(--green);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.25rem 0 1.25rem;font-size:3.25rem;font-weight:700;line-height:1}.balance-total.neg{color:var(--debit)}.balance-controls{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.period-toggle{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;gap:.25rem;padding:.25rem;display:flex}.period-btn{font-family:var(--font-body);color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.375rem 1rem;font-size:.8125rem;transition:background .15s,color .15s}.period-btn.active{background:var(--surface-3);color:var(--text)}.add-entry-pill{background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;padding:.5rem 1.125rem;font-size:.8125rem;font-weight:500;transition:background .2s,color .2s}.add-entry-pill:hover{background:var(--accent-deep);color:var(--text)}.panel{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);margin-bottom:1.5rem;padding:1.25rem 1.5rem 1.5rem}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.panel-header h2{font-family:var(--font-display);color:var(--text);font-size:1.0625rem;font-weight:700}.panel-link{font-family:var(--font-body);color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.8125rem;text-decoration:none;transition:color .15s}.panel-link:hover{color:var(--accent-deep)}.tier-badge{background:var(--accent-dim);color:var(--accent);border-radius:var(--r-sm);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.btn-primary{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);font-family:var(--font-body);cursor:pointer;border:none;padding:.5rem 1.125rem;font-size:.8125rem;font-weight:500;transition:background .2s}.btn-primary:hover{background:var(--accent-deep);color:var(--text)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--btn-soft);border:1px solid var(--line);color:var(--text-dim);border-radius:var(--r-md);font-family:var(--font-body);cursor:pointer;padding:.5rem 1.125rem;font-size:.8125rem;transition:background .15s,color .15s}.btn-secondary:hover{background:var(--btn-soft-hover);color:var(--text)}.state-msg{text-align:center;color:var(--text-faint);padding:3rem 1rem;font-size:.9375rem}.state-error{color:var(--debit)}.nudge{background:var(--accent-dim);border:1px solid var(--accent-line);border-radius:var(--r-md);color:var(--accent);text-align:center;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.8125rem}.wallet-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.wallet-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:.5rem;padding:1.125rem 1.25rem;transition:border-color .2s;display:flex}.wallet-card:hover{border-color:var(--line-2)}.wallet-card-top{align-items:center;gap:.5rem;display:flex}.wallet-swatch{border-radius:var(--r-sm);flex-shrink:0;width:16px;height:16px}.wallet-name{font-family:var(--font-display);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9375rem;font-weight:500;overflow:hidden}.wallet-currency{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);background:var(--btn-soft);border-radius:var(--r-sm);flex-shrink:0;padding:.0625rem .375rem;font-size:.625rem;font-weight:700}.wallet-type{font-family:var(--font-mono);color:var(--text-faint);text-transform:lowercase;font-size:.75rem}.wallet-balance{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.wallet-balance.positive{color:var(--green)}.wallet-balance.negative{color:var(--debit)}.wallet-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.wallet-actions button{background:var(--btn-soft);border:1px solid var(--line);color:var(--text-faint);border-radius:var(--r-sm);font-family:var(--font-body);cursor:pointer;padding:.25rem .75rem;font-size:.75rem;transition:background .15s,color .15s}.wallet-actions button:hover{background:var(--btn-soft-hover);color:var(--text)}.wallet-form-overlay{margin-bottom:1.5rem}.wallet-form{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.wallet-form h3{font-family:var(--font-display);color:var(--text);margin-bottom:.25rem;font-size:1rem;font-weight:700}.wallet-form input,.wallet-form select{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);font-family:var(--font-body);outline:none;padding:.625rem .75rem;font-size:.875rem;transition:border-color .2s}.wallet-form input::placeholder{color:var(--text-faint)}.wallet-form input:focus,.wallet-form select:focus{border-color:var(--accent-line)}.wallet-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7079' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.form-row{gap:.75rem;display:flex}.form-row select{flex:1}.color-picker{flex-wrap:wrap;gap:.5rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;transition:border-color .15s,transform .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--bg)}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:.25rem;display:flex}.tx-section{margin-top:2.5rem}.tx-section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.tx-section-header h2{font-family:var(--font-display);color:var(--text);font-size:1.125rem;font-weight:700}.tx-undo-toast{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--text-dim);justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.625rem 1rem;font-size:.8125rem;animation:.2s fadeIn;display:flex}.tx-undo-toast button{background:var(--accent-dim);border:1px solid var(--accent-line);color:var(--accent);border-radius:var(--r-sm);font-family:var(--font-body);cursor:pointer;padding:.25rem .75rem;font-size:.75rem;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tx-modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#05070a99;justify-content:center;align-items:center;padding:1.5rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.tx-modal{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-xl);width:100%;max-width:440px;box-shadow:var(--shadow-pop);flex-direction:column;gap:.875rem;padding:1.5rem;display:flex}.tx-modal-header{justify-content:space-between;align-items:center;display:flex}.tx-modal-header h3{font-family:var(--font-display);color:var(--text);font-size:1.125rem;font-weight:700}.tx-modal-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.375rem;line-height:1;transition:color .15s}.tx-modal-close:hover{color:var(--text)}.tx-quick-input{background:var(--surface-inset);border:1px solid var(--accent-line);border-radius:var(--r-md);color:var(--text);font-family:var(--font-body);outline:none;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .2s}.tx-quick-input::placeholder{color:var(--text-faint)}.tx-quick-input:focus{border-color:var(--accent)}.tx-quick-helper{color:var(--text-faint);margin-top:-.375rem;font-size:.75rem}.tx-modal-amount{font-family:var(--font-mono);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);padding:.5rem 0;font-size:2.5rem;font-weight:700}.tx-field{flex-direction:column;flex:1;gap:.3125rem;min-width:0;display:flex}.tx-field-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-size:.625rem;font-weight:700}.tx-modal input,.tx-modal select{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);font-family:var(--font-body);outline:none;width:100%;padding:.625rem .75rem;font-size:.875rem;transition:border-color .2s}.tx-modal input::placeholder{color:var(--text-faint)}.tx-modal input:focus,.tx-modal select:focus{border-color:var(--accent-line)}.tx-modal select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7079' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.tx-modal .form-row{gap:.75rem;display:flex}.tx-type-toggle{border-radius:var(--r-md);border:1px solid var(--line);gap:0;display:flex;overflow:hidden}.tx-type-btn{font-family:var(--font-body);background:var(--surface-inset);color:var(--text-faint);cursor:pointer;border:none;flex:1;padding:.5rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s}.tx-type-btn.active.expense{background:var(--debit-dim);color:var(--debit)}.tx-type-btn.active.income{background:var(--green-dim);color:var(--green)}.tx-type-btn.active.transfer{background:var(--accent-dim);color:var(--accent)}.tx-type-btn+.tx-type-btn{border-left:1px solid var(--line)}.tx-amount-input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:var(--font-mono)!important;padding:.75rem!important;font-size:2rem!important;font-weight:700!important}.tx-amount-input::placeholder{color:var(--text-faint)}.tx-list{flex-direction:column;gap:.25rem;display:flex}.tx-day-group{margin-bottom:.5rem}.tx-day-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);padding:.75rem 0 .375rem;font-size:.6875rem;font-weight:700}.tx-row{border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.625rem .75rem;transition:border-color .15s;display:flex}.tx-row:hover{border-color:var(--line-2)}.tx-row-left{flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.tx-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tx-row-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.tx-row-primary{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.tx-row-note{color:var(--text-dim);font-weight:400}.tx-row-meta{color:var(--text-faint);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.tx-source-badge{font-family:var(--font-mono);border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.05em;padding:.0625rem .375rem;font-size:.5625rem;font-weight:700}.tx-source-manual{background:var(--btn-soft);color:var(--text-faint)}.tx-source-api{background:var(--accent-dim);color:var(--accent)}.tx-source-shortcut{background:var(--green-dim);color:var(--green)}.tx-source-webhook{background:var(--accent-dim);color:var(--accent)}.tx-row-wallet{color:var(--text-dim)}.tx-row-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.tx-row-date{font-family:var(--font-mono);color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.75rem}.tx-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:90px;font-size:.9375rem;font-weight:700}.tx-amount.pos{color:var(--green)}.tx-amount.neg{color:var(--debit)}.tx-row-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.tx-row:hover .tx-row-actions{opacity:1}.tx-row-actions button{background:var(--btn-soft);border:1px solid var(--line);color:var(--text-faint);border-radius:var(--r-sm);font-family:var(--font-body);cursor:pointer;padding:.125rem .5rem;font-size:.6875rem;transition:background .15s,color .15s}.tx-row-actions button:hover{background:var(--btn-soft-hover);color:var(--text)}.tx-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.tx-page-info{font-family:var(--font-mono);color:var(--text-faint);font-size:.75rem}@media (prefers-reduced-motion:reduce){.tx-undo-toast{animation:none}.tx-row{transition:none}.tx-row-actions{opacity:1;transition:none}}.cat-page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.cat-page-header h2{font-family:var(--font-display);color:var(--text);font-size:1.125rem;font-weight:700}.cat-group{margin-bottom:2rem}.cat-group-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.cat-group-header h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:.6875rem;font-weight:700}.cat-empty{color:var(--text-faint);padding:.5rem 0;font-size:.8125rem}.cat-row{border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.625rem .75rem;transition:border-color .15s;display:flex}.cat-row:hover{border-color:var(--line-2)}.cat-row-left{align-items:center;gap:.625rem;display:flex}.cat-swatch{border-radius:50%;flex-shrink:0;width:14px;height:14px}.cat-name{color:var(--text);font-size:.875rem;font-weight:500}.cat-default-badge{font-family:var(--font-mono);border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.05em;background:var(--btn-soft);color:var(--text-faint);padding:.0625rem .375rem;font-size:.5625rem;font-weight:700}.cat-row-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.cat-row:hover .cat-row-actions{opacity:1}.cat-row-actions button{background:var(--btn-soft);border:1px solid var(--line);color:var(--text-faint);border-radius:var(--r-sm);font-family:var(--font-body);cursor:pointer;padding:.125rem .5rem;font-size:.6875rem;transition:background .15s,color .15s}.cat-row-actions button:hover{background:var(--btn-soft-hover);color:var(--text)}.cat-inline-form{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-md);flex-direction:column;gap:.625rem;margin-bottom:.5rem;padding:1rem;display:flex}.cat-inline-form input{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);font-family:var(--font-body);outline:none;padding:.5rem .75rem;font-size:.875rem}.cat-inline-form input:focus{border-color:var(--accent-line)}.cat-delete-modal{z-index:200;background:#05070a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cat-delete-card{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-lg);width:100%;max-width:400px;box-shadow:var(--shadow-pop);padding:1.5rem}.cat-delete-card h3{font-family:var(--font-display);color:var(--text);margin-bottom:.5rem;font-size:1rem;font-weight:700}.cat-delete-card p{color:var(--text-dim);margin-bottom:1rem;font-size:.875rem;line-height:1.6}.page-head{margin-bottom:2rem}.page-head h1{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:2rem;font-weight:700}.page-sub{color:var(--text-dim);margin-top:.375rem;font-size:1rem}.page-desc{color:var(--text-faint);max-width:620px;margin-top:.75rem;font-size:.9375rem;line-height:1.6}.dev-text{color:var(--text-dim);margin-bottom:1.25rem;font-size:.9375rem;line-height:1.6}.code-block{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.code-block-head{border-bottom:1px solid var(--line);background:var(--surface-2);align-items:center;gap:.625rem;padding:.625rem 1rem;display:flex}.code-method{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border-radius:var(--r-sm);padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.code-method.green{color:var(--green);background:var(--green-dim)}.code-method.yellow{color:var(--accent);background:var(--accent-dim)}.code-method.red{color:var(--debit);background:var(--debit-dim)}.code-method.dim{color:var(--text-dim);background:var(--surface-2)}.endpoint-title{color:var(--text);margin:1.5rem 0 .5rem;font-size:.9375rem;font-weight:600}.endpoint-title:first-of-type{margin-top:0}.code-path{font-family:var(--font-mono);color:var(--text);font-size:.8125rem}.code-block pre{margin:0;padding:1rem;overflow-x:auto}.code-block code{font-family:var(--font-mono);color:var(--text-dim);white-space:pre;font-size:.8125rem;line-height:1.6}.shortcut-flow{flex-direction:column;gap:.25rem;display:flex}.shortcut-step{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:relative}.shortcut-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.shortcut-step-info{flex-direction:column;gap:.125rem;display:flex}.shortcut-step-label{color:var(--text);font-size:.875rem;font-weight:500}.shortcut-step-sub{font-family:var(--font-mono);color:var(--text-faint);font-size:.6875rem}.shortcut-arrow{color:var(--text-faint);z-index:1;font-size:.75rem;line-height:1;position:absolute;bottom:-.625rem;left:1rem}.scope-row{border-top:1px solid var(--line);align-items:center;gap:.75rem;padding:.625rem 0;display:flex}.scope-row:first-of-type{border-top:none}.scope-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);background:var(--btn-soft);border-radius:var(--r-sm);flex-shrink:0;padding:.1875rem .5rem;font-size:.6875rem;font-weight:700}.scope-badge.accent{color:var(--accent);background:var(--accent-dim)}.scope-desc{color:var(--text-dim);font-size:.875rem}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.pricing-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);flex-direction:column;padding:1.5rem;display:flex}.pricing-card.featured{border-color:var(--accent-line);box-shadow:var(--shadow-card), 0 0 0 1px var(--accent-line) inset}.pricing-card-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.pricing-card-head h2{font-family:var(--font-display);color:var(--text);font-size:1.125rem;font-weight:700}.pricing-current{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--green);background:var(--green-dim);border-radius:var(--r-sm);padding:.1875rem .5rem;font-size:.625rem;font-weight:700}.pricing-price{align-items:baseline;gap:.375rem;margin-bottom:1.25rem;display:flex}.pricing-amount{font-family:var(--font-mono);color:var(--text);letter-spacing:-.02em;font-size:2.25rem;font-weight:700}.pricing-cadence{color:var(--text-faint);font-size:.875rem}.pricing-features{flex-direction:column;flex:1;gap:.625rem;margin-bottom:1.5rem;list-style:none;display:flex}.pricing-features li{color:var(--text-dim);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.pricing-check{color:var(--green);flex-shrink:0;font-weight:700}.pricing-cta{text-align:center;width:100%;padding:.625rem}.pricing-cta:disabled{opacity:.7;cursor:default}@media (width<=880px){.pricing-grid{grid-template-columns:1fr}}.key-row{border-bottom:1px solid var(--line);align-items:center;gap:1.25rem;padding:.95rem 0;display:flex}.key-row:last-child{border-bottom:none}.key-row-main{flex-direction:column;flex:auto;gap:.3rem;min-width:0;display:flex}.key-row-top{align-items:center;gap:.6rem;display:flex}.key-name{color:var(--text);font-weight:600}.key-prefix{color:var(--text-dim);background:var(--surface-inset);border-radius:5px;width:fit-content;padding:.1rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.key-meta{color:var(--text-faint);font-size:.78rem}.key-row-usage{flex-direction:column;flex:none;gap:.35rem;width:140px;display:flex}.key-usage-bar{background:var(--surface-inset);border-radius:3px;height:5px;overflow:hidden}.key-usage-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.key-scope-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:5px;padding:.12rem .45rem;font-size:.68rem;font-weight:600}.key-scope-badge.read{background:var(--accent-dim);color:var(--accent)}.key-scope-badge.write{background:var(--green-dim);color:var(--green)}.key-form-field{flex-direction:column;gap:.4rem;margin:.85rem 0;display:flex}.key-form-field label{color:var(--text-dim);font-size:.78rem}.key-form-field input{background:var(--surface-inset);border:1px solid var(--line-2);color:var(--text);border-radius:7px;padding:.55rem .7rem;font-size:.9rem}.key-scope-choices{gap:.6rem;display:flex}.key-scope-choice{border:1px solid var(--line-2);background:var(--surface-inset);cursor:pointer;color:var(--text-dim);text-align:left;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:.2rem;padding:.65rem .75rem;display:flex}.key-scope-choice strong{color:var(--text);font-size:.88rem}.key-scope-choice span{font-size:.74rem}.key-scope-choice.selected{border-color:var(--accent-line);background:var(--accent-dim)}.key-scope-choice.disabled{opacity:.45;cursor:not-allowed}.key-reveal{background:var(--surface-inset);border:1px solid var(--line-2);border-radius:8px;align-items:center;gap:.6rem;margin:.85rem 0;padding:.6rem .7rem;display:flex}.key-reveal code{color:var(--accent);word-break:break-all;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem}.budget-row{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-1);align-items:center;gap:1rem;margin-bottom:.25rem;padding:.75rem;transition:border-color .15s;display:flex}.budget-row:hover{border-color:var(--line-2)}.budget-row-left{flex-shrink:0;align-items:center;gap:.625rem;width:140px;display:flex}.budget-cat-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.budget-bar-wrap{flex:1;min-width:0}.budget-bar-track{background:var(--surface-inset);border-radius:999px;height:6px;overflow:hidden}.budget-bar-fill{background:var(--green);border-radius:999px;height:100%;transition:width .35s}.budget-bar-fill.over{background:var(--debit)}@media (prefers-reduced-motion:reduce){.budget-bar-fill{transition:none}}.budget-over-msg{color:var(--debit);margin-top:.375rem;font-size:.8125rem;font-style:italic}.budget-amounts{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.budget-spent{color:var(--text);font-weight:700}.budget-spent.over{color:var(--debit)}.budget-sep,.budget-limit{color:var(--text-faint)}.budget-row-actions{opacity:0;flex-shrink:0;gap:.25rem;transition:opacity .15s;display:flex}.budget-row:hover .budget-row-actions{opacity:1}.budget-row-actions button{background:var(--btn-soft);border:1px solid var(--line);color:var(--text-faint);border-radius:var(--r-sm);font-family:var(--font-body);cursor:pointer;padding:.125rem .5rem;font-size:.6875rem;transition:background .15s,color .15s}.budget-row-actions button:hover{background:var(--btn-soft-hover);color:var(--text)}.budget-stub-row{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-1);justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.625rem .75rem;display:flex}.budget-set-btn{font-family:var(--font-body);color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:.125rem .25rem;font-size:.8125rem;transition:color .15s}.budget-set-btn:hover{color:var(--accent)}.budget-inline-form{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-md);flex-direction:column;gap:.625rem;margin-bottom:.5rem;padding:1rem;display:flex}.budget-inline-form input{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;outline:none;width:100%;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .2s}.budget-inline-form input:focus{border-color:var(--accent-line)}.budget-form-error{color:var(--debit);font-size:.8125rem}@media (prefers-reduced-motion:reduce){.budget-row{transition:none}.budget-row-actions{opacity:1;transition:none}}
