@import url(https://fonts.googleapis.com/css2?family=Anton&family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,500&display=swap);:root{--paper:#f2ede2;--paper-2:#eae4d2;--card:#fbf8f0;--ink:#211e16;--ink-2:#5c5545;--ink-3:#9b937e;--line:#dcd4be;--line-2:#c7bea3;--edge:#211e16;--red:#c73e2c;--red-deep:#a93323;--red-soft:#c73e2c17;--green:#3f6b4f;--green-soft:#3f6b4f1c;--amber:#b07f27;--dot:#211e1612;--sans:"Instrument Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--disp:"Anton","Arial Narrow",sans-serif}:root[data-theme=dark]{--paper:#171410;--paper-2:#110f0b;--card:#201c15;--ink:#efe7d3;--ink-2:#b5ab90;--ink-3:#7a7159;--line:#35301f;--line-2:#4a4229;--edge:#0a0805;--red:#e25a41;--red-deep:#ee7057;--red-soft:#e25a4121;--green:#7bae8e;--green-soft:#7bae8e1f;--amber:#d3a54b;--dot:#efe7d30d}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background-color:#f2ede2;background-color:var(--paper);height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;background-image:radial-gradient(#211e1612 1px,#0000 1.4px);background-image:radial-gradient(var(--dot) 1px,#0000 1.4px);background-size:22px 22px;color:#211e16;color:var(--ink);font-family:Instrument Sans,system-ui,sans-serif;font-family:var(--sans);font-size:15px;line-height:1.45}#root{display:flex;flex-direction:column;height:100%}::selection{background:#c73e2c17;background:var(--red-soft);color:#211e16;color:var(--ink)}button{color:inherit}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid #c73e2c;outline:2px solid var(--red);outline-offset:2px}.scroll{overflow-y:auto;scrollbar-color:#c7bea3 #0000;scrollbar-color:var(--line-2) #0000;scrollbar-width:thin}.scroll::-webkit-scrollbar{width:4px}.scroll::-webkit-scrollbar-thumb{background:#c7bea3;background:var(--line-2);border-radius:99px}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.lc2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.rise{animation:rise .26s ease both}.spinner{animation:spin .7s linear infinite;border:2.5px solid #c73e2c;border:2.5px solid var(--red);border-radius:50%;border-top:2.5px solid #0000;height:24px;margin:72px auto 0;width:24px}.microlabel{color:#9b937e;color:var(--ink-3);font-size:10px;letter-spacing:.14em}.btn,.microlabel{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-weight:600;text-transform:uppercase}.btn{align-items:center;background:#fbf8f0;background:var(--card);border:1.5px solid #211e16;border:1.5px solid var(--ink);border-radius:4px;box-shadow:2px 2px 0 #211e16;box-shadow:2px 2px 0 var(--edge);color:#211e16;color:var(--ink);cursor:pointer;display:inline-flex;font-size:12px;gap:7px;justify-content:center;letter-spacing:.08em;padding:10px 16px;transition:transform .1s,box-shadow .1s,background .15s}.btn:hover{background:#eae4d2;background:var(--paper-2)}.btn:active{box-shadow:0 0 0 #211e16;box-shadow:0 0 0 var(--edge);transform:translate(2px,2px)}.btn:disabled{border-color:#c7bea3;border-color:var(--line-2);box-shadow:none;cursor:not-allowed;opacity:.45}.btn:disabled:active{transform:none}.btn-red{background:#c73e2c;background:var(--red);border-color:#a93323;border-color:var(--red-deep);color:#fbf8f0}.btn-red:hover{background:#a93323;background:var(--red-deep)}.btn-green{border-color:#3f6b4f;border-color:var(--green);color:#fbf8f0}.btn-green,.btn-green:hover{background:#3f6b4f;background:var(--green)}.btn-green:hover{filter:brightness(1.08)}.btn-wide{padding:13px 16px;width:100%}.btn-plain{background:#0000;border:1px solid #c7bea3;border:1px solid var(--line-2);box-shadow:none}.btn-plain:active{transform:none}.iconbtn{align-items:center;background:#0000;border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;color:#5c5545;color:var(--ink-2);cursor:pointer;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;transition:color .15s,border-color .15s,background .15s;width:34px}.iconbtn:hover{background:#fbf8f0;background:var(--card);border-color:#211e16;border-color:var(--ink);color:#211e16;color:var(--ink)}.iconbtn.danger:hover{border-color:#c73e2c;border-color:var(--red);color:#c73e2c;color:var(--red)}.iconbtn.ghost{border-color:#0000}.iconbtn.ghost:hover{border-color:#c7bea3;border-color:var(--line-2)}.hdr{background:#f2ede2;background:var(--paper);border-bottom:2px solid #211e16;border-bottom:2px solid var(--ink);flex-shrink:0;z-index:30}.hdr-inner{margin:0 auto;max-width:720px;padding:10px 16px 0}.hdr-top{display:flex;gap:8px;padding-bottom:8px}.backbtn,.hdr-top{align-items:center}.backbtn{background:none;border:none;color:#9b937e;color:var(--ink-3);cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:600;gap:4px;letter-spacing:.12em;padding:4px 0;transition:color .15s}.backbtn:hover{color:#c73e2c;color:var(--red)}.hdr-top-spacer{flex:1 1}.modeswitch{border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;display:flex;overflow:hidden}.msw-btn{background:#0000;border:none;color:#9b937e;color:var(--ink-3);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;padding:5px 10px;transition:background .15s,color .15s}.msw-btn+.msw-btn{border-left:1px solid #c7bea3;border-left:1px solid var(--line-2)}.msw-btn.on{background:#211e16;background:var(--ink);color:#f2ede2;color:var(--paper)}.msw-btn:not(.on):hover{color:#211e16;color:var(--ink)}.hdr-main{flex-wrap:wrap;gap:12px;padding-bottom:10px}.brand,.hdr-main{align-items:center;display:flex}.brand{gap:10px;min-width:0}.brand-mark{align-items:center;background:#c73e2c;background:var(--red);border:1.5px solid #211e16;border:1.5px solid var(--ink);border-radius:4px;box-shadow:2px 2px 0 #211e16;box-shadow:2px 2px 0 var(--edge);color:#fbf8f0;display:flex;flex-shrink:0;font-family:Anton,Arial Narrow,sans-serif;font-family:var(--disp);font-size:19px;height:38px;justify-content:center;line-height:1;padding-top:2px;width:38px}.brand-mark.ledger{background:#3f6b4f;background:var(--green)}.brand-title{color:#211e16;color:var(--ink);font-family:Anton,Arial Narrow,sans-serif;font-family:var(--disp);font-size:21px;letter-spacing:.02em;line-height:1;text-transform:uppercase;white-space:nowrap}.brand-title em{color:#c73e2c;color:var(--red);font-style:normal}.brand-title em.green{color:#3f6b4f;color:var(--green)}.brand-sub{color:#9b937e;color:var(--ink-3);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;margin-top:3px;max-width:200px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.hdr-fill{align-items:center;display:flex;flex:1 1 200px;gap:8px;min-width:0}.searchbox{flex:1 1;min-width:0;position:relative}.searchbox svg.lead{color:#9b937e;color:var(--ink-3);left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.searchbox input{background:#fbf8f0;background:var(--card);border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;color:#211e16;color:var(--ink);font-size:13px;outline:none;padding:8px 30px 8px 32px;transition:border-color .15s;width:100%}.searchbox input::placeholder{color:#9b937e;color:var(--ink-3)}.searchbox input:focus{border-color:#211e16;border-color:var(--ink)}.searchbox .clear{background:none;border:none;color:#9b937e;color:var(--ink-3);cursor:pointer;display:flex;padding:4px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.searchbox .clear:hover{color:#c73e2c;color:var(--red)}.searchbox .slash{border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:3px;color:#9b937e;color:var(--ink-3);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;padding:1px 5px;pointer-events:none;position:absolute;right:9px;top:50%;transform:translateY(-50%)}.tabrow{align-items:stretch;display:flex;gap:8px;padding-bottom:10px}.tabbar{display:flex;flex:1 1;gap:6px;min-width:0}.tb{align-items:center;background:#0000;border:1.5px solid #0000;border-radius:4px;color:#9b937e;color:var(--ink-3);cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;font-weight:600;gap:7px;letter-spacing:.08em;padding:8px 13px;text-transform:uppercase;transition:color .15s,background .15s;white-space:nowrap}.tb.on,.tb:hover{color:#211e16;color:var(--ink)}.tb.on{background:#fbf8f0;background:var(--card);border-color:#211e16;border-color:var(--ink);box-shadow:2px 2px 0 #211e16;box-shadow:2px 2px 0 var(--edge)}.tb-count{background:#eae4d2;background:var(--paper-2);border-radius:3px;color:#9b937e;color:var(--ink-3);font-size:10px;min-width:20px;padding:1px 6px;text-align:center}.tb.on .tb-count{background:#c73e2c;background:var(--red);color:#fbf8f0}.menuwrap{position:relative}.menu-back{inset:0;position:fixed;z-index:48}.menu{animation:rise .14s ease both;background:#fbf8f0;background:var(--card);border:1.5px solid #211e16;border:1.5px solid var(--ink);border-radius:4px;box-shadow:3px 3px 0 #211e16;box-shadow:3px 3px 0 var(--edge);min-width:176px;padding:5px;position:absolute;right:0;top:calc(100% + 6px);z-index:49}.menu-item{align-items:center;background:none;border:none;border-radius:3px;color:#5c5545;color:var(--ink-2);cursor:pointer;display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;font-weight:500;gap:12px;justify-content:space-between;letter-spacing:.06em;padding:8px 10px;text-align:left;text-transform:uppercase;transition:background .12s,color .12s;width:100%}.menu-item:hover{background:#eae4d2;background:var(--paper-2);color:#211e16;color:var(--ink)}.menu-item.on{color:#c73e2c;color:var(--red);font-weight:600}.appmain{flex:1 1;overflow-y:auto}.list-wrap{margin:0 auto;max-width:720px;padding:14px 16px 110px}.statline{border-bottom:1px dashed #c7bea3;border-bottom:1px dashed var(--line-2);color:#9b937e;color:var(--ink-3);display:flex;flex-wrap:wrap;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:500;gap:4px 14px;letter-spacing:.1em;margin-bottom:14px;padding-bottom:10px;text-transform:uppercase}.statline b{color:#5c5545;color:var(--ink-2);font-weight:600}.statline .r{color:#c73e2c;color:var(--red)}.mcard{background:#fbf8f0;background:var(--card);border:1px solid #dcd4be;border:1px solid var(--line);border-radius:5px;display:flex;gap:12px;margin-bottom:10px;padding:12px;transition:border-color .15s,box-shadow .15s}.mcard:hover{border-color:#c7bea3;border-color:var(--line-2);box-shadow:2px 2px 0 #c7bea3;box-shadow:2px 2px 0 var(--line-2)}.mcard-idx{color:#9b937e;color:var(--ink-3);flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:500;padding-top:3px;text-align:right;width:18px}.mcard-cover{background:#eae4d2;background:var(--paper-2);border:1px solid #211e16;border:1px solid var(--ink);border-radius:3px;flex-shrink:0;height:64px;overflow:hidden;position:relative;width:46px}.mcard-cover img{display:block;height:100%;object-fit:cover;width:100%}.mcard-cover .fb{align-items:center;color:#c73e2c;color:var(--red);display:flex;font-family:Anton,Arial Narrow,sans-serif;font-family:var(--disp);font-size:22px;inset:0;justify-content:center;position:absolute}.mcard-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.mcard-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.mcard-title{color:#211e16;color:var(--ink);font-size:14px;font-weight:600;line-height:1.35;text-decoration:none}a.mcard-title:hover{color:#c73e2c;color:var(--red);text-decoration:underline;text-underline-offset:3px}.mcard-acts{display:flex;flex-shrink:0;gap:2px}.mcard-meta{align-items:center;color:#9b937e;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:4px 10px}.ch-btn,.mcard-meta{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px}.ch-btn{background:none;border:none;border-bottom:1px dashed #c7bea3;border-bottom:1px dashed var(--line-2);color:#5c5545;color:var(--ink-2);cursor:pointer;padding:0 1px 1px;transition:color .12s,border-color .12s}.ch-btn:hover{border-color:#c73e2c;border-color:var(--red)}.ch-btn b,.ch-btn:hover{color:#c73e2c;color:var(--red)}.ch-btn b{font-size:13px;font-weight:600}.ch-input{background:#eae4d2;background:var(--paper-2);border:1px solid #211e16;border:1px solid var(--ink);border-radius:3px;color:#211e16;color:var(--ink);font-size:12px;outline:none;padding:1px 5px;width:58px}.ch-input,.stamp{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.stamp{border:1.5px solid #c73e2c;border:1.5px solid var(--red);border-radius:3px;color:#c73e2c;color:var(--red);display:inline-block;font-size:9px;font-weight:600;letter-spacing:.14em;padding:1px 6px;text-transform:uppercase;transform:rotate(-3deg)}.mcard-foot{align-items:center;display:flex;gap:10px;margin-top:auto}.ticks{display:flex;flex:1 1;gap:2px;min-width:40px}.ticks span{background:#eae4d2;background:var(--paper-2);border-radius:1px;flex:1 1;height:4px}.ticks span.on{background:#c73e2c;background:var(--red)}.mcard-ctrl{align-items:center;display:flex;flex-shrink:0;gap:5px}.stepbtn{align-items:center;background:#eae4d2;background:var(--paper-2);border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;color:#5c5545;color:var(--ink-2);cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .12s;width:30px}.stepbtn:hover:not(:disabled){background:#fbf8f0;background:var(--card);border-color:#211e16;border-color:var(--ink);color:#211e16;color:var(--ink)}.stepbtn:active:not(:disabled){transform:scale(.9)}.stepbtn:disabled{cursor:not-allowed;opacity:.35}.stepbtn.flash{background:#c73e2c;background:var(--red);border-color:#c73e2c;border-color:var(--red);color:#fbf8f0}.markread{background:#c73e2c17;background:var(--red-soft);border:1px solid #c73e2c;border:1px solid var(--red);border-radius:4px;color:#c73e2c;color:var(--red);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;padding:7px 10px;text-transform:uppercase;transition:background .15s,color .15s;white-space:nowrap}.markread:hover{background:#c73e2c;background:var(--red);color:#fbf8f0}.stars,.stars button{align-items:center;display:flex}.stars button{background:none;border:none;cursor:pointer;height:26px;justify-content:center;padding:0;width:26px}.stars button:active svg{transform:scale(.8)}.stars svg{transition:transform .1s}.empty{border:1.5px dashed #c7bea3;border:1.5px dashed var(--line-2);border-radius:6px;padding:56px 28px;text-align:center;-webkit-user-select:none;user-select:none}.empty-glyph{color:#c7bea3;color:var(--line-2);font-family:Anton,Arial Narrow,sans-serif;font-family:var(--disp);font-size:44px;line-height:1;margin-bottom:14px}.empty-title{color:#5c5545;color:var(--ink-2);font-size:15px;font-weight:600;margin-bottom:5px}.empty-body{color:#9b937e;color:var(--ink-3);font-size:13px}.sheet-wrap{align-items:flex-end;display:flex;inset:0;justify-content:center;position:fixed;z-index:60}.sheet-back{background:#14110a99;inset:0;position:absolute}.sheet{animation:sheetUp .26s cubic-bezier(.25,.8,.25,1) both;background:#f2ede2;background:var(--paper);border:2px solid #211e16;border:2px solid var(--ink);border-bottom:none;border-radius:8px 8px 0 0;max-height:90vh;max-width:560px;overflow-y:auto;padding:14px 20px 40px;position:relative;width:100%}.sheet-bar{background:#c7bea3;background:var(--line-2);border-radius:99px;height:4px;margin:0 auto 16px;width:38px}.sheet-head{align-items:flex-start;border-bottom:2px solid #211e16;border-bottom:2px solid var(--ink);display:flex;gap:12px;justify-content:space-between;margin-bottom:18px;padding-bottom:12px}.sheet-title{color:#211e16;color:var(--ink);font-family:Anton,Arial Narrow,sans-serif;font-family:var(--disp);font-size:20px;letter-spacing:.02em;line-height:1.1}.sheet-sub,.sheet-title{text-transform:uppercase}.sheet-sub{color:#9b937e;color:var(--ink-3);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;letter-spacing:.1em;margin-top:4px}@media (min-width:640px){.sheet-wrap{align-items:center;padding:24px}.sheet{border:2px solid #211e16;border:2px solid var(--ink);border-radius:8px;box-shadow:6px 6px 0 #211e16;box-shadow:6px 6px 0 var(--edge);max-height:84vh}.sheet-bar{display:none}}.field{margin-bottom:14px}.field-label{color:#5c5545;color:var(--ink-2);display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;margin-bottom:6px;text-transform:uppercase}.inp{background:#fbf8f0;background:var(--card);border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;color:#211e16;color:var(--ink);font-size:14px;outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.inp::placeholder{color:#9b937e;color:var(--ink-3)}.inp:focus{border-color:#211e16;border-color:var(--ink);box-shadow:2px 2px 0 #c7bea3;box-shadow:2px 2px 0 var(--line-2)}select.inp{-webkit-appearance:none;appearance:none;cursor:pointer}select.inp option{background:#fbf8f0;background:var(--card);color:#211e16;color:var(--ink)}input[type=number].ch-input::-webkit-inner-spin-button,input[type=number].inp::-webkit-inner-spin-button{-webkit-appearance:none}.field-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-err{color:#c73e2c;color:var(--red);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;margin-top:6px}.pillrow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.pill{background:#0000;border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:3px;color:#9b937e;color:var(--ink-3);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.05em;max-width:160px;overflow:hidden;padding:4px 9px;text-overflow:ellipsis;transition:all .12s;white-space:nowrap}.pill.filled{background:#c73e2c17;background:var(--red-soft);border-color:#c73e2c;border-color:var(--red);color:#c73e2c;color:var(--red)}.pill.cur{background:#211e16;background:var(--ink);border-color:#211e16;border-color:var(--ink);color:#f2ede2;color:var(--paper)}.queue-note{align-items:center;background:#c73e2c17;background:var(--red-soft);border:1px dashed #c73e2c;border:1px dashed var(--red);border-radius:4px;color:#c73e2c;color:var(--red);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;gap:8px;margin-top:14px;padding:9px 12px}.sheet-actions{display:flex;gap:10px;margin-top:18px}.sheet-actions .grow{flex:1 1}.sheet-actions .grow2{flex:1.4 1}.catgrid{display:flex;flex-wrap:wrap;gap:6px}.catchip{align-items:center;background:#0000;border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;color:#5c5545;color:var(--ink-2);cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;font-weight:500;gap:5px;padding:7px 10px;transition:all .12s}.catchip:hover{border-color:#211e16;border-color:var(--ink)}.catchip.on{border-color:#211e16;border-color:var(--catc,var(--ink));box-shadow:2px 2px 0 #c7bea3;box-shadow:2px 2px 0 var(--line-2);color:#211e16;color:var(--catc,var(--ink))}.catchip.on,.setrow{background:#fbf8f0;background:var(--card)}.setrow{align-items:center;border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:5px;cursor:pointer;display:flex;gap:13px;margin-bottom:9px;padding:12px 14px;text-align:left;transition:border-color .15s,box-shadow .15s;width:100%}.setrow:hover{border-color:#211e16;border-color:var(--ink);box-shadow:2px 2px 0 #c7bea3;box-shadow:2px 2px 0 var(--line-2)}.setrow.confirm,.setrow.danger:hover{border-color:#c73e2c;border-color:var(--red)}.setrow.confirm{background:#c73e2c17;background:var(--red-soft)}.setrow-title{font-size:14px;font-weight:600}.setrow-sub{color:#9b937e;color:var(--ink-3);font-size:12px;margin-top:1px}.linkbox{border:1px dashed #c7bea3;border:1px dashed var(--line-2);border-radius:4px;color:#5c5545;color:var(--ink-2);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;margin-bottom:16px;padding:10px 12px;word-break:break-all}.linkbox b{color:#c73e2c;color:var(--red);display:block;font-size:10px;letter-spacing:.12em;margin-bottom:4px;text-transform:uppercase}.fab{align-items:center;background:#c73e2c;background:var(--red);border:2px solid #211e16;border:2px solid var(--ink);border-radius:6px;bottom:22px;box-shadow:3px 3px 0 #211e16;box-shadow:3px 3px 0 var(--edge);color:#fbf8f0;cursor:pointer;display:none;height:54px;justify-content:center;position:fixed;right:18px;transition:transform .12s,box-shadow .12s;width:54px;z-index:40}.fab:active{box-shadow:0 0 0 #211e16;box-shadow:0 0 0 var(--edge);transform:translate(3px,3px)}.fab.ledger{background:#3f6b4f;background:var(--green)}.toast{align-items:center;animation:toastIn .2s ease both;background:#211e16;background:var(--ink);border-radius:5px;bottom:20px;box-shadow:3px 3px 0 #00000040;color:#f2ede2;color:var(--paper);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;gap:12px;left:50%;max-width:min(92vw,440px);padding:11px 14px;position:fixed;transform:translateX(-50%);z-index:80}.toast-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-undo{background:none;border:1px solid;border-radius:3px;color:#b07f27;color:var(--amber);cursor:pointer;flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;padding:4px 9px}.toast-undo:hover{color:#f2ede2;color:var(--paper)}.toast-x{background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-shrink:0;opacity:.6;padding:2px}.toast-x:hover{opacity:1}.kbd-hint{color:#9b937e;color:var(--ink-3);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;letter-spacing:.12em;padding:26px 0 6px;text-align:center;text-transform:uppercase;-webkit-user-select:none;user-select:none}.monthnav{background:#fbf8f0;background:var(--card);border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;gap:2px;padding:3px}.monthnav,.monthnav .navbtn{align-items:center;display:flex}.monthnav .navbtn{background:none;border:none;border-radius:3px;color:#5c5545;color:var(--ink-2);cursor:pointer;height:28px;justify-content:center;width:28px}.monthnav .navbtn:hover:not(:disabled){background:#eae4d2;background:var(--paper-2);color:#211e16;color:var(--ink)}.monthnav .navbtn:disabled{cursor:not-allowed;opacity:.3}.monthlabel{align-items:center;background:none;border:none;border-radius:3px;color:#211e16;color:var(--ink);cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;font-weight:600;gap:5px;justify-content:center;letter-spacing:.06em;min-width:108px;padding:4px 6px;text-align:center;text-transform:uppercase}.monthlabel:hover{background:#eae4d2;background:var(--paper-2)}.statgrid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:8px}.stat{background:#fbf8f0;background:var(--card);border:1px solid #dcd4be;border:1px solid var(--line);border-radius:5px;min-width:0;padding:12px 14px}.stat-label{align-items:center;color:#9b937e;color:var(--ink-3);display:flex;font-size:9.5px;gap:6px;letter-spacing:.14em;margin-bottom:7px;text-transform:uppercase}.stat-label,.stat-value{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-weight:600}.stat-value{color:#211e16;color:var(--ink);font-size:17px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-value.pos{color:#3f6b4f;color:var(--green)}.stat-value.neg{color:#c73e2c;color:var(--red)}.stat-sub{color:#9b937e;color:var(--ink-3);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;margin-top:3px}.panel{background:#fbf8f0;background:var(--card);border:1px solid #dcd4be;border:1px solid var(--line);border-radius:5px;margin-bottom:14px;padding:14px 16px}.panel-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:11px}.bar{background:#eae4d2;background:var(--paper-2);border:1px solid #211e16;border:1px solid var(--ink);border-radius:3px;height:10px;overflow:hidden}.bar>div{height:100%;transition:width .5s ease}.catrow{margin-bottom:9px}.catrow:last-child{margin-bottom:0}.catrow-top{align-items:baseline;display:flex;font-size:12px;gap:10px;justify-content:space-between;margin-bottom:4px}.catrow-name{align-items:center;color:#5c5545;color:var(--ink-2);display:flex;font-weight:500;gap:6px}.catrow-amt{color:#211e16;color:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;font-weight:600;white-space:nowrap}.catrow-amt span{color:#9b937e;color:var(--ink-3);font-weight:400}.catrow .track{background:#eae4d2;background:var(--paper-2);border-radius:2px;height:5px;overflow:hidden}.catrow .track>div{border-radius:2px;height:100%;transition:width .4s ease}.ledger-sec{margin-bottom:18px}.ledger-sec-head{align-items:center;border-bottom:2px solid #211e16;border-bottom:2px solid var(--ink);display:flex;gap:10px;justify-content:space-between;margin-bottom:9px;padding-bottom:6px}.ledger-sec-title{color:#211e16;color:var(--ink);display:flex;font-size:11px;gap:7px;letter-spacing:.14em}.addsmall,.ledger-sec-title{align-items:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-weight:600;text-transform:uppercase}.addsmall{background:#0000;border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;color:#5c5545;color:var(--ink-2);cursor:pointer;display:inline-flex;font-size:10px;gap:5px;letter-spacing:.08em;padding:5px 10px;transition:all .12s}.addsmall:hover{background:#fbf8f0;background:var(--card);border-color:#211e16;border-color:var(--ink);color:#211e16;color:var(--ink)}.addsmall.income:hover{border-color:#3f6b4f;border-color:var(--green);color:#3f6b4f;color:var(--green)}.addsmall.expense:hover{border-color:#c73e2c;border-color:var(--red);color:#c73e2c;color:var(--red)}.lrow{align-items:center;border-bottom:1px solid #dcd4be;border-bottom:1px solid var(--line);display:flex;gap:11px;padding:9px 4px 9px 2px}.lrow:last-child{border-bottom:none}.lrow-emoji{align-items:center;background:#fbf8f0;background:var(--card);border:1px solid #c7bea3;border:1px solid var(--line-2);border-radius:4px;display:flex;flex-shrink:0;font-size:15px;height:30px;justify-content:center;width:30px}.lrow-main{flex-shrink:1;min-width:0}.lrow-label{color:#211e16;color:var(--ink);display:block;font-size:13px;font-weight:600}.lrow-cat,.lrow-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lrow-cat{align-items:center;color:#9b937e;color:var(--ink-3);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:9.5px;gap:5px;letter-spacing:.08em;margin-top:1px;text-transform:uppercase}.lrow-cat i{border-radius:1px;flex-shrink:0;height:6px;width:6px}.leader{align-self:center;border-bottom:2px dotted #c7bea3;border-bottom:2px dotted var(--line-2);flex:1 1;margin:0 2px;min-width:16px}.lrow-amt{color:#211e16;color:var(--ink);flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:13.5px;font-weight:600;white-space:nowrap}.lrow-amt.income{color:#3f6b4f;color:var(--green)}.lrow-acts{display:flex;flex-shrink:0;gap:2px}.ledger-empty{border:1px dashed #c7bea3;border:1px dashed var(--line-2);border-radius:5px;color:#9b937e;color:var(--ink-3);font-size:12.5px;padding:18px;text-align:center}.ledger-empty,.overbudget{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.overbudget{align-items:center;color:#c73e2c;color:var(--red);display:flex;font-size:11px;gap:6px;margin-top:8px}.pp{display:flex;justify-content:center;min-height:100%}.pp-inner{max-width:520px;padding:40px 22px 64px;position:relative;width:100%}.pp-corner{display:flex;gap:6px;position:absolute;right:22px;top:26px}.pp-kanji{color:#9b937e;color:var(--ink-3);font-size:11px;letter-spacing:.5em;position:absolute;right:24px;top:96px;-webkit-user-select:none;user-select:none;writing-mode:vertical-rl}.pp-issue,.pp-kanji{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.pp-issue{color:#c73e2c;color:var(--red);font-size:10px;font-weight:600;letter-spacing:.22em;margin-bottom:10px}.pp-issue,.pp-title{text-transform:uppercase}.pp-title{color:#211e16;color:var(--ink);font-family:Anton,Arial Narrow,sans-serif;font-family:var(--disp);font-size:clamp(52px,15vw,76px);letter-spacing:.01em;line-height:.92}.pp-title em{color:#c73e2c;color:var(--red);font-style:normal}.pp-rule{background:#211e16;background:var(--ink);height:4px;margin:18px 0 3px}.pp-rule2{background:#c73e2c;background:var(--red);height:1.5px;margin-bottom:16px;width:40%}.pp-tag{color:#5c5545;color:var(--ink-2);font-size:14px;margin-bottom:26px;max-width:400px}.pp-modes{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:30px}.pp-mode{align-items:flex-start;background:#fbf8f0;background:var(--card);border:1.5px solid #c7bea3;border:1.5px solid var(--line-2);border-radius:5px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:14px;text-align:left;transition:all .15s}.pp-mode.on,.pp-mode:hover{border-color:#211e16;border-color:var(--ink)}.pp-mode.on{box-shadow:3px 3px 0 #211e16;box-shadow:3px 3px 0 var(--edge)}.pp-mode-title{color:#211e16;color:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.pp-mode-sub{font-size:11.5px;line-height:1.4}.pp-mode .glyph,.pp-mode-sub{color:#9b937e;color:var(--ink-3)}.pp-mode .glyph{transition:color .15s}.pp-mode.on .glyph{color:#c73e2c;color:var(--red)}.pp-mode.on.ledger .glyph{color:#3f6b4f;color:var(--green)}.pp-sec-label{align-items:baseline;border-bottom:2px solid #211e16;border-bottom:2px solid var(--ink);color:#9b937e;color:var(--ink-3);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-weight:600;justify-content:space-between;letter-spacing:.18em;margin-bottom:12px;padding-bottom:6px;text-transform:uppercase}.pp-rows{margin-bottom:30px}.pp-row{border-bottom:1px solid #dcd4be;border-bottom:1px solid var(--line);gap:0}.pp-row,.pp-row-open{align-items:center;display:flex}.pp-row-open{background:none;border:none;cursor:pointer;flex:1 1;gap:12px;min-width:0;padding:13px 4px 13px 0;text-align:left;transition:padding .15s}.pp-row-open:hover{padding-left:6px}.pp-row-open:hover .pp-row-name{color:#c73e2c;color:var(--red)}.pp-row-idx{color:#9b937e;color:var(--ink-3);flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;width:20px}.pp-row-name{color:#211e16;color:var(--ink);font-size:15px;font-weight:600;transition:color .12s}.pp-row-name,.pp-row-slug{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-row-slug{flex-shrink:1;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px}.pp-row-arrow,.pp-row-slug{color:#9b937e;color:var(--ink-3)}.pp-row-arrow{display:flex;flex-shrink:0}.pp-row-open:hover .pp-row-arrow{color:#c73e2c;color:var(--red)}.pp-del{align-items:center;align-self:stretch;background:none;border:none;color:#9b937e;color:var(--ink-3);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;transition:color .12s,background .12s;width:38px}.pp-del.confirm,.pp-del:hover{color:#c73e2c;color:var(--red)}.pp-del.confirm{background:#c73e2c17;background:var(--red-soft)}.pp-new{background:#fbf8f0;background:var(--card);border:1.5px solid #211e16;border:1.5px solid var(--ink);border-radius:6px;box-shadow:4px 4px 0 #211e16;box-shadow:4px 4px 0 var(--edge);padding:16px}.pp-new .row{display:flex;gap:8px;margin-top:10px}.pp-new .row .inp{flex:1 1}.pp-foot{color:#9b937e;color:var(--ink-3);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:9.5px;gap:10px;justify-content:space-between;letter-spacing:.16em;margin-top:34px;text-transform:uppercase}@media (max-width:639px){.fab{display:flex}.desk-add{display:none!important}.kbd-hint,.slash{display:none}.brand-sub{max-width:130px}.tabbar{overflow-x:auto;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.statgrid{grid-template-columns:1fr 1fr}.statgrid .span2{grid-column:span 2}.pp-kanji{display:none}}
/*# sourceMappingURL=main.c838d0ef.css.map*/