:root{color-scheme:light;--bg: #ecece5;--surface: #fffffe;--surface-2: #f4f4ee;--surface-3: #e7e7df;--ink: #16160f;--ink-2: #6b6b60;--ink-3: #9d9d92;--on-dark: #fbfbf7;--lime: #d8f34e;--lime-deep: #c4de3c;--positive: #1f7a4d;--negative: #c0402f;--negative-soft: #f7e2de;--hairline: rgba(22, 22, 15, .08);--c-lime: #d8f34e;--c-lavender: #c7b9ff;--c-sky: #a9dcff;--c-coral: #ffb59e;--c-mint: #a9e9c4;--c-amber: #ffd166;--c-pink: #ffb3d1;--c-sand: #e8dcc8;--r-xs: 10px;--r-sm: 14px;--r-md: 18px;--r-lg: 24px;--r-xl: 32px;--r-full: 999px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 48px;--shadow-card: 0 1px 2px rgba(22, 22, 15, .04);--shadow-float: 0 2px 6px rgba(22, 22, 15, .06), 0 18px 40px rgba(22, 22, 15, .12);--shadow-nav: 0 6px 24px rgba(22, 22, 15, .24);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--nav-h: calc(66px + env(safe-area-inset-bottom)) ;--font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #121210;--surface: #1c1c19;--surface-2: #252521;--surface-3: #2f2f2a;--ink: #f3f3ed;--ink-2: #a5a59a;--ink-3: #75756c;--on-dark: #16160f;--positive: #7fd7a6;--negative: #ff8574;--negative-soft: rgba(255, 133, 116, .14);--hairline: rgba(255, 255, 255, .08);--shadow-card: none;--shadow-float: 0 2px 8px rgba(0, 0, 0, .5), 0 20px 48px rgba(0, 0, 0, .55);--shadow-nav: 0 6px 24px rgba(0, 0, 0, .5)}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--bg: #121210;--surface: #1c1c19;--surface-2: #252521;--surface-3: #2f2f2a;--ink: #f3f3ed;--ink-2: #a5a59a;--ink-3: #75756c;--on-dark: #16160f;--negative: #ff8574;--negative-soft: rgba(255, 133, 116, .14);--hairline: rgba(255, 255, 255, .08);--shadow-card: none;--shadow-float: 0 2px 8px rgba(0, 0, 0, .5), 0 20px 48px rgba(0, 0, 0, .55);--shadow-nav: 0 6px 24px rgba(0, 0, 0, .5)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:15px;font-weight:500;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-xs)}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.03em;line-height:1.05}.display{font-size:clamp(30px,7.5vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.num{font-variant-numeric:tabular-nums;letter-spacing:-.03em}.shell{min-height:100%;display:grid;grid-template-columns:1fr}.main{min-width:0;padding-bottom:calc(var(--nav-h) + var(--s6))}.main.no-topbar{padding-top:calc(env(safe-area-inset-top) + var(--s4))}.content{width:100%;max-width:1180px;margin:0 auto;padding:0 var(--s4) var(--s8);transition:opacity .12s ease-out}.content[data-loading=true]{opacity:.5}.topbar{position:sticky;top:0;z-index:20;isolation:isolate;padding-top:env(safe-area-inset-top)}.topbar:before{content:"";position:absolute;top:0;right:0;left:0;bottom:-32px;z-index:-1;pointer-events:none;opacity:0;transition:opacity .2s ease-out;background:linear-gradient(to bottom,var(--bg) 0%,var(--bg) 38%,color-mix(in srgb,var(--bg) 82%,transparent) 56%,color-mix(in srgb,var(--bg) 48%,transparent) 74%,color-mix(in srgb,var(--bg) 16%,transparent) 89%,transparent 100%)}.topbar.is-scrolled:before{opacity:1}.topbar-inner{max-width:1180px;margin:0 auto;padding:var(--s4) var(--s4) var(--s3);display:flex;align-items:center;gap:var(--s3)}.month-pill{display:flex;align-items:center;gap:var(--s1);padding:4px;border-radius:var(--r-full);background:var(--surface);box-shadow:var(--shadow-card)}.month-pill h1{display:grid;justify-items:center;font-size:15px;font-weight:750;letter-spacing:-.02em;text-align:center}.month-pill h1>*{grid-area:1 / 1}.month-pill h1 .pill-sizer{visibility:hidden;pointer-events:none;height:0;white-space:nowrap}.month-pill h1 button{font:inherit;letter-spacing:inherit;color:inherit;cursor:default;white-space:nowrap;user-select:none;-webkit-user-select:none}.chip-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-full);color:var(--ink);transition:background-color .15s ease,color .15s ease,transform .14s var(--ease-out)}.chip-btn:active{transform:scale(.94)}@media (hover: hover) and (pointer: fine){.chip-btn:hover{background:var(--surface-2)}}.chip-btn.dark{background:var(--ink);color:var(--on-dark)}@media (hover: hover) and (pointer: fine){.chip-btn.dark:hover{background:color-mix(in srgb,var(--ink) 84%,var(--lime))}}.chip-btn.lime{background:var(--lime);color:#16160f}@media (hover: hover) and (pointer: fine){.chip-btn.lime:hover{background:var(--lime-deep)}}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}.add-btn{display:none}@media (min-width: 720px){.add-btn{display:inline-flex;align-items:center;gap:var(--s2);height:40px;padding:0 var(--s4) 0 var(--s5);border-radius:var(--r-full);background:var(--ink);color:var(--on-dark);font-size:14px;font-weight:700;letter-spacing:-.01em;transition:background-color .15s ease,transform .15s ease}@media (hover: hover) and (pointer: fine){.add-btn:hover{background:color-mix(in srgb,var(--ink) 86%,var(--lime))}}.add-btn:active{transform:scale(.98)}.add-btn .chip-btn{width:26px;height:26px;background:var(--lime);color:#16160f;margin-right:-6px}.add-icon-only{display:none}}.nav{position:fixed;z-index:30;left:50%;transform:translate(-50%);bottom:calc(var(--s4) + env(safe-area-inset-bottom));display:flex;gap:var(--s1);padding:6px;border-radius:var(--r-full);background:var(--ink);box-shadow:var(--shadow-nav)}.nav .brand,.nav .nav-foot{display:none}.nav button{display:flex;align-items:center;gap:var(--s2);height:46px;padding:0 var(--s5);border-radius:var(--r-full);color:color-mix(in srgb,var(--on-dark) 62%,transparent);font-size:13.5px;font-weight:700;transition:background-color .18s ease,color .18s ease,transform .14s var(--ease-out)}.nav button:active{transform:scale(.96)}.nav button span{display:none}.nav button[aria-current=page]{background:var(--on-dark);color:var(--ink)}.nav button[aria-current=page] span{display:inline}@media (max-width: 380px){.nav button{padding:0 var(--s4)}}@media (min-width: 1000px){.shell{grid-template-columns:244px 1fr;gap:var(--s5);padding:var(--s5)}.main{padding-bottom:var(--s7)}.content,.topbar-inner{padding-left:0;padding-right:0}.topbar:before{bottom:-40px}.nav{position:sticky;top:var(--s5);left:auto;transform:none;bottom:auto;height:calc(100vh - var(--s8));flex-direction:column;gap:var(--s1);padding:var(--s5) var(--s3) var(--s3);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-card)}.nav .brand{display:flex;align-items:center;gap:var(--s3);padding:0 var(--s3) var(--s6);font-size:17px;font-weight:800;letter-spacing:-.03em}.nav .brand i{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--lime);color:#16160f}.nav button{justify-content:flex-start;height:46px;padding:0 var(--s4);border-radius:var(--r-md);color:var(--ink-2)}.nav button span{display:inline}@media (hover: hover) and (pointer: fine){.nav button:hover{background:var(--surface-2);color:var(--ink)}}.nav button[aria-current=page]{background:var(--lime);color:#16160f}.nav .nav-foot{display:block;margin-top:auto;padding:var(--s4);border-radius:var(--r-lg);background:var(--surface-2)}.nav .nav-foot .eyebrow{color:var(--ink-3)}.nav .nav-foot strong{display:block;margin-top:2px;font-size:22px;font-weight:800;letter-spacing:-.035em;font-variant-numeric:tabular-nums}}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden}.stack-lg,.grid-2{display:grid;gap:var(--s4)}.grid-2 .side{display:grid;gap:var(--s4);align-content:start}@media (min-width: 1040px){.grid-2{grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);gap:var(--s5);align-items:start}.grid-2 .side{position:sticky;top:84px}}.cards-grid{display:grid;gap:var(--s4);align-items:start}@media (min-width: 1040px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}.view{animation:view-in .28s var(--ease-out)}.view[data-dir=back]{animation-name:view-in-back}@keyframes view-in{0%{opacity:0;transform:translate(20px)}}@keyframes view-in-back{0%{opacity:0;transform:translate(-20px)}}.view .tile{animation:tile-in .26s var(--ease-out) backwards}.view .tile:nth-child(2){animation-delay:40ms}.view .tile:nth-child(3){animation-delay:80ms}.view .tile:nth-child(4){animation-delay:.12s}@keyframes tile-in{0%{opacity:0;transform:translateY(10px)}}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}@media (min-width: 860px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}}.tile{position:relative;padding:var(--s4);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);min-height:138px;display:flex;flex-direction:column}.tile.hero{background:var(--lime);color:#16160f}.tile.hero.warn{background:var(--c-coral)}.tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s2);margin-bottom:auto}.tile-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--surface-2);color:var(--ink)}.tile.hero .tile-mark{background:#16160f1a;color:#16160f}.tile.hero .tile-go{background:#16160f;color:#fbfbf7}.tile-go{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--ink);color:var(--on-dark)}.tile-value{margin-top:var(--s5);font-size:clamp(24px,4.4vw,30px);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.tile-label{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--ink-2)}.tile.hero .tile-label{color:#16160fa8}.bucket{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.bucket-head{padding:var(--s4) var(--s4) var(--s5);color:#16160f}.bucket-tags{display:flex;align-items:center;gap:6px;margin-bottom:var(--s5)}.tag{padding:5px 11px;border-radius:var(--r-full);background:var(--surface-2);font-size:12px;font-weight:700;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.tag.ghost{background:var(--surface-3);color:var(--ink-2)}.bucket-head .tag{background:#fff;color:#16160f}.bucket-mark{flex:none;margin-left:auto;width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-full);background:#16160f1f;color:#16160f;transition:background-color .15s ease}@media (hover: hover) and (pointer: fine){button.bucket-mark:hover{background:#16160f33}}button.bucket-mark:active{transform:scale(.92)}.bucket-title{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3)}.bucket-title h2{font-size:27px;font-weight:800;letter-spacing:-.04em;line-height:1}.bucket-title .amount{font-size:18px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.rows{padding:var(--s2) 0}.row{display:flex;align-items:center;gap:var(--s3);padding:0 var(--s4);min-height:54px}.row+.row{border-top:1px solid var(--hairline)}.row-main{flex:1;min-width:0;text-align:left;padding:var(--s3) 0;display:grid;gap:1px}.row-name{font-size:15px;font-weight:650;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink-3)}.row-amount{font-size:15px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}.row.is-paid .row-name{color:var(--ink-3)}.row.is-paid .row-amount{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1.5px}@media (hover: hover) and (pointer: fine){.row-main:hover .row-name{text-decoration:underline;text-underline-offset:3px}}.dot{width:7px;height:7px;border-radius:var(--r-full);flex:none}.row-add{display:flex;align-items:center;gap:var(--s2);width:100%;padding:var(--s3) var(--s4);border-top:1px solid var(--hairline);font-size:13.5px;font-weight:700;color:var(--ink-2);transition:background-color .15s ease,color .15s ease,transform .14s var(--ease-out)}.row-add:active{transform:scale(.99)}@media (hover: hover) and (pointer: fine){.row-add:hover{background:var(--surface-2);color:var(--ink)}}.row-add i{width:22px;height:22px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--surface-3);color:var(--ink)}.check{flex:none;width:28px;height:28px;border-radius:var(--r-full);border:1.8px solid var(--surface-3);display:grid;place-items:center;color:#16160f;transition:background-color .18s ease,border-color .18s ease,transform .16s var(--ease-out)}.check svg{transform:scale(.4);opacity:0;transition:transform .2s var(--ease-back),opacity .12s ease-out}@media (hover: hover) and (pointer: fine){.check:hover{border-color:var(--ink-3)}}.check:active{transform:scale(.88)}.check[aria-pressed=true]{background:var(--lime);border-color:var(--lime)}.check[aria-pressed=true] svg{transform:scale(1);opacity:1}.section-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s5) var(--s5) var(--s3)}.section-head h2{font-size:17px;font-weight:800;letter-spacing:-.03em}.section-head .amount{margin-left:auto;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.section-title{margin:var(--s6) 0 var(--s3);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.bar{height:7px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.bar>i{display:block;height:100%;border-radius:var(--r-full);background:var(--ink);transition:width .42s var(--ease-out)}.subhead{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4) 6px;border-top:1px solid var(--hairline);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.subhead .num{margin-left:auto;font-size:13px;letter-spacing:-.02em;color:var(--ink)}.subhead-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-subrows{display:grid;gap:2px;margin-top:var(--s2);padding-top:var(--s2);border-top:1px dashed var(--hairline)}.transfer-subrows>div{display:flex;justify-content:space-between;gap:var(--s3);font-size:12.5px;font-weight:600;color:var(--ink-2)}.transfer-row{padding:var(--s3) var(--s5)}.transfer-row+.transfer-row{border-top:1px solid var(--hairline)}.transfer-top{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2)}.transfer-top .name{font-size:14px;font-weight:700;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-top .value{margin-left:auto;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.transfer-foot{display:flex;justify-content:space-between;margin-top:6px;font-size:11.5px;font-weight:600;color:var(--ink-3)}.chart{padding:0 var(--s5) var(--s5)}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-legend{display:flex;gap:var(--s4);padding:0 var(--s5) var(--s4);font-size:12px;font-weight:650;color:var(--ink-2)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px;border-radius:3px}.chart-label{font-size:10.5px;font-weight:700;fill:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:50px;padding:0 var(--s6);border-radius:var(--r-full);font-size:15px;font-weight:750;letter-spacing:-.015em;background:var(--surface-2);color:var(--ink);transition:background-color .15s ease,transform .15s ease,opacity .15s ease}@media (hover: hover) and (pointer: fine){.btn:hover{background:var(--surface-3)}}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--ink);color:var(--on-dark)}@media (hover: hover) and (pointer: fine){.btn-primary:hover{background:color-mix(in srgb,var(--ink) 86%,var(--lime))}}.btn-lime{background:var(--lime);color:#16160f}@media (hover: hover) and (pointer: fine){.btn-lime:hover{background:var(--lime-deep)}}.btn-danger{background:var(--negative-soft);color:var(--negative)}@media (hover: hover) and (pointer: fine){.btn-danger:hover{background:color-mix(in srgb,var(--negative-soft) 78%,var(--negative) 14%)}}.btn-block{width:100%}.field{display:grid;gap:7px}.field>label{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--ink-2);padding-left:2px}.input{width:100%;height:52px;padding:0 var(--s4);border-radius:var(--r-md);border:1.5px solid transparent;background:var(--surface-2);font-size:15px;font-weight:600;transition:border-color .15s ease,background-color .15s ease}.input::placeholder{color:var(--ink-3);font-weight:500}.input:focus{outline:none;border-color:var(--ink);background:var(--surface)}.input.amount{height:74px;font-size:34px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.select-trigger{width:100%;height:52px;padding:0 var(--s4);display:flex;align-items:center;gap:var(--s2);border-radius:var(--r-md);border:1.5px solid transparent;background:var(--surface-2);font-size:15px;font-weight:600;text-align:left;transition:border-color .15s ease,background-color .15s ease,transform .14s var(--ease-out)}.select-trigger:active{transform:scale(.99)}@media (hover: hover) and (pointer: fine){.select-trigger:hover{background:var(--surface-3)}}.select-trigger[aria-expanded=true]{border-color:var(--ink);background:var(--surface)}.select-trigger>svg:last-child{flex:none;margin-left:auto;color:var(--ink-3)}.select-value{display:flex;align-items:center;gap:var(--s2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-icon{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--surface-3);color:var(--ink)}.select-panel{z-index:60;overflow-y:auto;padding:6px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-float);transform-origin:top center;animation:pop .14s var(--ease-out)}.select-panel[data-flip=true]{transform-origin:bottom center}.select-panel.is-closing{animation:pop .11s var(--ease-out) reverse forwards;pointer-events:none}.select-group{padding:var(--s3) var(--s3) 4px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.select-option{display:flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s3);border-radius:var(--r-sm);font-size:15px;font-weight:600;cursor:pointer;color:var(--ink-2)}.select-option.is-active{background:var(--surface-2);color:var(--ink)}.select-option.is-selected{color:var(--ink);font-weight:700}.select-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-option>svg:last-child{flex:none;margin-left:auto;color:var(--ink)}.form-grid{display:grid;gap:var(--s4)}.form-grid.two{grid-template-columns:1fr 1fr}.swatches{display:flex;gap:var(--s2);flex-wrap:wrap}.swatch{width:38px;height:38px;border-radius:var(--r-full);transition:transform .15s ease,box-shadow .15s ease}@media (hover: hover) and (pointer: fine){.swatch:hover{transform:scale(1.06)}}.swatch:active{transform:scale(.92)}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:var(--s2)}.icon-pick{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-2);transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .14s var(--ease-out)}.icon-pick:active{transform:scale(.92)}@media (hover: hover) and (pointer: fine){.icon-pick:hover{background:var(--surface-3);color:var(--ink)}}.icon-pick[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.switch-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface-2)}.switch-row .label{flex:1;min-width:0}.switch-row .label b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.015em}.switch-row .label span{font-size:12px;font-weight:550;color:var(--ink-2)}.switch{flex:none;width:52px;height:31px;border-radius:var(--r-full);background:var(--surface-3);padding:3px;transition:background-color .2s ease}.switch>i{display:block;width:25px;height:25px;border-radius:var(--r-full);background:var(--surface);box-shadow:0 1px 3px #16160f40;transition:transform .24s var(--ease-out),width .16s ease-out,background-color .2s ease}.switch:active>i{width:30px}.switch[aria-checked=true]{background:var(--ink)}.switch[aria-checked=true]>i{transform:translate(21px);background:var(--lime)}.switch[aria-checked=true]:active>i{transform:translate(16px)}.theme-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);padding:var(--s5)}.theme-option{display:grid;justify-items:center;gap:var(--s2);padding:var(--s3) var(--s2);border-radius:var(--r-md);font-size:13px;font-weight:700;color:var(--ink-2);transition:background-color .15s ease,color .15s ease,transform .14s var(--ease-out)}.theme-option:active{transform:scale(.97)}@media (hover: hover) and (pointer: fine){.theme-option:hover{background:var(--surface-2)}}.theme-option[aria-pressed=true]{background:var(--surface-2);color:var(--ink)}.theme-preview{width:100%;height:54px;display:grid;place-items:center;border-radius:var(--r-sm);box-shadow:inset 0 0 0 1.5px var(--hairline);transition:box-shadow .15s ease}.theme-preview[data-theme-preview=light]{background:#ecece5;color:#16160f}.theme-preview[data-theme-preview=dark]{background:#121210;color:#f3f3ed}.theme-preview[data-theme-preview=system]{background:linear-gradient(90deg,#ecece5 0,#ecece5 50%,#121210 50%,#121210);display:flex;align-items:center;justify-content:space-evenly}.theme-preview[data-theme-preview=system] svg:first-child{color:#16160f}.theme-preview[data-theme-preview=system] svg:last-child{color:#f3f3ed}.theme-option[aria-pressed=true] .theme-preview{box-shadow:inset 0 0 0 2.5px var(--ink)}.segmented{position:relative;isolation:isolate;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border-radius:var(--r-full);background:var(--surface-2)}.segmented:before{content:"";position:absolute;z-index:-1;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:var(--r-full);background:var(--ink);transition:transform .28s var(--ease-out)}.segmented[data-active="1"]:before{transform:translate(100%)}.segmented button{padding:9px var(--s3);border-radius:var(--r-full);font-size:13px;font-weight:700;color:var(--ink-2);transition:color .2s ease}.segmented button[aria-pressed=true]{color:var(--on-dark)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;isolation:isolate;background:#16160f66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease-out}.backdrop.is-closing{animation:fade .18s ease-out reverse forwards;pointer-events:none}.sheet{width:100%;max-height:92dvh;overflow-y:auto;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--s2) var(--s5) calc(var(--s6) + env(safe-area-inset-bottom));box-shadow:var(--shadow-float);animation:sheet-in .32s var(--ease-drawer)}.sheet.is-closing{animation:sheet-in .24s var(--ease-drawer) reverse forwards}.sheet-grab{width:40px;height:5px;border-radius:var(--r-full);background:var(--surface-3);margin:var(--s2) auto var(--s4)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s5)}.sheet-head h2{font-size:22px;font-weight:800;letter-spacing:-.035em}.sheet-actions{display:grid;gap:var(--s2);margin-top:var(--s6)}@media (min-width: 700px){.backdrop{align-items:center;padding:var(--s4)}.sheet{max-width:470px;border-radius:var(--r-xl);padding:var(--s6);animation:pop .22s var(--ease-out)}.sheet.is-closing{animation:pop .15s var(--ease-out) reverse forwards}.sheet-grab{display:none}}@keyframes fade{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes pop{0%{transform:scale(.97);opacity:0}}.empty{padding:var(--s8) var(--s5);text-align:center}.empty .mark{width:62px;height:62px;margin:0 auto var(--s4);display:grid;place-items:center;border-radius:var(--r-full);background:var(--lime);font-size:28px}.empty h3{font-size:20px;font-weight:800;letter-spacing:-.03em}.empty p{margin:var(--s2) auto var(--s5);max-width:34ch;font-size:14px;font-weight:550;color:var(--ink-2)}.skeleton{border-radius:var(--r-lg);background:var(--surface);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.error-banner{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4);padding:var(--s4) var(--s5);border-radius:var(--r-md);background:var(--negative-soft);color:var(--negative);font-size:14px;font-weight:650}.login{min-height:100dvh;display:grid;place-items:center;padding:var(--s5)}.login form{width:100%;max-width:380px;display:grid;gap:var(--s4);padding:var(--s7) var(--s6) var(--s6);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-card);text-align:center}.login .logo{width:60px;height:60px;margin:0 auto;border-radius:var(--r-full);display:grid;place-items:center;background:var(--lime);color:#16160f;font-size:28px;font-weight:800}.pin{display:flex;justify-content:center;gap:var(--s3)}.pin-box{width:100%;max-width:68px;aspect-ratio:3 / 3.4;padding:0;text-align:center;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;border-radius:var(--r-md);border:1.5px solid transparent;background:var(--surface-2);-webkit-text-security:disc;text-security:disc;transition:border-color .15s ease,background-color .15s ease,transform .14s var(--ease-out)}.pin-box:focus{outline:none;border-color:var(--ink);background:var(--surface)}.pin-box:not(:placeholder-shown),.pin-box[value]:not([value=""]){border-color:var(--hairline)}.pin-box:disabled{opacity:.6}.login h1{font-size:30px;font-weight:800;letter-spacing:-.04em}.login p{margin:var(--s2) 0 var(--s2);font-size:14.5px;font-weight:550;color:var(--ink-2)}.muted{color:var(--ink-2)}.narrow{max-width:700px}.stack{display:grid;gap:var(--s3)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.18s!important;animation-iteration-count:1!important;transition-duration:.18s!important}.sheet,.select-panel,.view,.view[data-dir=back],.view .tile{animation-name:fade;animation-delay:0ms}.sheet.is-closing,.select-panel.is-closing{animation-name:fade;animation-direction:reverse}.check svg,.check[aria-pressed=true] svg{transform:none}.swatch:hover,.switch:active>i,*:active{transform:none!important}.segmented:before{transition-duration:1ms}}
