:root{color-scheme:light;--paper: #f7f7f9;--field: #ffffff;--surface: #ffffff;--ink: #16161a;--ink-2: #56565e;--muted: #70707a;--faint: #ababb4;--rule: #dadadf;--rule-past: #b4b4bc;--danger: #b03a2b;--danger-soft: #fbece9;--accent: var(--ink);--accent-ink: var(--paper);--scrim: rgba(16, 16, 20, .32);--shadow-modal: 0 20px 48px rgba(16, 16, 22, .16), 0 2px 8px rgba(16, 16, 22, .06);--scroll-thumb: rgba(22, 22, 26, .16);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-move: cubic-bezier(.4, 0, .2, 1);--rise: 6px;--radius-modal: 12px;--radius: 8px;--radius-tag: 4px;--col-toc: 200px;--col-page: 680px;--col-margin: 280px;--gutter: 40px;--shell-max: 1240px;--shell-top: 64px;--serif: "Noto Serif SC", "Songti SC", "SimSun", serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--sans: "Noto Sans SC", "PingFang SC", system-ui, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #121215;--field: #1b1b20;--surface: #1e1e23;--ink: #ededf2;--ink-2: #a3a3ad;--muted: #8e8e98;--faint: #6c6c76;--rule: #2e2e35;--rule-past: #4a4a54;--danger: #d9705e;--danger-soft: #3b231c;--scrim: rgba(0, 0, 0, .55);--shadow-modal: 0 20px 48px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .45);--scroll-thumb: rgba(237, 237, 242, .16)}}:root[data-theme=dark]{color-scheme:dark;--paper: #121215;--field: #1b1b20;--surface: #1e1e23;--ink: #ededf2;--ink-2: #a3a3ad;--muted: #8e8e98;--faint: #6c6c76;--rule: #2e2e35;--rule-past: #4a4a54;--danger: #d9705e;--danger-soft: #3b231c;--scrim: rgba(0, 0, 0, .55);--shadow-modal: 0 20px 48px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .45);--scroll-thumb: rgba(237, 237, 242, .16)}@media(prefers-reduced-motion:reduce){:root{--dur-2: var(--dur-1);--dur-3: 0ms;--rise: 0px}}*,*: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(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:24px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--ink-2);text-decoration:none}@media(hover:hover){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}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.kicker{display:block;font-family:var(--mono);font-size:11.5px;line-height:16px;letter-spacing:.12em;color:var(--muted)}.app,.workspace{height:100%;overflow:hidden}.app{display:flex;flex-direction:column}.workspace{display:grid;grid-template-columns:var(--col-toc) minmax(0,1fr);grid-template-rows:minmax(0,1fr);column-gap:var(--gutter);width:calc(100% - 48px);max-width:var(--shell-max);margin:0 auto;padding-top:var(--shell-top)}.toc{display:flex;flex-direction:column;min-width:0;padding-bottom:var(--shell-top)}.toc-brand{display:flex;align-items:center;gap:8px;flex-shrink:0;height:24px;margin-bottom:40px;color:var(--ink)}.toc-brand span{font-size:15px;font-weight:500;line-height:24px;white-space:nowrap}.toc-nav{display:flex;flex-direction:column;gap:4px;min-width:0}.toc-item{display:block;flex-shrink:0;height:24px;font-size:15px;line-height:24px;text-align:left;color:var(--ink-2);transition:color var(--dur-1) var(--ease-out)}.toc-item.on{color:var(--ink)}@media(hover:hover){.toc-item:hover{color:var(--ink)}}.toc-foot{margin-top:auto;min-width:0;padding-top:24px}.toc-account{display:flex;align-items:center;gap:8px;max-width:100%;font-family:var(--sans);font-size:13px;line-height:20px;color:var(--muted);text-align:left;transition:color var(--dur-1) var(--ease-out)}.toc-account.on{color:var(--ink)}@media(hover:hover){.toc-account:hover{color:var(--ink)}}.toc-avatar{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--rule);object-fit:cover}.toc-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.toc-env{display:block;padding-top:4px;font-family:var(--mono);font-size:9px;line-height:12px;color:var(--faint);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(--col-margin);column-gap:var(--gutter);align-items:start;height:100%;flex-grow:1;min-height:0}.page.solo{grid-template-columns:minmax(0,var(--col-page))}.page-main{align-self:stretch;display:flex;flex-direction:column;min-height:0;margin-left:-32px;padding:0 0 var(--shell-top) 32px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent}.page{scrollbar-width:thin;scrollbar-color:transparent transparent}.page-main:hover,.page-main:focus-within,.page:hover,.page:focus-within{scrollbar-color:var(--scroll-thumb) transparent}.page-main::-webkit-scrollbar,.page::-webkit-scrollbar{width:10px}.page-main::-webkit-scrollbar-track,.page::-webkit-scrollbar-track{background:transparent}.page-main::-webkit-scrollbar-thumb,.page::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:8px;background:transparent;background-clip:content-box}.page-main:hover::-webkit-scrollbar-thumb,.page-main:focus-within::-webkit-scrollbar-thumb,.page:hover::-webkit-scrollbar-thumb,.page:focus-within::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:content-box}.page-aside{display:flex;flex-direction:column;gap:28px;min-width:0}.margin-sec{display:flex;flex-direction:column;min-width:0;text-align:left}.margin-sec>.kicker{margin-bottom:8px}.margin-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;height:32px;font-size:14px;line-height:32px;color:var(--ink-2)}.margin-row .k{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.margin-row .d{margin-right:12px;font-size:12px;color:var(--muted)}.margin-row .v{flex-shrink:0;font-family:var(--mono);font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.margin-row .v.muted,.margin-row .v .muted{color:var(--muted)}.empty{margin:0;padding:8px 0;font-size:15px;color:var(--faint)}.note{margin:8px 0 0;flex-shrink:0;font-family:var(--sans);font-size:12px;line-height:16px;color:var(--muted)}.note.err{color:var(--danger)}.errbar{display:flex;align-items:center;gap:12px;margin:0 0 24px}.linkish{font-family:var(--sans);font-size:12px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.center-note{flex-grow:1;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:13px;color:var(--muted)}.tabbar{display:none;position:absolute;left:0;right:0;bottom:0;z-index:20;height:calc(52px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);touch-action:none}.tab{flex:1 1 0;display:flex;align-items:center;justify-content:center;height:52px;font-family:var(--sans);font-size:12px;font-weight:500;line-height:52px;color:var(--muted);transition:color var(--dur-1) var(--ease-out)}.tab.on{color:var(--ink)}.masthead{display:flex;flex-direction:column;flex-shrink:0}.masthead-top{display:flex;align-items:baseline;gap:16px}.btn-back{font-family:var(--sans);font-size:12px;line-height:16px;color:var(--ink-2);white-space:nowrap;transition:color var(--dur-1) var(--ease-out)}@media(hover:hover){.btn-back:hover{color:var(--ink)}}.masthead-row{display:flex;align-items:baseline;gap:16px;margin-top:8px}.masthead-row:first-child{margin-top:24px}.masthead .title{margin:0;font-size:56px;line-height:64px;font-weight:500;letter-spacing:.01em;color:var(--ink);white-space:nowrap}.masthead .title .num{line-height:1}.masthead .weekday{margin-right:auto;font-size:24px;line-height:32px;color:var(--ink-2)}.masthead .count{margin-left:auto;font-size:15px;line-height:24px;color:var(--ink)}.head-rule{flex-shrink:0;height:2px;margin-top:16px;background:var(--rule)}.head-plus{display:none;align-items:center;justify-content:center;flex-shrink:0;align-self:center;width:44px;height:44px;margin:0 -11px;color:var(--ink-2)}.daystrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex-shrink:0;margin-top:20px;text-align:center}.daystrip-col{display:flex;flex-direction:column;gap:2px;color:var(--muted)}.daystrip-col.on{color:var(--ink)}.daystrip-wd,.daystrip-day{font-size:12px;line-height:16px}.daystrip-n{font-size:11.5px;line-height:16px}.daystrip-col.on .daystrip-wd,.daystrip-col.on .daystrip-day{font-weight:500}.dayline{position:relative;flex-shrink:0;height:2px;margin-top:12px;background:var(--rule)}.dayline-past{position:absolute;left:0;top:0;height:2px;background:var(--rule-past);transition:width var(--dur-3) var(--ease-move)}.dayline-dot{position:absolute;top:-1px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ink)}.dayline-now{position:absolute;top:-3px;width:2px;height:8px;margin-left:-1px;background:var(--ink);transition:left var(--dur-3) var(--ease-move)}.folio-body{display:flex;flex-direction:column;padding-top:24px}.group-head{display:flex;align-items:baseline;flex-shrink:0;height:16px;margin:32px 0 8px}.group-head:first-child{margin-top:0}.group-head .kicker.overdue{color:var(--danger)}.group-act{margin:-8px 0 -8px auto;padding:8px 0;font-family:var(--sans);font-size:12px;line-height:16px;color:var(--ink-2);transition:color var(--dur-1) var(--ease-out)}@media(hover:hover){.group-act:hover{color:var(--ink)}}.folio-fail{display:flex;align-items:center;gap:16px;height:48px;color:var(--danger)}.todo{position:relative;display:flex;align-items:center;gap:12px;flex-shrink:0;height:48px}.todo.is-pending{opacity:.55}.todo-box{position:absolute;left:-32px;top:2px;display:flex;align-items:center;justify-content:flex-start;width:36px;height:44px;color:var(--muted);transition:color var(--dur-1) var(--ease-out)}@media(hover:hover){.todo-box:hover:not(:disabled){color:var(--ink-2)}}.todo.is-done .todo-box{color:var(--ink-2);--icon-knob: var(--paper)}.todo-box:disabled{color:var(--faint);cursor:default}.todo.is-done .todo-box:disabled{color:var(--ink-2)}.todo-text{flex:1 1 0;min-width:0;display:flex;align-items:center;height:48px;text-align:left;font-size:17px;line-height:24px;color:var(--ink);word-break:break-word;transition:color var(--dur-1) var(--ease-out)}.todo-text:active:not(:disabled){color:var(--ink-2);transition:none}.todo.is-done .todo-text{color:var(--muted)}.todo-rd{flex-shrink:0;min-width:96px;font-family:var(--mono);font-size:12px;line-height:16px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.todo-rd.danger{color:var(--danger)}.todo-rd.faint{color:var(--faint)}.rd-mob{display:none}.todo-edit-form{flex:1 1 0;min-width:0;display:flex;align-items:center}.todo-edit-form input{width:100%;height:32px;padding:4px 0 3px;border-bottom:1px solid var(--ink-2);font-size:17px;line-height:24px}.todo-tools{display:flex;align-items:center;gap:12px;flex-shrink:0;animation:fade-in var(--dur-1) var(--ease-out) both}.todo-del{flex-shrink:0;height:32px;padding:0 2px;font-family:var(--sans);font-size:12px;color:var(--danger);white-space:nowrap}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.pen-line{display:flex;align-items:center;gap:12px;flex-shrink:0;height:48px;margin-top:16px;border-bottom:1px solid var(--rule);transition:border-color var(--dur-1) var(--ease-out)}.folio-body>.pen-line:first-child{margin-top:0}.pen-line:focus-within{border-color:var(--ink-2)}.pen-line>input{flex:1 1 0;min-width:0;height:48px;font-size:17px;line-height:24px}.pen-line>input::placeholder{color:var(--faint)}.pen-tap-line{width:100%;text-align:left;font-size:17px;line-height:24px;color:var(--faint);transition:color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}@media(hover:hover){.pen-tap-line:hover{color:var(--muted);border-color:var(--ink-2)}}.pen-tap{display:none;flex:1 1 0;min-width:0;height:48px;text-align:left;font-size:16px;line-height:24px;color:var(--faint)}.folio-note{display:flex;align-items:baseline;flex-shrink:0;margin-top:16px;font-family:var(--mono);font-size:12px;line-height:24px;text-align:left;color:var(--muted);font-variant-numeric:tabular-nums}.index-item{font:inherit;color:inherit;transition:color var(--dur-1) var(--ease-out)}.index-item.on{color:var(--ink-2)}@media(hover:hover){.index-item:hover{color:var(--ink-2)}}.index-dot{padding:0 .5em}.fold-list{display:flex;flex-direction:column;flex-shrink:0;margin-top:8px}.margin-mobile{display:none;flex-direction:column}.margin-week{cursor:pointer}.week-string{font-size:13px;line-height:32px;letter-spacing:.18em;color:var(--ink);transition:color var(--dur-1) var(--ease-out)}.week-total{letter-spacing:0;color:var(--muted)}@media(hover:hover){.margin-week:hover .kicker{color:var(--ink-2)}}.datechip{display:inline-flex;align-items:center;flex-shrink:0;height:24px;padding:0 8px;border:1px solid var(--rule);border-radius:var(--radius-tag);background:var(--field);font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted);font-variant-numeric:tabular-nums}.datechip.is-set{color:var(--ink-2)}.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)}@media(hover:hover){.datechip-clear:hover{color:var(--muted)}}.btn-primary{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;height:40px;padding:0 16px;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-family:var(--sans);font-size:13px;font-weight:500;transition:opacity var(--dur-1) var(--ease-out)}@media(hover:hover){.btn-primary:hover:not(:disabled){opacity:.85}}.btn-primary:disabled{opacity:.4;cursor:default}.btn-text{display:flex;align-items:center;flex-shrink:0;height:40px;padding:0 4px;font-family:var(--sans);font-size:12px;color:var(--ink-2);transition:color var(--dur-1) var(--ease-out)}@media(hover:hover){.btn-text:hover:not(:disabled){color:var(--ink)}}.btn-text:disabled{color:var(--faint);cursor:default}.btn-danger{display:flex;align-items:center;flex-shrink:0;height:40px;padding:0 4px;color:var(--danger);font-family:var(--sans);font-size:13px}.ledger-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 12px;flex-shrink:0;margin-top:8px}.ledger-big{font-size:40px;line-height:48px;font-weight:500;color:var(--ink)}.ledger-plus{font-size:20px;line-height:24px;color:var(--ink-2)}.ledger-year{margin-left:auto;font-size:13px;line-height:24px;color:var(--muted);white-space:nowrap}.ledger-table{display:flex;flex-direction:column;flex-shrink:0;margin-top:32px}.ledger-table.is-ended{margin-top:8px}.ledger-th,.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 60px 80px 90px;column-gap:16px;align-items:center;flex-shrink:0;width:100%}.ledger-th{height:32px;padding-bottom:8px;align-items:end;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:11px;line-height:16px;letter-spacing:.1em;color:var(--muted)}.ledger-th>span:not(:first-child),.ledger-row>.num,.ledger-cycle,.ledger-left{text-align:right;white-space:nowrap}.ledger-row{height:48px;text-align:left;color:var(--ink);transition:color var(--dur-1) var(--ease-out)}.ledger-row:active{color:var(--ink-2);transition:none}.ledger-name{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:17px;line-height:24px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ledger-name em{flex-shrink:0;font-size:12px;font-style:normal;color:var(--danger)}.ledger-amount{font-size:15px;line-height:24px}.ledger-cycle{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted)}.ledger-next{font-size:13px;line-height:16px}.ledger-left{font-family:var(--mono);font-size:13px;line-height:16px;color:var(--muted);font-variant-numeric:tabular-nums}.ledger-left.today{color:var(--ink)}.is-ended .ledger-row,.is-ended .ledger-row .ledger-next{color:var(--muted)}.ledger-sub{display:none}.next-row{display:flex;align-items:baseline;gap:10px;height:32px}.next-date{font-size:20px;line-height:32px;font-weight:500;color:var(--ink)}.next-name{min-width:0;font-size:15px;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.next-amount{margin-left:auto;font-size:13px;color:var(--ink)}.rev-day{display:flex;flex-direction:column;flex-shrink:0;margin-top:24px}.rev-day:first-child{margin-top:0}.rev-head{display:flex;align-items:baseline;gap:12px;height:32px;line-height:32px}.rev-name{font-size:15px;font-weight:500;color:var(--ink)}.rev-date{font-size:11.5px;color:var(--muted)}.rev-count{margin-left:auto;font-size:12px;color:var(--muted)}.rev-row{display:flex;align-items:center;gap:16px;height:44px}.rev-time{flex-shrink:0;width:40px;font-size:11.5px;line-height:16px;color:var(--faint)}.rev-text{min-width:0;font-size:16px;line-height:24px;color:var(--ink-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kv{display:flex;align-items:center;gap:16px;flex-shrink:0;min-height:44px}.kv .k{flex-shrink:0;width:120px;font-family:var(--sans);font-size:13px;line-height:16px;color:var(--muted)}.kv .v{min-width:0;font-size:15px;line-height:24px;color:var(--ink);overflow-wrap:anywhere}.kv .v.num{font-size:13px;color:var(--ink)}.kv .v.muted{color:var(--muted)}.kv .v:has(+.kv-edit){cursor:text}.kv-edit{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;color:var(--ink-2);transition:color var(--dur-1) var(--ease-out)}@media(hover:hover){.kv-edit:hover{color:var(--ink)}}.kv-input{flex:1 1 0;min-width:0;max-width:320px;height:32px;padding:4px 0 3px;border-bottom:1px solid var(--ink-2);font-size:15px;line-height:24px}.kv-input::placeholder{color:var(--faint)}.kv .btn-danger{margin-left:auto}.profile-card{display:flex;align-items:center;gap:16px;flex-shrink:0;min-width:0;padding:4px 0 12px}.profile-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--rule);color:var(--ink);font-size:24px;font-weight:500;line-height:1}.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:15px;line-height:24px;color:var(--ink)}.profile-email{font-size:13px;line-height:16px;color:var(--ink-2);overflow-wrap:anywhere}.profile-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.profile-actions label{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}.modal-scrim{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--app-h, 100%);z-index:40;background:var(--scrim);animation:scrim-in var(--dur-1) var(--ease-out) both}.modal-scrim.is-closing{animation:scrim-out var(--dur-1) var(--ease-out) both}.modal{position:fixed;left:50%;top:calc(var(--vv-top, 0px) + min(96px,12vh));transform:translate(-50%);z-index:50;width:min(420px,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:20px 24px;border:1px solid var(--rule);border-radius:var(--radius-modal);background:var(--surface);box-shadow:var(--shadow-modal);animation:modal-in var(--dur-2) var(--ease-out) both}.modal.is-closing{animation:modal-out var(--dur-1) var(--ease-out) both}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,var(--rise))}to{opacity:1;transform:translate(-50%)}}@keyframes modal-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,var(--rise))}}.modal-title{margin:0 0 16px;font-family:var(--mono);font-weight:400;font-size:11.5px;line-height:16px;letter-spacing:.12em;color:var(--muted)}.modal-form{display:flex;align-items:center;flex-shrink:0;height:48px;padding:0 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--field);transition:border-color var(--dur-1) var(--ease-out)}.modal-form:focus-within{border-color:var(--ink-2)}.modal-form input{width:100%;font-size:17px;line-height:24px}.modal-form input::placeholder{color:var(--faint)}.modal-foot{display:flex;align-items:center;gap:12px;flex-shrink:0;padding-top:16px}.modal-hint{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted);font-variant-numeric:tabular-nums}.modal-foot .btn-primary{margin-left:auto}.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-val{display:flex;align-items:center;gap:10px}.f-amount{flex-grow:1;min-width:0;height:40px;padding:0 12px;border:1px solid var(--rule);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,.segmented{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.choice button,.segmented button{display:flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 10px;border:1px solid var(--rule);border-radius:var(--radius-tag);background:var(--field);font-family:var(--mono);font-size:12px;color:var(--ink-2);transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.choice button.on,.segmented button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.f-check{display:flex;align-items:center;gap:11px;min-height:44px;margin-top:12px;font-family:var(--sans);font-size:13px;color:var(--ink-2)}.f-check span{display:flex;color:var(--muted)}.f-check[aria-pressed=true] span{color:var(--accent);--icon-knob: var(--accent-ink)}.f-foot{display:flex;align-items:center;gap:12px;padding-top:20px;margin-top:8px}.f-foot .btn-primary{margin-left:auto}.f-foot .todo-del{height:40px}.sub-fields[disabled]{opacity:.6}.login{flex-grow:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-col{display:flex;flex-direction:column;width:min(360px,100%)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:32px;color:var(--ink)}.login-brand span{font-size:20px;font-weight:600;line-height:24px}.field{display:flex;flex-direction:column;gap:8px;margin-top:16px}.field:first-of-type{margin-top:0}.field input{height:44px;padding:0 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--field);font-family:var(--sans);font-size:16px;transition:border-color var(--dur-1) var(--ease-out)}.field input:focus{border-color:var(--ink-2)}.login .btn-primary{margin-top:24px}@media(min-width:901px)and (max-width:1119px){.workspace{--col-toc: 160px}.page{display:flex;flex-direction:column;align-items:stretch}.page-main{flex:0 1 auto;min-height:0;padding-bottom:24px}.page-aside{display:grid;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);padding:24px 0 var(--shell-top)}}@media(max-width:900px),(pointer:coarse){.workspace{display:block;width:100%;max-width:none;margin:0;padding:0}.toc{display:none}.main{height:100%}.page{display:flex;flex-direction:column;align-items:stretch;padding:max(60px,calc(env(safe-area-inset-top) + 16px)) 20px calc(76px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.page>*{flex-shrink:0}.page>.page-main,.page>.page-aside{width:100%;max-width:560px;margin-left:auto;margin-right:auto}.page-main{margin-left:0;padding:0;overflow:visible}.page-aside{display:none}.page.keep-aside .page-aside{display:flex;padding-top:32px}.tabbar{display:flex}.errbar{margin-bottom:16px}.todo-edit-form input,.pen-line>input,.modal input,.field input,.kv-input{font-size:16px}.ledger-th{display:none}.ledger-table{margin-top:24px}.ledger-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:24px 16px;column-gap:12px;height:56px;padding:8px 0;align-content:center}.ledger-cycle,.ledger-next,.ledger-left{display:none}.ledger-sub{display:block;grid-column:1 / -1;font-size:11.5px;line-height:16px;color:var(--muted)}.ledger-year{flex-basis:100%;margin-left:0}.ledger-big{font-size:32px}.kv .k{width:88px}.profile-card{flex-wrap:wrap;gap:8px 16px}.profile-meta{flex:1 1 0}.profile-actions{flex-basis:100%;justify-content:flex-start;margin-left:0;padding-left:72px}.segmented button{height:36px;padding:0 12px}}@media(max-width:900px),(pointer:coarse){.kicker{font-size:11px}.masthead-row{gap:10px;margin-top:6px}.masthead-row:first-child{margin-top:22px}.masthead .title{font-size:40px;line-height:48px}.masthead .weekday{font-size:18px;line-height:24px}.masthead .count{font-size:14px}.head-plus{display:flex}.daystrip{margin-top:16px}.daystrip-wd,.daystrip-n{font-size:11px}.group-head{margin:24px 0 8px}.group-head:first-child{margin-top:0}.todo{gap:14px}.todo-box{position:static;justify-content:center;width:44px;height:44px;margin:0 -13px}.todo-text,.todo-edit-form input{font-size:16px}.todo-rd{min-width:0;font-size:11.5px}.rd-desk{display:none}.rd-mob{display:inline}.pen-line{margin-top:12px}.pen-line>input{display:none}.pen-tap{display:flex;align-items:center}.folio-note{margin-top:0;line-height:44px}.index-row{margin-top:12px}.margin-mobile{display:flex}}@media(pointer:coarse){.datechip-label{padding:14px 8px;margin:-14px -8px}.datechip-label:last-child{padding:14px 10px;margin:-14px -10px}.datechip-clear{padding:14px 16px 14px 8px;margin:-14px -16px -14px 0;line-height:16px}.choice button,.segmented button{position:relative}.choice button:before,.segmented button:before{content:"";position:absolute;inset:-9px -3px}.segmented button:before{top:-5px;bottom:-5px}.kv-edit{width:44px;height:44px;margin:-8px}.btn-back{position:relative;padding:14px 0;margin:-14px 0}.group-act{padding:20px 0 8px;margin:-20px 0 -8px auto}}
