:root{--color-paper:#f5f6fa;--color-paper-2:#eceef5;--color-paper-3:#d9dce7;--color-ink:#11112f;--color-ink-2:#242346;--color-muted:#77798a;--color-rule:#e2e4ec;--color-rule-2:#c8cad5;--color-accent:#6236e8;--color-accent-soft:#eee9ff;--color-accent-ink:#32169c;--color-positive:#218a55;--color-negative:#cf3346;--color-focus:#6236e8;--color-shadow:#1b19481f;--font-display:"Manrope", sans-serif;--font-body:"Manrope", sans-serif;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--text-xs:.78rem;--text-sm:.9rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-display:clamp(2.65rem, 12vw, 5.75rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.24s;--rule-hairline:1px;--radius-sm:.375rem;--radius-md:.75rem;--radius-round:999px}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{background:var(--color-paper);min-width:320px;color:var(--color-ink);margin:0;overflow-x:clip}body,button,input,select{font-family:var(--font-body)}button,input,select{font-size:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.42}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal;font-weight:500}h1{font-size:var(--text-2xl);line-height:1.1}h2{font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.05}button{white-space:nowrap}svg{flex:none}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.boot-screen{place-content:center;justify-items:center;gap:var(--space-md);text-align:center;min-height:100dvh;display:grid}.boot-screen .auth-mark{color:var(--color-accent);background:var(--color-ink)}.spinner{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{isolation:isolate;background:var(--color-ink);width:100vw;min-height:100dvh;padding:0;display:grid;position:relative;overflow:hidden}.auth-shell:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 8%,oklch(68% .105 78/.16),#0000 34rem),linear-gradient(115deg,#0000 0 48%,oklch(35% .02 70/.22) 48% 48.08%,#0000 48.08%);position:absolute;inset:0}.auth-story{justify-content:space-between;gap:var(--space-xl);min-height:17rem;padding:var(--space-xl) var(--space-xl) var(--space-lg);color:var(--color-paper);flex-direction:column;display:flex}.auth-mark{border:var(--rule-hairline) solid var(--color-ink-2);width:48px;height:48px;color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-xl);place-items:center;text-decoration:none;display:grid}.auth-story .eyebrow,.auth-story>span{color:var(--color-paper-3)}.auth-story h1{max-width:12ch;margin-block:var(--space-sm);text-wrap:balance;font-size:clamp(2.5rem,7vw,5.8rem)}.auth-story div>p:last-child{max-width:50ch;color:var(--color-paper-3)}.auth-story>span{font-size:var(--text-sm)}.auth-form-wrap{padding:var(--space-sm) var(--space-md) var(--space-xl);place-items:start center;display:grid}.auth-form{background:var(--color-paper);width:min(100%,30rem);padding:clamp(1.5rem,6vw,3rem);box-shadow:0 24px 80px oklch(10% .01 70/.28)}.auth-form h2{margin-block-start:var(--space-xs)}.form-intro{color:var(--color-muted);margin-block-start:var(--space-sm)}.auth-form>label,.transaction-form>label,.form-grid>label{gap:var(--space-xs);margin-block:var(--space-lg);font-size:var(--text-sm);display:grid}.auth-form input,.transaction-form input,.transaction-form select,.transaction-form textarea{width:100%;min-height:48px;padding-inline:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule-2);outline-offset:1px;background:var(--color-paper);color:var(--color-ink);outline:2px solid #0000;font-size:1rem}.transaction-form textarea{min-height:6rem;padding-block:var(--space-sm);resize:vertical}.auth-form input::placeholder,.transaction-form input::placeholder,.transaction-form textarea::placeholder{color:var(--color-muted)}.auth-form input:hover,.transaction-form input:hover,.transaction-form select:hover,.transaction-form textarea:hover{background:var(--color-paper-2)}.auth-form input:invalid:not(:placeholder-shown),.transaction-form input:invalid:not(:placeholder-shown){border-color:var(--color-negative)}.auth-form input:valid:not(:placeholder-shown),.transaction-form input:valid:not(:placeholder-shown){border-color:var(--color-positive)}.password-field{position:relative}.password-field input{padding-inline-end:3.5rem}.password-field button{background:var(--color-paper);cursor:pointer;border:0;width:44px;position:absolute;inset-block:2px;inset-inline-end:2px}.auth-form .submit{margin-block-start:var(--space-lg)}.form-error{padding:var(--space-sm);border:var(--rule-hairline) solid var(--color-negative);color:var(--color-negative);font-size:var(--text-sm)}.auth-note{justify-content:center;align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);margin-block-start:var(--space-md);display:flex}.auth-note svg{width:16px}.app-shell{min-height:100dvh}.rail{display:none}.topbar{gap:var(--space-lg);border-bottom:var(--rule-hairline) solid var(--color-rule);flex-direction:column;padding-block-end:var(--space-xl);display:flex}.eyebrow{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.eyebrow span{background:var(--color-paper-2);color:var(--color-ink-2);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-sm);letter-spacing:.04em;margin-inline-start:var(--space-xs);padding:.18rem .4rem;display:inline-block}.topbar h1{margin-block-start:var(--space-xs)}.top-actions{gap:var(--space-sm);flex-direction:column;display:flex}.month-switcher{border:var(--rule-hairline) solid var(--color-rule);grid-template-columns:44px minmax(7.5rem,1fr) 44px;align-items:center;width:100%;display:grid}.month-switcher button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.month-switcher span{text-align:center;font-size:var(--text-sm);white-space:nowrap}.primary,.secondary{justify-content:center;align-items:center;gap:var(--space-xs);border:var(--rule-hairline) solid var(--color-ink);min-height:44px;padding-inline:var(--space-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:inline-flex}.primary{background:var(--color-ink);color:var(--color-paper)}.top-actions>.primary{width:100%}.secondary{color:var(--color-ink);background:0 0}.hero-ledger{gap:var(--space-xl);padding-block:var(--space-2xl);border-bottom:var(--rule-hairline) solid var(--color-rule);display:grid}.hero-copy{flex-direction:column;align-items:flex-start;display:flex}.hero-copy>p{color:var(--color-muted)}.hero-copy>strong{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.045em;margin-block:var(--space-xs) var(--space-sm);font-weight:500;line-height:1}.hero-copy>span{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);display:inline-flex}.positive{color:var(--color-positive)!important}.negative{color:var(--color-negative)!important}.flow-visual{place-items:center;min-width:0;display:grid}.ring{aspect-ratio:1;text-align:center;background:conic-gradient(var(--color-accent) var(--income), var(--color-paper-3) 0);border-radius:50%;place-content:center;width:min(64vw,220px);display:grid;position:relative}.ring:after{content:"";background:var(--color-paper);border-radius:50%;position:absolute;inset:15%}.ring span,.ring strong{z-index:1}.ring span{color:var(--color-muted);font-size:var(--text-xs)}.ring strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.summary{border-block:var(--rule-hairline) solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.summary div{min-width:0;padding:var(--space-md) var(--space-sm);border-inline-end:var(--rule-hairline) solid var(--color-rule)}.summary div:last-child{border:0}.summary dt,.summary small{color:var(--color-muted);font-size:var(--text-xs)}.summary dd{margin:var(--space-2xs) 0;font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap}.summary small{display:none}.content-grid{gap:var(--space-xl);padding-block:var(--space-2xl);display:grid}.ledger-panel,.focus-panel{min-width:0}.panel-head{gap:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);flex-direction:column;padding-block-end:var(--space-md);display:flex}.panel-head h2{font-size:var(--text-2xl)}.panel-head p,.focus-panel>p{color:var(--color-muted);margin-block-start:var(--space-2xs)}.filters{gap:var(--space-2xs);display:flex}.filters button{min-height:36px;padding-inline:var(--space-sm);border:var(--rule-hairline) solid transparent;text-transform:capitalize;cursor:pointer;background:0 0}.filters button.selected{border-color:var(--color-rule-2);background:var(--color-paper-2)}.transaction{gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;display:grid}.transaction-icon{background:var(--color-paper-2);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.transaction p{color:var(--color-muted);font-size:var(--text-xs);margin-block-start:var(--space-2xs)}.transaction>strong{font-variant-numeric:tabular-nums;font-weight:500}.text-action{gap:var(--space-xs);min-height:44px;border:0;border-bottom:var(--rule-hairline) solid var(--color-ink);cursor:pointer;background:0 0;align-items:center;margin-block-start:var(--space-md);padding:0;display:inline-flex}.error-banner{gap:var(--space-sm);padding:var(--space-md);border:var(--rule-hairline) solid var(--color-negative);color:var(--color-negative);flex-direction:column;margin-block-start:var(--space-md);display:flex}.error-banner button{justify-content:center;align-items:center;gap:var(--space-xs);border:var(--rule-hairline) solid var(--color-negative);min-height:44px;color:inherit;cursor:pointer;background:0 0;display:inline-flex}.loading-page{place-content:center;justify-items:center;gap:var(--space-md);min-height:55dvh;color:var(--color-muted);display:grid}.focus-panel{padding:var(--space-xl);background:var(--color-ink);color:var(--color-paper);align-self:start}.focus-panel .eyebrow,.focus-panel>p{color:var(--color-paper-3)}.focus-panel h2{margin-block:var(--space-sm) var(--space-md)}.goal{margin-block:var(--space-xl)}.goal-row{justify-content:space-between;gap:var(--space-sm);font-size:var(--text-sm);display:flex}.goal-row.muted{color:var(--color-paper-3)}.goal-track{background:var(--color-ink-2);height:5px;margin-block:var(--space-sm)}.goal-track span{background:var(--color-accent);height:100%;display:block}.focus-panel .secondary{color:var(--color-paper);border-color:var(--color-paper-3)}.assets-section{padding-block:var(--space-2xl);border-top:var(--rule-hairline) solid var(--color-rule)}.section-heading{gap:var(--space-lg);margin-block-end:var(--space-xl);display:grid}.section-heading>div:last-child{align-self:end}.section-heading>div:last-child span{color:var(--color-muted);font-size:var(--text-sm);display:block}.section-heading>div:last-child strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;display:block}.asset-layout{gap:var(--space-xl);display:grid}.asset-bars article{padding-block:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule)}.asset-bars article>div:first-child{justify-content:space-between;gap:var(--space-md);display:flex}.asset-bars h3,.asset-bars span{font-size:var(--text-sm);font-weight:500}.asset-bars p{color:var(--color-muted);font-size:var(--text-xs);margin-block-start:var(--space-xs)}.bar{background:var(--color-paper-3);height:3px;margin-block-start:var(--space-sm)}.bar span{background:var(--color-accent);height:100%;display:block}.net-card{padding:var(--space-xl);border:var(--rule-hairline) solid var(--color-rule-2)}.net-card>p{color:var(--color-muted);font-size:var(--text-xs);margin-block-start:var(--space-lg)}.net-card>strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;display:block}.net-card hr{border:0;border-top:var(--rule-hairline) solid var(--color-rule);margin-block:var(--space-lg)}.net-card>span{color:var(--color-positive);font-size:var(--text-sm);margin-block-start:var(--space-lg);display:block}.accounts-grid{border-top:var(--rule-hairline) solid var(--color-rule)}.account-row{align-items:center;gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:42px minmax(0,1fr) auto;display:grid}.account-row h3{font-size:var(--text-md);font-weight:500}.account-row p{color:var(--color-muted);font-size:var(--text-xs);text-transform:capitalize;margin-block-start:var(--space-2xs)}.account-row>strong{font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap;font-weight:500}.empty-ledger{place-content:center;justify-items:center;gap:var(--space-sm);text-align:center;min-height:19rem;color:var(--color-muted);display:grid}.empty-ledger h3{color:var(--color-ink)}footer{gap:var(--space-xs);padding-block:var(--space-lg);border-top:var(--rule-hairline) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);flex-direction:column;display:flex}.mobile-nav{z-index:10;padding:var(--space-xs) max(var(--space-xs),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-xs),env(safe-area-inset-left));background:var(--color-ink);color:var(--color-paper-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{place-items:center;gap:var(--space-2xs);min-width:0;min-height:54px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:.66rem;display:grid}.mobile-nav button.active{color:var(--color-accent)}.mobile-nav .mobile-add{border:1px solid var(--color-accent);background:var(--color-accent);width:54px;height:54px;min-height:54px;color:var(--color-ink);box-shadow:0 10px 24px var(--color-shadow);border-radius:50%;justify-self:center;transform:translateY(-15px)}.page-enter{animation:page-in .36s var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}.page-intro{gap:var(--space-xl);padding-block:var(--space-2xl);border-bottom:var(--rule-hairline) solid var(--color-rule);display:grid}.page-intro>div:first-child>p:last-child{max-width:35rem;color:var(--color-muted);margin-block-start:var(--space-md);line-height:1.65}.flow-bars{align-content:end;gap:var(--space-md);display:grid}.flow-bars>div{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);grid-template-columns:5rem minmax(5rem,1fr) auto;display:grid}.flow-bars i{background:var(--color-paper-3);height:8px;overflow:hidden}.flow-bars b{transform-origin:0;background:var(--color-positive);width:100%;height:100%;display:block}.flow-bars .expense-bar{background:var(--color-negative)}.flow-bars strong{font-variant-numeric:tabular-nums}.panel-head .eyebrow{align-items:center;gap:var(--space-xs);display:flex}.panel-head .text-action{border:0}.focus-panel>svg{width:32px;height:32px;color:var(--color-accent);margin-block-end:var(--space-2xl)}.focus-panel .secondary{min-height:48px;border:1px solid var(--color-ink-2);padding-inline:var(--space-md);margin-block-start:var(--space-xl)}.accounts-intro{align-items:end}.net-figure{border-inline-start:4px solid var(--color-accent);padding-inline-start:var(--space-lg)}.net-figure span,.net-figure small{color:var(--color-muted);display:block}.net-figure strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(2.25rem,8vw,4.6rem);font-weight:500;line-height:1.1;display:block}.account-index{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.goals-hero{gap:var(--space-xl);padding-block:var(--space-3xl);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.goals-hero p:last-child{max-width:38rem;color:var(--color-muted);margin-block-start:var(--space-md);line-height:1.65}.goals-hero>svg{stroke-width:.8px;width:clamp(4rem,15vw,10rem);height:auto;color:var(--color-accent)}.goal-sheet{margin-block:var(--space-2xl);background:var(--color-ink);color:var(--color-paper);padding:clamp(1.25rem,4vw,3rem)}.goal-sheet header{justify-content:space-between;gap:var(--space-md);align-items:start;display:flex}.goal-kicker{color:var(--color-accent);font-size:var(--text-sm)}.goal-sheet header>strong{font-family:var(--font-display);font-size:var(--text-2xl)}.goal-line{height:8px;margin-block:var(--space-xl);background:var(--color-ink-2);overflow:hidden}.goal-line span{transform-origin:0;background:var(--color-accent);width:100%;height:100%;display:block}.goal-numbers{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.goal-numbers div{padding-block:var(--space-md);border-top:1px solid var(--color-ink-2)}.goal-numbers span,.goal-sheet>p{color:var(--color-paper-3);font-size:var(--text-sm)}.goal-numbers strong{font-size:var(--text-lg);margin-block-start:var(--space-xs);display:block}.goal-sheet>p{max-width:38rem;margin-block-start:var(--space-xl);line-height:1.6}.goal-prompt{gap:var(--space-md);max-width:46rem;padding-block:var(--space-xl);border-block:var(--rule-hairline) solid var(--color-rule);grid-template-columns:44px 1fr;display:grid}.goal-prompt p{color:var(--color-muted);margin-block-start:var(--space-xs);line-height:1.6}dialog{border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);width:min(100% - 2rem,30rem);height:fit-content;max-height:min(88dvh,42rem);color:var(--color-ink);box-shadow:0 24px 70px var(--color-shadow);margin:auto;padding:0;position:fixed;inset:0}dialog::backdrop{background:oklch(14% .01 70/.64)}dialog header{justify-content:space-between;align-items:flex-start;margin-block-end:var(--space-xl);display:flex}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}dialog label{gap:var(--space-xs);margin-block:var(--space-md);font-size:var(--text-sm);display:grid}dialog input,dialog select{width:100%;height:48px;padding-inline:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule-2);outline-offset:1px;background:var(--color-paper);color:var(--color-ink);outline:2px solid #0000}dialog input::placeholder{color:var(--color-muted)}dialog input:hover,dialog select:hover{background:var(--color-paper-2)}dialog input:focus-visible,dialog select:focus-visible{outline-color:var(--color-focus)}dialog input:invalid:not(:placeholder-shown){border-color:var(--color-negative)}dialog input:valid:not(:placeholder-shown){border-color:var(--color-positive)}dialog input:disabled,dialog select:disabled{opacity:.55;cursor:not-allowed;color:var(--color-muted)}.submit{width:100%;margin-block-start:var(--space-md)}.transaction-form{max-height:min(88dvh,42rem);overflow-y:auto}.type-picker{gap:var(--space-xs);margin:0 0 var(--space-lg);border:0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;display:grid}.type-picker legend{font-size:var(--text-sm);margin-block-end:var(--space-xs)}.type-picker label{place-items:center;gap:var(--space-2xs);min-width:0;min-height:66px;padding:var(--space-xs);border:var(--rule-hairline) solid var(--color-rule);cursor:pointer;font-size:var(--text-xs);display:grid}.type-picker input{opacity:0;width:1px;height:1px;position:absolute}.form-grid{gap:0 var(--space-md);display:grid}.field-help{min-height:1lh;color:var(--color-muted);font-size:var(--text-xs);text-align:center;margin-block-start:var(--space-xs)}.signout{border:var(--rule-hairline) solid var(--color-rule)}@media (hover:hover) and (pointer:fine){.primary:hover{background:var(--color-ink-2);transform:translateY(-1px)}.secondary:hover,.month-switcher button:hover,.filters button:hover,.nav-btn:hover{background:var(--color-paper-2)}.focus-panel .secondary:hover{background:var(--color-ink-2)}.text-action:hover{color:var(--color-positive)}}.primary:active,.secondary:active,.nav-btn:active,.mobile-nav button:active{transform:translateY(1px)}@media (width>=40rem){.auth-form-wrap{padding:var(--space-lg) var(--space-2xl) var(--space-2xl)}main{padding-inline:var(--space-xl)}.topbar{flex-direction:row;justify-content:space-between;align-items:end}.top-actions{flex-direction:row;justify-content:flex-end}.month-switcher,.top-actions>.primary{width:auto}.hero-ledger{grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr);align-items:center}.summary{grid-column:1/-1}.summary small{display:block}.panel-head{flex-direction:row;justify-content:space-between;align-items:end}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.error-banner{flex-direction:row;justify-content:space-between;align-items:center}.asset-layout{grid-template-columns:minmax(0,1.55fr) minmax(240px,.65fr)}footer{flex-direction:row;justify-content:space-between}.page-intro{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}.accounts-intro{grid-template-columns:minmax(0,1fr) auto}}@media (width>=60rem){.auth-shell{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-story{min-height:100dvh;padding:clamp(2rem,5vw,5rem)}.auth-form-wrap{align-items:center;padding:clamp(2rem,5vw,5rem)}.app-shell{grid-template-columns:88px minmax(0,1fr);display:grid}.rail{height:100dvh;padding-block:var(--space-lg);background:var(--color-ink);color:var(--color-paper);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{width:48px;height:48px;color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-xl);border:var(--rule-hairline) solid var(--color-ink-2);place-items:center;text-decoration:none;display:grid}.rail nav{gap:var(--space-xs);display:grid}.nav-btn{place-items:center;gap:var(--space-2xs);width:64px;min-height:58px;color:var(--color-paper-3);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;font-size:.65rem;display:grid}.nav-btn.active{color:var(--color-accent);border-inline-start:2px solid var(--color-accent)}.avatar{border:var(--rule-hairline) solid var(--color-rule-2);width:44px;height:44px;color:var(--color-paper);cursor:pointer;background:0 0;border-radius:50%}main{width:min(100%,92rem);padding:var(--space-xl) clamp(2rem,5vw,5rem) var(--space-2xl);margin-inline:auto}.hero-ledger{grid-template-columns:minmax(0,1.15fr) minmax(200px,.55fr) minmax(300px,.8fr);min-height:25rem}.summary{grid-column:auto}.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr)}.mobile-nav,.top-actions .signout{display:none}}body{background-image:radial-gradient(circle at 12% -8%,oklch(100% 0 0/.78),#0000 30rem);font-size:1rem;line-height:1.55}body:after{content:"";z-index:100;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2{letter-spacing:-.035em;text-wrap:balance}h3,p{text-wrap:pretty}main{padding:max(1.25rem, env(safe-area-inset-top)) 1.125rem 8rem}.topbar{gap:var(--space-md);border-color:color-mix(in oklch, var(--color-rule), transparent 35%);padding-block-end:var(--space-lg)}.topbar h1{font-size:1.8rem}.topbar .eyebrow{text-transform:none;letter-spacing:0;font-size:.78rem}.top-actions{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) 44px;display:grid}.month-switcher{background:var(--color-paper-2);border:0;border-radius:1rem;box-shadow:inset 0 1px oklch(100% 0 0/.75)}.month-switcher span{font-weight:600}.desktop-add{display:none}.signout{background:var(--color-paper-2);border:0;border-radius:1rem}.hero-ledger{isolation:isolate;gap:var(--space-lg);background:var(--color-ink);color:var(--color-paper);box-shadow:0 20px 45px color-mix(in oklch, var(--color-shadow), transparent 24%), inset 0 1px 0 oklch(100% 0 0/.1);border:1px solid oklch(100% 0 0/.08);border-radius:1.5rem;margin-block-start:var(--space-lg);padding:1.5rem;position:relative;overflow:hidden}.hero-ledger:before{content:"";z-index:-1;aspect-ratio:1;border:1px solid oklch(100% 0 0/.08);border-radius:50%;width:12rem;position:absolute;inset:-7rem -5rem auto auto;box-shadow:0 0 0 2.5rem oklch(100% 0 0/.025),0 0 0 5rem oklch(100% 0 0/.015)}.hero-copy>strong{max-width:100%;color:var(--color-paper);letter-spacing:-.06em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(2.55rem,12vw,4.8rem)}.hero-copy>span{border-radius:var(--radius-round);background:oklch(100% 0 0/.08);padding:.4rem .65rem;color:var(--color-paper-3)!important}.flow-visual{opacity:.9;position:absolute;inset:1.5rem 1.5rem auto auto}.ring{background:conic-gradient(var(--color-accent) var(--income), oklch(100% 0 0/.09) 0);width:68px}.ring:after{background:var(--color-ink-2);inset:12%}.ring span{display:none}.ring strong{color:var(--color-paper);font-size:1rem}.summary{border-color:oklch(100% 0 0/.13);grid-template-columns:repeat(2,minmax(0,1fr))}.summary div:last-child{border-top:1px solid oklch(100% 0 0/.13);grid-column:1/-1}.summary dt,.summary small{color:var(--color-paper-3)}.summary dd{color:var(--color-paper);font-variant-numeric:tabular-nums;font-size:1.08rem}.content-grid,.page-intro,.assets-section,.activity-ledger{padding-block:2.25rem}.panel-head h2,.section-heading h2{font-size:clamp(1.8rem,8vw,2.7rem)}.focus-panel,.goal-sheet{background:var(--color-ink);border-radius:1.25rem;box-shadow:inset 0 1px oklch(100% 0 0/.09)}.transaction{grid-template-columns:44px minmax(0,1fr) auto;gap:.8rem;min-height:76px}.transaction-icon{background:var(--color-paper-2);border-radius:1rem;width:44px;height:44px;box-shadow:inset 0 1px oklch(100% 0 0/.7)}.transaction-icon svg{width:19px}.transaction h3{font-size:.98rem}.transaction p{text-overflow:ellipsis;white-space:nowrap;max-width:25ch;overflow:hidden}.transaction>strong{font-size:.9rem}.filters{scrollbar-width:none;width:100%;padding-block-end:.2rem;overflow-x:auto}.filters button{border-radius:var(--radius-round);min-height:44px}.filters button.selected{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.account-feature{grid-template-columns:44px minmax(0,1fr) auto}.account-index{display:none}.account-row>strong{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.net-figure{background:var(--color-paper-2);border:0;border-radius:1.25rem;padding:1.25rem}.net-figure strong{font-size:clamp(2.2rem,11vw,4.6rem)}.goal-sheet{padding:1.5rem}.goal-sheet h2{font-size:clamp(1.75rem,8vw,2.7rem)}.goal-prompt{background:var(--color-paper-2);border:0;border-radius:1.25rem;padding:1.25rem}.primary,.secondary{border-radius:.9rem;min-height:48px;font-weight:600}dialog{width:100%;max-height:92dvh;box-shadow:0 -24px 70px var(--color-shadow);border:0;border-radius:1.75rem 1.75rem 0 0;margin:0;inset:auto 0 0}dialog form{padding:1.5rem 1.125rem max(1.5rem, env(safe-area-inset-bottom))}dialog input,dialog select,.auth-form input,.transaction-form textarea{border-radius:.8rem;min-height:52px;font-size:1rem}.type-picker label{border-radius:1rem;min-height:74px}.mobile-nav{inset:auto .75rem max(.75rem, env(safe-area-inset-bottom));border:1px solid color-mix(in oklch, var(--color-rule), transparent 18%);color:var(--color-muted);box-shadow:0 16px 42px var(--color-shadow), inset 0 1px 0 oklch(100% 0 0/.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:oklch(97% .008 75/.92);border-radius:1.4rem;padding:.3rem}.mobile-nav button{border-radius:1rem;min-height:58px;font-size:.64rem;font-weight:600}.mobile-nav .mobile-add{background:var(--color-ink);width:54px;height:54px;color:var(--color-accent);border:0;transform:none;box-shadow:inset 0 1px oklch(100% 0 0/.13)}.mobile-nav .mobile-add:active{transform:scale(.96)}.auth-story{background:var(--color-ink)}.auth-form{border-radius:1.5rem}@media (width>=40rem){main{padding-inline:var(--space-xl)}.top-actions{display:flex}.desktop-add{display:inline-flex}.hero-ledger{padding:2rem}.flow-visual{opacity:1;position:static}.ring{width:min(26vw,190px)}.ring span{display:block}.ring strong{font-size:var(--text-xl)}.summary{grid-template-columns:repeat(3,minmax(0,1fr))}.summary div:last-child{border-top:0;grid-column:auto}dialog{border-radius:1.5rem;width:min(100% - 2rem,30rem);margin:auto;inset:0}}@media (width>=60rem){.hero-ledger{padding:2.5rem}.mobile-nav{display:none}}body{background:var(--color-paper);color:#15151d}body:after{display:none}h1,h2{letter-spacing:-.045em}main{padding-inline:1rem}.topbar{border:0;flex-direction:row;justify-content:space-between;align-items:center;min-height:58px;padding-block-end:1rem}.topbar>div:first-child .eyebrow{display:none}.topbar h1{letter-spacing:-.02em;margin:0;font-size:1.05rem}.top-actions{width:auto;display:flex}.month-switcher{width:auto;box-shadow:0 8px 26px var(--color-shadow);background:#fff;border-radius:1.1rem;grid-template-columns:40px minmax(6.8rem,1fr) 40px}.month-switcher button{width:40px;height:44px}.month-switcher span{font-size:.78rem}.signout{display:none}.hero-ledger{color:#15151d;background:#fff;border:0;border-radius:1.35rem;gap:1.25rem;margin-block:.25rem 0;padding:1.5rem 1rem 1rem;display:grid;box-shadow:0 18px 50px #23215317}.hero-ledger:before{display:none}.hero-copy{text-align:center;align-items:center}.hero-copy>p{color:var(--color-muted);font-size:.82rem}.hero-copy>strong{color:#111118;letter-spacing:-.055em;margin-block:.25rem .4rem;font-size:clamp(2.25rem,11vw,4.75rem)}.hero-copy>span{background:0 0;padding:0;font-size:.78rem;color:var(--color-muted)!important}.summary{border-block:0;order:2;grid-template-columns:repeat(2,minmax(0,1fr))}.summary div{border-color:var(--color-rule);padding:.6rem 1rem}.summary div:last-child{display:none}.summary dt{color:#30303b;font-size:.72rem}.summary dt em{color:var(--color-positive);margin-inline-start:.25rem;font-style:normal}.summary dd{color:#13131c;font-family:var(--font-body);font-size:1.05rem;font-weight:700}.cashflow-chart{border-top:1px solid var(--color-rule);order:3;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:.65rem;height:154px;padding-block-start:.5rem;display:grid}.chart-day{justify-items:center;gap:.45rem;min-width:0;display:grid}.chart-day i{background:#f0f1f6;border-radius:.45rem;flex-direction:column;justify-content:end;width:min(100%,20px);height:112px;display:flex;overflow:hidden}.chart-day span{transform-origin:bottom;width:100%;height:50%;display:block}.chart-income{background:#ffbd3f}.chart-expense{background:var(--color-accent)}.chart-day small{color:var(--color-muted);font-size:.58rem}.chart-report{border:0;border-top:1px solid var(--color-rule);min-height:44px;color:var(--color-accent);cursor:pointer;background:0 0;order:4;justify-content:center;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.chart-report svg{width:16px}.content-grid{padding-block:1.5rem}.panel-head{border:0}.panel-head h2,.section-heading h2{letter-spacing:-.035em;font-size:1.45rem}.focus-panel{display:none}.transaction{border-color:var(--color-rule);min-height:66px;padding-block:.7rem}.transaction-icon{background:var(--color-accent-soft);width:38px;height:38px;color:var(--color-accent);box-shadow:none;border-radius:50%}.transaction h3{font-size:.85rem;font-weight:700}.transaction p{font-size:.68rem}.transaction>.transaction-amount{justify-items:end;display:grid}.transaction-amount strong{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.transaction-amount small{color:#a0a1ae;font-size:.58rem}.page-intro{background:#fff;border:0;border-radius:1.2rem;margin-block:.25rem 1rem;padding:1rem;box-shadow:0 12px 35px #23215312}.page-intro h2{font-size:1.8rem}.flow-bars{gap:.65rem}.flow-bars>div{grid-template-columns:4.3rem minmax(4rem,1fr) auto;font-size:.72rem}.flow-bars i{border-radius:1rem;height:6px}.activity-ledger{padding-block:.5rem 2rem}.filters{gap:.35rem}.filters button{background:#fff;flex:none;min-height:40px;padding-inline:1rem}.filters button.selected{border-color:var(--color-accent);color:var(--color-accent);box-shadow:inset 0 -2px 0 var(--color-accent);background:#fff}.transaction-groups{gap:.85rem;display:grid}.transaction-group{background:#fff;border-radius:1.15rem;padding:.2rem 1rem .1rem;box-shadow:0 10px 32px #23215312}.transaction-group>header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;min-height:58px;display:flex}.transaction-group>header>div{align-items:center;gap:.5rem;display:flex}.transaction-group>header strong{font-size:1.55rem}.transaction-group>header span{font-size:.72rem;font-weight:700;display:grid}.transaction-group>header small{color:var(--color-muted);font-size:.62rem;font-weight:400}.transaction-group>header b{font-size:.78rem}.accounts-grid{border:0;gap:.75rem;display:grid}.account-feature{background:#fff;border:0;border-radius:1.15rem;min-height:76px;padding:.75rem 1rem;box-shadow:0 10px 28px #2321530f}.goal-sheet{color:#15151d;background:#fff;box-shadow:0 14px 38px #23215314}.goal-kicker,.goal-sheet>p,.goal-numbers span{color:var(--color-muted)}.goal-line,.goal-numbers div{border-color:var(--color-rule);background:var(--color-paper-2)}.goal-numbers div{border-top:1px solid var(--color-rule)}.mobile-nav{padding:.45rem max(.45rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left));background:var(--color-ink);color:#85859c;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:1.5rem 1.5rem 0 0;inset:auto 0 0;box-shadow:0 -12px 35px #11112f2e}.mobile-nav button{border-radius:.9rem}.mobile-nav button.active{color:#fff;background:0 0}.mobile-nav .mobile-add{background:var(--color-accent);color:#fff;width:52px;height:52px;box-shadow:0 7px 18px #6236e859}.primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}dialog{background:var(--color-paper)}.type-picker label.chosen{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-ink)}@media (width>=40rem){.hero-ledger{padding:2rem}.summary{grid-template-columns:repeat(3,minmax(0,1fr))}.summary div:last-child{display:block}.cashflow-chart{height:190px}.chart-day i{height:145px}.focus-panel{display:block}}@media (width>=60rem){.hero-ledger{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end}.hero-copy,.summary{grid-column:1}.cashflow-chart{grid-area:1/2/span 2}.chart-report{grid-column:2}.topbar>div:first-child .eyebrow{display:block}.topbar{align-items:end}.topbar h1{font-size:var(--text-2xl)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
