:root{--bg: #0f1115;--card: #181b22;--card-2: #20242d;--line: #2a2f3a;--text: #eef0f4;--muted: #9aa1ad;--accent: #3ddc84;--accent-ink: #06210f;--warn: #ffb020;--over: #ff7a45;--danger: #ff4d5e;--radius: 16px;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}@media(prefers-color-scheme:light){:root{--bg: #f3f4f7;--card: #ffffff;--card-2: #eef0f4;--line: #dfe2e8;--text: #14171c;--muted: #616875;--accent: #12a150;--accent-ink: #ffffff;--warn: #b46f00;--over: #c4501c;--danger: #d22b3c;color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{min-height:100dvh;font-size:16px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer}input,select{font:inherit;color:inherit}h1,h2,h3,h4{margin:0}h3{font-size:17px;margin-bottom:10px}.app{max-width:560px;margin:0 auto;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.page{padding:16px;display:flex;flex-direction:column;gap:14px}.card{background:var(--card);border-radius:var(--radius);padding:16px}.muted{color:var(--muted)}.small{font-size:13px}.empty{color:var(--muted);text-align:center;padding:32px 8px}.banner{background:var(--danger);color:#fff;padding:10px 16px;font-size:14px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;vertical-align:middle}.card p{margin:6px 0}.hero-num{font-size:40px;font-weight:800;letter-spacing:-.02em;margin:2px 0;font-variant-numeric:tabular-nums}.hero-num.neg{color:var(--danger)}.hero-rate{font-size:17px}.hero-rate b{color:var(--accent)}.goal{margin-top:12px;display:flex;flex-direction:column;gap:4px}.breakdown{margin:14px 0 0;display:flex;flex-direction:column;gap:6px}.breakdown div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.breakdown dt{color:var(--muted)}.breakdown dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.bar{height:8px;background:var(--card-2);border-radius:99px;overflow:hidden}.bar>div{height:100%;background:var(--accent);border-radius:99px;transition:width .3s}.bar.warn>div{background:var(--warn)}.bar.over>div{background:var(--over)}.bar.danger>div{background:var(--danger)}.warn{color:var(--warn)}.over{color:var(--over)}.danger{color:var(--danger)}.ok{color:var(--text)}.limit{margin-bottom:12px}.limit-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:15px}.timer.on{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--card)),var(--card))}.timer-top{display:flex;align-items:center;gap:8px}.timer-big{font-size:34px;font-weight:800;margin:6px 0;font-variant-numeric:tabular-nums}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;color:var(--muted);font-weight:500;padding:4px 4px 8px 0}.tbl td{padding:6px 4px 6px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.month-picker{display:flex;align-items:center;justify-content:space-between;font-weight:600;text-transform:capitalize}.day h4{font-size:14px;color:var(--muted);font-weight:500;margin:4px 4px 8px}.item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:var(--card);border:0;border-radius:12px;padding:12px 14px;margin-bottom:6px;min-height:56px}.item.archived{opacity:.55}.item-main{flex:1;display:flex;flex-direction:column;min-width:0}.item-main .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-side{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums}.card .item{background:var(--card-2)}.btn{border:0;border-radius:12px;padding:12px 16px;background:var(--card-2);font-weight:600;min-height:48px}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.4;cursor:default}.btn.wide{width:100%}.icon-btn{border:0;background:var(--card);border-radius:12px;width:44px;height:44px;font-size:20px}.link-btn{background:none;border:0;color:var(--accent);padding:8px 0;text-align:left}.stack{display:flex;flex-direction:column;gap:8px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{--c: var(--accent);border:1.5px solid var(--line);background:var(--card-2);border-radius:99px;padding:9px 14px;min-height:40px;font-size:15px}.chip.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,var(--card-2))}.seg{display:flex;background:var(--card-2);border-radius:12px;padding:4px}.seg button{flex:1;border:0;background:none;border-radius:9px;padding:10px;font-weight:600}.seg button.on{background:var(--accent);color:var(--accent-ink)}.field{display:flex;flex-direction:column;gap:4px;margin:10px 0 0;min-width:0}.field-label{font-size:13px;color:var(--muted)}.field-input{display:flex;align-items:center;background:var(--card-2);border-radius:12px;padding:0 12px;border:1.5px solid transparent}.field-input:focus-within{border-color:var(--accent)}.field-input input,.field-input select{flex:1;min-width:0;background:none;border:0;outline:none;padding:12px 0;font-size:17px}.field-input input[type=color]{padding:6px 0;height:46px}.field-hint{font-size:12px;color:var(--muted)}.suffix{color:var(--muted);padding-left:6px}.check{display:flex;gap:10px;align-items:center;margin:12px 0 4px;min-height:32px}.check input{width:22px;height:22px;accent-color:var(--accent)}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:color-mix(in srgb,var(--card) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tabs button{flex:1;max-width:140px;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;font-size:12px;color:var(--muted)}.tabs button.on{color:var(--accent)}.tab-icon{font-size:20px;line-height:1.2}.fab{position:fixed;right:max(16px,calc(50% - 264px));bottom:calc(80px + env(safe-area-inset-bottom));width:60px;height:60px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);font-size:32px;font-weight:300;box-shadow:0 6px 20px #00000059;z-index:11}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:fade .15s}.sheet{background:var(--card);width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));animation:up .2s ease-out}.sheet .field-input,.sheet .chip{background:var(--card-2)}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sheet-head h2{font-size:20px}.sheet-head .icon-btn{background:var(--card-2)}.sheet-actions{display:flex;gap:10px;margin-top:18px}.sheet-actions .primary{flex:1}@keyframes up{0%{transform:translateY(40px);opacity:.6}}@keyframes fade{0%{opacity:0}}.onboarding{padding-top:40px;gap:16px}.onboarding h1{font-size:34px;color:var(--accent)}.lead{font-size:17px;margin:0}.disclaimer{padding:0 4px 16px}.tutorial{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.tut-top{display:flex;align-items:center;justify-content:space-between;min-height:44px}.tut-dots{display:flex;gap:6px}.tut-dots span{width:22px;height:6px;border-radius:99px;background:var(--card-2);transition:background .2s}.tut-dots span.on{background:var(--accent)}.tut-body{flex:1;animation:up .25s ease-out}.tut-step{display:flex;flex-direction:column;gap:14px;padding-top:12px}.tut-emoji{font-size:52px;line-height:1}.tut-title{font-size:26px;line-height:1.2}.tut-text{font-size:19px;margin:0}.tut-mock{border:2px dashed var(--line)}.tut-mock .chip{font-size:18px;padding:12px 20px}.tut-tap{margin:0 0 8px;font-size:16px;color:var(--accent);font-weight:600}.tut-ok{color:var(--accent);font-size:17px;margin:10px 0 0}.tut-calc{display:flex;flex-direction:column;gap:10px;font-size:19px}.tut-calc div{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.tut-calc .minus b{color:var(--danger)}.tut-calc .total{border-top:1px solid var(--line);padding-top:10px;font-size:24px}.tut-calc .total b,.accent{color:var(--accent)}.tut-list{margin:0;padding-left:20px;font-size:18px;display:flex;flex-direction:column;gap:10px}.tut-nav{display:flex;gap:10px;padding-top:16px;position:sticky;bottom:0;background:var(--bg)}.tut-nav .btn{min-height:56px;font-size:18px}.tut-nav .primary{flex:1}.tut-pulse{animation:pulse 1.4s ease-in-out infinite}.tut-pulse-border{animation:pulse-b 1.4s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 30%,transparent);transform:scale(1.03)}}@keyframes pulse-b{50%{border-color:var(--accent)}}@media(prefers-reduced-motion:reduce){.tut-pulse,.tut-pulse-border,.tut-body{animation:none}}.pro-teaser{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent)}.pro-icon{font-size:26px;flex:none}.pro-price{font-size:18px;margin-bottom:12px}.pro-price b{font-size:32px;color:var(--accent)}.pro-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.pro-list li{display:flex;gap:12px;align-items:flex-start}.quick{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.quick-btn{text-align:left;border:1.5px dashed var(--line)}.voice{display:flex;flex-direction:column;gap:4px}.voice p{margin:0}.voice-btn.on{background:var(--danger);color:#fff;animation:pulse 1.4s ease-in-out infinite}.voice-text{font-size:16px;font-style:italic}.support-link{color:var(--accent)}.support-btn{display:flex;align-items:center;justify-content:center;text-decoration:none}.nudge{display:flex;flex-direction:column;gap:10px;border:1.5px solid color-mix(in srgb,var(--accent) 40%,transparent)}.nudge-head{display:flex;gap:12px;align-items:flex-start}.nudge-head p{margin:2px 0 0}.nudge-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.nudge-actions .primary{flex:1}.nudge-err{flex-basis:100%;margin:0}.btn.ghost{background:none;color:var(--muted)}.survey{display:flex;flex-direction:column;gap:8px}.survey-opt{text-align:left;font-weight:500}.steps{margin:0 0 16px;padding-left:22px;display:flex;flex-direction:column;gap:12px;font-size:17px}.seg button:disabled{opacity:.5}.seg{flex-wrap:wrap}.app main{padding-bottom:76px}
