:root{color-scheme:light;--bg: #ededf0;--surface: #ffffff;--surface-2: #f5f5f7;--field: #fafafa;--avatar: #dedee3;--nav-on: #f7f7f9;--nav-hover: #f2f2f5;--line: #e4e4e9;--line-soft: #eaeaef;--line-strong: #d5d5dc;--hairline: #e8e8ed;--track: #e5e5ea;--scroll-thumb: rgba(22, 22, 26, .16);--ink: #16161a;--ink-2: #56565e;--muted: #83838c;--faint: #ababb4;--stroke: #c2c2ca;--accent: #16161a;--accent-hover: #2e2e36;--accent-busy: #6e6e78;--accent-ink: #ffffff;--danger: #b03a2b;--danger-soft: #fbece9;--danger-line: #e8c2b9;--bar: #ddDDE4;--scrim: rgba(16, 16, 20, .32);--shadow-modal: 0 20px 48px rgba(16, 16, 22, .16), 0 2px 8px rgba(16, 16, 22, .06);--radius-card: 14px;--radius-modal: 16px;--radius: 10px;--radius-tag: 6px;--serif: "Noto Serif SC", "Songti SC", "SimSun", serif;--sans: Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--side: 220px;--aside: 380px;--gap: 12px;--shell-max: calc(var(--side) + 12px + 760px + 12px + var(--aside) + 12px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0e0e11;--surface: #1a1a1e;--surface-2: #232329;--field: #1f1f24;--avatar: #2f2f36;--nav-on: #202027;--nav-hover: #17171b;--line: #2c2c33;--line-soft: #26262c;--line-strong: #3a3a43;--hairline: #2b2b32;--track: #2a2a31;--scroll-thumb: rgba(237, 237, 242, .16);--ink: #ededf2;--ink-2: #a3a3ad;--muted: #85858f;--faint: #75757f;--stroke: #4b4b55;--accent: #ededf2;--accent-hover: #ffffff;--accent-busy: #8c8c97;--accent-ink: #0e0e11;--danger: #e8836a;--danger-soft: #3b231c;--danger-line: #5a322a;--bar: #33333c;--scrim: rgba(0, 0, 0, .55);--shadow-modal: 0 20px 48px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .45)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0e0e11;--surface: #1a1a1e;--surface-2: #232329;--field: #1f1f24;--avatar: #2f2f36;--nav-on: #202027;--nav-hover: #17171b;--line: #2c2c33;--line-soft: #26262c;--line-strong: #3a3a43;--hairline: #2b2b32;--track: #2a2a31;--scroll-thumb: rgba(237, 237, 242, .16);--ink: #ededf2;--ink-2: #a3a3ad;--muted: #85858f;--faint: #75757f;--stroke: #4b4b55;--accent: #ededf2;--accent-hover: #ffffff;--accent-busy: #8c8c97;--accent-ink: #0e0e11;--danger: #e8836a;--danger-soft: #3b231c;--danger-line: #5a322a;--bar: #33333c;--scrim: rgba(0, 0, 0, .55);--shadow-modal: 0 20px 48px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{overflow:hidden;overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%}body{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--app-h, 100%);margin:0;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--ink-2);text-decoration:none}a:hover{color:var(--ink)}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,textarea{font:inherit;color:inherit;background:none;border:none;outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app,.workspace{height:100%;overflow:hidden}.app{display:flex;flex-direction:column}.workspace{display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:minmax(0,1fr);max-width:var(--shell-max);width:100%;margin:0 auto}.side{display:flex;flex-direction:column;min-width:0;padding:16px 12px}.side-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;height:44px;padding:0 12px;margin-bottom:16px;color:var(--ink)}.side-brand span{font-family:var(--serif);font-weight:600;font-size:16px;letter-spacing:.01em;white-space:nowrap}.side-nav{display:flex;flex-direction:column;gap:2px;min-width:0}.side-item{display:flex;align-items:center;gap:10px;flex-shrink:0;height:40px;padding:0 12px;border-radius:var(--radius);text-align:left;color:var(--ink-2);font-size:14px;transition:color .15s,background-color .15s}.side-item svg{flex-shrink:0}.side-item span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.side-item:hover:not(:disabled){background:var(--nav-hover)}.side-item.on{color:var(--ink);background:var(--nav-on)}.side-foot{margin-top:auto;min-width:0;padding-top:12px}.side-account{display:flex;align-items:center;gap:7px;width:100%;height:44px;padding:0 12px 0 9px;border-radius:var(--radius);text-align:left;transition:background-color .15s}.side-account:hover{background:var(--nav-hover)}.side-account.on{background:var(--nav-on)}.side-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--avatar);color:var(--ink);font-size:13px;font-weight:500;line-height:1;letter-spacing:.02em}img.side-avatar{object-fit:cover}.side-name{min-width:0;font-size:14px;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.side-env{display:block;padding:6px 12px 0;font-family:var(--mono);font-size:9px;line-height:1.2;color:var(--faint);opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.page{display:grid;grid-template-columns:minmax(0,1fr) var(--aside);gap:var(--gap);align-items:start;height:100%;flex-grow:1;min-height:0;padding:12px;scrollbar-width:thin;scrollbar-color:transparent transparent}.card{border-radius:var(--radius-card);background:var(--surface)}.page-main{align-self:stretch;min-height:0;display:flex;flex-direction:column;padding:32px 34px;overflow:hidden}.page-aside{display:flex;flex-direction:column;gap:12px;min-width:0}.page.solo{grid-template-columns:minmax(0,1fr)}.page.solo .page-main{max-width:760px}.aside-card{display:flex;flex-direction:column;padding:24px 26px}.page-head{display:flex;align-items:center;gap:16px;flex-shrink:0}.page-head h1{margin:0;font-family:var(--serif);font-weight:600;font-size:27px;letter-spacing:.01em;line-height:1}.page-meta{font-family:var(--mono);font-size:12.5px;color:var(--muted);letter-spacing:.04em;white-space:nowrap}.page-count{margin-left:auto;font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap}.page-body{display:flex;flex-direction:column;flex-grow:1;min-height:0;padding-top:20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent}.page-body:hover,.page-body:focus-within,.page:hover,.page:focus-within{scrollbar-color:var(--scroll-thumb) transparent}.page-body::-webkit-scrollbar,.page::-webkit-scrollbar{width:10px}.page-body::-webkit-scrollbar-track,.page::-webkit-scrollbar-track{background:transparent}.page-body::-webkit-scrollbar-thumb,.page::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:8px;background:transparent;background-clip:content-box}.page-body:hover::-webkit-scrollbar-thumb,.page-body:focus-within::-webkit-scrollbar-thumb,.page:hover::-webkit-scrollbar-thumb,.page:focus-within::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:content-box}.aside-title{font-family:var(--serif);font-weight:500;font-size:15.5px}.aside-row{display:flex;align-items:center;gap:12px;min-height:36px;padding:0 8px;margin:0 -8px;border-radius:var(--radius-tag)}.aside-row .k{flex-grow:1;font-size:14px;color:var(--ink-2)}.aside-row .v{font-family:var(--mono);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.aside-more{display:flex;align-items:center;gap:5px;height:36px;margin-top:6px;font-size:13px;color:var(--muted)}.aside-more:hover{color:var(--ink-2)}.empty{margin:0;padding:8px 0;font-size:14px;color:var(--faint)}.note{margin:8px 0 0;flex-shrink:0;font-size:12.5px;color:var(--muted)}.note.err{color:var(--danger)}.errbar{display:flex;align-items:center;gap:12px;margin:12px 12px 0;padding:12px 20px;border-radius:14px;background:var(--danger-soft)}.linkish{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.center-note{flex-grow:1;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--muted)}.summary-bar{display:none;align-items:center;gap:22px;padding:22px 0 0}.summary-bar button,.summary-bar .summary-money{font-size:12.5px;color:var(--muted)}.summary-bar b{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--ink)}.summary-bar .summary-money{margin-left:auto}.summary-bar button{display:flex;align-items:baseline;gap:6px}.tabbar{display:none;position:absolute;left:0;right:0;bottom:0;z-index:20;padding:6px 0 calc(6px + env(safe-area-inset-bottom));background:var(--bg);touch-action:none}.tab{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:52px;font-size:10.5px;color:var(--muted);transition:color .15s}.tab.on{color:var(--ink);font-weight:500}.group-label{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:24px 0 4px;font-size:11.5px;font-weight:500;letter-spacing:.1em;color:var(--faint)}.group-label:first-child{padding-top:0}.group-label.overdue{color:var(--danger)}.progress{height:3px;flex-shrink:0;margin:22px 0 0;border-radius:2px;background:var(--track);overflow:hidden}.progress i{display:block;height:100%;border-radius:2px;background:var(--accent);transition:width .35s ease}.todo{display:flex;align-items:center;gap:14px;flex-shrink:0;min-height:48px}.todo.is-pending{opacity:.55}.todo-box{flex-shrink:0;display:flex;align-items:center;min-width:44px;min-height:44px;margin:0 -12px;padding:0 12px;color:var(--stroke);transition:color .15s}.todo-box:hover:not(:disabled){color:var(--muted)}.todo.is-done .todo-box{color:var(--ink-2);--icon-knob: var(--accent-ink)}.todo-text{flex-grow:1;display:flex;align-items:center;min-height:44px;font-size:15px;line-height:1.5;text-align:left;word-break:break-word}.todo.is-done .todo-text{color:var(--faint)}.todo-edit-form{flex-grow:1;display:flex;min-width:0}.todo-edit-form input{width:100%;min-height:44px;font-size:15px}.todo-del{flex-shrink:0;padding:6px 2px 6px 12px;font-size:13px;color:var(--danger);white-space:nowrap}.carry{flex-shrink:0;font-family:var(--mono);font-size:11.5px;line-height:1;color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-tag);padding:4px 8px}.carry.is-plan{color:var(--muted);background:var(--hairline)}.bucket{display:flex;flex-direction:column}.bucket:last-child{padding-bottom:8px}.bucket+.bucket .group-label.toggle{padding-top:10px}.group-label.toggle{width:100%;min-height:40px;text-align:left;cursor:pointer;transition:color .15s}.group-label.toggle:hover,.group-label.toggle.on{color:var(--ink-2)}.bucket-count{font-family:var(--mono);font-size:11px;letter-spacing:0;color:var(--faint)}.bucket-chev{display:flex;margin-left:auto;color:var(--faint);transition:transform .2s}.bucket-chev.open{transform:rotate(90deg)}.add-row{display:flex;align-items:center;gap:13px;flex-shrink:0;height:50px;margin-top:14px;padding:0 16px;border:1px solid var(--line-soft);border-radius:11px;background:var(--field)}.add-row:focus-within{border-color:var(--line-strong);background:var(--surface)}.add-icon{display:flex;flex-shrink:0;color:var(--faint)}.add-row input{flex-grow:1;min-width:0;font-size:15px}.add-row input::placeholder{color:var(--faint)}.aside-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.aside-total{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.aside-total.muted{font-weight:400;color:var(--muted)}.aside-rows{display:flex;flex-direction:column;gap:4px;margin-top:12px}.aside-row.act{width:100%;text-align:left;transition:color .15s,background-color .15s}.aside-row.act:hover,.aside-row.act.on{background:var(--hairline)}.aside-row.act:hover .k,.aside-row.act.on .k{color:var(--ink)}.aside-row .d{flex-shrink:0;width:40px;font-family:var(--mono);font-size:11.5px;color:var(--faint)}.aside-row .v.strong{color:var(--ink)}.aside-big{display:flex;align-items:baseline;gap:10px;padding:16px 0 6px}.aside-big b{font-family:var(--mono);font-size:30px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.aside-big em{font-family:var(--mono);font-size:15px;font-style:normal;color:var(--muted)}.aside-next{display:flex;align-items:baseline;gap:10px;padding-top:14px}.aside-next b{font-family:var(--mono);font-size:20px;font-weight:500}.aside-next span{font-size:14px;color:var(--ink-2)}.aside-next em{margin-left:auto;font-family:var(--mono);font-size:14px;font-style:normal}.aside-jump{flex-direction:row;align-items:center;gap:14px;text-align:left;color:var(--muted);transition:color .15s,background-color .15s}.aside-jump:hover{color:var(--ink-2);background:var(--hairline)}.aside-jump .k{flex-grow:1;font-size:14px;color:var(--ink-2)}.bars{display:flex;align-items:flex-end;gap:7px;height:76px;margin-top:18px}.bars i{flex-grow:1;border-radius:3px;background:var(--bar)}.bars i.on{background:var(--ink-2)}.bar-labels{display:flex;gap:7px;padding-top:8px}.bar-labels span{flex-grow:1;text-align:center;font-family:var(--mono);font-size:10px;color:var(--stroke)}.bar-labels span.on{color:var(--muted)}.btn-primary{display:flex;align-items:center;gap:7px;flex-shrink:0;height:36px;padding:0 15px;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-size:13.5px;font-weight:500;transition:background-color .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{background:var(--accent-busy)}.btn-danger{display:flex;align-items:center;flex-shrink:0;height:34px;padding:0 15px;border:1px solid var(--danger-line);border-radius:9px;color:var(--danger);font-size:13.5px}.head-btn{display:none;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink)}.sub{display:flex;align-items:center;gap:16px;flex-shrink:0;width:100%;min-height:56px;text-align:left}.sub-name{flex-grow:1;display:flex;align-items:center;gap:9px;font-size:15px;min-width:0}.sub-name em{flex-shrink:0;font-size:11px;font-style:normal;color:var(--danger);background:var(--danger-soft);padding:3px 7px;border-radius:5px}.sub-amount{flex-shrink:0;width:84px;text-align:right;font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}.sub-amount i{font-style:normal;color:var(--faint)}.sub-date{flex-shrink:0;width:62px;text-align:right;font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}.sub-left{flex-shrink:0;width:76px;text-align:right;font-size:12.5px;color:var(--faint)}.sub.is-ended,.sub.is-ended .sub-date{color:var(--faint)}.day-head{display:flex;align-items:baseline;gap:12px;flex-shrink:0;height:42px;margin-top:32px}.page-body>section:first-child .day-head{margin-top:0}.day-name{font-family:var(--serif);font-weight:500;font-size:15px}.day-date{font-family:var(--mono);font-size:11.5px;color:var(--faint)}.day-count{margin-left:auto;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.done-row{display:flex;align-items:center;gap:14px;flex-shrink:0;min-height:44px;font-size:15px;color:var(--ink-2)}.done-mark{display:flex;flex-shrink:0;color:var(--ink-2);--icon-knob: var(--accent-ink)}.kv{display:flex;align-items:center;gap:20px;flex-shrink:0;min-height:46px}.kv+.kv,.note+.kv{margin-top:8px}.kv .k{flex-shrink:0;margin-right:auto;font-size:14px;color:var(--muted)}.kv .v{font-size:14px;color:var(--ink-2);text-align:right}.kv .v.mono{font-family:var(--mono);font-size:13.5px;color:var(--ink);overflow-wrap:anywhere}.kv .v.muted{color:var(--muted)}.kv-edit{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;color:var(--ink-2);transition:background-color .15s}.kv-edit:hover{background:var(--hairline)}.kv .v:has(+.kv-edit){cursor:text}.kv-input{flex-shrink:0;width:240px;height:36px;padding:0 12px;text-align:left;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:14px}.profile-card{display:flex;align-items:center;gap:16px;flex-shrink:0;min-width:0;padding:4px 0 14px}.profile-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--avatar);color:var(--ink);font-size:26px;font-weight:500;line-height:1;letter-spacing:.02em}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-name{font-size:16px;font-weight:500;color:var(--ink)}.profile-email{font-size:13px;color:var(--ink-2);overflow-wrap:anywhere}.profile-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;margin-left:auto}.profile-actions label{display:flex;align-items:center;flex-shrink:0;height:34px;padding:0 15px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2);font-size:13.5px;cursor:pointer}.profile-actions label.is-busy{color:var(--muted);cursor:default}.profile-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.profile-actions .linkish:disabled{color:var(--faint)}.segmented{display:flex;align-items:center;gap:3px;flex-shrink:0;padding:3px;border-radius:11px;background:var(--hairline)}.segmented button{display:flex;align-items:center;height:34px;padding:0 16px;border-radius:9px;font-size:13.5px;color:var(--ink-2);transition:background-color .15s}.segmented button.on{background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #1010160d;font-weight:500;color:var(--ink)}.datechip{display:inline-flex;align-items:center;flex-shrink:0;height:32px;padding:0 11px;border:1px solid var(--line-soft);border-radius:9px;background:var(--field);font-family:var(--mono);font-size:11.5px;line-height:1;color:var(--muted)}.datechip.is-set{color:var(--ink)}.datechip-label{position:relative;display:inline-flex;align-items:center}.datechip-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.datechip-clear{padding-left:8px;font-family:var(--mono);font-size:13px;line-height:1;color:var(--faint)}.datechip-clear:hover{color:var(--muted)}.modal-scrim{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--app-h, 100%);z-index:40;background:var(--scrim)}.modal{position:fixed;left:50%;top:calc(var(--vv-top, 0px) + min(96px,12vh));transform:translate(-50%);z-index:50;width:min(400px,calc(100vw - 32px));max-height:calc(var(--app-h, 100%) - min(96px,12vh) - 24px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding:24px 24px 20px;border:1px solid var(--line-strong);border-radius:var(--radius-modal);background:var(--surface);box-shadow:var(--shadow-modal)}.modal-title{margin:0 0 18px;font-family:var(--serif);font-weight:500;font-size:16px;line-height:1}.modal-form{display:flex;align-items:center;flex-shrink:0;height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface)}.modal-form input{width:100%;font-size:15px}.modal-form input::placeholder{color:var(--faint)}.modal-foot{display:flex;align-items:center;gap:10px;flex-shrink:0;padding-top:16px}.modal-hint{font-size:12px;color:var(--faint)}.modal-foot .btn-primary{margin-left:auto;height:38px;padding:0 20px}.sub-form{display:flex;flex-direction:column}.sub-fields{display:flex;flex-direction:column;margin:0;padding:0;border:none;min-width:0}.f-row{display:flex;flex-direction:column;gap:8px;padding-top:16px}.f-row .group-label{padding:0}.f-val{display:flex;align-items:center;gap:10px}.f-amount{flex-grow:1;min-width:0;height:40px;padding:0 13px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--field);font-family:var(--mono);font-size:15px}.f-amount::-webkit-outer-spin-button,.f-amount::-webkit-inner-spin-button{appearance:none;margin:0}.f-amount[type=number]{appearance:textfield}.choice{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;padding:3px;border-radius:9px;background:var(--hairline)}.choice button{display:flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 12px;border-radius:7px;font-size:13px;color:var(--muted);transition:background-color .15s,color .15s}.choice button.on{background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #1010160d;font-weight:500;color:var(--ink)}.f-check{display:flex;align-items:center;gap:11px;min-height:44px;margin-top:12px;font-size:14px;color:var(--ink-2)}.f-check span{display:flex;color:var(--stroke)}.f-check[aria-pressed=true] span{color:var(--accent);--icon-knob: var(--accent-ink)}.f-foot{display:flex;align-items:center;gap:16px;padding-top:22px;margin-top:8px}.f-foot .todo-del{margin-left:auto;padding:6px 0}.login{flex-grow:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{display:flex;flex-direction:column;width:min(340px,100%)}.login>.login-card{padding:30px 28px;border-radius:var(--radius-card);background:var(--surface)}.login-mark{display:flex;align-items:center;gap:10px;padding-bottom:28px;font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px;padding-top:16px}.field:first-of-type{padding-top:0}.field .prompt{font-size:11.5px;font-weight:500;letter-spacing:.1em;color:var(--faint)}.field input{height:46px;padding:0 14px;border:1px solid var(--line-soft);border-radius:11px;background:var(--field);font-family:var(--mono);font-size:13.5px;transition:border-color .15s,background-color .15s}.field input:focus{border-color:var(--line-strong);background:var(--surface)}.field input::placeholder{color:var(--faint);letter-spacing:0}.login .btn-primary{justify-content:center;height:46px;margin-top:24px;border-radius:11px;font-size:14.5px}.sub-fields[disabled]{opacity:.6}@media(min-width:1544px){.workspace{max-width:none;width:100%;margin:0}.main{margin-left:calc((100vw - 760px) / 2 - var(--side) - 12px);width:calc(760px + 12px + var(--aside) + 24px)}}@media(min-width:901px)and (max-width:1119px){.page{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(380px,1fr) auto;overflow-y:auto;overscroll-behavior:contain}.page-aside{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}.page-aside>*{grid-column:span 2}.page-aside>:first-child:nth-last-child(2),.page-aside>:first-child:nth-last-child(2)~*{grid-column:span 3}.page-aside>:only-child{grid-column:span 6}.bars,.bar-labels{max-width:340px}}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr)}.side{display:none}.page{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:calc(10px + env(safe-area-inset-top)) 10px calc(76px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.page>*{flex-shrink:0}.page-aside{display:none}.summary-bar{display:flex;margin-top:auto}.page.keep-aside .page-aside{display:flex}.page-main{padding:20px;overflow:visible}.page-body{padding-top:16px;overflow:visible}.page-head h1{font-size:25px}.page-meta{font-size:12px}.head-btn{display:flex}.add-row{display:none}.tabbar{display:flex}.day-head{height:38px;margin-top:24px}.errbar{margin:0;padding:12px 20px;border-radius:0}.progress{margin-top:18px}.group-label{padding-top:20px;font-size:11px}.group-label.toggle{min-height:44px}.todo-edit-form input,.add-row input,.modal input,.login input,.kv-input{font-size:16px}.sub{flex-wrap:wrap;gap:0 12px;min-height:56px;padding:8px 0}.sub-name{order:1;flex-basis:0;flex-grow:1}.sub-amount{order:2;width:auto}.sub:after{content:"";order:3;flex-basis:100%;height:0}.sub-date,.sub-left{order:4;width:auto;font-family:var(--mono);font-size:11.5px;color:var(--faint);text-align:left}.sub-date:after{content:"·";margin-left:6px}.sub-left{margin-left:-6px}.kv{flex-wrap:wrap;justify-content:flex-end;gap:4px 16px;min-height:0;padding:12px 0}.kv .k{font-size:12.5px}.kv-input{width:auto;flex-basis:100%;height:40px}.profile-card{flex-wrap:wrap;gap:10px 14px;padding-bottom:16px}.profile-avatar{width:56px;height:56px;font-size:23px}.profile-meta{flex-grow:1}.profile-actions{flex-basis:100%;justify-content:flex-start;margin-left:0;padding-left:70px}.segmented button{height:38px;padding:0 12px}}@media(max-width:380px){.page{padding-left:8px;padding-right:8px}.page-main{padding:18px 16px}}
