:root{--bg: #0F1512;--bg-raised: #151D19;--surface: #1B2420;--surface-2: #222D28;--line: #2B3833;--line-soft: #1F2A25;--ink: #E2E7E2;--ink-soft: #A8B3AC;--ink-faint: #6E7A74;--brass: #C9A961;--brass-dim: rgba(201, 169, 97, .13);--above: #8FBFA3;--above-dim: rgba(143, 191, 163, .12);--below: #CD8670;--below-dim: rgba(205, 134, 112, .12);--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--maxw: 760px;--radius: 10px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;width:100%;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{background:radial-gradient(130% 80% at 50% -10%,rgba(201,169,97,.05),transparent 60%),var(--bg)}.num,.money,.qty,.stamp{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.wrap{max-width:var(--maxw);margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 22px 120px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}.brand{font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0}.brand span{color:var(--brass)}.top-actions{display:flex;gap:8px;align-items:center}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.btn{padding:9px 15px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-size:14px;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--brass);border-color:var(--brass);color:#17130a;font-weight:600}.btn-primary:hover:not(:disabled){background:#d8b972;border-color:#d8b972;color:#17130a}.btn-ghost{background:none;border-color:transparent;color:var(--ink-faint)}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--surface)}.btn-danger{color:var(--below);border-color:transparent}.btn-danger:hover:not(:disabled){background:var(--below-dim);color:var(--below)}.btn-sm{padding:5px 10px;font-size:13px}:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:4px}.field{display:block;margin-bottom:18px}.field>.label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:7px}.field>.hint{display:block;font-size:12.5px;color:var(--ink-faint);margin-top:7px;line-height:1.5}input[type=text],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;padding:11px 13px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised);color:var(--ink);font:inherit;font-size:15px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-dim)}input::placeholder{color:var(--ink-faint)}input.mono,input[inputmode=decimal]{font-family:var(--mono);font-variant-numeric:tabular-nums}.waterline{position:relative;padding:40px 0 34px;margin-bottom:30px}.waterline-label{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}.waterline-total{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(38px,9vw,58px);font-weight:500;letter-spacing:-.02em;line-height:1.05;color:var(--ink);display:block;margin-bottom:6px}.waterline-total.is-below{color:var(--below)}.waterline-note{font-size:13.5px;color:var(--ink-faint);line-height:1.55}.waterline-rule{position:relative;height:1px;margin:26px 0 20px;background:linear-gradient(90deg,transparent,var(--line) 12%,var(--brass) 50%,var(--line) 88%,transparent);opacity:.55}.waterline-rule:after{content:"";position:absolute;left:50%;top:-2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--brass);box-shadow:0 0 10px 2px var(--brass-dim)}.waterline-split{display:flex;gap:28px;font-size:13.5px}.waterline-split .leg{display:flex;flex-direction:column;gap:3px}.waterline-split .leg-label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.waterline-split .leg-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:16px}.leg-value.is-above{color:var(--above)}.leg-value.is-below{color:var(--below)}.unpriced-note{margin-top:14px;padding:9px 12px;border-radius:var(--radius);border:1px dashed var(--line);color:var(--ink-faint);font-size:12.5px;line-height:1.5}.section{margin-bottom:38px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-weight:600}.account{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--bg-raised);margin-bottom:8px}.account:hover{border-color:var(--line)}.account-main{flex:1;min-width:0}.account-name{font-size:15px;color:var(--ink);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-meta{font-size:12.5px;color:var(--ink-faint);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:16px;text-align:right;white-space:nowrap}.account-value.is-below{color:var(--below)}.account-value.is-unknown{color:var(--ink-faint);font-size:13px;font-style:italic}.account-actions{display:flex;gap:4px}.addr{font-family:var(--mono);font-size:11.5px;color:var(--ink-faint)}.tier{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.03em;white-space:nowrap;cursor:help;border:1px solid transparent}.tier:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.tier-0{color:var(--above);background:var(--above-dim);border-color:#8fbfa333}.tier-1{color:var(--brass);background:var(--brass-dim);border-color:#c9a96138}.tier-2{color:var(--ink-soft);background:var(--surface);border-color:var(--line)}.tier-3{color:var(--below);background:var(--below-dim);border-color:#cd867040}.disclosure{padding:13px 15px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font-size:13px;line-height:1.6;color:var(--ink-soft);margin-bottom:18px}.disclosure .tier{margin-bottom:9px}.disclosure p{margin:0}.goal{padding:16px;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--bg-raised);margin-bottom:10px}.goal-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.goal-name{font-size:15px}.goal-amount{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13.5px;color:var(--ink-soft);white-space:nowrap}.bar{height:5px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-bottom:11px}.bar-fill{height:100%;border-radius:999px;background:var(--brass);transition:width .5s cubic-bezier(.22,1,.36,1)}.bar-fill.is-done{background:var(--above)}@media (prefers-reduced-motion: reduce){.bar-fill{transition:none}}.goal-read{font-size:13px;line-height:1.6;color:var(--ink-soft)}.goal-read .on-pace{color:var(--above)}.goal-read .off-pace{color:var(--brass)}.goal-read strong{font-weight:600;color:var(--ink)}.gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:26px}.gate-card{width:100%;max-width:440px}.gate-brand{font-size:15px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 26px}.gate-brand span{color:var(--brass)}.gate h2{font-size:22px;font-weight:500;margin:0 0 12px;letter-spacing:-.01em}.gate p{font-size:14.5px;line-height:1.65;color:var(--ink-soft);margin:0 0 18px}.trade{padding:15px 17px;border-radius:var(--radius);border:1px solid var(--line);border-left:2px solid var(--brass);background:var(--bg-raised);font-size:13.5px;line-height:1.65;color:var(--ink-soft);margin-bottom:22px}.trade strong{color:var(--ink);font-weight:600}.ladder{margin:0 0 22px;padding:0;list-style:none}.ladder li{display:flex;gap:11px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13px;line-height:1.55;color:var(--ink-soft)}.ladder li:last-child{border-bottom:none}.ladder .tier{flex-shrink:0;margin-top:1px}.error{padding:10px 13px;border-radius:var(--radius);background:var(--below-dim);border:1px solid rgba(205,134,112,.28);color:var(--below);font-size:13.5px;line-height:1.5;margin-bottom:16px}.empty{padding:30px 20px;text-align:center;color:var(--ink-faint);font-size:14px;line-height:1.6;border:1px dashed var(--line);border-radius:var(--radius)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a08b8;display:flex;align-items:center;justify-content:center;padding:22px;z-index:50}.sheet{width:100%;max-width:480px;max-height:88vh;overflow-y:auto;padding:24px;border-radius:14px;border:1px solid var(--line);background:var(--bg-raised)}.sheet h3{margin:0 0 18px;font-size:18px;font-weight:500}.sheet p{font-size:13.5px;line-height:1.65;color:var(--ink-soft);margin:0 0 14px}.sheet p strong{color:var(--ink);font-weight:600}.sheet-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px}.row{display:flex;gap:10px}.row>*{flex:1}.choices{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.choice{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);text-align:left;font-size:14px;color:var(--ink-soft);width:100%}.choice:hover{border-color:var(--ink-faint);color:var(--ink)}.choice[aria-pressed=true]{border-color:var(--brass);background:var(--brass-dim);color:var(--ink)}.choice-main{flex:1}.tabs{display:flex;gap:4px;margin-bottom:26px;border-bottom:1px solid var(--line-soft)}.tab{padding:9px 15px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink-faint);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink-soft)}.tab[aria-pressed=true]{color:var(--brass);border-bottom-color:var(--brass)}.section-note{font-size:12.5px;color:var(--ink-faint);font-family:var(--mono)}.spend-summary{display:flex;gap:32px;padding:16px 0 20px;border-bottom:1px solid var(--line-soft);margin-bottom:20px}.spend-summary .leg{display:flex;flex-direction:column;gap:4px}.spend-summary .leg-label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.spend-summary .leg-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px}.notices{display:flex;flex-direction:column;gap:7px}.notice{padding:11px 14px;border-radius:var(--radius);border:1px solid var(--line);border-left:2px solid var(--brass);background:var(--bg-raised);font-size:13.5px;line-height:1.6;color:var(--ink-soft)}.notice strong{color:var(--ink);font-weight:600}.repeat{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:14px}.repeat:last-child{border-bottom:none}.repeat-name{flex:1;min-width:0}.repeat-meta{font-size:12.5px;color:var(--ink-faint)}.repeat-amount{color:var(--ink-soft);white-space:nowrap}.cat{margin-bottom:13px}.cat-head{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ink-soft);margin-bottom:6px}.cat-head .money{color:var(--ink)}.txn{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.txn:last-child{border-bottom:none}.txn-main{flex:1;min-width:0}.txn-merchant{font-size:14.5px;margin-bottom:3px;display:flex;align-items:center;gap:7px}.txn-meta{font-size:12.5px;color:var(--ink-faint);display:flex;gap:7px;flex-wrap:wrap}.txn-amount{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14.5px;white-space:nowrap}.txn-amount.is-below{color:var(--ink)}.txn-amount.is-above{color:var(--above)}.txn-actions{display:flex;gap:4px}.receipt-zone{margin-bottom:20px}.receipt-drop{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border-radius:var(--radius);border:1px dashed var(--line);background:var(--bg);color:var(--ink-soft);font-size:14px;text-align:left}.receipt-drop:hover:not(:disabled){border-color:var(--brass);color:var(--ink)}.receipt-drop:disabled{opacity:.6;cursor:default}.receipt-drop span{display:flex;flex-direction:column;gap:5px}.receipt-drop small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-faint)}.receipt-icon{font-size:22px;color:var(--brass);opacity:.75}.receipt-preview{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.receipt-preview img{max-width:100%;max-height:220px;border-radius:var(--radius);border:1px solid var(--line)}.receipt-chip{font-size:12px;padding:1px 6px;border-radius:5px;color:var(--brass);background:var(--brass-dim);border:1px solid rgba(201,169,97,.22)}.receipt-chip:hover{background:#c9a96138}.receipt-full{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:92vw;max-height:92vh}.receipt-full img{max-width:100%;max-height:80vh;border-radius:var(--radius);border:1px solid var(--line)}.install-hint{margin-bottom:22px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised)}.install-row{display:flex;align-items:center;gap:10px}.install-text{flex:1;font-size:13.5px;color:var(--ink-soft);line-height:1.5}.install-btn{flex-shrink:0}.install-x{flex-shrink:0;width:26px;height:26px;border-radius:6px;color:var(--ink-faint);font-size:15px;line-height:1}.install-x:hover{color:var(--ink);background:var(--surface)}.install-steps{margin:10px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-faint)}.install-steps b{color:var(--ink-soft);font-weight:600}.ios-note{margin:0 0 20px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);border-left:3px solid var(--brass);background:var(--brass-dim)}.ios-note-title{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink)}.ios-note-body{margin:0 0 8px;font-size:13px;line-height:1.6;color:var(--ink-soft)}.ios-note-body:last-child{margin-bottom:0}.ios-note-body b{color:var(--ink);font-weight:600}.kin{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:4px}.kin-label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint)}.kin a{font-size:13.5px;color:var(--ink-soft);text-decoration:none}.kin a:hover{color:var(--brass)}.heart{font-size:15px;line-height:1;padding:7px 10px;color:var(--ink-faint)}.heart:hover{color:var(--brass);background:var(--brass-dim)}.support-block{margin:20px 0;padding:15px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg)}.support-row{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.support-label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.support-addr{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border-radius:7px;border:1px solid var(--line-soft);background:var(--bg-raised);text-align:left}.support-addr:hover{border-color:var(--brass)}.support-addr-text{flex:1;min-width:0;font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);overflow-wrap:anywhere}.support-copy{flex-shrink:0;font-size:11px;color:var(--brass)}.support-card{display:block;text-align:center;padding:11px 16px;border-radius:var(--radius);background:var(--brass-dim);border:1px solid rgba(201,169,97,.3);color:var(--brass);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.support-card:hover{background:#c9a96133;border-color:var(--brass)}.support-crypto{margin-top:16px}.support-crypto-label{display:block;font-size:12px;color:var(--ink-faint);margin-bottom:10px}.support-sub{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-faint);margin:22px 0 12px}.support-intro{font-size:13px!important;line-height:1.6;color:var(--ink-soft)!important;margin:0 0 14px!important}.support-note-plain{font-size:13px!important;line-height:1.65;color:var(--ink-soft)!important}.support-note{display:flex;align-items:flex-start;gap:8px;font-size:12.5px!important;line-height:1.6;color:var(--ink-faint)!important}.support-note .tier{flex-shrink:0;margin-top:1px}
