:root{--bg:#111113;--panel:#1c1c1f;--line:#3a3a3c;--text:#fff;--muted:#8a8a8e;--accent:#ffb340;--ok:#34c759;--danger:#ff5a52;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}header{padding:calc(14px + env(safe-area-inset-top)) 16px 10px;justify-content:space-between;align-items:baseline;display:flex}.brand{letter-spacing:1px;font-weight:700}.balance{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}main{flex:1;padding:0 16px 24px}nav{background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:sticky;bottom:0}nav button{color:var(--muted);background:0 0;border:0;border-radius:0;flex:1;padding:14px 0}nav button.active{color:var(--text);box-shadow:inset 0 2px 0 var(--accent);font-weight:700}h1{letter-spacing:1px;margin:0 0 8px}h2{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:24px 0 8px;font-size:13px;font-weight:700}ul{margin:0;padding:0;list-style:none}li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:48px;padding:6px 0;display:flex}li .title{overflow-wrap:anywhere;flex:1;min-width:0}li.done .title{color:var(--muted);text-decoration:line-through}.time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.meta{color:var(--muted);text-align:right;font-size:13px}.meta.late,.time.late{color:var(--danger);white-space:nowrap}.amount{font-variant-numeric:tabular-nums;font-weight:700}.amount.plus{color:var(--ok)}.amount.minus{color:var(--danger)}button,input,select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px 12px}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#111113;font-weight:700}button:disabled{opacity:.5}button.check{border:2px solid var(--muted);color:#111113;background:0 0;border-radius:50%;flex:none;width:32px;height:32px;padding:0;font-weight:700}li.done button.check{background:var(--ok);border-color:var(--ok)}button.remove{color:var(--muted);background:0 0;border:0;flex:none;padding:4px 10px;font-size:20px}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.row .grow{flex:140px}.row input[type=number]{width:84px}.row label{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.stack{flex-direction:column;gap:8px;margin-top:12px;display:flex}.stack.edit{flex:100%;margin:0 0 8px}.stack.edit .row{margin-top:0}.stack.edit .hint{margin:0}li.habit{flex-wrap:wrap}button.name{text-align:left;background:0 0;border:0;padding:10px 0}.rule{justify-content:space-between;align-items:center;gap:12px;display:flex}.rule input{width:84px}.total{color:var(--accent);font-variant-numeric:tabular-nums;margin:16px 0 0;font-size:56px;font-weight:700}.total small{color:var(--muted);font-size:16px;font-weight:400}.goal{flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}.goal-head{align-items:center;gap:10px;display:flex}.bar{background:var(--panel);border-radius:5px;height:10px;overflow:hidden}.fill{background:var(--accent);border-radius:5px;height:100%}.fill.reached{background:var(--ok)}.hint{color:var(--muted);font-size:14px}.error{color:var(--danger);background:#3a1614;border-radius:8px;margin:8px 16px;padding:10px 12px;font-size:14px}.login{flex-direction:column;gap:10px;max-width:360px;margin:18vh auto 0;padding:0 16px;display:flex}.login .error,.stack .error{margin:0}
