.login{min-height:100dvh;padding:40px 24px calc(40px + var(--safe-bottom));flex-direction:column;justify-content:center;gap:32px;max-width:420px;margin:0 auto;display:flex}.login-mark{text-align:center}.login-swatches{gap:6px;margin-bottom:20px;display:inline-flex}.login-swatches i{border-radius:6px;width:17px;height:40px;display:block}.login-swatches i:first-child{animation:.75s cubic-bezier(.22,1,.36,1) 50ms both dip}.login-swatches i:nth-child(2){animation:.75s cubic-bezier(.22,1,.36,1) .13s both dip}.login-swatches i:nth-child(3){animation:.75s cubic-bezier(.22,1,.36,1) .21s both dip}@keyframes dip{0%{transform-origin:bottom;opacity:.2;transform:scaleY(0)}}.login-mark h1{letter-spacing:-.01em;margin:0;font-size:34px;font-weight:700}.login-mark p{color:var(--ink-faint);margin:6px 0 0;font-size:15px;font-weight:600}.login-form{background:var(--paper-raised);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:22px 20px;animation:.4s cubic-bezier(.22,1,.36,1) .1s both pop-in}.login-form .btn{margin-top:6px}.login-error{color:var(--danger);text-align:center;margin:0 0 12px;font-size:14.5px;font-weight:700}.sheet-root{z-index:100;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#3c2d2357;border:none;padding:0;animation:.2s fade-in;position:absolute;inset:0}.sheet{background:var(--paper);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-direction:column;width:100%;max-width:620px;max-height:92dvh;animation:.32s cubic-bezier(.22,1,.36,1) slide-up;display:flex;position:relative;box-shadow:0 -12px 44px -14px #3c2d2373}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}}.sheet-grip{background:var(--line);border-radius:3px;flex:none;width:42px;height:5px;margin:9px auto 0}.sheet-head{border-bottom:1px solid var(--line-soft);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px 10px 12px;display:grid}.sheet-head b{font-family:var(--round);font-size:17px;font-weight:700}.sheet-head .btn.plain{justify-self:start}.sheet-slot{justify-self:end;display:flex}.sheet-body{padding:18px 16px calc(24px + var(--safe-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.quick{flex-direction:column;display:flex}.quick-sum{justify-content:center;align-items:baseline;gap:6px;padding:6px 0 14px;display:flex}.quick-sum b{letter-spacing:-.03em;color:var(--ch-1);font-size:42px;font-weight:800;line-height:1}.quick.earn .quick-sum b{color:var(--ch-2)}.quick-sum span{color:var(--ink-faint);font-size:22px;font-weight:700}.quick-err{text-align:center}.quick-more{margin-bottom:6px}.quick-hint{text-align:center;color:var(--ink-faint);margin:0 0 12px;font-size:12.5px;font-weight:700}.quick-cats{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px;display:grid}@media (width<=359px){.quick-cats{grid-template-columns:repeat(3,1fr)}}.qcat{--ch:var(--ink-faint);border:1.5px solid color-mix(in srgb, var(--ch) 26%, transparent);border-radius:var(--r-sm);background:color-mix(in srgb, var(--ch) 12%, var(--paper-solid));flex-direction:column;align-items:center;gap:5px;padding:11px 4px 9px;transition:transform .14s cubic-bezier(.22,1,.36,1),opacity .15s;display:flex}.qcat:active{transform:scale(.93)}.qcat:disabled{opacity:.4}.qcat-emo{font-size:21px;line-height:1}.qcat-title{color:color-mix(in srgb, var(--ch) 45%, var(--ink));text-align:center;font-size:11px;font-weight:700;line-height:1.15}.pad{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px;display:grid}.key{border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper-solid);min-height:54px;font-family:var(--num);font-size:23px;font-weight:700;transition:transform .1s,background .1s}.key:active{background:var(--paper-sunk);transform:scale(.95)}.key.back{color:var(--ink-faint);font-size:20px}.quick.move .quick-sum b{color:var(--accent)}.quick .btn.block{margin-top:4px}.feed-line{color:inherit;text-decoration:none}.feed-emo{background:var(--paper-sunk);border-radius:12px;flex:none;place-items:center;width:36px;height:36px;font-size:16px;display:grid}.feed-line .line-main b{white-space:normal;font-size:14.5px;font-weight:600}.feed-who{color:var(--ink);margin-right:5px;font-style:normal;font-weight:800}.feed-line .line-sum{font-size:15px}.month{color:inherit;padding:18px 20px 20px;text-decoration:none;animation:.35s cubic-bezier(.22,1,.36,1) 50ms both pop-in;display:block}.month-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.month-label{color:var(--ink-faint);font-size:13px;font-weight:800}.month-sum{letter-spacing:-.015em;color:var(--ink);font-size:24px;font-weight:800}.bars{flex-direction:column;gap:9px;margin-top:14px;display:flex}.bar{grid-template-columns:88px 1fr auto;align-items:center;gap:10px;font-size:13.5px;font-weight:600;display:grid}.bar-name{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{background:var(--paper-sunk);border-radius:999px;height:10px;overflow:hidden}.bar-track i{border-radius:999px;height:100%;animation:.6s cubic-bezier(.22,1,.36,1) both grow;display:block}@keyframes grow{0%{width:0!important}}.bar-sum{color:var(--ink-soft);font-size:13.5px;font-weight:700}.favs{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.fav{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sw) 26%, transparent);background:color-mix(in srgb, var(--sw) 34%, var(--paper-solid));min-height:74px;color:color-mix(in srgb, var(--sw) 34%, var(--ink));box-shadow:var(--shadow);align-items:flex-end;padding:13px 15px;font-size:15.5px;font-weight:800;text-decoration:none;animation:.35s cubic-bezier(.22,1,.36,1) both pop-in;display:flex}.fav:active{transform:scale(.97)}.soon{color:var(--ink-soft);flex-direction:column;gap:12px;padding:16px 18px;font-size:15px;font-weight:600;display:flex}.soon span{align-items:center;gap:11px;display:flex}.soon i{border-radius:4px;flex:none;width:8px;height:22px}.pinned{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.pin-card{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sw) 26%, transparent);background:color-mix(in srgb, var(--sw) 26%, var(--paper-solid));min-height:74px;color:color-mix(in srgb, var(--sw) 30%, var(--ink));box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:13px 15px;text-decoration:none;animation:.35s cubic-bezier(.22,1,.36,1) both pop-in;display:flex}.pin-card b{font-family:var(--round);font-size:15px;font-weight:700;line-height:1.25}.pin-card span{opacity:.7;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:700;display:-webkit-box;overflow:hidden}.start-list{flex-direction:column;gap:10px;display:flex}.start{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sw) 24%, transparent);background:color-mix(in srgb, var(--sw) 14%, var(--paper-solid));color:var(--ink);box-shadow:var(--shadow);align-items:center;gap:13px;padding:13px 15px;text-decoration:none;transition:transform .15s cubic-bezier(.22,1,.36,1);animation:.35s cubic-bezier(.22,1,.36,1) both pop-in;display:flex}.start:active{transform:scale(.98)}.start-emo{background:var(--paper-solid);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.start-main{flex:1;min-width:0}.start-main b{font-family:var(--round);font-size:15.5px;font-weight:700;display:block}.start-main small{color:var(--ink-faint);font-size:12.5px;font-weight:600;line-height:1.35;display:block}.start-go{color:color-mix(in srgb, var(--sw) 50%, var(--ink-faint));flex:none;font-size:17px;font-weight:700}.jot{border:1.5px solid color-mix(in srgb, var(--ch-1) 30%, transparent);background:color-mix(in srgb, var(--ch-1) 13%, var(--paper-solid));width:100%;min-height:58px;color:color-mix(in srgb, var(--ch-1) 55%, var(--ink));box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:12px;padding:0 20px;transition:transform .15s cubic-bezier(.22,1,.36,1);display:flex}.jot:active{transform:scale(.97)}.jot i{font-size:22px;font-style:normal;font-weight:700;line-height:1}.jot span{text-align:left;flex:1;font-size:16px;font-weight:800}.jot b{color:var(--ink-faint);font-size:13px;font-weight:700}.shop-list{border-color:color-mix(in srgb, var(--sw) 24%, transparent);padding:12px 16px}.shop-list .note-items{gap:2px}.shop-list .tick{padding:6px 0}.shop-list .tick-text{font-size:15px}.shop-list .tick-box{border-radius:7px;width:21px;height:21px}.shop-more{border-top:1px solid var(--line-soft);color:var(--ink-faint);margin-top:8px;padding-top:9px;font-size:13px;font-weight:700;text-decoration:none;display:block}.face{object-fit:cover;background:color-mix(in srgb, var(--sw) 32%, var(--paper-solid));width:40px;height:40px;color:color-mix(in srgb, var(--sw) 34%, var(--ink));font-family:var(--round);border:1px solid color-mix(in srgb, var(--sw) 26%, transparent);border-radius:14px;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid}.face.big{border-radius:18px;width:52px;height:52px;font-size:22px}.soon-list{flex-direction:column;gap:10px;display:flex}.bday{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sw) 26%, transparent);background:color-mix(in srgb, var(--sw) 20%, var(--paper-solid));width:100%;color:var(--ink);text-align:left;box-shadow:var(--shadow);align-items:center;gap:13px;padding:13px 15px;text-decoration:none;transition:transform .15s cubic-bezier(.22,1,.36,1);animation:.35s cubic-bezier(.22,1,.36,1) both pop-in;display:flex}.bday:active{transform:scale(.98)}.bday.today{border-width:2px;border-color:color-mix(in srgb, var(--sw) 62%, transparent)}.bday .face{background:var(--paper-solid)}.bday-main{flex:1;min-width:0}.bday-main b{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:800;display:block;overflow:hidden}.bday-main small{color:var(--ink-faint);font-size:13px;font-weight:600;display:block}.bday-when{text-align:right;flex:none}.bday-when b{color:color-mix(in srgb, var(--sw) 42%, var(--ink));font-size:14.5px;font-weight:800;display:block}.bday-when small{color:var(--ink-faint);font-size:12px;font-weight:600;display:block}.person-when{color:var(--ink-faint);flex:none;font-size:13.5px;font-weight:700}.bday-preview{color:var(--accent);margin:9px 0 0;font-size:13.5px;font-weight:700}.notes-grid{columns:2;column-gap:12px;padding-top:10px}@media (width>=560px){.notes-grid{columns:3}}.note{break-inside:avoid;border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sw) 26%, transparent);background:color-mix(in srgb, var(--sw) 26%, var(--paper-solid));color:color-mix(in srgb, var(--sw) 30%, var(--ink));box-shadow:var(--shadow);flex-direction:column;margin-bottom:12px;padding:13px 14px 11px;animation:.35s cubic-bezier(.22,1,.36,1) both pop-in;display:flex}.note-open{text-align:left;color:inherit;background:0 0;border:none;width:100%;padding:0;display:block}.note-pin{font-size:12px}.note-title{font-family:var(--round);margin-bottom:6px;font-size:15.5px;font-weight:700;line-height:1.25;display:block}.note-body{opacity:.85;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;font-size:13.5px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.note-items{flex-direction:column;gap:1px;margin:2px 0 0;padding:0;list-style:none;display:flex}.note-foot{opacity:.7;justify-content:space-between;align-items:baseline;gap:6px;margin-top:7px;font-size:11.5px;font-weight:700;display:flex}.note-left{opacity:.65;margin-top:7px;font-size:11.5px;font-weight:700;display:block}.note-foot .note-left{margin-top:0}.tick{width:100%;color:inherit;text-align:left;background:0 0;border:none;align-items:flex-start;gap:7px;padding:3px 0;display:flex}.tick-box{border:1.5px solid color-mix(in srgb, var(--sw) 55%, transparent);background:var(--paper-solid);border-radius:6px;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:800;line-height:1;transition:background .15s,border-color .15s;display:grid}.tick.on .tick-box{background:color-mix(in srgb, var(--sw) 70%, var(--paper-solid));color:var(--paper-solid);border-color:#0000}.tick-text{font-size:13.5px;font-weight:600;line-height:1.3}.tick.on .tick-text{opacity:.5;text-decoration:line-through}.edit-items{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.edit-items li{align-items:center;gap:9px;display:flex}.edit-items .tick{flex:none;width:auto;padding:0}.edit-items .tick-box{border-color:var(--line);border-radius:9px;width:26px;height:26px;margin:0;font-size:14px}.edit-items .tick.on .tick-box{background:var(--accent);color:var(--accent-ink)}.edit-items input{background:var(--paper-solid);border:1.5px solid var(--line);border-radius:var(--r-sm);appearance:none;flex:1;min-width:0;min-height:44px;padding:8px 14px;font-size:16px;font-weight:600}.edit-items input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.item-del{width:32px;height:32px;color:var(--ink-faint);background:0 0;border:none;border-radius:50%;flex:none;font-size:14px}.link-clear{float:right;color:var(--accent);background:0 0;border:none;padding:0;font-size:13px;font-weight:800}.field textarea.tall{min-height:190px}.add-pair{right:max(20px,50vw - 290px);bottom:calc(var(--nav-h) + var(--nav-gap) + var(--safe-bottom) + 14px);z-index:45;align-items:center;gap:10px;display:flex;position:fixed}.add-pair .fab{position:static}.add-mini{background:var(--paper-solid);width:48px;height:48px;color:var(--accent);box-shadow:var(--shadow-lift), 0 0 0 4px var(--paper);border:none;border-radius:50%;place-items:center;font-size:19px;transition:transform .18s cubic-bezier(.22,1,.36,1);display:grid}.add-mini:active{transform:scale(.9)}.donut{margin:0 auto;position:relative}.donut svg{width:100%;height:100%;display:block}.donut-arc{cursor:pointer;transition:opacity .2s,stroke-dashoffset .5s cubic-bezier(.22,1,.36,1)}.donut-arc.dim{opacity:.22}.donut-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 22%;display:flex;position:absolute;inset:0}.row-in{color:var(--ch-2);font-size:14.5px;font-weight:700;line-height:1.3}.row-out{color:var(--ch-1);font-size:14.5px;font-weight:700;line-height:1.3}.row-left{border-top:1.5px solid var(--line);letter-spacing:-.02em;color:var(--ink);margin-top:3px;padding-top:5px;font-size:20px;font-weight:800;line-height:1.2}.row-left.minus{color:var(--danger)}.one-sum{letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.15}.one-title{font-size:13px;font-weight:700;line-height:1.2}.one-share{color:var(--ink-faint);font-size:11.5px;font-weight:600}.period{align-items:center;gap:6px;margin-bottom:10px;display:flex}.period-step{border:1.5px solid var(--line);background:var(--paper-solid);width:40px;height:40px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.period-step:disabled{opacity:.35}.period-now{background:0 0;border:none;border-radius:999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;min-height:40px;display:flex}.period-now b{font-family:var(--round);font-size:17px;font-weight:700}.period-now small{color:var(--accent);font-size:11px;font-weight:700}.period-kinds,.who{margin-bottom:12px}.period-kinds .chip,.who .chip{min-height:34px;padding:0 13px;font-size:13.5px}.money-card{padding:22px 18px 18px;animation:.35s cubic-bezier(.22,1,.36,1) both pop-in}.donut-empty{text-align:center;color:var(--ink-faint);padding:24px 20px 10px;font-size:14px;font-weight:600;line-height:1.5}.donut-empty b{font-family:var(--round);color:var(--ink);margin-bottom:4px;font-size:16px;display:block}.balance{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;padding-top:16px;display:grid}.balance span{flex-direction:column;align-items:center;gap:2px;display:flex}.balance small{color:var(--ink-faint);font-size:11.5px;font-weight:700}.balance b{font-size:15.5px;font-weight:800}.balance b.up{color:var(--accent)}.balance b.down{color:var(--ink)}.actions{grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;display:grid}.act{min-height:54px;box-shadow:var(--shadow);border:none;border-radius:999px;justify-content:center;align-items:center;gap:9px;font-size:16px;font-weight:800;transition:transform .15s cubic-bezier(.22,1,.36,1);display:flex}.act:active{transform:scale(.96)}.act i{font-size:20px;font-style:normal;line-height:1}.act.spend{background:color-mix(in srgb, var(--ch-1) 16%, var(--paper-solid));color:color-mix(in srgb, var(--ch-1) 55%, var(--ink));border:1.5px solid color-mix(in srgb, var(--ch-1) 32%, transparent)}.act.earn{background:color-mix(in srgb, var(--ch-2) 16%, var(--paper-solid));color:color-mix(in srgb, var(--ch-2) 55%, var(--ink));border:1.5px solid color-mix(in srgb, var(--ch-2) 32%, transparent)}.line.picked{background:color-mix(in srgb, var(--ink) 6%, transparent)}.projects-link{color:var(--ink);align-items:center;gap:13px;padding:14px 16px;text-decoration:none;display:flex}.projects-emo{background:var(--paper-sunk);letter-spacing:-1px;white-space:nowrap;border-radius:14px;flex:none;place-items:center;min-width:42px;height:42px;padding:0 8px;font-size:17px;display:grid}.projects-go{color:var(--ink-faint);flex:none;font-size:17px;font-weight:700}.accounts{scrollbar-width:none;gap:9px;padding:0 16px 4px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.accounts::-webkit-scrollbar{display:none}.acc{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sw) 26%, transparent);background:color-mix(in srgb, var(--sw) 14%, var(--paper-solid));min-width:116px;box-shadow:var(--shadow);flex-direction:column;flex:none;gap:3px;padding:12px 14px;display:flex}.acc-emo{font-size:18px;line-height:1}.acc-title{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.acc-sum{color:var(--ink);font-size:16px;font-weight:800}.acc.minus .acc-sum{color:var(--danger)}.accounts-total{color:var(--ink-soft);font-size:14px;font-style:normal;font-weight:800}.act.move{background:var(--paper-solid);width:100%;min-height:48px;color:var(--ink-soft);border:1.5px solid var(--line);margin-top:11px;font-size:15px}.act.move i{font-size:17px}.acc{text-align:left;cursor:pointer;transition:transform .14s cubic-bezier(.22,1,.36,1)}.acc:active{transform:scale(.96)}.acc.aside{background:var(--paper-solid);border-style:dashed}.acc-aside{color:var(--ink-faint);font-size:10.5px;font-weight:700}.acc.add{border-style:dashed;border-color:var(--line);background:0 0;justify-content:center;align-items:center;gap:5px;min-width:104px}.acc.add .acc-emo{color:var(--ink-faint);font-size:22px}.acc.add .acc-title{color:var(--ink-faint)}.acc-now{border-radius:var(--r-sm);background:var(--paper-sunk);color:var(--ink-soft);text-align:center;margin:0 0 16px;padding:12px 14px;font-size:14.5px;font-weight:600}.acc-now b{color:var(--ink);font-size:19px;font-weight:800}.total-bar{border:1.5px solid color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 12%, var(--paper-solid));width:100%;min-height:52px;color:color-mix(in srgb, var(--accent) 60%, var(--ink));border-radius:999px;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding:0 18px;font-size:15px;font-weight:700;transition:transform .14s cubic-bezier(.22,1,.36,1);display:flex}.total-bar:active{transform:scale(.97)}.total-bar b{font-size:19px;font-weight:800}.total-bar i{opacity:.6;font-size:15px;font-style:normal;transition:transform .2s}.total-bar i.up{transform:rotate(180deg)}.swatch{background:color-mix(in srgb, var(--sw) 12%, var(--paper-sunk));width:100%;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--sw) 22%, transparent);border-radius:18px;position:relative;overflow:hidden}.swatch-fill{background:var(--sw);color:var(--sw);transition:height .55s cubic-bezier(.22,.8,.3,1);position:absolute;bottom:0;left:0;right:0}.swatch-wave{width:100%;height:8px;display:block;position:absolute;top:-7px;left:0}.swatch.flat .swatch-fill{transition:none}.swatch.over{overflow:visible}.swatch.over .swatch-fill{filter:saturate(1.15);border-radius:18px}.swatch-spill{background:var(--danger);border-radius:6px 6px 0 0;height:6px;position:absolute;top:-6px;left:8px;right:8px}.swatch-spill:after{content:"";background:var(--danger);border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;right:22%}.total{flex-direction:column;gap:2px;padding:20px 22px;animation:.35s cubic-bezier(.22,1,.36,1) both pop-in;display:flex}.total-label{color:var(--ink-faint);font-size:13px;font-weight:800}.total-sum{letter-spacing:-.025em;color:var(--ink);font-size:40px;font-weight:800;line-height:1.1}.total-sum small{color:var(--ink-faint);font-size:22px;font-weight:700}.total-left{color:var(--ink-soft);margin-top:5px;font-size:14.5px;font-weight:600}.total-left b{color:var(--ink);font-weight:800}.total-left.over,.total-left.over b{color:var(--danger)}.total-edit{color:var(--accent);background:0 0;border:none;align-self:flex-start;margin-top:12px;padding:0;font-size:14px;font-weight:800}.groups{scrollbar-width:none;gap:8px;padding:2px 16px 6px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.groups::-webkit-scrollbar{display:none}.gchip{--chip:var(--accent);border:1.5px solid var(--line);background:var(--paper-solid);min-height:42px;color:var(--ink-soft);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 17px;font-size:15px;font-weight:800;transition:transform .15s cubic-bezier(.22,1,.36,1);display:inline-flex}.gchip:active{transform:scale(.95)}.gchip.on{background:color-mix(in srgb, var(--chip) 20%, var(--paper-solid));border-color:color-mix(in srgb, var(--chip) 62%, transparent);color:color-mix(in srgb, var(--chip) 72%, var(--ink))}.gchip.add{width:42px;color:var(--ink-faint);border-style:dashed;justify-content:center;padding:0}.gchip.add svg{width:19px;height:19px}.fan{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:11px;padding:4px 16px 8px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.fan::-webkit-scrollbar{display:none}.fan-item{scroll-snap-align:start;flex:none;width:108px;position:relative}.fan-tap{text-align:left;background:0 0;border:none;width:100%;padding:0;display:block}.fan-item b{white-space:nowrap;text-overflow:ellipsis;margin-top:9px;font-size:14px;font-weight:800;display:block;overflow:hidden}.fan-sum{color:var(--ink-soft);font-size:15px;font-weight:700;display:block}.fan-budget{color:var(--ink-faint);font-size:12px;font-weight:600;display:block}.fan-item.on b{color:var(--accent)}.fan-item.on:after{content:"";border:2.5px solid var(--accent);pointer-events:none;border-radius:22px;height:120px;position:absolute;inset:-6px -6px auto}.fan-edit{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:28px;height:28px;color:var(--ink-soft);background:#ffffffbf;border:none;border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;top:6px;right:6px}.fan-add-box{border:2px dashed var(--line);height:108px;color:var(--ink-faint);border-radius:18px;place-items:center;display:grid}.fan-add-box svg{width:26px;height:26px}.fan-add b{color:var(--ink-faint)}.days{flex-direction:column;gap:22px;display:flex}.day-label{color:var(--ink-soft);justify-content:space-between;align-items:baseline;margin:0 8px 9px;font-size:15px;font-weight:700;display:flex}.day-label i{font-style:normal;font-family:var(--num);color:var(--ink-faint);font-size:14px;font-weight:700}.section-label .btn.plain{font-size:13px}.confirm{border-radius:var(--r-md);background:color-mix(in srgb, var(--danger) 10%, var(--paper-solid));border:1.5px solid color-mix(in srgb, var(--danger) 28%, transparent);margin-top:12px;padding:14px 16px}.confirm p{color:var(--ink);margin:0 0 12px;font-size:14.5px;font-weight:700;line-height:1.4}.confirm-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn.danger-solid{background:var(--danger);color:#fff;border-color:#0000}.hint-under{color:var(--ink-faint);margin:8px 2px 0;font-size:12.5px;font-weight:600;line-height:1.4}.archived-line{opacity:.75}.archived-line .btn.plain{flex:none}.bc{z-index:200;color:#101010;padding:calc(var(--safe-top) + 8px) 16px calc(var(--safe-bottom) + 18px);background:#fff;flex-direction:column;animation:.2s bc-in;display:flex;position:fixed;inset:0}@keyframes bc-in{0%{opacity:0;transform:scale(.98)}}.bc-close{color:#101010;background:#f0eeec;border:none;border-radius:999px;align-self:flex-end;min-height:40px;padding:0 14px;font-size:15px;font-weight:600}.bc-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex}.bc-stage h2{color:#101010;margin:0;font-size:21px;font-weight:700}.bc-img{background:#fff;width:min(100%,340px);height:auto}.bc-bars{max-height:190px}.bc-code{font-family:var(--mono);letter-spacing:.14em;color:#3a3a3a;margin:0;font-size:17px}.bc-note{color:#6a6a6a;max-width:300px;margin:0;font-size:14px;line-height:1.5}.bc-hint{text-align:center;color:#9a9a9a;margin:0;font-size:12.5px}.bc-fallback{color:#a08a5a;max-width:300px;margin:0;font-size:12px;line-height:1.4}.search{border:1.5px solid var(--line);background:var(--paper-solid);appearance:none;border-radius:999px;width:100%;min-height:46px;margin-bottom:6px;padding:10px 18px;font-size:16px;font-weight:600}.search::placeholder{color:var(--ink-faint);font-weight:500}.search:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.grid{grid-template-columns:repeat(2,1fr);gap:12px;padding-top:10px;display:grid}@media (width>=560px){.grid{grid-template-columns:repeat(3,1fr)}}.shop{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sw) 26%, transparent);box-shadow:var(--shadow);animation:.35s cubic-bezier(.22,1,.36,1) both pop-in;position:relative;overflow:hidden}.shop-tap{text-align:left;background:0 0;border:none;width:100%;padding:0;display:block}.shop-face{background:color-mix(in srgb, var(--sw) 34%, var(--paper-solid));min-height:92px;color:color-mix(in srgb, var(--sw) 34%, var(--ink));justify-content:space-between;align-items:flex-end;gap:6px;padding:14px 15px;display:flex}.shop-title{font-size:16px;font-weight:800;line-height:1.2}.shop-star{opacity:.75;flex:none;font-size:14px}.shop-code{background:var(--paper-solid);font-family:var(--mono);letter-spacing:.05em;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;padding:9px 15px 11px;font-size:11.5px;display:block;overflow:hidden}.shop-edit{background:color-mix(in srgb, var(--paper-solid) 78%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:28px;height:28px;color:var(--ink-soft);border:none;border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;top:7px;right:7px}.gate{padding:24px 22px;animation:.35s cubic-bezier(.22,1,.36,1) both pop-in}.gate-lock{text-align:center;margin-bottom:14px;font-size:40px;animation:3.5s ease-in-out infinite float;display:block}.gate-lead{color:var(--ink-soft);margin:0 0 18px;font-size:14.5px;font-weight:600;line-height:1.5}.gate-warn{color:var(--danger);margin:16px 0 0;font-size:13px;font-weight:700;line-height:1.45}.code-box{border-radius:var(--r-sm);background:var(--paper-sunk);border:1.5px dashed var(--line);font-family:var(--mono);letter-spacing:.08em;text-align:center;white-space:pre-wrap;word-break:break-all;color:var(--ink);margin:0 0 16px;padding:16px 14px;font-size:15px;line-height:1.7}.code-input{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.code-actions{gap:10px;margin-bottom:18px;display:flex}.code-actions .btn{flex:1}.gate-check{color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:16px;font-size:14.5px;font-weight:700;display:flex}.gate-check input{width:24px;height:24px;accent-color:var(--accent)}.doc-icon{background:var(--paper-sunk);border-radius:14px;flex:none;place-items:center;width:40px;height:40px;font-size:19px;display:grid}.doc-flag{background:var(--accent-soft);color:var(--accent);border-radius:999px;flex:none;padding:4px 10px;font-size:11.5px;font-weight:800}.doc-flag.over{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.doc-view{border-bottom:1px solid var(--line-soft);margin-bottom:18px;padding-bottom:16px}.doc-preview{object-fit:contain;border-radius:var(--r-sm);background:var(--paper-sunk);border:1px solid var(--line);width:100%;max-height:380px;margin-bottom:12px;display:block}.doc-preview.tall{border:1px solid var(--line);height:420px;max-height:none}.doc-size{text-align:center;color:var(--ink-faint);margin:10px 0 0;font-size:12.5px;font-weight:700}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nunito-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nunito-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comfortaa;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/comfortaa-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Comfortaa;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/comfortaa-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fff9f5;--paper-raised:#ffffffdb;--paper-solid:#fff;--paper-sunk:#fdf1e7;--ink:#5a5147;--ink-soft:#7a6a5e;--ink-faint:#9b8579;--line:#f0dfcf;--line-soft:#ffffffbf;--accent:#4f9483;--accent-soft:#e1f0ea;--accent-ink:#fff;--danger:#c96a66;--shadow:0 10px 30px -14px #96785a57;--shadow-lift:0 14px 34px -12px #96785a66;--glow-1:#e3f5ee;--glow-2:#fdebdd;--glow-3:#efe9fa;--ch-0:#8d8177;--ch-1:#c85f35;--ch-2:#2e8b57;--ch-3:#8b5fd1;--ch-4:#c08a15;--ch-5:#4a5fbf;--ch-6:#b84a72;--ch-7:#1580a8;--ch-8:#9a6a15;--sw-surik:#d9825e;--sw-med:#d9a340;--sw-shalfey:#7fa98f;--sw-sinka:#8492cc;--sw-vishnya:#c77e97;--sw-lavanda:#a996d8;--sw-more:#6fa3c0;--sw-glina:#b49468;--ui:"Nunito", ui-rounded, -apple-system, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--round:"Comfortaa", "Nunito", ui-rounded, -apple-system, system-ui, sans-serif;--num:"Nunito", ui-rounded, system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--r-sm:16px;--r-md:24px;--r-lg:32px;--tap:48px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-h:62px;--nav-gap:12px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#241f1d;--paper-raised:#fffaf512;--paper-solid:#322b28;--paper-sunk:#1b1715;--ink:#f6ede4;--ink-soft:#c4b4a6;--ink-faint:#938377;--line:#40352f;--line-soft:#fffaf51a;--accent:#6fb6a1;--accent-soft:#24382f;--accent-ink:#12241f;--danger:#e28c88;--shadow:0 10px 30px -14px #0009;--shadow-lift:0 14px 34px -12px #000000b3;--glow-1:#2a3833;--glow-2:#3a2e27;--glow-3:#2e2836;--ch-0:#8e8279;--ch-1:#d97045;--ch-2:#3fa26a;--ch-3:#9b72de;--ch-4:#bc8c1e;--ch-5:#5e73ce;--ch-6:#c95c84;--ch-7:#2694bc;--ch-8:#ac7b22;--sw-surik:#e0916e;--sw-med:#e0b155;--sw-shalfey:#8fbba0;--sw-sinka:#97a3d8;--sw-vishnya:#d48fa7;--sw-lavanda:#b8a7e4;--sw-more:#82b4ce;--sw-glina:#c4a57a}}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;background:radial-gradient(120% 80% at 0% 0%, var(--glow-1) 0%, transparent 46%), radial-gradient(120% 80% at 100% 0%, var(--glow-2) 0%, transparent 44%), radial-gradient(130% 100% at 50% 100%, var(--glow-3) 0%, transparent 52%), var(--paper);background-attachment:fixed;margin:0;font-size:16px;font-weight:500;line-height:1.45}h1,h2,h3,.round{font-family:var(--round)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 32%, transparent);border-radius:12px;outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.num{font-family:var(--num);font-variant-numeric:tabular-nums}.screen{max-width:620px;min-height:100%;padding:calc(var(--safe-top) + 10px) 0 calc(var(--nav-h) + var(--nav-gap) + var(--safe-bottom) + 30px);margin:0 auto;animation:.25s ease-out fade-in}.wrap{padding:0 16px}.head{justify-content:space-between;align-items:flex-end;gap:12px;padding:10px 18px 16px;display:flex}.head h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:700}.head .sub{color:var(--ink-faint);margin:3px 0 0;font-size:14px;font-weight:600}.section-label{color:var(--ink-soft);font-size:15px;font-weight:800;font-family:var(--round);justify-content:space-between;align-items:center;margin:24px 20px 10px;display:flex}.card{background:var(--paper-raised);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--shadow)}.btn{min-height:var(--tap);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:800;transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .15s;display:inline-flex}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.45}.btn:disabled:active{transform:none}.btn.ghost{background:var(--paper-solid);color:var(--ink);border-color:var(--line);box-shadow:none}.btn.plain{color:var(--accent);min-height:38px;box-shadow:none;background:0 0;padding:0 8px;font-weight:800}.btn.danger{color:var(--danger);box-shadow:none;background:0 0;border-color:#0000}.btn.block{width:100%}.field{margin-bottom:16px;display:block}.field>span{color:var(--ink-soft);margin-bottom:7px;padding-left:2px;font-size:14px;font-weight:800;display:block}.field input,.field select,.field textarea{width:100%;min-height:var(--tap);background:var(--paper-solid);border:1.5px solid var(--line);border-radius:var(--r-sm);appearance:none;padding:12px 16px;font-size:16px;font-weight:600;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:96px;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint);font-weight:500}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.field .money{letter-spacing:-.01em;font-size:26px;font-weight:800}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{--chip:var(--accent);border:1.5px solid var(--line);background:var(--paper-solid);min-height:40px;color:var(--ink-soft);border-radius:999px;padding:0 15px;font-size:14.5px;font-weight:700;transition:transform .15s cubic-bezier(.22,1,.36,1)}.chip:active{transform:scale(.94)}.chip.on{background:color-mix(in srgb, var(--chip) 20%, var(--paper-solid));border-color:color-mix(in srgb, var(--chip) 62%, transparent);color:color-mix(in srgb, var(--chip) 72%, var(--ink))}.chip.emoji{padding:0 11px;font-size:20px}.chip.removable i{opacity:.5;margin-left:4px;font-size:12px;font-style:normal}.add-cat{gap:8px;margin-top:10px;display:flex}.add-cat input{min-height:var(--tap);background:var(--paper-solid);border:1.5px solid var(--line);border-radius:var(--r-sm);appearance:none;flex:1;padding:12px 16px;font-size:16px;font-weight:600}.add-cat input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.add-cat .btn{flex:none}.palette{flex-wrap:wrap;gap:10px;display:flex}.paint{border:none;border-radius:14px;width:44px;height:50px;transition:transform .18s cubic-bezier(.22,1,.36,1);box-shadow:inset 0 0 0 1px #0000000f}.paint.on{box-shadow:inset 0 0 0 1px #0000000f, 0 0 0 3px var(--paper), 0 0 0 5.5px var(--ink);transform:translateY(-4px)}.form-error{color:var(--danger);margin:0 0 12px;padding-left:2px;font-size:14.5px;font-weight:700}form .btn.block+.btn.block{margin-top:10px}.list{overflow:hidden}.line{border:none;border-bottom:1px solid var(--line-soft);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:13px 16px;transition:background .15s;display:flex}.line:last-child{border-bottom:none}.line:active{background:color-mix(in srgb, var(--ink) 5%, transparent)}.line-dot{border-radius:5px;flex:none;width:10px;height:36px}.line-main{flex:1;min-width:0}.line-main b{white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:700;display:block;overflow:hidden}.line-main small{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.line-sum{flex:none;font-size:17px;font-weight:800}.line-sum.planned{color:var(--ink-faint);font-weight:700}.nav{inset-inline:0;z-index:40;padding:0 12px calc(var(--safe-bottom) + var(--nav-gap));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0}.nav-pill{pointer-events:auto;border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper-solid) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(18px);width:100%;max-width:460px;box-shadow:var(--shadow-lift);border-radius:999px;grid-template-columns:repeat(6,1fr);padding:5px;display:grid}.nav-pill a{height:52px;color:var(--ink-faint);letter-spacing:-.01em;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:9.5px;font-weight:800;text-decoration:none;transition:color .18s,background .18s;display:flex}.nav-pill a.on{color:var(--accent);background:var(--accent-soft)}.nav-pill a svg{width:22px;height:22px}@media (width<=359px){.nav-pill a{gap:0;font-size:0}.nav-pill a svg{width:24px;height:24px}}.empty{text-align:center;color:var(--ink-faint);background:var(--paper-raised);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:var(--r-lg);margin:4px 16px;padding:40px 26px;font-weight:600}.empty b{font-family:var(--round);color:var(--ink);margin-bottom:6px;font-size:17px;font-weight:700;display:block}.empty .emo{margin-bottom:10px;font-size:42px;animation:3.5s ease-in-out infinite float;display:block}.fab{right:max(20px,50vw - 290px);bottom:calc(var(--nav-h) + var(--nav-gap) + var(--safe-bottom) + 14px);z-index:45;background:var(--accent);width:60px;height:60px;color:var(--accent-ink);box-shadow:var(--shadow-lift), 0 0 0 5px var(--paper);border:none;border-radius:50%;place-items:center;transition:transform .18s cubic-bezier(.22,1,.36,1);display:grid;position:fixed}.fab svg{width:28px;height:28px}.fab:active{transform:scale(.9)}.fab:disabled{opacity:.4}.hint{color:var(--ink-faint);font-style:normal;font-weight:600}.boot{min-height:100dvh}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(8px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.pop{animation:.35s cubic-bezier(.22,1,.36,1) both pop-in}
