:root{color-scheme:light;--paper: #f3f0e7;--tape: #fffdf7;--ink: #1c1b19;--ink-2: #55514a;--mute: #716c60;--note: #6b665b;--rule: #d8d2c2;--leader: #c9c2b1;--own: #6b4a33;--own-tint: #efe6dc;--mark: #ffeb8a;--flash: #ffe14d;--good: #2b6b44;--good-tint: #e4efe7;--warn: #8a5600;--warn-tint: #faedd2;--bad: #b3261e;--bad-tint: #f8e2df;--series-1: var(--ink);--series-2: var(--own);--series-3: #b9b2a1;--surface: var(--tape);--border: var(--rule);--text: var(--ink);--text-2: var(--ink-2);--text-3: var(--mute);--mono: "JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font:13px/1.5 var(--mono);font-variant-numeric:tabular-nums;display:flex;flex-direction:column}button,input,select{font:inherit;color:inherit}#root{display:contents}::selection{background:var(--ink);color:var(--paper)}.bar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid var(--ink);background:var(--paper)}.brand{display:flex;align-items:center;padding:0 16px;font-weight:700;letter-spacing:.08em;color:var(--ink);text-decoration:none;border-right:1px solid var(--ink);white-space:nowrap}.brand i{color:var(--own);font-style:normal;padding:0 2px}#fkeys{display:flex;overflow-x:auto;scrollbar-width:none;flex:1 1 0;min-width:0}#fkeys::-webkit-scrollbar{display:none}#fkeys a{padding:11px 14px;border-right:1px solid var(--rule);color:var(--mute);text-decoration:none;white-space:nowrap}#fkeys a b{color:var(--ink);margin-right:6px}#fkeys a:hover{color:var(--ink);background:var(--tape)}#fkeys a[aria-current]{background:var(--ink);color:var(--paper)}#fkeys a[aria-current] b{color:var(--mark)}.more-btn{padding:11px 14px;border:0;border-right:1px solid var(--rule);background:none;color:var(--mute);cursor:pointer;white-space:nowrap}.more-btn:hover,.more-btn.on{color:var(--ink);background:var(--tape)}.more-btn:disabled{cursor:default}#more{order:10;flex:1 0 100%;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--rule);background:var(--tape)}#more::-webkit-scrollbar{display:none}#more span{padding:0 14px 0 16px;color:var(--mute);font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}#more a{padding:9px 14px;border-left:1px solid var(--rule);color:var(--mute);text-decoration:none;white-space:nowrap}#more a:hover{color:var(--ink)}#more a[aria-current]{background:var(--ink);color:var(--paper)}.strip{display:none}.bar-right{display:flex;align-items:center;gap:16px;padding:0 16px;color:var(--mute);white-space:nowrap}.grid{flex:1;display:grid;grid-template-columns:300px minmax(0,1fr) 290px;grid-template-rows:auto 1fr}.entry{grid-column:1;grid-row:1 / 3}.tape-col{grid-column:2;grid-row:1 / 3}.summary{grid-column:3;grid-row:1 / 3}h2{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--mute)}.entry{padding:18px 18px 8px;border-right:1px solid var(--rule)}.in{display:flex;align-items:baseline;gap:6px;padding:7px 0}.in label{flex:1;overflow:hidden;white-space:nowrap;color:var(--mute)}.in label:after{content:" . . . . . . . . . . . . . . . . . . . . . . . . . . . .";color:var(--leader)}.in input{width:118px;border:0;border-bottom:1px dashed var(--mute);background:none;outline:none;text-align:right;font-weight:700;font-size:14px;padding:2px 0;color:var(--own)}.in input:focus{border-bottom:1px solid var(--own)}.in input:focus-visible,.plan-save input:focus-visible,.acct-pop input:focus-visible{outline:2px solid var(--own);outline-offset:3px}.in:focus-within label{color:var(--ink)}.in-note{margin:-4px 0 4px;text-align:right;color:var(--note);font-size:11px}.in-note a{color:inherit;text-underline-offset:2px}.in-note a:hover{color:var(--ink)}.in-link{font:inherit;background:none;border:0;padding:0;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--mute);text-underline-offset:2px}.in-link:hover{color:var(--ink)}.in-link.on{color:var(--ink);font-weight:700;text-decoration-color:currentColor}.in-use{margin-left:4px;font-size:10px;letter-spacing:.08em;background:none;border:1px solid currentColor;color:inherit;padding:0 5px;cursor:pointer}.in-use:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.keys{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.keys button{font-size:12px;background:none;border:1px solid var(--ink);padding:6px 10px;cursor:pointer}.keys button:hover{background:var(--ink);color:var(--paper)}.keys button.on{background:var(--own);border-color:var(--own);color:#fff}.keys button:focus-visible,#fkeys a:focus-visible{outline:2px solid var(--own);outline-offset:2px}.assume{margin-top:auto;padding-top:12px;border-top:1px dashed var(--rule);color:var(--note);font-size:11.5px;line-height:1.6}.assume small{font-size:inherit}.assume-edit{color:var(--note);text-underline-offset:2px}.spend-row{display:flex;align-items:baseline;gap:8px}.spend-row .in{flex:1;min-width:0}.spend-del{flex:none;width:24px;height:24px;padding:0;background:none;border:0;color:var(--mute);cursor:pointer;font-size:12px}.spend-del:hover{color:var(--bad)}.spend-add{margin:8px 0 4px}.entry-group.idle{opacity:.5;transition:opacity .15s}.entry-group.idle:focus-within,.entry-group.idle:hover{opacity:1}.entry-group{margin-top:20px;padding-top:14px;border-top:1px dashed var(--rule)}.entry-group h2{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.group-figure{color:var(--ink);font-size:15px;letter-spacing:0}.group-note{margin:0 0 4px;text-align:right;color:var(--note);font-size:11.5px}.plans{padding-top:16px;border-top:1px dashed var(--rule)}.plans-pop{width:320px}.plans-pop .plans{padding-top:0;border-top:0}.plans-note{margin:0 0 10px;color:var(--mute);font-size:11.5px;line-height:1.55}.plan-save{display:flex;gap:6px}.plan-save input{flex:1;min-width:0;border:0;border-bottom:1px dashed var(--mute);background:none;outline:none;padding:4px 0;font-weight:700}.plan-save input:focus{border-bottom:1px solid var(--own)}.plan-save button,.plan-del{font-size:12px;background:none;border:1px solid var(--ink);padding:5px 10px;cursor:pointer}.plan-save button:hover,.plan-del:hover{background:var(--ink);color:var(--paper)}.plan-list{list-style:none;margin:12px 0 0;padding:0}.plan-list li{display:flex;align-items:stretch;gap:6px;border-top:1px dashed var(--rule);padding:6px 0}.plan-load{flex:1;min-width:0;text-align:left;background:none;border:0;padding:2px 0;cursor:pointer}.plan-load b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-load small{display:block;color:var(--mute);font-size:11px}.plan-load:hover b{color:var(--own)}.plan-del{align-self:center;border-color:var(--rule);color:var(--mute)}.plan-del.sure{border-color:var(--bad);background:var(--bad);color:#fff}.about-you{margin-top:22px;padding-top:16px;border-top:1px dashed var(--rule)}.about-you .q{margin:12px 0 6px;color:var(--mute)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button{font-size:12px;background:none;border:1px solid var(--rule);color:var(--text-2);padding:5px 9px;cursor:pointer}.chips button:hover{border-color:var(--ink);color:var(--ink)}.chips button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chips button:focus-visible{outline:2px solid var(--own);outline-offset:2px}.about-notes{display:block;width:100%;resize:vertical;border:1px dashed var(--mute);background:var(--tape);padding:8px;font:12px/1.5 var(--mono);outline:none}.about-notes:focus{border:1px solid var(--own)}.help{margin:18px 0 0;min-height:3.4em;color:var(--mute);font-size:11.5px;line-height:1.6}.tape-col{padding:0 24px;background:repeating-linear-gradient(90deg,transparent 0 23px,rgb(0 0 0 / .018) 23px 24px)}.tape{max-width:500px;min-height:100%;margin:0 auto;padding:18px 22px 30px;background:var(--tape);border-left:1px solid var(--rule);border-right:1px solid var(--rule);box-shadow:0 0 0 6px #00000004}.tape-desc{margin:0 0 8px;padding-bottom:10px;border-bottom:1px dashed var(--rule);color:var(--text-2);font-size:12px}.about{margin:0 0 12px;padding:10px 12px;border:1px dashed var(--ink);background:var(--paper)}.about summary{cursor:pointer;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12px;list-style:none;display:flex;justify-content:space-between;gap:8px}.about summary::-webkit-details-marker{display:none}.about summary:after{content:"[+]";color:var(--mute);font-weight:400}.about[open] summary:after{content:"[−]"}.about p{margin:10px 0 0;color:var(--text-2);font-size:12px;line-height:1.65}.about ul{margin:10px 0 0;padding:0;list-style:none}.about li{position:relative;padding-left:16px;color:var(--text-2);font-size:12px;line-height:1.6;margin-bottom:3px}.about li:before{content:"→";position:absolute;left:0;color:var(--mute)}.ln{display:grid;grid-template-columns:1fr 20px 128px;gap:6px;align-items:baseline;line-height:1.85}.ln .n{text-align:right;font-weight:700}.ln .op{text-align:center;color:var(--mute)}.ln .l{font-size:11px;letter-spacing:.08em;color:var(--mute);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ln.key .l{color:var(--ink-2)}.ln.key .n{font-weight:800}.ln.good,.ln.good .op,.ln.good .l{color:var(--good)}.ln.warn,.ln.warn .op,.ln.warn .l{color:var(--warn)}.ln.bad,.ln.bad .op,.ln.bad .l{color:var(--bad)}.ln.mark,.tbl .tr.mark{background:var(--mark);box-shadow:-6px 0 0 var(--mark),6px 0 0 var(--mark)}.ln.total .n{font-size:16px}.rule{border-top:1px dashed var(--rule);margin:5px 0}.rule.double{border-top:3px double var(--ink)}.sec{margin:18px 0 6px;font-size:11px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase}.tbl .tr{display:grid;grid-template-columns:var(--cols);gap:8px;line-height:1.7;font-size:12px}.tbl .tr span{text-align:right;white-space:nowrap;overflow:hidden}.tbl .tr span:first-child{text-align:left;color:var(--mute)}.tbl .tr:not(.th) span:nth-child(3){font-weight:700}.tbl .th{color:var(--mute);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px dashed var(--rule);margin-bottom:2px}.tbl .tr.mark span{color:var(--ink)}.notes{list-style:none;margin:0;padding:0}.notes li{position:relative;padding-left:16px;color:var(--text-2);font-size:12px;line-height:1.6;margin-bottom:4px}.notes li:before{content:">";position:absolute;left:0;color:var(--mute)}.prompt{margin:0 0 10px;padding:12px;border:1px dashed var(--ink);background:var(--paper)}.prompt-head{display:flex;align-items:flex-start;gap:12px}.prompt-head>div{flex:1;min-width:0}.prompt-head b{display:block;font-size:13px}.prompt-head p{margin:2px 0 0;color:var(--text-2);font-size:12px;line-height:1.5}.prompt-head button{flex:none;min-width:92px;font-size:12px;font-weight:700;letter-spacing:.08em;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:8px 12px;cursor:pointer}.prompt-head button:hover{background:var(--own);border-color:var(--own)}.prompt-head button.on{background:var(--good);border-color:var(--good);color:#fff}.prompt details{margin-top:8px}.prompt summary{cursor:pointer;color:var(--mute);font-size:11px;width:fit-content}.prompt pre{margin:8px 0 0;padding:10px;max-height:320px;overflow:auto;background:var(--tape);border:1px solid var(--rule);font:11.5px/1.55 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-2)}.summary{padding:18px 18px 24px;border-left:1px solid var(--rule);display:flex;flex-direction:column;gap:18px}.hero small{display:block;font-size:11px;letter-spacing:.14em;color:var(--mute)}.hero b{display:block;margin:2px 0 4px;font-size:64px;font-weight:700;letter-spacing:-.04em;line-height:1;overflow-wrap:anywhere}.hero b.good,.strip b.good{color:var(--good)}.hero b.warn,.strip b.warn{color:var(--warn)}.hero b.bad,.strip b.bad{color:var(--bad)}.hero b.long{font-size:36px;letter-spacing:-.02em;line-height:1.15}.hero-story p{margin:0;color:var(--text-2);font-size:17px;line-height:1.55}.hero-story b{color:var(--ink)}.hero-story p+p{margin-top:8px;font-size:14px}.hero em{display:block;font-style:normal;color:var(--text-2);font-size:13px}.hero-progress .ascii{font-size:12px}.hero-progress span{display:block;margin-top:2px;color:var(--note);font-size:12px}.ascii{font-size:12px;letter-spacing:-.5px;white-space:nowrap;overflow:hidden}.ascii i{font-style:normal;color:var(--ink)}@keyframes flash{0%{background-color:var(--flash)}to{background-color:transparent}}.flash{animation:flash .9s ease-out}#fkeys a,.keys button,.acct-btn{display:inline-block}.account{position:relative}.acct-btn{font-size:11.5px;font-weight:700;letter-spacing:.08em;background:none;border:1px solid var(--ink);padding:4px 10px;cursor:pointer}.acct-btn:hover{background:var(--ink);color:var(--paper)}.acct-btn.in{display:inline-flex;align-items:center;gap:6px;border-color:transparent;padding:4px 0;color:var(--note);font-weight:500}.acct-btn.in:hover{background:none;color:var(--ink)}.acct-btn .dot{width:7px;height:7px;border-radius:50%;background:var(--ink)}.acct-btn .dot.saving,.acct-btn .dot.loading{background:var(--mute)}.acct-btn .dot.error{background:var(--bad)}.acct-btn.in:has(.dot.error){color:var(--bad)}.acct-pop{position:absolute;right:0;top:calc(100% + 10px);z-index:30;width:290px;padding:16px;background:var(--tape);border:1px solid var(--ink);box-shadow:4px 4px #0000001a;white-space:normal;color:var(--ink)}.acct-pop label{display:block;color:var(--mute);font-size:11px;letter-spacing:.1em;margin-top:10px}.acct-pop input{display:block;width:100%;margin-top:2px;border:0;border-bottom:1px dashed var(--mute);background:none;outline:none;padding:4px 0;font-weight:700}.acct-pop input:focus{border-bottom:1px solid var(--own)}.acct-note{margin:0 0 8px;color:var(--text-2);font-size:11.5px;line-height:1.55}.acct-who{margin:0 0 10px;font-size:12px;color:var(--mute);overflow-wrap:anywhere}.acct-who b{color:var(--ink)}.acct-msg{margin:10px 0 0;font-size:11.5px;color:var(--bad)}.acct-msg.ok{color:var(--ink)}.acct-actions{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.acct-pop button{font-size:11.5px;background:none;border:1px solid var(--ink);padding:6px 10px;cursor:pointer}.acct-pop button:disabled{opacity:.5;cursor:wait}.acct-pop .acct-main{background:var(--ink);color:var(--paper);margin-bottom:8px}.acct-pop .acct-link{border:0;padding:0;margin-top:10px;color:var(--mute);text-decoration:underline;text-underline-offset:3px}.intro{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--ink);color:var(--paper);font-size:12px;line-height:1.5}.intro span{flex:1}.intro button{flex:none;font-size:12px;font-weight:700;letter-spacing:.08em;background:var(--paper);color:var(--ink);border:0;padding:6px 14px;cursor:pointer}.foot{padding:12px 16px;border-top:1px solid var(--rule);color:var(--mute);font-size:11px}.plot-wrap{margin:4px 0 12px}.chart .legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:6px;font-size:11px;color:var(--mute)}.chart .legend:empty{display:none}.lg{display:inline-flex;align-items:center;gap:6px}.plot{position:relative;width:100%}.plot svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}.plot .grid{stroke:var(--rule);stroke-dasharray:2 3}.plot .baseline{stroke:var(--ink)}.plot .axis{fill:var(--mute);font-family:var(--mono);font-size:10px}.plot .ref{fill:var(--ink-2);font-family:var(--mono);font-size:10.5px}.plot .mk{fill:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;paint-order:stroke;stroke:var(--tape);stroke-width:4px}.plot .cross{stroke:var(--mute);stroke-dasharray:2 3}.tip{position:absolute;pointer-events:none;z-index:2;min-width:170px;padding:8px 10px;background:var(--tape);border:1px solid var(--ink);font-size:11.5px;box-shadow:3px 3px #00000014}.tip-title{font-weight:700;margin-bottom:4px}.tip-row{display:flex;align-items:center;gap:8px;color:var(--text-2)}.tip-row i{width:9px;height:9px;flex:none}.tip-row i.none{background:none}.tip-row b{margin-left:auto;padding-left:10px;color:var(--ink);white-space:nowrap}.table-view{margin-top:6px;font-size:11px}.table-view summary{cursor:pointer;color:var(--mute);width:fit-content}.tw{overflow:auto;max-height:260px;margin-top:6px}.tw table{border-collapse:collapse;width:100%}.tw th,.tw td{padding:3px 8px;text-align:right;border-bottom:1px dashed var(--rule);white-space:nowrap}.tw th:first-child,.tw td:first-child{text-align:left}.tw th{position:sticky;top:0;background:var(--tape);color:var(--mute);font-weight:500}@media(max-width:1100px){.bar .date,#fkeys a b{display:none}#fkeys{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}#fkeys:after{content:"";flex:0 0 40px}.in input{width:104px}.grid{grid-template-columns:280px minmax(0,1fr);grid-template-rows:auto auto 1fr}.entry,.tape-col{grid-row:2 / 4}.summary{grid-column:1 / -1;grid-row:1;border-left:0;border-bottom:1px solid var(--rule);gap:12px}.assume{margin-top:0}}@media(max-width:760px){.bar{top:-48px;flex-wrap:wrap}.bar:after{content:"";order:3;flex-basis:100%}.brand{order:1;flex:1;height:48px;padding:0 16px;border-right:0;letter-spacing:.04em}.bar-right{order:2;height:48px;gap:12px;padding:0 16px 0 0}.bar .date{display:none}#fkeys{order:4;flex:1 0 100%;min-width:0;border-top:1px solid var(--rule)}#fkeys a{padding:12px}#fkeys a b{display:none}#fkeys{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}#fkeys:after{content:"";flex:0 0 48px}.acct-pop{position:fixed;left:16px;right:16px;top:56px;width:auto}.grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.summary,.entry,.tape-col{grid-column:1;grid-row:auto}.summary{order:-1;padding:16px;gap:12px 24px}.hero b{font-size:56px}.hero b.long{font-size:32px}.entry{border-right:0;border-bottom:1px solid var(--rule);padding:14px 16px 18px}.tape-col{padding:0}.tape{border:0;padding:16px 16px 24px}.ln{grid-template-columns:1fr 18px 112px}.strip{position:absolute;top:100%;left:0;right:0;display:flex;align-items:baseline;gap:8px;min-width:0;padding:8px 16px;background:var(--tape);border-bottom:1px solid var(--ink);white-space:nowrap;overflow:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.strip.show{opacity:1;transform:none}.strip small{font-size:10.5px;letter-spacing:.12em;color:var(--mute)}.strip b{font-size:17px}.strip em{font-style:normal;font-size:11.5px;color:var(--note);overflow:hidden;text-overflow:ellipsis;min-width:0}.in-note{font-size:12px;line-height:1.7}.in-link{padding:6px 2px;margin:-6px 0}.in-use{padding:3px 8px;font-size:11px}.in-note a,.assume-edit{display:inline-block;padding:8px 2px;margin:-8px 0}.table-view summary,.about summary,.prompt summary{padding:8px 0}.in{padding:9px 0}.in input,.plan-save input,.acct-pop input,.about-notes{font-size:16px}.chips button{padding:8px 12px}.keys button{padding:9px 12px}}@media(hover:none),(pointer:coarse){.help.idle{display:none}}
