:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f2f2f7;--card:#fff;--fill:#7676801f;--fill-strong:#76768033;--label:#000;--label-2:#3c3c4399;--label-3:#3c3c434d;--sep:#3c3c434a;--accent:#007aff;--accent-soft:#007aff1f;--up:#248a3d;--up-soft:#34c75926;--down:#d70015;--down-soft:#ff3b301f;--warn-soft:#ff950024;--bar:#f9f9f9d1;--shadow-seg:0 3px 8px #0000001f, 0 3px 1px #0000000a;--r-group:12px;--r-btn:14px;--gutter:16px;--tabbar-h:50px;letter-spacing:-.41px;color:var(--label);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:17px;line-height:1.29}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--card:#1c1c1e;--fill:#7676803d;--fill-strong:#7676805c;--label:#fff;--label-2:#ebebf599;--label-3:#ebebf54d;--sep:#54545899;--accent:#0a84ff;--accent-soft:#0a84ff33;--up:#30d158;--up-soft:#30d1582e;--down:#ff453a;--down-soft:#ff453a2e;--warn-soft:#ff9f0a33;--bar:#161618d1;--shadow-seg:0 3px 8px #0000004d}}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px}a,button,.tab,summary{-webkit-touch-callout:none}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}p,h1,h2{margin:0}.app-header{z-index:10;min-height:32px;padding:env(safe-area-inset-top) var(--gutter) 0;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);justify-content:flex-end;align-items:center;display:flex;position:sticky;top:0}.sync-indicator{letter-spacing:-.08px;color:var(--label-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.sync-indicator:before{content:"";background:var(--up);border-radius:50%;width:7px;height:7px}.sync-pending:before{background:#ff9f0a}.sync-offline:before{background:var(--label-3)}.sync-error{color:var(--down)}.sync-error:before{background:var(--down)}.app-main{max-width:640px;padding:0 var(--gutter) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px);margin:0 auto}.tab-bar{z-index:10;padding-bottom:env(safe-area-inset-bottom);background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);box-shadow:0 -.5px 0 var(--sep);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{height:var(--tabbar-h);letter-spacing:.1px;color:#999;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:500;text-decoration:none;display:flex}.tab-icon{width:26px;height:26px}.tab.active{color:var(--accent)}.tab.active .tab-icon{stroke-width:2.4px}.screen{flex-direction:column;gap:10px;animation:.22s cubic-bezier(.2,.8,.2,1) screen-in;display:flex}@keyframes screen-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen{animation:none}}.title{letter-spacing:.37px;overflow-wrap:anywhere;margin:4px 0 6px;font-size:34px;font-weight:700;line-height:41px}.back{min-height:44px;color:var(--accent);align-self:flex-start;align-items:center;margin:0 0 -10px -6px;padding:0 6px;font-size:17px;text-decoration:none;display:inline-flex}.back+.back{right:var(--gutter);margin:0;position:absolute}.screen:has(>.back+.back){position:relative}.back:active{opacity:.4}.lbl{letter-spacing:-.08px;color:var(--label-2);margin:14px 16px 6px;font-size:13px;font-weight:400;display:block}.screen>.lbl:first-child{margin-top:0}.footnote{color:var(--label-2);margin:0 16px;font-size:13px}.chips{background:var(--fill);border-radius:9px;gap:2px;padding:2px;display:flex}.chip{letter-spacing:-.08px;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:7px;flex:1;min-width:0;min-height:32px;padding:0 6px;font-size:13px;font-weight:500;transition:background-color .16s,box-shadow .16s;overflow:hidden}.chip.on{background:var(--card);box-shadow:var(--shadow-seg);font-weight:600}@media (prefers-color-scheme:dark){.chip.on{background:#636366}}.list{background:var(--card);border-radius:var(--r-group);overflow:hidden}.list.spaced{margin-top:18px}.row,.cell{background:var(--card);width:100%;min-height:44px;color:var(--label);text-align:left;border:0;align-items:center;gap:10px;padding:11px 16px;text-decoration:none;display:flex;position:relative}.row{justify-content:space-between;min-height:60px;padding-right:34px}.row>:first-child{flex:1;min-width:0}.row:after{content:"";border-top:2px solid var(--label-3);border-right:2px solid var(--label-3);width:8px;height:8px;position:absolute;top:50%;right:16px;transform:translateY(-50%)rotate(45deg)}.list>.row+.row:before,.list>.cell+.cell:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:16px;right:0}.row:active,.cell-action:active{background:var(--fill-strong)}.screen>.row{border-radius:var(--r-group)}.row-name{overflow-wrap:anywhere;font-size:17px;font-weight:400}.row-sub{letter-spacing:-.08px;color:var(--label-2);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px}.screen>.row-sub{margin:4px 16px}.cell{justify-content:space-between}.cell-action{color:var(--accent);justify-content:flex-start}.cell-action.danger{color:var(--down)}.link-btn{min-height:32px;color:var(--accent);background:0 0;border:0;padding:0;font-size:17px}.btn-soft{border-radius:var(--r-btn);background:var(--accent-soft);min-height:50px;color:var(--accent);border:0;justify-content:center;align-items:center;padding:0 16px;font-size:17px;font-weight:600;text-decoration:none;transition:transform .12s,opacity .12s;display:flex}.btn-soft.danger{color:var(--down);background:var(--down-soft)}.btn-soft:active,.ok:active,.step-btn:active{opacity:.8;transform:scale(.97)}.ok{border-radius:var(--r-btn);background:var(--accent);color:#fff;border:0;min-height:56px;margin-top:8px;font-size:17px;font-weight:600;transition:transform .12s,opacity .12s}.actions{gap:10px;display:flex}.actions>*{flex:1}.goal{border-radius:var(--r-group);background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:12px 14px;font-size:15px;font-weight:500;display:flex}.done{border-radius:var(--r-group);background:var(--card);flex-direction:column;display:flex;overflow:hidden}.done-row{text-align:left;font-variant-numeric:tabular-nums;background:0 0;border:0;align-items:center;width:100%;min-height:44px;padding:0 16px;font-size:17px;display:flex;position:relative}.done-row:before{content:"✓";color:var(--up);margin-right:10px;font-weight:700}.done-row+.done-row:after{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:42px;right:0}.done-row:active{background:var(--fill-strong)}.stepper{background:var(--card);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.step-btn{background:var(--fill);width:64px;height:64px;color:var(--accent);border:0;border-radius:50%;flex:none;font-size:30px;font-weight:500;line-height:1;transition:transform .12s,opacity .12s}.step-val{letter-spacing:-.5px;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;min-width:0;font-size:40px;font-weight:700}.step-val small{letter-spacing:0;color:var(--label-2);font-size:17px;font-weight:500}.step-input{text-align:center;font-variant-numeric:tabular-nums;border:2px solid var(--accent);background:var(--card);border-radius:12px;flex:1;min-width:0;min-height:56px;font-size:34px;font-weight:700}.text-input{border-radius:var(--r-group);background:var(--card);border:0;width:100%;min-height:44px;padding:0 16px;font-size:17px}.text-input::placeholder{color:var(--label-3)}.advanced{border-radius:var(--r-group);background:var(--card);flex-direction:column;padding:0 16px 12px;display:flex}.advanced summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;list-style:none;display:flex}.advanced summary::-webkit-details-marker{display:none}.advanced summary:after{content:"›";margin-left:auto;font-size:22px;transition:transform .16s}.advanced[open] summary:after{transform:rotate(90deg)}.advanced .text-input{background:var(--fill)}.advanced .lbl{margin-left:0}.pct{background:var(--fill);color:var(--label-2);font-variant-numeric:tabular-nums;border-radius:8px;flex:none;padding:3px 8px;font-size:13px;font-weight:600}.pct.up{background:var(--up-soft);color:var(--up)}.pct.down{background:var(--down-soft);color:var(--down)}.pct.flat,.pct.none{background:var(--fill);color:var(--label-2)}.row .grow{flex:1;min-width:0}.spark{flex:none;width:54px;height:22px}.kpis{gap:10px;display:flex}.kpi{border-radius:var(--r-group);background:var(--card);flex:1;padding:14px}.kpi .pct{letter-spacing:.3px;background:0 0;padding:0;font-size:28px;font-weight:700;display:inline-block}.kpi .pct.up,.kpi .pct.down,.kpi .pct.flat,.kpi .pct.none{background:0 0}.kpi-l{color:var(--label-2);margin-top:2px;font-size:13px}.chart{border-radius:var(--r-group);background:var(--card);padding:12px 8px 8px}.chart-legend{color:var(--label-2);text-align:center;margin-top:4px;font-size:12px}.hist{border-radius:var(--r-group);background:var(--card);font-variant-numeric:tabular-nums;padding:0 16px;font-size:15px}.hist>div{border-bottom:.5px solid var(--sep);padding:12px 0}.hist>div:last-child{border-bottom:0}.auth-card{max-width:380px;padding:calc(14vh + env(safe-area-inset-top)) 20px 24px;flex-direction:column;gap:12px;margin:0 auto;display:flex}.auth-card h1{letter-spacing:.37px;text-align:center;margin-bottom:16px;font-size:34px;font-weight:700}.auth-card input{border-radius:var(--r-group);background:var(--card);border:0;min-height:50px;padding:0 16px;font-size:17px}.auth-card button{border-radius:var(--r-btn);background:var(--accent);color:#fff;border:0;min-height:50px;margin-top:8px;font-size:17px;font-weight:600}.auth-card button:active{opacity:.8}.auth-card img{align-self:center}.auth-secret{word-break:break-all;background:var(--card);border-radius:8px;padding:8px}.auth-error{color:var(--down);margin:0;font-size:15px}.install-banner{margin:8px var(--gutter) 0;border-radius:var(--r-group);background:var(--card);align-items:center;gap:12px;padding:12px 14px;font-size:15px;display:flex}.install-banner p{flex:1}.install-banner button{background:var(--accent-soft);min-width:44px;color:var(--accent);border:0;border-radius:10px;font-size:15px;font-weight:600}.session-banner{margin:8px var(--gutter) 0;border-radius:var(--r-group);background:var(--warn-soft);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.session-banner p{font-size:15px}.overlay{z-index:20;padding:env(safe-area-inset-top) var(--gutter) env(safe-area-inset-bottom);background:var(--bg);position:fixed;inset:0;overflow-y:auto}.overlay .auth-card{padding-top:8vh}.overlay-actions{flex-direction:column;max-width:380px;margin:0 auto;padding:0 20px;display:flex}.force-logout{flex-direction:column;gap:8px;margin-top:8px;display:flex}.force-logout p{color:var(--label-2);margin:0 16px;font-size:13px}
