:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafbff;--surface:#fff;--ink:#102a56;--muted:#64748b;--own:#246bfe;--own-hover:#1d5fea;--own-tint:#eaf0ff;--owe:#8b3dff;--owe-hover:#7a2fe8;--owe-tint:#f1e9ff;--accent:var(--own);--accent-2:var(--owe);--progress:var(--own);--progress-soft:var(--own-tint);--border:#e8ecf4;--shadow:0 1px 2px #102a560a;--danger:#c45c5c;--sans:"Plus Jakarta Sans", system-ui, sans-serif;--radius:.875rem;--radius-sm:.75rem;--on-accent:#fff;--placeholder:#9aa6b5;--press-surface:#f7f8fc;--hover-border:#cfd7e4;--shadow-lift:0 1px 2px #102a560a, 0 8px 20px #102a560a;--shadow-hover:0 2px 12px #102a5614;--shadow-drag:0 3px 10px #102a560f;--knob:#fff;--knob-shadow:0 1px 2px #102a561f;--button-strong:#102a56;--tagline-start:#a855f7;--tagline-mid:#3b82f6;--tagline-end:#246bfe;--chart-fill-positive:color-mix(in srgb, var(--own) 5%, transparent);--chart-fill-negative:color-mix(in srgb, var(--owe) 5%, transparent);--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10.5 12 6.25' stroke='%2364748b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--sort-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10.5 12 6.25' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--surface:#162033;--ink:#f4f7fb;--muted:#9aa8bd;--own:#60a5fa;--own-hover:#93c5fd;--own-tint:#1b2c48;--owe:#c084fc;--owe-hover:#d8b4fe;--owe-tint:#2a2140;--border:#2a3a52;--shadow:0 1px 2px #00000047;--danger:#e08b8b;--on-accent:#fff;--placeholder:#6e7c92;--press-surface:#1c2940;--hover-border:#3a4d68;--shadow-lift:0 1px 2px #00000047, 0 8px 20px #00000047;--shadow-hover:0 2px 12px #00000059;--shadow-drag:0 3px 10px #0006;--knob:#fff;--knob-shadow:0 1px 2px #00000059;--button-strong:#60a5fa;--tagline-start:#c084fc;--tagline-mid:#60a5fa;--tagline-end:#93c5fd;--chart-fill-positive:color-mix(in srgb, var(--own) 16%, transparent);--chart-fill-negative:color-mix(in srgb, var(--owe) 16%, transparent);--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10.5 12 6.25' stroke='%239aa8bd' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--sort-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10.5 12 6.25' stroke='%239aa8bd' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}html{min-height:100%}body{min-height:100svh;font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}#root{min-height:100svh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,p,figure{margin:0}.screen{width:min(26.75rem,100%);min-height:100svh;padding:max(1.5rem, env(safe-area-inset-top)) 1.25rem calc(7.25rem + env(safe-area-inset-bottom));flex-direction:column;gap:.85rem;margin:0 auto;display:flex}.app-header{flex-direction:column;gap:.55rem;padding:.1rem .1rem .2rem;display:flex}.brand-lockup{width:min(16.25rem,100%);height:auto;display:block}.brand-mark{width:3.15rem;height:auto;display:block}.auth-screen:has(.login-brand) .app-header{gap:.72rem}.login-brand{grid-template-columns:auto minmax(0,11.1rem);justify-content:center;align-items:center;gap:.22rem .85rem;width:fit-content;max-width:100%;margin-inline:auto;display:grid}.login-brand-mark{grid-area:1/1;width:4.1rem;height:auto;display:block}.login-brand-name{grid-area:1/2;width:11.1rem;max-width:100%;height:auto;display:block}html[data-theme=dark] .login-brand-name{filter:brightness(0)invert()}.brand-tagline{text-align:center;white-space:nowrap;letter-spacing:.015em;background-image:linear-gradient(90deg, var(--tagline-start) 0%, var(--tagline-mid) 52%, var(--tagline-end) 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;grid-area:2/2;width:max-content;max-width:100%;margin:0;font-size:.8rem;font-weight:600;line-height:1.25}.app-header h1{letter-spacing:-.04em;font-size:clamp(1.7rem,6.4vw,1.95rem);font-weight:700;line-height:1.15}.auth-screen:has(.login-brand) .app-header h1{font-size:1.51rem}.hero-card,.chart-card,.snapshot-link{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:1.55rem 1.4rem 1.5rem}.hero-label,.snapshot-label,.chart-heading,.section-heading{letter-spacing:-.02em;text-transform:none;color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.25}.net-worth-value{color:var(--ink);letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:.85rem;font-size:clamp(2.55rem,11.4vw,3.35rem);font-weight:400;line-height:1}.net-worth-value.is-positive,.net-worth-value.tone-own{color:var(--own)}.net-worth-value.is-negative,.net-worth-value.tone-owe{color:var(--owe)}.net-worth-value.is-zero{color:var(--ink)}.hero-card .net-worth-value{max-width:100%}.goal-block,.goal-edit{text-align:left;width:100%}.goal-block{cursor:pointer;grid-template-columns:1fr auto 1fr;align-items:center;gap:.42rem .65rem;padding:.15rem .1rem .2rem;display:grid}.goal-block.is-empty{color:var(--muted);padding:.35rem .1rem;font-size:.88rem;font-weight:600;display:flex}.goal-label{letter-spacing:-.01em;text-transform:none;color:var(--muted);grid-area:1/1;justify-self:start;font-size:.82rem;font-weight:600}.goal-amount{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-align:right;grid-area:1/3;justify-self:end;font-size:.9375rem;font-weight:600}.goal-track{background:var(--border);border-radius:999px;grid-area:2/1/auto/-1;width:100%;min-width:0;height:5px;display:block;overflow:hidden}.goal-fill{border-radius:inherit;background:var(--progress);height:100%;display:block}.goal-percent{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right;grid-area:1/2;place-self:center;font-size:.72rem;font-weight:700}.ledger-detail .hero-card,.ledger-detail .item-meta,.ledger-detail .improve-entry,.ledger-detail .history-row{padding:1rem 1.15rem}.ledger-detail .hero-card .net-worth-value{margin-top:.5rem}.ledger-detail .hero-note{margin-top:.4rem}.ledger-detail .goal-block{grid-template-columns:1fr auto 1fr;padding-left:0;padding-right:0}.ledger-detail .goal-label{grid-area:1/1;justify-self:start}.ledger-detail .goal-percent{text-align:center;grid-area:1/2;place-self:center}.ledger-detail .goal-amount{grid-area:1/3;justify-self:end}.ledger-detail .goal-track{grid-area:2/1/auto/-1}.goal-edit{flex-direction:column;gap:.55rem;padding:.1rem 0 .15rem;display:flex}.goal-edit .primary-button{margin-top:.1rem}.goal-block:focus-visible{outline:2px solid var(--progress);outline-offset:3px;border-radius:var(--radius-sm)}.net-worth-value.is-tier-small{font-size:clamp(2.17rem,9.7vw,2.85rem)}.hero-card.is-tappable{transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s}.hero-card.is-tappable:has(.hero-card-update:hover){border-color:var(--hover-border);box-shadow:var(--shadow-hover)}.hero-card.is-tappable.tone-own:has(.hero-card-update:hover){border-color:color-mix(in srgb, var(--own) 28%, var(--border))}.hero-card.is-tappable.tone-owe:has(.hero-card-update:hover){border-color:color-mix(in srgb, var(--owe) 28%, var(--border))}.hero-card.is-tappable:has(.hero-card-update:active){background:var(--press-surface);transform:scale(.985)}.hero-card.has-edit{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.75rem;display:grid}.hero-card.has-edit .hero-edit{margin-top:-.40625rem}.hero-card-update{text-align:left;min-width:0;display:block}.snapshots{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.snapshot-link{text-align:left;flex-direction:column;justify-content:space-between;align-items:stretch;gap:1.2rem;width:100%;min-height:6.7rem;padding:.95rem .85rem 1rem;transition:transform .16s,box-shadow .16s;display:flex}.snapshot-top{justify-content:space-between;align-items:flex-start;gap:.35rem;display:flex}.snapshot-heading{align-items:flex-start;gap:.5rem;min-width:0;display:flex}.snapshot-icon{border-radius:.65rem;flex-shrink:0;place-items:center;width:1.75rem;height:1.75rem;display:grid}.snapshot-own .snapshot-icon{background:var(--own-tint);color:var(--own)}.snapshot-owe .snapshot-icon{background:var(--owe-tint);color:var(--owe)}.snapshot-copy{flex-direction:column;gap:.35rem;display:flex}.snapshot-own .snapshot-label,.snapshot-owe .snapshot-label{color:var(--ink)}.snapshot-amount{color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.02rem;font-weight:600}.snapshot-amount.is-tier-small{font-size:.87rem}.snapshot-own .snapshot-amount{color:var(--own)}.snapshot-owe .snapshot-amount{color:var(--owe)}.snapshot-chevron{color:var(--muted);flex-shrink:0;place-items:center;display:grid}.snapshot-link:hover{box-shadow:var(--shadow-lift)}.snapshot-own,.snapshot-owe{background:var(--surface);border-color:var(--border)}.snapshot-own:hover .snapshot-label,.snapshot-own:focus-visible .snapshot-label,.snapshot-owe:hover .snapshot-label,.snapshot-owe:focus-visible .snapshot-label{color:var(--ink)}.snapshot-link:active{transform:scale(.985)}.snapshot-link:focus-visible,.back-link:focus-visible,.back-button:focus-visible{outline:2px solid var(--progress);outline-offset:3px}.chart-card{margin-top:.1rem;padding:1.25rem 1.2rem 1.05rem}.chart-heading{margin-bottom:.85rem}.chart-svg{width:100%;height:auto;display:block}.chart-axis-label{fill:var(--muted);font-size:9px;font-weight:600;font-family:var(--sans)}.chart-axis-year{fill:var(--muted);opacity:.72;font-size:8px;font-weight:500}.chart-zero{stroke:var(--border);stroke-width:1px}.chart-guide{stroke:color-mix(in srgb, var(--muted) 6%, var(--surface));stroke-width:1px}.chart-fill,.chart-fill.chart-positive,.chart-fill.chart-negative{fill:none;stroke:none}.chart.has-area .chart-fill.chart-positive{fill:var(--chart-fill-positive)}.chart.has-area .chart-fill.chart-negative{fill:var(--chart-fill-negative)}.chart-line{fill:none;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.chart-line.chart-positive{stroke:var(--own)}.chart-line.chart-negative{stroke:var(--owe)}.chart-dot.chart-positive{fill:var(--own)}.chart-dot.chart-negative{fill:var(--owe)}.chart-progress{letter-spacing:-.02em;align-items:center;gap:.55rem;margin-top:.85rem;padding-top:.85rem;font-size:.98rem;font-weight:600;display:inline-flex}.chart-progress-copy{flex-direction:column;gap:.12rem;display:flex}.chart-progress-since{color:var(--muted);letter-spacing:0;font-size:.78rem;font-weight:500}.progress-icon{border-radius:.55rem;flex-shrink:0;place-items:center;width:1.55rem;height:1.55rem;display:grid}.chart-progress.is-positive .progress-icon{background:var(--own-tint);color:var(--own)}.chart-progress.is-negative .progress-icon{background:var(--owe-tint);color:var(--owe)}.chart-progress.is-positive{color:var(--own)}.chart-progress.is-negative{color:var(--owe)}.chart-progress.is-zero{color:var(--ink)}.chart-progress.is-zero .progress-icon{background:var(--own-tint);color:var(--muted)}.back-link{width:fit-content;color:var(--muted);font-size:.9rem;font-weight:600}.back-link:before{content:"‹ "}.back-button{background:var(--surface);width:2rem;height:2rem;color:var(--muted);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.7rem;flex-shrink:0;place-items:center;display:grid}.back-button:active{transform:scale(.96)}.coming-copy{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--muted);margin-top:.5rem;padding:1.35rem 1.3rem;font-weight:500}.bottom-nav{left:50%;bottom:max(.85rem, env(safe-area-inset-bottom));z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(24.5rem,100% - 1.5rem);box-shadow:var(--shadow);grid-template-columns:repeat(4,1fr);gap:.15rem;padding:.55rem .4rem .5rem;display:grid;position:fixed;transform:translate(-50%)}.bottom-nav-item{width:max-content;max-width:100%;color:var(--muted);letter-spacing:-.01em;border-radius:.65rem;flex-direction:column;justify-self:center;align-items:center;gap:.22rem;padding:.2rem .4rem;font-size:.62rem;font-weight:600;display:flex}.bottom-nav-item svg{width:1.2rem;height:1.2rem}.bottom-nav-item.is-selected{justify-self:stretch;width:100%;height:100%}.bottom-nav-item.is-selected.is-big-picture,.bottom-nav-item.is-selected.is-own{color:var(--own);background:color-mix(in srgb, var(--own) 8%, var(--surface))}.bottom-nav-item.is-selected.is-owe{color:var(--owe);background:color-mix(in srgb, var(--owe) 8%, var(--surface))}.bottom-nav-item.is-selected.is-me{color:color-mix(in srgb, var(--muted) 58%, black);background:color-mix(in srgb, var(--muted) 8%, var(--surface))}html[data-theme=dark] .bottom-nav-item.is-selected.is-me{color:color-mix(in srgb, var(--muted) 30%, var(--ink))}.save-error-banner{left:50%;bottom:calc(4.85rem + env(safe-area-inset-bottom));z-index:11;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(24.5rem,100% - 1.5rem);box-shadow:var(--shadow);color:var(--ink);text-align:center;margin:0;padding:.85rem 1.05rem;font-size:.88rem;font-weight:600;position:fixed;transform:translate(-50%)}@media (width<=359px){.screen{gap:.85rem;padding-left:1rem;padding-right:1rem}.hero-card{padding:1.3rem 1.15rem 1.25rem}.snapshot-link{min-height:7rem;padding:.85rem .7rem .9rem}}@media (width>=400px){.screen{padding-left:1.4rem;padding-right:1.4rem}.hero-card{padding:1.7rem 1.55rem 1.6rem}}@media (width>=640px){.screen{gap:1.15rem;padding-top:2.5rem;padding-bottom:6.25rem}}.ledger-screen:has(.back-button) .app-header{flex-direction:row;align-items:center}.ledger-screen:has(.back-button) .ledger-title-row{flex:1;min-width:0}.ledger-title-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ledger-title-row h1{min-width:0}.header-actions{flex-shrink:0;align-items:center;gap:.7rem;display:flex}.icon-button,.add-button{border-radius:.85rem;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;display:grid}.icon-button{background:var(--own-tint);color:var(--own)}.icon-button.tone-owe{background:var(--owe-tint);color:var(--owe)}.icon-button.is-compact{border-radius:.7rem;width:2rem;height:2rem}.add-button{color:var(--on-accent);background:var(--own)}.add-button.tone-own{background:var(--own)}.add-button.tone-owe{background:var(--owe)}.add-button.tone-own:hover,.add-button.tone-own:active{background:var(--own-hover)}.add-button.tone-owe:hover,.add-button.tone-owe:active{background:var(--owe-hover)}.add-button:active,.icon-button:active{transform:scale(.96)}.ledger-list{flex-direction:column;gap:.75rem;display:flex}.section-heading{padding:.2rem .1rem 0}.section-heading-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.section-heading-row .section-heading{padding:.2rem .1rem 0}.item-list{flex-direction:column;gap:.65rem;display:flex}.item-row,.history-row,.form-card,.empty-copy{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.item-row{text-align:left;align-items:center;gap:.7rem;width:100%;padding:1.05rem 1rem 1.05rem 1.15rem;transition:transform .16s,box-shadow .16s;display:flex}.item-row-icon{border-radius:.65rem;flex-shrink:0;place-items:center;width:1.75rem;height:1.75rem;display:grid}.item-row-icon svg{width:.95rem;height:.95rem}.item-row-icon.tone-own{background:var(--own-tint);color:var(--own)}.item-row-icon.tone-owe{background:var(--owe-tint);color:var(--owe)}.item-row-copy{flex-direction:column;flex:1;gap:.28rem;min-width:0;display:flex}.item-row-name{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.item-row-category{color:var(--muted);letter-spacing:-.01em;font-size:.78rem;font-weight:600}.item-row-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:.98rem;font-weight:600}.item-row-chevron{color:var(--muted);flex-shrink:0;place-items:center;display:grid}.improve-entry-title{color:var(--owe);letter-spacing:-.03em;font-size:1rem;font-weight:600;line-height:1.25}.improve-entry.tone-own .improve-entry-title{color:var(--own)}.item-row:hover{box-shadow:var(--shadow-lift)}.item-row:active{transform:scale(.985)}.amount-own{color:var(--own)}.amount-owe{color:var(--owe)}.empty-copy{color:var(--muted);margin:0;padding:1.35rem 1.3rem;font-weight:500}.history-row{justify-content:space-between;align-items:baseline;gap:.75rem;padding:1rem 1.15rem;display:flex}button.history-row{text-align:left;width:100%;font:inherit}.history-row.is-editable:hover{box-shadow:var(--shadow-lift)}.history-date{color:var(--muted);font-size:.88rem;font-weight:600}.history-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.98rem;font-weight:600}.form-card{flex-direction:column;gap:1.05rem;padding:1.3rem 1.2rem 1.25rem;display:flex}.field{flex-direction:column;gap:.45rem;display:flex}.field-label{letter-spacing:-.01em;color:var(--muted);font-size:.82rem;font-weight:600}.field-label-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.field-input-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);align-items:center;display:flex}.field-input-row .field-input{background:0 0;border:0;flex:1;width:auto;min-width:0;padding-right:.35rem}.field-input-row .field-input:focus{outline:none}.field-input-row:focus-within{outline:2px solid var(--own);outline-offset:1px}.ledger-screen.tone-owe .field-input-row:focus-within{outline-color:var(--owe)}.term-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.field-unit{color:var(--muted);flex-shrink:0;padding-right:.95rem;font-size:.82rem;font-weight:500}.field-input,.field-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--ink);font:inherit;letter-spacing:-.02em;padding:.85rem .95rem;font-weight:500}.field-input.is-readonly{color:var(--muted);margin:0}.history-date-picker{min-width:0;display:block;position:relative}.history-date-picker>input[type=date]{color:#0000;caret-color:#0000}.history-date-picker>input[type=date]::-webkit-datetime-edit{color:#0000}.history-date-picker>input[type=date]::-webkit-datetime-edit-fields-wrapper{color:#0000}.history-date-picker>input[type=date]::-webkit-datetime-edit-text{color:#0000}.history-date-picker>input[type=date]::-webkit-datetime-edit-month-field{color:#0000}.history-date-picker>input[type=date]::-webkit-datetime-edit-day-field{color:#0000}.history-date-picker>input[type=date]::-webkit-datetime-edit-year-field{color:#0000}.history-date-picker>input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.history-date-display{color:var(--ink);font:inherit;letter-spacing:-.02em;pointer-events:none;align-items:center;padding:.85rem 2.25rem .85rem .95rem;font-weight:500;display:flex;position:absolute;inset:0}.field-input[type=date]{min-height:3.05rem;color-scheme:inherit}@media (width<=639px){.form-card>.field:has(>.field-input[type=date]){min-width:0;max-width:100%}.field-input[type=date]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;width:-webkit-fill-available}}.field-select{appearance:none;background-image:var(--select-chevron);background-position:right .9rem center;background-repeat:no-repeat;padding-right:2.4rem}.field-select.is-empty{color:var(--placeholder)}.field-select option{color:var(--ink)}.field-input:focus,.field-select:focus{outline:2px solid var(--own);outline-offset:1px}.ledger-screen.tone-owe .field-input:focus,.ledger-screen.tone-owe .field-select:focus,.ledger-screen.tone-owe .sort-control select:focus,.ledger-screen.tone-owe .add-button:focus-visible,.ledger-screen.tone-owe .icon-button:focus-visible,.ledger-screen.tone-owe .item-row:focus-visible,.ledger-screen.tone-owe .history-row:focus-visible,.ledger-screen.tone-owe .hero-card-update:focus-visible,.ledger-screen.tone-owe .primary-button:focus-visible,.ledger-screen.tone-owe .item-action:focus-visible,.ledger-screen.tone-owe .toggle:focus-visible{outline-color:var(--owe)}.form-error{color:var(--ink);font-size:.88rem;font-weight:600}.toggle-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.debt-show-row,.asset-show-row{padding:0 .1rem}.toggle-control{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.toggle-state{color:var(--muted);letter-spacing:.06em;font-size:.75rem;font-weight:700}.toggle{background:var(--border);border-radius:999px;flex-shrink:0;width:2.7rem;height:1.55rem;position:relative}.toggle.is-on.tone-own{background:var(--own)}.toggle.is-on.tone-owe{background:var(--owe)}.toggle-knob{background:var(--knob);width:1.25rem;height:1.25rem;box-shadow:var(--knob-shadow);border-radius:50%;transition:transform .16s;position:absolute;top:.15rem;left:.15rem}.toggle.is-on .toggle-knob{transform:translate(1.15rem)}.form-hint{color:var(--muted);margin:-.15rem 0 0;font-size:.88rem;font-weight:600}.history-edit-hint{color:var(--placeholder);letter-spacing:.01em;margin:-.2rem 0 .15rem;padding:0 .1rem;font-size:.72rem;font-weight:500}.history-add-action{width:fit-content;margin:.15rem .1rem 0;padding:.2rem 0;font-size:.9rem;font-weight:600}.history-add-action.tone-own{color:var(--own)}.history-add-action.tone-owe{color:var(--owe)}.primary-button{border-radius:var(--radius-sm);width:100%;color:var(--on-accent);background:var(--own);letter-spacing:-.02em;margin-top:.15rem;padding:.95rem 1rem;font-weight:600}.primary-button.tone-own{background:var(--own)}.primary-button.tone-owe{background:var(--owe)}.primary-button.tone-own:hover,.primary-button.tone-own:active{background:var(--own-hover)}.primary-button.tone-owe:hover,.primary-button.tone-owe:active{background:var(--owe-hover)}.primary-button:active{transform:scale(.985)}.chart-empty{color:var(--muted);padding:1.2rem 0 .4rem;font-size:.9rem;font-weight:600}.chart-card.is-quiet{padding:.85rem 1rem .7rem}.chart-card.is-quiet .chart-heading{color:var(--muted);margin-bottom:.45rem;font-size:.82rem;font-weight:600}.chart-card.is-quiet .chart-svg{max-height:8.5rem}.chart.is-quiet .chart-line{stroke-width:1.25px}.chart.is-quiet .chart-fill,.chart.is-quiet .chart-fill.chart-positive,.chart.is-quiet .chart-fill.chart-negative{fill:none}.chart.is-quiet .chart-zero{stroke-width:1px;opacity:.55}.chart.is-quiet .chart-axis-label{font-size:8px}.list-toolbar{justify-content:space-between;align-items:center;gap:.75rem;padding:.2rem .1rem 0;display:flex}.list-toolbar .section-heading{padding:0}.sort-control{flex-shrink:0;position:relative}.sort-control select{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface);background-image:var(--sort-chevron);max-width:12.75rem;color:var(--muted);font:inherit;background-position:right .5rem center;background-repeat:no-repeat;padding:.4rem 1.7rem .4rem .65rem;font-size:.75rem;font-weight:600}.sort-control select:focus{outline:2px solid var(--progress);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.item-shell{border-radius:var(--radius);-webkit-touch-callout:none}.item-shell.is-pressing,.item-shell.is-dragging{touch-action:none}.item-shell.is-dragging{z-index:2;pointer-events:none;transition:none;position:relative}.item-shell.is-dragging .item-row{box-shadow:var(--shadow-drag);border-color:color-mix(in srgb, var(--own) 18%, var(--border));cursor:grabbing;transition:none;transform:none}.item-shell.is-dragging .item-row:active{transform:none}.item-list.is-reordering{touch-action:none;-webkit-user-select:none;user-select:none}.item-row.is-dragging{cursor:grabbing}.item-row.is-closed .item-row-value{color:var(--muted)}.field-optional{color:var(--muted);font-size:.72rem;font-weight:500}.hero-note{color:var(--muted);margin-top:.7rem;font-size:.82rem;font-weight:600}.item-meta{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.7rem;margin:0;padding:1rem 1.15rem;display:flex}.item-meta-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.item-meta-row dt{color:var(--muted);font-size:.82rem;font-weight:600}.item-meta-row dd{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:.9rem;font-weight:600}.item-meta-row dd.amount-own{color:var(--own)}.item-meta-row dd.amount-owe{color:var(--owe)}.item-actions{flex-wrap:wrap;gap:.35rem 1.15rem;padding:.15rem .1rem .35rem;display:flex}.item-action{color:var(--muted);font-size:.88rem;font-weight:600}.form-card .item-action{margin-top:.1rem}.item-action.is-danger{color:var(--danger)}.detail-end-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:2.6rem;display:grid}.detail-end-action{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);letter-spacing:-.01em;text-align:center;padding:.72rem .65rem;font-size:.82rem;font-weight:600}.detail-end-action.is-danger{color:#9b6b82;background:#fff}html[data-theme=dark] .detail-end-action.is-danger{background:var(--surface)}.detail-end-action:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.detail-end-action.is-danger:focus-visible{outline-color:var(--danger)}.confirm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.15rem 1rem}.confirm-card p{color:var(--ink);margin-bottom:.75rem;font-size:.9rem;font-weight:600}.confirm-card .confirm-title{margin-bottom:.35rem}.confirm-card .confirm-copy{color:var(--muted);margin-bottom:.85rem;font-weight:500}.add-button:focus-visible,.icon-button:focus-visible,.back-button:focus-visible,.item-row:focus-visible,.history-row:focus-visible,.hero-card-update:focus-visible,.primary-button:focus-visible,.field-input:focus-visible,.field-select:focus-visible,.item-action:focus-visible,.toggle:focus-visible,.me-nav-row:focus-visible,.me-text-action:focus-visible,.auth-switch button:focus-visible,.auth-text-button:focus-visible{outline:2px solid var(--progress);outline-offset:3px}.primary-button:disabled,.me-nav-row:disabled,.me-text-action:disabled,.toggle:disabled{opacity:.65;cursor:default}.screen.auth-screen{padding-bottom:max(1.5rem, env(safe-area-inset-bottom));justify-content:center}.loading-screen{text-align:center;align-items:center;gap:.85rem}.loading-copy{color:var(--muted);letter-spacing:-.02em;margin:0;font-size:.95rem;font-weight:500;line-height:1.45}.auth-intro{color:var(--muted);font-size:.95rem;font-weight:500;line-height:1.45}.screen.auth-screen.flow-setup{gap:1.15rem}.auth-screen.flow-setup .app-header{align-items:flex-start;gap:0;padding:.1rem calc(1px + 1.2rem) .2rem}.auth-screen.flow-setup .brand-mark{width:3.15rem;height:auto;margin-bottom:1rem}.auth-screen.flow-setup .app-header h1,.auth-screen.flow-setup .auth-intro{padding-inline:0}.auth-screen.flow-setup .auth-intro{margin-top:.45rem}.auth-screen.flow-setup .field-input::placeholder{color:var(--placeholder)}.auth-screen.welcome-name .app-header{gap:1.25rem}.auth-screen.welcome-name .field-label{color:var(--ink);font-size:.95rem;font-weight:600}.auth-screen.welcome-name .form-hint{color:var(--muted);margin:.4rem 0 0;font-size:.8rem;font-weight:500}.auth-screen.welcome-name .primary-button{margin-top:.45rem}.auth-card .auth-text-button{margin-top:-.15rem}.auth-text-button,.auth-switch button{width:fit-content;color:var(--own);font-size:.9rem;font-weight:600}.auth-switch{text-align:center;color:var(--muted);margin:.15rem 0 0;font-size:.9rem;font-weight:600}.me-screen{color:var(--ink)}.me-section{flex-direction:column;gap:.55rem;display:flex}.me-screen .app-header h1{color:var(--ink);font-family:var(--sans);letter-spacing:-.04em;font-size:clamp(1.7rem,6.4vw,1.95rem);font-weight:700;line-height:1.15}.me-screen .back-link:focus-visible,.me-screen .me-nav-row:focus-visible,.me-screen .me-text-action:focus-visible,.me-screen .primary-button:focus-visible{outline-color:var(--ink)}.me-screen .primary-button{background:var(--button-strong)}.me-greeting{color:var(--muted);font-family:var(--sans);font-size:.95rem;font-weight:500}.me-brand-line{text-align:center;color:var(--muted);font-family:var(--sans);letter-spacing:0;margin:1.35rem 0 1.1rem;font-size:.88rem;font-weight:500}.me-delete-account{width:fit-content;color:var(--danger);font-family:var(--sans);letter-spacing:0;margin:0 auto .35rem;padding:.2rem .4rem;font-size:.88rem;font-weight:500;display:block}.me-screen .me-delete-account:focus-visible{outline:2px solid var(--danger);outline-offset:3px}.me-screen .me-delete-account:disabled{opacity:.55}.me-screen .me-heading{color:var(--muted);font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.15rem .1rem 0;font-size:.6875rem;font-weight:500}.me-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.85rem;padding:1.05rem 1.15rem 1rem;display:flex}.me-card-list{gap:0;padding:.25rem 0}.me-row,.me-nav-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.me-card-list .me-row,.me-card-list .me-nav-row{padding:.85rem 1.15rem}.me-card-list .me-nav-row+.me-nav-row,.me-card-list .me-row+.me-nav-row,.me-card-list .me-nav-row+.me-row{border-top:1px solid var(--border)}.me-screen .me-label{color:var(--muted);font-family:var(--sans);letter-spacing:0;font-size:.8125rem;font-weight:500}.me-screen .me-value{color:var(--ink);font-family:var(--sans);letter-spacing:-.01em;text-align:right;overflow-wrap:anywhere;font-size:.9375rem;font-weight:500}.me-plain-email,.me-plain-email a{color:inherit;pointer-events:none;cursor:default;text-decoration:none}.me-screen .me-nav-row,.me-screen .me-text-action{color:var(--ink);font-family:var(--sans);letter-spacing:-.01em;font-size:.9375rem;font-weight:500}.me-nav-row{text-align:left;width:100%}.me-screen .me-nav-row .me-label{color:var(--muted);font-family:var(--sans);letter-spacing:0;font-size:.8125rem;font-weight:500}.me-screen .me-nav-row svg{color:var(--muted);flex-shrink:0;width:1rem;height:1rem}.me-nav-meta{align-items:center;gap:.3rem;min-width:0;display:flex}.me-nav-meta .me-value{min-width:0}.me-account-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;width:100%;display:flex}.me-account-actions .me-text-action,.me-account-actions .me-delete-account{width:auto;margin:0}.me-text-action{width:fit-content;margin:0 auto;padding-top:.1rem;display:block}.me-notice{color:var(--muted);margin:0;padding:.15rem 1.15rem .85rem;font-size:.88rem;font-weight:600}.me-copy-card{color:var(--ink);gap:.85rem;font-size:.95rem;font-weight:500;line-height:1.5}.me-copy-card p{color:var(--ink)}.theme-choice{border:1px solid var(--border);background:var(--bg);border-radius:999px;flex-shrink:0;align-items:center;padding:.15rem;display:inline-flex}.theme-choice button{min-width:3.4rem;color:var(--muted);letter-spacing:-.01em;border-radius:999px;padding:.28rem .7rem;font-size:.8125rem;font-weight:600}.theme-choice button.is-selected{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.theme-choice button:focus-visible{outline:2px solid var(--progress);outline-offset:2px}.flow-heading{flex-direction:column;gap:.15rem;display:flex}.flow-lead{color:var(--muted);margin:0;padding-left:2.65rem;font-size:.92rem;font-weight:500;line-height:1.35}.flow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.85rem;padding:1rem 1.15rem;display:flex}.flow-card .section-heading{padding:0}.flow-card>.section-heading-row{align-items:flex-start}.flow-debt-name{color:var(--ink);letter-spacing:-.02em;font-size:1.05rem;font-weight:700;line-height:1.2}.flow-debt-balance{color:var(--owe);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(1.85rem,8vw,2.35rem);font-weight:500;line-height:1}.flow-rows{flex-direction:column;gap:.7rem;margin:0;display:flex}.flow-payment-form{flex-direction:column;gap:.9rem;display:flex}.flow-extra-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem .9rem;width:100%;display:flex}.flow-extra-amount{min-width:0;color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;flex:0 auto;align-items:baseline;font-size:clamp(1.7rem,7vw,2.1rem);font-weight:500;line-height:1.1;display:flex}.flow-extra-symbol{-webkit-user-select:none;user-select:none;margin-right:.28rem}.flow-extra-input{width:1ch;min-width:1ch;max-width:100%;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;caret-color:currentColor;appearance:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;padding:0}.flow-extra-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;display:none}.flow-extra-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;display:none}.flow-extra-input:focus,.flow-extra-input:focus-visible{box-shadow:none;background:0 0;border:0;border-radius:0;outline:none}.flow-extra-input::selection{background:color-mix(in srgb, var(--muted) 22%, var(--surface));color:inherit}.flow-screen.tone-own .flow-extra-input::selection{background:var(--own-tint)}.flow-screen.tone-owe .flow-extra-input::selection{background:var(--owe-tint)}.flow-periods{flex-wrap:wrap;justify-content:center;gap:.28rem;max-width:100%;display:flex}.flow-period{color:var(--muted);border-radius:999px;padding:.22rem .48rem;font-size:.72rem;font-weight:600}.flow-period.is-selected{background:var(--owe-tint);color:var(--owe)}.flow-slider-label{display:block}.flow-slider{appearance:none;width:100%;height:1rem;accent-color:var(--owe);background:0 0;margin:0;display:block}.flow-slider:focus{outline:none}.flow-slider:focus-visible{outline:2px solid var(--owe);outline-offset:3px}.flow-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--owe) var(--flow-fill,0%), var(--border) var(--flow-fill,0%));border:0;border-radius:999px;height:5px}.flow-slider::-webkit-slider-thumb{appearance:none;background:var(--owe);border:0;border-radius:999px;width:1rem;height:1rem;margin-top:calc(2.5px - .5rem)}.flow-slider::-moz-range-track{background:var(--border);border:0;border-radius:999px;height:5px}.flow-slider::-moz-range-progress{background:var(--owe);border-radius:999px;height:5px}.flow-slider::-moz-range-thumb{background:var(--owe);border:0;border-radius:999px;width:1rem;height:1rem}.flow-conversion,.flow-legend,.flow-message,.flow-note{color:var(--muted);font-size:.82rem;font-weight:600;line-height:1.4}.flow-conversion{text-align:center;text-wrap:balance;margin:0}.flow-conversion-amount{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.flow-legend{font-family:var(--sans);flex-wrap:wrap;gap:.45rem 1rem;font-size:9px;font-weight:600;line-height:1;display:flex}.flow-legend span{align-items:center;gap:.4rem;display:inline-flex}.flow-swatch{border-radius:999px;width:.7rem;height:.7rem}.flow-swatch.is-current{background:var(--owe)}.flow-swatch.is-extra{background:color-mix(in srgb, var(--owe) 42%, var(--surface))}.flow-chart-card{gap:.55rem}.flow-chart{margin:0}.flow-screen.tone-own .flow-chart .chart-svg{overflow:visible}.flow-grid{stroke:color-mix(in srgb, var(--muted) 8%, var(--surface));stroke-width:1px}.flow-grid.is-minor{stroke:color-mix(in srgb, var(--muted) 4%, var(--surface))}.flow-area-extra{fill:color-mix(in srgb, var(--owe) 7%, transparent);stroke:none}.flow-line-current{stroke:var(--owe);stroke-width:2.25px}.flow-line-extra{stroke:color-mix(in srgb, var(--owe) 42%, var(--surface));stroke-width:1.25px}.flow-message{padding:.85rem .15rem .35rem}.flow-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:-.4rem;display:grid}.flow-result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);padding:1rem .75rem .6rem}.flow-result h3{color:var(--ink);letter-spacing:-.01em;margin-top:0;font-size:.78rem;font-weight:600;line-height:1.3}.flow-result-value,.flow-result-figure{color:var(--owe);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700;line-height:1.15}.flow-result-value{margin-top:.2rem}.flow-result-unit{color:var(--muted);letter-spacing:-.01em;font-size:.72rem;font-weight:600;line-height:1.3}.flow-result>.flow-result-unit{margin-top:.08rem;display:block}.flow-result-time{flex-direction:column;align-items:flex-start;gap:.08rem;margin-top:.2rem;display:flex}.flow-result-time-part{align-items:baseline;gap:.22rem;display:inline-flex}.flow-note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.45rem 1.15rem;font-size:.75rem;font-weight:500;line-height:1.35}.flow-note p{margin:0}.flow-asset-rate{color:var(--muted);margin:0;font-size:.82rem;font-weight:600;line-height:1.4}.flow-screen.tone-own .flow-debt-balance,.flow-screen.tone-own .flow-result-value,.flow-screen.tone-own .flow-result-figure{color:var(--own)}.flow-screen.tone-own .flow-period.is-selected{background:var(--own-tint);color:var(--own)}.flow-screen.tone-own .flow-slider:focus-visible{outline-color:var(--own)}.flow-screen.tone-own .flow-slider{accent-color:var(--own)}.flow-screen.tone-own .flow-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--own) var(--flow-fill,0%), var(--border) var(--flow-fill,0%))}.flow-screen.tone-own .flow-slider::-webkit-slider-thumb{background:var(--own)}.flow-screen.tone-own .flow-slider::-moz-range-thumb{background:var(--own)}.flow-screen.tone-own .flow-slider::-moz-range-progress{background:var(--own)}.flow-screen.tone-own .flow-swatch.is-current{background:var(--own)}.flow-screen.tone-own .flow-swatch.is-extra{background:color-mix(in srgb, var(--own) 42%, var(--surface))}.flow-screen.tone-own .flow-area-extra{fill:color-mix(in srgb, var(--own) 7%, transparent)}.flow-screen.tone-own .flow-line-current{stroke:var(--own)}.flow-screen.tone-own .flow-line-extra{stroke:color-mix(in srgb, var(--own) 42%, var(--surface))}.flow-screen.tone-own .flow-result{flex-direction:column;display:flex}.flow-screen.tone-own .flow-result h3{margin-bottom:0}.flow-screen.tone-own .flow-result-main{flex-direction:column;flex:1;justify-content:center;gap:.45rem;padding-top:.7rem;display:flex}.flow-screen.tone-own .flow-extra-row,.flow-screen.tone-owe .flow-extra-row{flex-wrap:nowrap;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:center;min-width:0;display:grid;container-type:inline-size}.flow-screen.tone-own .flow-extra-amount,.flow-screen.tone-owe .flow-extra-amount{overflow:hidden}.flow-screen.tone-owe .flow-extra-row{flex-wrap:nowrap;min-width:0;container-type:inline-size}.flow-screen.tone-owe .flow-extra-amount{min-width:0;color:var(--owe);white-space:nowrap;font-size:clamp(.58rem, calc((100cqi - 12rem) / (var(--extra-chars,1) * .62 + .9)), 2.1rem);flex:0 auto}.flow-screen.tone-owe .flow-extra-symbol{flex-shrink:0}.flow-screen.tone-owe .flow-extra-input{min-width:0}.flow-screen.tone-owe .flow-periods{flex-wrap:nowrap;flex:none}.flow-screen.tone-owe .flow-result{flex-direction:column;display:flex;container-type:inline-size}.flow-screen.tone-owe .flow-result h3{margin-bottom:0}.flow-screen.tone-owe .flow-result-main{flex-direction:column;flex:1;justify-content:center;gap:.45rem;padding-top:.7rem;display:flex}.flow-screen.tone-owe .flow-result-main>.flow-result-value,.flow-screen.tone-owe .flow-result-main .flow-result-figure{white-space:nowrap;max-width:100%;font-size:clamp(.52rem, calc(100cqi / (var(--value-chars,8) * .66)), 1.15rem)}.flow-screen.tone-owe .flow-result-main>.flow-result-value,.flow-screen.tone-owe .flow-result-main>.flow-result-time{margin-top:0}.flow-screen.tone-owe .flow-result-main>.flow-result-unit{min-height:1.872rem;margin-top:0}.flow-screen.tone-own .flow-extra-amount{min-width:0;color:var(--own);white-space:nowrap;font-size:clamp(.58rem, calc((100cqi - 12rem) / (var(--extra-chars,1) * .62 + .9)), 2.1rem);flex:0 auto}.flow-screen.tone-own .flow-extra-symbol{flex-shrink:0}.flow-screen.tone-own .flow-extra-input{min-width:0}.flow-screen.tone-own .flow-periods{flex-wrap:nowrap;flex:none}.flow-screen.tone-own .flow-result{container-type:inline-size}.flow-screen.tone-own .flow-result-main>.flow-result-value,.flow-screen.tone-own .flow-result-main .flow-result-figure{white-space:nowrap;max-width:100%;font-size:clamp(.52rem, calc(100cqi / (var(--value-chars,8) * .66)), 1.15rem);margin-top:0}.flow-screen.tone-own .flow-result-main>.flow-result-time{margin-top:0}.flow-screen.tone-own .flow-result-prompt{color:var(--own);letter-spacing:-.03em;margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}.flow-screen.tone-own .flow-result-main>.flow-result-unit{min-height:1.872rem;margin-top:0}@media (width>=640px){.flow-results{gap:1.15rem;margin-top:-.7rem}}
