:root{--paper:#f7f4ec;--ink:#14130d;--ink-soft:#3a382c;--dim:#8b8676;--hair:#d8d2c1;--hair-soft:#e6e0cf;--accent:#b03a2e;--on-ink:#f7f4ec;--s-xxs:4px;--s-xs:8px;--s-sm:12px;--s-md:16px;--s-lg:24px;--s-xl:32px;--col-code:36px;--col-amt:88px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink-soft);font-family:var(--font-ui), -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;line-height:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0}form.inline{align-items:center;display:flex}.lbl{font-family:var(--font-mono), ui-monospace, Menlo, monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--dim);font-size:10px}.amt{font-family:var(--font-mono), ui-monospace, Menlo, monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}.total{font-family:var(--font-mono), ui-monospace, Menlo, monospace;font-variant-numeric:tabular-nums;letter-spacing:-.035em;color:var(--ink);font-size:33px;font-weight:700;line-height:1}.mono{font-family:var(--font-mono), ui-monospace, Menlo, monospace;letter-spacing:.1em}.wordmark{font-family:var(--font-mono), ui-monospace, Menlo, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-size:12px;font-weight:600}.mini{color:var(--dim);font-size:12px}.hair{border-top:1px solid var(--hair);margin:var(--s-sm) 0}.row,.rowhead{grid-template-columns:var(--col-code) 1fr var(--col-amt);column-gap:var(--s-xs);align-items:baseline;display:grid}.rowhead{border-bottom:1.5px solid var(--ink);padding-bottom:5px}.row{border-bottom:1px solid var(--hair);padding:7px 0 6px}.row:active{background:#14130d0a}.code{font-family:var(--font-mono), ui-monospace, Menlo, monospace;letter-spacing:.08em;color:var(--dim);font-size:9px}.nm{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.nm .sub{color:var(--dim);font-size:11.5px;font-weight:400;display:block}.row>.amt,.daybar>.amt{text-align:right;border-left:1px solid var(--hair);padding-left:var(--s-xs);font-size:13px;font-weight:500}.rowhead>.amt{text-align:right;padding-left:var(--s-xs)}.daybar{grid-template-columns:1fr var(--col-amt);column-gap:var(--s-xs);align-items:baseline;padding:14px 0 5px;display:grid}.daybar>.amt{border-left:none;font-weight:700}.bar{background:#14130d1a;grid-column:2/3;height:3px;margin-top:4px}.bar>i{background:var(--ink);height:100%;display:block}.delta{text-align:right;font-family:var(--font-mono), ui-monospace, Menlo, monospace;color:var(--dim);padding-left:var(--s-xs);grid-column:3/4;margin-top:3px;font-size:9px}.delta.up{color:var(--accent)}.warn{border-left:3px solid var(--accent);padding:2px 0 2px 11px}.warn.calm{border-left-color:var(--ink)}.meter{background:var(--hair-soft);height:4px;margin-top:7px}.meter>i{background:var(--accent);height:100%;display:block}.meter.calm>i{background:var(--ink)}.split{border:1px solid var(--ink);height:22px;display:flex}.split>i{height:100%;display:block}.split .fix{background:var(--ink)}.split .var{background:repeating-linear-gradient(135deg, var(--ink) 0 1px, transparent 1px 5px)}.heat{grid-template-columns:18px repeat(7,1fr);align-items:center;gap:3px;display:grid}.heat .hd,.heat .wk{font-family:var(--font-mono), ui-monospace, Menlo, monospace;color:var(--dim);font-size:8.5px}.heat .hd{text-align:center}.heat .cell{aspect-ratio:1;border:1px solid #14130d24}.heat .cell.void{border-color:#0000}.row-between{justify-content:space-between;align-items:center;gap:var(--s-sm);display:flex}.row-flex{align-items:center;gap:var(--s-sm);display:flex}.tabs{gap:4px;display:flex}.tab{font-family:var(--font-mono), ui-monospace, Menlo, monospace;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hair);color:var(--dim);white-space:nowrap;padding:4px 9px;font-size:9.5px}.tab.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.btn{background:var(--ink);height:46px;color:var(--on-ink);justify-content:center;align-items:center;gap:var(--s-xs);border-radius:3px;padding:0 18px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:active{background:#000}.btn:disabled{background:var(--hair);color:var(--dim);cursor:default}.btn-ghost{color:var(--ink);border:1px solid var(--ink);background:0 0}.btn-ghost:active{background:#14130d0f}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--hair);background:0 0;border-radius:3px;width:100%;min-height:44px;padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none}.field{border:1px solid var(--hair);border-radius:3px;flex:1;min-width:0;padding:5px 11px 7px}.field>.lbl{margin-bottom:1px;display:block}.field input,.field select{border:none;min-height:26px;padding:0;font-size:14px;font-weight:500}.field:focus-within{border-color:var(--ink)}.stack{display:grid}.scroll-x{scrollbar-width:none;gap:5px;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.dock{padding:var(--s-sm) var(--s-md);padding-bottom:max(var(--s-sm), env(safe-area-inset-bottom));background:linear-gradient(to top, var(--paper) 72%, transparent);pointer-events:none;position:fixed;bottom:0;left:0;right:0}.dock>*{pointer-events:auto}.dock-inner{gap:var(--s-xs);max-width:528px;margin:0 auto;display:flex}.skel{background:var(--hair-soft);animation:1.4s ease-in-out infinite skel}@keyframes skel{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}
