:root{--page:#e3e3e8;--bg:#f2f2f7;--card:#fff;--elev:#fff;--ink:#000;--muted:#3c3c4399;--faint:#3c3c434d;--line:#3c3c432e;--fill:#7676801f;--fill2:#76768033;--bar:#f9f9f9db;--accent:#007aff;--on-accent:#fff;--money:#34c759;--mind:#5856d6;--heart:#ff2d55;--body:#30b0c7;--focus:#ff9500;--sun:#fc0;--good:#34c759;--warn:#ff9500;--bad:#ff3b30;--scrim:#00000059;--shadow:0 40px 90px -30px #00000059;--seg-on:#fff;--seg-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a;--f:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, "Helvetica Neue", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--page:#0a0a0b;--bg:#000;--card:#1c1c1e;--elev:#2c2c2e;--ink:#fff;--muted:#ebebf599;--faint:#ebebf54d;--line:#54545899;--fill:#7676803d;--fill2:#76768052;--bar:#161617db;--accent:#0a84ff;--on-accent:#fff;--money:#30d158;--mind:#5e5ce6;--heart:#ff375f;--body:#40c8e0;--focus:#ff9f0a;--sun:#ffd60a;--good:#30d158;--warn:#ff9f0a;--bad:#ff453a;--scrim:#0009;--shadow:0 40px 90px -30px #000000e6;--seg-on:#636366;--seg-shadow:0 3px 8px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--page:#0a0a0b;--bg:#000;--card:#1c1c1e;--elev:#2c2c2e;--ink:#fff;--muted:#ebebf599;--faint:#ebebf54d;--line:#54545899;--fill:#7676803d;--fill2:#76768052;--bar:#161617db;--accent:#0a84ff;--on-accent:#fff;--money:#30d158;--mind:#5e5ce6;--heart:#ff375f;--body:#40c8e0;--focus:#ff9f0a;--sun:#ffd60a;--good:#30d158;--warn:#ff9f0a;--bad:#ff453a;--scrim:#0009;--shadow:0 40px 90px -30px #000000e6;--seg-on:#636366;--seg-shadow:0 3px 8px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg)}body{min-height:100dvh;color:var(--ink);font-family:var(--f);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.3}button{font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea{font:inherit;color:var(--ink);letter-spacing:inherit}h1,h2,h3{text-wrap:balance;margin:0}.num{font-variant-numeric:tabular-nums}.screen{max-width:640px;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 20px) 16px calc(env(safe-area-inset-bottom,0px) + 110px);flex-direction:column;gap:14px;margin:0 auto;display:flex}.tabbar{height:calc(58px + env(safe-area-inset-bottom,0px));border-top:.5px solid var(--line);background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);z-index:5;padding:7px 4px env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0}.tabbar nav{grid-template-columns:repeat(5,1fr);max-width:640px;height:50px;margin:0 auto;display:grid}.tabbar a{color:#8e8e93;letter-spacing:.01em;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:500;text-decoration:none;display:flex}.tabbar a.on{color:var(--accent)}.tabbar svg{width:25px;height:25px}.hdr{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:2px;display:flex}.hdr .eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.01em;font-size:13px;font-weight:600}.hdr h1{letter-spacing:.012em;font-size:34px;font-weight:700;line-height:1.15}.iconbtn{background:var(--fill);width:34px;height:34px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.iconbtn svg{width:17px;height:17px}.navback{color:var(--accent);align-self:flex-start;align-items:center;gap:2px;height:34px;margin:-8px 0 0 -6px;font-size:17px;text-decoration:none;display:flex}.navback svg{width:22px;height:22px}.card{background:var(--card);border-radius:14px;padding:14px 16px}.card h3{font-size:17px;font-weight:600}.tint{background:var(--card)}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:13px}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:13px;font-weight:600}.card .label{text-transform:none;color:var(--ink);letter-spacing:-.01em;font-size:15px}.btn{background:var(--accent);height:50px;color:var(--on-accent);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:17px;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{opacity:.7;transform:scale(.98)}.btn.ghost{background:var(--fill);color:var(--accent)}.btn.full{width:100%}.btn.sm{border-radius:99px;height:30px;padding:0 12px;font-size:14px;font-weight:600}.btn[disabled]{opacity:.35!important}.link{color:var(--accent);font-size:15px;font-weight:400}.pill{background:color-mix(in srgb,var(--c,var(--accent)) 15%,transparent);color:var(--c,var(--accent));border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:600;display:inline-flex}.dot{background:var(--c,var(--accent));border-radius:50%;flex-shrink:0;width:8px;height:8px}.stack{flex-direction:column;gap:10px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkin .faces{justify-content:space-between;margin-top:14px;display:flex}.checkin .faces button{background:var(--fill);border-radius:50%;width:54px;height:54px;font-size:28px;transition:transform .15s}.checkin .faces button:hover{transform:scale(1.08)}.done-ci{align-items:center;gap:14px;display:flex}.orb{flex-shrink:0;display:block}.orb g{transform-origin:50px 50px;animation:18s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.streak{background:color-mix(in srgb,var(--focus) 16%,transparent);color:var(--focus);border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.rings{align-items:center;gap:18px;display:flex}.rings svg{flex-shrink:0}.rings .lg{flex:1;gap:8px;min-width:0;display:grid}.rings .lg button{text-align:left}.rings .lg b{font-size:13px;font-weight:600;display:block}.rings .lg span{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.rings .lg small{color:var(--muted);font-size:13px;font-weight:400}.quick{gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.quick button{min-width:62px;color:var(--ink);flex-direction:column;flex:1 0 auto;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.quick .qi{background:var(--card);width:52px;height:52px;color:var(--c);border-radius:50%;place-items:center;font-size:20px;font-weight:600;display:grid}.quick svg{width:22px;height:22px}.task{border-top:.5px solid var(--line);align-items:flex-start;gap:12px;padding:11px 0;display:flex}.task:first-child{border-top:0}.chk{border:1.5px solid var(--faint);border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;margin-top:0;transition:background .15s,border-color .15s;display:grid}.chk.on{background:var(--accent);border-color:var(--accent);color:#fff;animation:.3s cubic-bezier(.3,1.5,.5,1) boing}@keyframes boing{0%{transform:scale(.7)}to{transform:scale(1)}}.chk svg{width:13px;height:13px}.task .t{flex:1;min-width:0}.task .tt{text-align:left;width:100%;font-size:17px;font-weight:400}.task.isdone .tt{color:var(--muted)}.task .meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:2px;font-size:13px;display:flex}.next{background:var(--fill);color:var(--ink);border-radius:10px;margin-top:6px;padding:7px 10px;font-size:14px}.next b{color:var(--focus);font-weight:600}.play{background:color-mix(in srgb,var(--focus) 16%,transparent);width:32px;height:32px;color:var(--focus);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.play svg{width:13px;height:13px;margin-left:2px}.steps{gap:8px;margin-top:8px;display:grid}.step{align-items:center;gap:10px;font-size:15px;display:flex}.step .chk{width:20px;height:20px}.step.d span{color:var(--muted);text-decoration:line-through}.addline{align-items:center;gap:8px;margin-top:4px;display:flex}.addline input,.field{background:var(--fill);border:0;border-radius:10px;flex:1;min-width:0;height:38px;padding:0 12px;font-size:16px}.addline input::placeholder,.field::placeholder{color:var(--muted)}.slot{border:1.5px dashed var(--faint);text-align:center;color:var(--muted);border-radius:12px;padding:12px;font-size:14px}.celebrate{animation:.5s pop}@keyframes pop{0%{transform:scale(.97)}60%{transform:scale(1.01)}to{transform:scale(1)}}.bar{background:var(--fill2);border-radius:99px;height:6px;overflow:hidden}.bar i{background:var(--c,var(--accent));border-radius:99px;height:100%;display:block}.budget{gap:6px;display:grid}.txn{border-top:.5px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:11px 0;font-size:16px;display:flex}.txn:first-child{border-top:0}.big{letter-spacing:.01em;font-size:34px;font-weight:700;line-height:1.05}.navrow{text-align:left;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 16px;display:flex;position:relative}.navrow+.navrow:before{content:"";border-top:.5px solid var(--line);position:absolute;top:0;left:60px;right:0}.navrow .ic{background:var(--c);color:#fff;border-radius:7px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.navrow .ic svg{width:18px;height:18px}.navrow .tx{flex:1;min-width:0;font-size:17px}.navrow .tx b{font-weight:400}.navrow .tx span{color:var(--muted);font-size:13px;display:block}.chev{color:var(--faint);font-size:22px;font-weight:300}.toggle{background:var(--fill2);border-radius:99px;flex-shrink:0;width:51px;height:31px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 3px 1px #0000000f}.toggle.on{background:var(--good)}.toggle.on:after{transform:translate(20px)}.foot{color:var(--muted);margin-top:-6px;padding:0 16px;font-size:13px}.heat{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.heat i{aspect-ratio:1;background:color-mix(in srgb,var(--mind) var(--p),var(--fill));border-radius:6px}.heat i.empty{border:1px dashed var(--line);background:0 0}.week{gap:5px;display:flex}.week i{background:var(--fill);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:10px;font-style:normal;font-weight:600;display:grid}.week i.y{background:var(--body);color:#fff}.week i.today{box-shadow:0 0 0 1.5px var(--ink)}.week i.fut{opacity:.4}.scrim{background:var(--scrim);z-index:20;animation:.2s fade;position:fixed;inset:0}.sheet{background:var(--bg);z-index:21;border-radius:12px 12px 0 0;flex-direction:column;gap:16px;max-width:640px;max-height:92dvh;margin:0 auto;padding:6px 16px 30px;animation:.3s cubic-bezier(.2,.8,.2,1) up;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px)!important}.sheet .grab{background:var(--faint);border-radius:9px;width:36px;height:5px;margin:0 auto 4px}.sheet h2{font-size:22px;font-weight:700}.sheet .label{margin-bottom:0}@keyframes up{0%{opacity:.5;transform:translateY(60px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}}.seg{background:var(--fill);border-radius:9px;grid-template-columns:repeat(5,1fr);gap:0;padding:2px;display:grid}.seg button{height:30px;color:var(--ink);border-radius:7px;font-size:14px;font-weight:500;transition:background .15s}.seg button.on{background:var(--seg-on);box-shadow:var(--seg-shadow);color:var(--ink);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--card);color:var(--ink);border-radius:99px;padding:7px 14px;font-size:15px;font-weight:500}.chip.on{background:var(--accent);color:#fff}.faces2{background:var(--card);border-radius:14px;justify-content:space-between;padding:8px;display:flex}.faces2 button{color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:3px;width:62px;padding:6px 2px;font-size:12px;font-weight:500;display:flex}.faces2 button span{font-size:30px}.faces2 button.on{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.stepper{align-items:center;gap:12px;display:flex}.stepper button{background:var(--fill);width:40px;height:32px;color:var(--ink);border-radius:9px;font-size:20px;font-weight:500}.stepper b{text-align:center;min-width:60px;font-size:22px;font-weight:600}.amount{text-align:center;letter-spacing:.01em;padding:4px 0;font-size:56px;font-weight:700}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.keypad button{background:var(--card);border-radius:12px;height:52px;font-size:24px;font-weight:400}.keypad button:active{background:var(--fill2)}textarea.field{resize:none;width:100%;height:120px;padding:10px 12px;line-height:1.4}.q{border-top:.5px solid var(--line);gap:8px;padding:12px 0;display:grid}.q .opts{background:var(--fill);border-radius:9px;grid-template-columns:repeat(4,1fr);gap:4px;padding:2px;display:grid}.q .opts button{border-radius:7px;padding:6px 3px;font-size:11.5px;font-weight:500;line-height:1.2}.q .opts button.on{background:var(--seg-on);box-shadow:var(--seg-shadow);color:var(--mind);font-weight:600}.focus{z-index:30;color:#fff;text-align:center;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:28px;animation:.25s fade;display:flex;position:fixed;inset:0}.focus h2{max-width:28ch;font-size:26px;font-weight:700}.focus .sub{color:#ebebf599;font-size:15px}.ring{width:240px;height:240px;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .clock{letter-spacing:-.02em;place-items:center;font-size:58px;font-weight:300;display:grid;position:absolute;inset:0}.focus .opts{border-radius:14px;gap:1px;width:100%;max-width:320px;display:grid;overflow:hidden}.focus .opt{text-align:left;background:#1c1c1e;justify-content:space-between;align-items:center;padding:15px 16px;font-size:17px;display:flex}.focus .opt b{font-weight:500}.focus .opt.rec{color:#000;background:#ff9f0a}.focus .opt.rec b{font-weight:600}.focus .ctrl{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.focus .fb{color:#fff;background:#2c2c2e;border-radius:99px;height:44px;padding:0 20px;font-size:16px;font-weight:600}.focus .fb.pri{color:#000;background:#ff9f0a}.focus .stepbox{color:#fff;background:#1c1c1e;border-radius:14px;max-width:320px;padding:12px 14px;font-size:15px}.lock{text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;display:flex;position:fixed;inset:0}.lock .mark{place-items:center;margin-bottom:6px;display:grid}.lock h1{font-size:28px;font-weight:700}.faceid{width:76px;height:76px;color:var(--accent);border-radius:20px;place-items:center;margin-top:18px;display:grid}.faceid svg{width:56px;height:56px}.faceid.scan{animation:.7s ease-in-out scan}@keyframes scan{50%{color:var(--good);transform:scale(.9)}}.toast{left:50%;top:calc(env(safe-area-inset-top,0px) + 14px);background:var(--elev);color:var(--ink);z-index:40;white-space:nowrap;text-overflow:ellipsis;border-radius:99px;max-width:90%;padding:11px 18px;font-size:15px;font-weight:500;animation:.3s cubic-bezier(.2,.8,.2,1) drop;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 30px #0000002e}@keyframes drop{0%{opacity:0;transform:translate(-50%,-20px)}}.sample{color:var(--muted);text-align:center;font-size:12px}.confetti{pointer-events:none;z-index:60;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:8px;height:12px;animation:1.5s cubic-bezier(.25,.6,.4,1) forwards fall;position:absolute;top:-14px}@keyframes fall{to{transform:translate(var(--x),900px) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}a{color:inherit;text-decoration:none}.link{text-decoration:none}.navrow{color:inherit;text-decoration:none}.section-h{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin:6px 0 -6px;padding:0 16px;font-size:13px;font-weight:500}.empty-state{text-align:center;color:var(--muted);padding:18px 8px;font-size:15px;line-height:1.4}.empty-state b{color:var(--ink);margin-bottom:4px;font-size:17px;font-weight:600;display:block}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.form .field,.form select{background:var(--card);width:100%;height:44px;color:var(--ink);border:0;border-radius:12px;flex:none;padding:0 14px;font-size:17px}.form textarea.field{height:110px;padding:12px 14px}.form select{appearance:none}.sheet .field{background:var(--card)}.err{color:var(--bad);font-size:14px}.btn.danger{background:var(--bad);color:#fff}.btn.ghost.danger{background:var(--fill);color:var(--bad)}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.swipe-del{color:var(--bad);font-size:14px}.kbd-hint{color:var(--muted);font-size:12px}.splash{background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.recovery{letter-spacing:.04em;background:var(--card);text-align:center;word-spacing:6px;-webkit-user-select:all;user-select:all;border-radius:14px;padding:16px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:17px;line-height:1.7}.onb{max-width:460px;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 48px) 20px 40px;flex-direction:column;gap:18px;margin:0 auto;display:flex}.onb h1{letter-spacing:.01em;font-size:34px;font-weight:700}.onb p{color:var(--muted);margin:0;line-height:1.45}.strength{background:var(--fill2);border-radius:9px;height:4px;overflow:hidden}.strength i{background:var(--c);height:100%;transition:width .2s;display:block}.choice{text-align:left;background:var(--card);border:2px solid #0000;border-radius:14px;align-items:flex-start;gap:14px;width:100%;padding:16px;display:flex}.choice.on{border-color:var(--accent)}.choice b{margin-bottom:2px;font-weight:600;display:block}.choice span{color:var(--muted);font-size:14px}body.privacy .screen,body.privacy .sheet,body.privacy .focus{filter:blur(18px)}.support{background:color-mix(in srgb,var(--mind) 12%,var(--card));border-radius:14px;padding:14px 16px}.support .num{-webkit-user-select:all;user-select:all;font-weight:600}@media (min-width:900px){.screen{padding-top:36px}}button.card{text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;display:flex}button.card .pill{align-self:flex-start}
