:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--bg:#f2f2f7;--bg-tint-1:#c7d7ff;--bg-tint-2:#ffd6e8;--text:#0b0b10;--text-secondary:#3c3c4399;--accent:#0a84ff;--accent-strong:#5e5ce6;--positive:#30d158;--negative:#ff453a;--glass-fill:#ffffff8c;--glass-border:#ffffffb3;--glass-highlight:#fff9;--glass-shadow:0 10px 40px -12px #0f172a40, 0 2px 6px -2px #0f172a14;--glass-blur:blur(24px) saturate(180%);--radius-card:28px;--radius-pill:999px;--spring:cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#050508;--bg-tint-1:#1b2a6b;--bg-tint-2:#4a1942;--text:#f5f5f7;--text-secondary:#ebebf599;--glass-fill:#28283080;--glass-border:#ffffff1f;--glass-highlight:#ffffff1a;--glass-shadow:0 10px 40px -12px #000000b3, 0 2px 6px -2px #0006}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0}body:before{content:"";z-index:-1;background:radial-gradient(40% 35% at 15% 10%, var(--bg-tint-1), transparent 70%), radial-gradient(45% 40% at 90% 30%, var(--bg-tint-2), transparent 70%);filter:blur(40px);position:fixed;inset:-20%}input,select,textarea{font:inherit;font-size:max(16px,1rem)}.glass{background:var(--glass-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}@media (prefers-reduced-transparency:reduce){.glass{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tabbar{left:50%;bottom:calc(env(safe-area-inset-bottom) + 10px);border-radius:var(--radius-pill);z-index:10;grid-template-columns:repeat(5,1fr);align-items:center;width:min(100% - 24px,440px);padding:6px;display:grid;position:fixed;transform:translate(-50%)}.tabbar__item{border-radius:var(--radius-pill);color:var(--text-secondary);transition:color .2s, background-color .3s var(--spring);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:.625rem;font-weight:600;text-decoration:none;display:flex}.tabbar__item[aria-current=page]{color:var(--accent);background:var(--glass-highlight)}.tabbar__icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tabbar__scan{color:#fff;background:linear-gradient(145deg, var(--accent), var(--accent-strong));width:54px;height:54px;box-shadow:0 8px 24px -6px var(--accent), inset 0 1px 0 #fff6;transition:transform .35s var(--spring);border-radius:50%;justify-self:center;place-items:center;display:grid}.tabbar__scan:active{transform:scale(.92)}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.btn{border-radius:var(--radius-pill);width:100%;min-height:52px;font:inherit;letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:0;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:1.0625rem;font-weight:600;text-decoration:none;transition:opacity .2s,background-color .2s;display:inline-flex}.btn:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn--primary{color:#fff;background:linear-gradient(145deg, var(--accent), var(--accent-strong));box-shadow:0 10px 24px -10px var(--accent), inset 0 1px 0 #ffffff59}.btn--glass{color:var(--text);background:var(--glass-fill);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.btn--plain{min-height:44px;color:var(--accent);background:0 0;font-weight:500}.btn--danger{min-height:44px;color:var(--negative);background:color-mix(in srgb, var(--negative) 10%, transparent)}.btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{gap:6px;display:grid}.field__label{color:var(--text-secondary);padding-inline:16px;font-size:.8125rem;font-weight:500}.field__input{border:1px solid color-mix(in srgb, var(--text) 10%, transparent);background:color-mix(in srgb, var(--bg) 70%, transparent);width:100%;min-height:52px;color:var(--text);border-radius:16px;outline:none;padding:0 18px;transition:border-color .2s,box-shadow .2s}.field__input::placeholder{color:var(--text-secondary)}.field__input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent)}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge--neutral{color:var(--text-secondary);background:color-mix(in srgb, var(--text) 7%, transparent)}.badge--accent{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}@media (prefers-reduced-transparency:reduce){.btn--glass{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}.onboarding{max-width:480px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 24px) calc(env(safe-area-inset-right) + 20px) calc(env(safe-area-inset-bottom) + 20px) calc(env(safe-area-inset-left) + 20px);grid-template-rows:1fr auto;gap:24px;margin:0 auto;display:grid}.onboarding__content{align-content:center;gap:20px;display:grid}.onboarding__footer{gap:14px;display:grid}.splash{min-height:100dvh}.onboarding-title{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:2.125rem;font-weight:700;line-height:1.1}.onboarding-lede{color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:1.0625rem;line-height:1.45}.welcome__hero{justify-items:start;gap:14px;padding-inline:4px;display:grid}.welcome__mark{border-radius:28px;align-content:center;gap:7px;width:92px;height:92px;margin-bottom:14px;padding:0 20px;display:grid}.welcome__bar{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:9px}.welcome__bar--1{width:100%}.welcome__bar--2{opacity:.75;width:68%}.welcome__bar--3{opacity:.5;background:linear-gradient(90deg, var(--positive), var(--accent));width:42%}.welcome__title{letter-spacing:-.04em;margin:0;font-size:clamp(2.5rem,11vw,3.25rem);font-weight:800;line-height:1}.welcome__lede{max-width:30ch;color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:1.1875rem;line-height:1.4}.welcome__actions{border-radius:32px;padding:18px}.segmented{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.segmented__option{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:11px;place-items:center;min-height:44px;display:grid;position:relative}.segmented__input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented__thumb{background:var(--glass-fill);box-shadow:0 3px 8px -2px #0000002e, inset 0 1px 0 var(--glass-highlight);border-radius:11px;position:absolute;inset:0}.segmented__label{color:var(--text-secondary);font-size:.9375rem;font-weight:500;transition:color .2s;position:relative}.segmented__option[data-selected] .segmented__label{color:var(--text);font-weight:600}.segmented__option:has(.segmented__input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent)}.notice{border-radius:16px;margin:0;padding:12px 16px;font-size:.9375rem;line-height:1.4}.notice--hint{color:var(--text-secondary);background:color-mix(in srgb, var(--text) 6%, transparent)}.notice--error{color:var(--negative);background:color-mix(in srgb, var(--negative) 10%, transparent)}.passkey{gap:14px;display:grid}.passkey__stack{gap:10px;display:grid}.passkey__footnote{text-align:center;color:var(--text-secondary);text-wrap:balance;margin:2px 8px 0;font-size:.8125rem;line-height:1.45}.icon-btn{width:44px;height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.icon-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn--glass{background:var(--glass-fill);border:1px solid var(--glass-border);box-shadow:0 4px 14px -6px #0f172a40, inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.icon-btn--primary{color:#fff;background:linear-gradient(145deg, var(--accent), var(--accent-strong));box-shadow:0 8px 20px -8px var(--accent), inset 0 1px 0 #ffffff59}.icon-btn--plain{color:var(--text-secondary);background:0 0}.icon-btn--primary .icon{stroke-width:2.4px}.skeleton{background:linear-gradient(90deg, color-mix(in srgb, var(--text) 6%, transparent), color-mix(in srgb, var(--text) 12%, transparent), color-mix(in srgb, var(--text) 6%, transparent));background-size:200% 100%;animation:1.3s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{to{background-position:-200% 0}}.empty-state{text-align:center;justify-items:center;gap:8px;padding:28px 12px 12px;display:grid}.empty-state__glyph{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:22px;place-items:center;width:64px;height:64px;margin-bottom:4px;font-size:2rem;display:grid}.empty-state__title{letter-spacing:-.01em;margin:0;font-size:1.1875rem;font-weight:700}.empty-state__text{max-width:34ch;color:var(--text-secondary);text-wrap:pretty;margin:0 0 8px;line-height:1.4}.empty-state .btn{width:auto}.page-header{gap:2px;margin-bottom:12px;display:grid}.page-header__back{min-height:44px;color:var(--accent);justify-self:start;align-items:center;gap:2px;margin-left:-6px;padding-right:8px;font-size:1.0625rem;text-decoration:none;display:inline-flex}.page-header__row{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header__title{margin-block:4px}.page-header__actions{gap:8px;display:flex}.sheet-root{z-index:40;place-items:end center;display:grid;position:fixed;inset:0}.sheet-backdrop{background:#00000052;position:absolute;inset:0}.sheet{width:min(100%,520px);padding:10px 20px calc(env(safe-area-inset-bottom) + 12px);touch-action:none;border-bottom:0;border-radius:34px 34px 0 0;outline:none;gap:18px;display:grid;position:relative}@media (width>=560px){.sheet{border-radius:34px;margin-bottom:16px}}.sheet__grabber{background:color-mix(in srgb, var(--text) 22%, transparent);border-radius:3px;justify-self:center;width:36px;height:5px}.sheet__head{text-align:center;justify-items:center;gap:6px;display:grid}.sheet__glyph{color:#fff;background:linear-gradient(145deg, var(--accent), var(--accent-strong));width:56px;height:56px;box-shadow:0 10px 24px -10px var(--accent), inset 0 1px 0 #ffffff59;border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.sheet__title{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.375rem;font-weight:700}.sheet__lede{color:var(--text-secondary);margin:0;font-size:.9375rem}.sheet__body,.sheet__actions{gap:10px;display:grid}.sheet__row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sheet__link{background:color-mix(in srgb, var(--text) 6%, transparent);width:100%;min-height:44px;color:var(--text-secondary);text-overflow:ellipsis;border:0;border-radius:14px;padding:0 16px;font-family:ui-monospace,SF Mono,monospace;font-size:16px}.sheet__fine{text-align:center;color:var(--text-secondary);margin:0;font-size:.8125rem}.sheet__loading{align-content:center;gap:10px;min-height:120px;display:grid}.sheet__shimmer{background:linear-gradient(90deg, color-mix(in srgb, var(--text) 5%, transparent), color-mix(in srgb, var(--text) 11%, transparent), color-mix(in srgb, var(--text) 5%, transparent));background-size:200% 100%;border-radius:14px;height:44px;animation:1.2s ease-in-out infinite sheet-shimmer}@keyframes sheet-shimmer{to{background-position:-200% 0}}.sheet--form{max-height:calc(100dvh - env(safe-area-inset-top) - 16px);grid-template-rows:auto minmax(0,1fr) auto;gap:0;padding-inline:0}.sheet__handle{touch-action:none;cursor:grab;gap:6px;padding:0 12px 6px 20px;display:grid}.sheet__bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet__bar-title{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:700}.sheet__scroll{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;align-content:start;gap:18px;padding:6px 20px 20px;display:grid;overflow-y:auto}.sheet__footer{border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent);gap:10px;padding:12px 20px 0;display:grid}.sheet-section{gap:8px;display:grid}.sheet-section__label{color:var(--text-secondary);margin:0;padding-inline:16px;font-size:.8125rem;font-weight:500}.money-input{gap:4px;display:grid}.money-input__label{color:var(--text-secondary);padding-inline:16px;font-size:.8125rem;font-weight:500}.money-input__row{border:1px solid color-mix(in srgb, var(--text) 10%, transparent);background:color-mix(in srgb, var(--bg) 70%, transparent);border-radius:16px;align-items:baseline;gap:6px;padding:0 18px;transition:border-color .2s,box-shadow .2s;display:flex}.money-input__row:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent)}.money-input[data-invalid] .money-input__row{border-color:var(--negative)}.money-input__symbol{color:var(--text-secondary);font-weight:600}.money-input__input{min-width:0;min-height:52px;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;padding:0}.money-input--hero{text-align:center;justify-items:center}.money-input--hero .money-input__row{width:100%;box-shadow:none;background:0 0;border-color:#0000;justify-content:center}.money-input--hero .money-input__row:focus-within{box-shadow:none}.money-input--hero .money-input__symbol{font-size:1.75rem}.money-input--hero .money-input__input{letter-spacing:-.03em;text-align:center;width:100%;max-width:11ch;min-height:72px;caret-color:var(--accent);flex:0 auto;font-size:3.25rem;font-weight:700}.money-input--hero[data-invalid] .money-input__row{border-color:#0000}.field-error{color:var(--negative);margin:0;padding-inline:16px;font-size:.8125rem;font-weight:500}.ledger-form{gap:16px;display:grid}.toggle-row{min-height:44px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:12px;padding-inline:16px;font-size:.9375rem;display:flex}.toggle-row input{width:22px;height:22px;accent-color:var(--accent);margin:0}.ledger-list{border-radius:var(--radius-card);margin:0 0 16px;padding:6px;list-style:none;display:grid}.ledger-list__row{width:100%;min-height:60px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:20px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.ledger-list__row:active{background:color-mix(in srgb, var(--text) 6%, transparent)}.ledger-list__row:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-3px}.ledger-list__glyph{width:42px;height:42px;color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, transparent);border-radius:14px;place-items:center;font-size:1.25rem;display:grid}.ledger-list__text{min-width:0;display:grid}.ledger-list__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ledger-list__meta{color:var(--text-secondary);font-size:.8125rem}.ledger-list__value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.ledger-list__value[data-negative]{color:var(--negative)}.confirm{background:color-mix(in srgb, var(--negative) 8%, transparent);border-radius:20px;gap:10px;padding:14px;display:grid}.confirm__text{text-align:center;margin:0;font-weight:500}.confirm__row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ledger-skeleton{border-radius:var(--radius-card);gap:12px;padding:16px;display:grid}.chip-group-wrap{gap:4px;min-width:0;display:grid}.chip-group{gap:8px;display:flex}.chip-group--scroll{scrollbar-width:none;scroll-snap-type:x proximity;margin-inline:-20px;padding:2px 20px 4px;overflow-x:auto}.chip-group--scroll::-webkit-scrollbar{display:none}.chip-group--grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));display:grid}.chip{--chip-color:var(--accent);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--text) 10%, transparent);background:color-mix(in srgb, var(--bg) 60%, transparent);min-height:44px;color:var(--text);white-space:nowrap;cursor:pointer;scroll-snap-align:start;transition:background-color .2s, border-color .2s, transform .25s var(--spring);flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.9375rem;font-weight:500;display:inline-flex;position:relative}.chip:active{transform:scale(.95)}.chip-group--grid .chip{white-space:normal;text-align:center;border-radius:18px;flex-direction:column;gap:2px;min-height:68px;padding:8px 6px;font-size:.8125rem}.chip-group--grid .chip__glyph{font-size:1.5rem}.chip[data-selected]{border-color:var(--chip-color);background:color-mix(in srgb, var(--chip-color) 16%, transparent);font-weight:600}.chip__input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip:has(.chip__input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.chip__label{text-overflow:ellipsis;max-width:100%;overflow:hidden}.tx-row{width:100%;min-height:60px;color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 14px;transition:background-color .15s,opacity .2s;display:grid}.tx-row:active{background:color-mix(in srgb, var(--text) 6%, transparent)}.tx-row:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-3px}.tx-row[data-pending]{opacity:.6}.tx-row__glyph{border-radius:14px;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.tx-row[data-kind=transfer] .tx-row__glyph{color:var(--text-secondary);font-weight:700}.tx-row__text{min-width:0;display:grid}.tx-row__title,.tx-row__meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-row__title{font-weight:600}.tx-row__meta{color:var(--text-secondary);font-size:.8125rem}.tx-row__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.tx-row[data-kind=income] .tx-row__amount{color:color-mix(in srgb, var(--positive) 82%, var(--text))}.tx-row[data-kind=transfer] .tx-row__amount{color:var(--text-secondary)}.tx-row__adjust{font-variant-numeric:tabular-nums;font-size:.75rem}.tx-fields{gap:12px;display:grid}.tx-date{appearance:none;align-items:center;display:flex}.tx-onboard{gap:16px;display:grid}.tx-onboard__lede{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:18px;margin:0;padding:14px 16px;line-height:1.4}.tx-items{gap:10px;display:grid}.tx-items__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.tx-item{background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:18px;gap:6px;padding:10px 10px 10px 12px;display:grid}.tx-item__row{align-items:center;gap:8px;display:flex}.tx-item__input{border:1px solid color-mix(in srgb, var(--text) 10%, transparent);background:color-mix(in srgb, var(--bg) 70%, transparent);min-width:0;min-height:44px;color:var(--text);border-radius:12px;outline:none;padding:0 12px}.tx-item__input:focus{border-color:var(--accent)}.tx-item__desc{flex:1}.tx-item__qty{text-align:center;font-variant-numeric:tabular-nums;width:4.5em}.tx-item__unit{font-variant-numeric:tabular-nums;flex:1}.tx-item__times{color:var(--text-secondary)}.tx-item__total{text-align:right;font-variant-numeric:tabular-nums;min-width:6.5em;font-weight:600}.tx-adjust{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tx-taxes{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:18px}.tx-taxes__summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;padding:0 16px;font-weight:500;list-style:none;display:flex}.tx-taxes__summary::-webkit-details-marker{display:none}.tx-taxes__summary:after{content:"›";transition:transform .25s var(--spring);margin-left:auto}.tx-taxes[open] .tx-taxes__summary:after{transform:rotate(90deg)}.tx-taxes__body{gap:10px;padding:0 10px 12px;display:grid}.tx-taxes__line,.tx-invoice__line{color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;margin:0;padding-inline:8px;display:flex}.tx-taxes__line strong,.tx-invoice__line strong{color:var(--text)}.tx-invoice{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:20px;gap:10px;padding:14px 10px;display:grid}.tx-invoice__line--total{border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);padding-top:8px;font-size:1.0625rem}.tx-invoice__status{color:color-mix(in srgb, var(--negative) 85%, var(--text));background:color-mix(in srgb, var(--negative) 10%, transparent);font-variant-numeric:tabular-nums;border-radius:14px;margin:0;padding:10px 14px;font-size:.9375rem;font-weight:500}.tx-invoice__status[data-balanced]{color:color-mix(in srgb, var(--positive) 70%, var(--text));background:color-mix(in srgb, var(--positive) 13%, transparent)}.activity__toolbar{top:calc(env(safe-area-inset-top) + 8px);z-index:5;border-radius:26px;gap:8px;margin-bottom:12px;padding:8px;display:grid;position:sticky}.search{min-height:44px;color:var(--text-secondary);background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:16px;align-items:center;gap:8px;padding:0 14px;display:flex}.search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.search__input{min-width:0;min-height:44px;color:var(--text);background:0 0;border:0;outline:none;flex:1}.activity__chips{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.activity__chips::-webkit-scrollbar{display:none}.filter-chip{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--text) 6%, transparent);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border:0;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:.875rem;font-weight:500;transition:background-color .2s,color .2s;display:inline-flex;position:relative}.filter-chip:after{content:"";position:absolute;inset:-4px 0}.filter-chip[aria-pressed=true]{color:#fff;background:var(--accent)}.filter-chip:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.activity__list{gap:8px;display:grid}.day{gap:2px;display:grid}.day__header{top:calc(env(safe-area-inset-top) + 124px);z-index:2;border-radius:var(--radius-pill);color:var(--text-secondary);justify-self:start;margin:6px 0 2px 6px;padding:5px 12px;font-size:.8125rem;font-weight:600;position:sticky}.day__items{background:color-mix(in srgb, var(--bg) 82%, transparent);border:1px solid color-mix(in srgb, var(--text) 6%, transparent);border-radius:24px;margin:0;padding:4px;list-style:none;display:grid}.activity__more{place-items:center;min-height:56px;display:grid}.activity__spinner{border:2px solid var(--text-secondary);border-right-color:#0000;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite btn-spin}.activity__skeleton{gap:14px;padding:12px;display:grid}.activity__skeleton-row{grid-template-columns:42px 1fr;align-items:center;gap:12px;display:grid}.filters__dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.filters__actions{grid-template-columns:1fr 2fr;gap:10px;display:grid}.categories__kind{margin-bottom:14px}.category-dot{border-radius:50%;width:12px;height:12px}.category-preview{--cat:var(--accent);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--cat) 45%, transparent);background:color-mix(in srgb, var(--cat) 15%, transparent);justify-self:center;align-items:center;gap:10px;max-width:100%;min-height:52px;padding:6px 20px 6px 8px;font-weight:600;display:inline-flex}.category-preview__glyph{background:color-mix(in srgb, var(--cat) 22%, transparent);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.375rem;display:grid}.category-preview__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.emoji-picks{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.emoji-pick{background:color-mix(in srgb, var(--text) 5%, transparent);cursor:pointer;border:1px solid #0000;border-radius:14px;min-height:44px;font-size:1.375rem}.emoji-pick[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.swatches{grid-template-columns:repeat(6,1fr);gap:10px;padding-inline:4px;display:grid}.swatch{cursor:pointer;width:44px;height:44px;transition:transform .25s var(--spring);border-radius:50%;justify-self:center;position:relative;box-shadow:inset 0 0 0 1px #00000014}.swatch[data-selected]{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px currentColor;color:var(--text);transform:scale(1.08)}.swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.swatch:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:4px}.switcher{margin:0;padding:0;list-style:none}.switcher li+li{border-top:.5px solid color-mix(in srgb, var(--text) 12%, transparent)}.switcher__row{width:100%;min-height:56px;color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.switcher__row:disabled{cursor:default}.switcher__text{gap:2px;display:grid}.switcher__name{color:var(--text);font-weight:500}.switcher__kind{color:var(--text-secondary);font-size:.8125rem}.members{margin:0;padding:0;list-style:none}.members__row{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:56px;padding:6px 0;display:grid}.members__row+.members__row{border-top:.5px solid color-mix(in srgb, var(--text) 12%, transparent)}.members__avatar{width:36px;height:36px;color:hsl(var(--hue) 60% 32%);background:hsl(var(--hue) 80% 88%);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:700;display:grid}@media (prefers-color-scheme:dark){.members__avatar{color:hsl(var(--hue) 80% 86%);background:hsl(var(--hue) 45% 26%)}}.members__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.members__you{color:var(--text-secondary);font-weight:400}.new-group__head{gap:10px;display:grid}.new-group__back{justify-self:start;margin-left:-20px}.new-group__card{border-radius:var(--radius-card);padding:20px}.group-card{border-radius:var(--radius-card);gap:14px;margin-bottom:16px;padding:18px 18px 16px;display:grid}.group-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-card__kind{color:var(--accent);margin:0 0 2px;font-size:.8125rem;font-weight:600}.group-card__name{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:1.5rem;font-weight:700}.group-card__section{margin:0;font-size:1.0625rem;font-weight:600}.group-card__muted{color:var(--text-secondary);margin:0}.group-actions{gap:10px;display:grid}.more-links{border-radius:var(--radius-card);margin-bottom:16px;padding:6px;display:grid}.more-links__row{min-height:60px;color:var(--text-secondary);border-radius:20px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:8px 12px;text-decoration:none;display:grid}.more-links__row:active{background:color-mix(in srgb, var(--text) 6%, transparent)}.more-links__row:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-3px}.more-links__glyph{color:#fff;background:linear-gradient(145deg, var(--accent), var(--accent-strong));border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.more-links__text{display:grid}.more-links__label{color:var(--text);font-weight:600}.more-links__hint{font-size:.8125rem}.ring{gap:18px;display:grid}.ring__chart{aspect-ratio:1;justify-self:center;width:min(62vw,220px);position:relative}.ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.ring__track,.ring__segment{fill:none;stroke-width:11px}.ring__track{stroke:color-mix(in srgb, var(--text) 7%, transparent)}.ring__segment{stroke-linecap:butt}.ring__center{text-align:center;place-content:center;gap:2px;display:grid;position:absolute;inset:0}.ring__caption{color:var(--text-secondary);font-size:.8125rem}.ring__total{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:700}.ring__legend{gap:2px;margin:0;padding:0;list-style:none;display:grid}.ring__item{grid-template-columns:36px 1fr auto 3.2em;align-items:center;gap:10px;min-height:44px;display:grid}.ring__emoji{border-radius:12px;place-items:center;width:36px;height:36px;font-size:1.125rem;display:grid}.ring__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.ring__amount,.ring__pct{font-variant-numeric:tabular-nums;text-align:right}.ring__pct{color:var(--text-secondary);font-size:.875rem}.home{gap:16px;display:grid}.home__bar{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.month-switch{border-radius:var(--radius-pill);align-items:center;min-width:0;padding:2px;display:flex}.month-switch__label{text-align:center;letter-spacing:-.01em;white-space:nowrap;min-width:9.5em;margin:0;font-size:1.0625rem;font-weight:600}.month-switch .icon-btn--plain{color:var(--accent)}.hero{border-radius:32px;gap:10px;padding:22px 22px 20px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(60% 50% at 30% 0,#ffffff59,#0000 70%);height:120%;position:absolute;inset:-40% -10% auto}.hero__caption{color:var(--text-secondary);margin:0;font-size:.875rem;font-weight:500}.hero__net{letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,10vw,3.25rem);font-weight:700;line-height:1.05}.hero__net[data-negative]{color:var(--negative)}.hero__pills{flex-wrap:wrap;gap:8px;display:flex}.pill{border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;padding:7px 12px;font-weight:600;display:inline-flex}.pill__label{opacity:.85;font-size:.75rem;font-weight:500}.pill--income{color:color-mix(in srgb, var(--positive) 75%, var(--text));background:color-mix(in srgb, var(--positive) 16%, transparent)}.pill--expense{color:color-mix(in srgb, var(--negative) 80%, var(--text));background:color-mix(in srgb, var(--negative) 13%, transparent)}.hero__balance{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:.9375rem}.hero__balance strong{color:var(--text)}.home-card{border-radius:var(--radius-card);gap:14px;padding:18px;display:grid}.home-card--list{padding:18px 6px 8px}.home-card--list .home-card__head,.home-card--list>.home-card__title{padding-inline:12px}.home-card__head{justify-content:space-between;align-items:baseline;display:flex}.home-card__title{letter-spacing:-.01em;margin:0;font-size:1.1875rem;font-weight:700}.home-card__link{min-height:44px;color:var(--accent);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.home-recent{margin:0;padding:0;list-style:none;display:grid}.home__skeleton{gap:16px;display:grid}.home__skeleton .home-card{justify-items:center}.home__error{gap:12px;display:grid}.group-form{gap:16px;display:grid}.group-form__hint{min-height:2.8em;color:var(--text-secondary);margin:-4px 8px 0;font-size:.875rem;line-height:1.4}.join__card{border-radius:32px;gap:12px;padding:24px 22px;display:grid}.join__card--loading{min-height:220px}.join__meta{justify-content:space-between;align-items:center;display:flex}.join__eyebrow{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.join__group{letter-spacing:-.035em;overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,9vw,2.625rem);font-weight:800;line-height:1.05}.join__expiry{color:var(--text-secondary);margin:4px 0 0;font-size:.875rem}.join__actions{gap:10px;display:grid}.join__actions--panel{border-radius:32px;padding:18px}.join__prompt,.join__as{text-align:center;color:var(--text-secondary);margin:0;font-size:.9375rem}.join__notice{gap:12px;display:grid}.app{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 110px);max-width:720px;margin:0 auto}.page__title{letter-spacing:-.02em;margin:8px 4px 16px;font-size:2.125rem;font-weight:700}.card{border-radius:var(--radius-card);color:var(--text-secondary);padding:20px}
