:root,:root[data-theme=light]{--bg:#f3f1ec;--card:#fff;--card-2:#faf9f6;--text:#1c1b19;--muted:#8a8478;--accent:#d97757;--accent-strong:#c15f3c;--accent-text:#fff;--accent-soft:#f8e7df;--pos:#1f9d57;--neg:#d6336c;--warn:#b7791f;--line:#3c32281c;--soft:#eeebe4;--glass:#faf9f6c7;--shadow:0 1px 1px #1f1e1c08, 0 6px 20px #1f1e1c0d;--radius:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121110;--card:#1f1e1b;--card-2:#262521;--text:#f4f2ec;--muted:#9b958a;--accent:#e0896a;--accent-strong:#eda085;--accent-text:#1a1917;--accent-soft:#3a2a22;--pos:#3fcf85;--neg:#ff6b98;--warn:#e5b04e;--line:#fffaf014;--soft:#2b2a26;--glass:#1a1917c7;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121110;--card:#1f1e1b;--card-2:#262521;--text:#f4f2ec;--muted:#9b958a;--accent:#e0896a;--accent-strong:#eda085;--accent-text:#1a1917;--accent-soft:#3a2a22;--pos:#3fcf85;--neg:#ff6b98;--warn:#e5b04e;--line:#fffaf014;--soft:#2b2a26;--glass:#1a1917c7;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--buy:var(--pos);--sell:var(--neg)}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-variant-numeric:tabular-nums;letter-spacing:-.1px;font:15px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body.locked{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}h2{letter-spacing:-.3px;margin:0;font-size:19px}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.2px;margin:14px 16px 6px;font-size:13px;font-weight:600}.card h3{color:var(--text);text-transform:none;letter-spacing:-.2px;margin:0 0 10px;font-size:16px}.num{font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.icon{flex:none;display:block}.app main{max-width:560px;padding:8px 14px calc(160px + env(safe-area-inset-bottom));margin:0 auto}.page{flex-direction:column;gap:12px;display:flex}.page.center{text-align:center;justify-content:center;align-items:center;min-height:80vh;padding:16px}.large-title{justify-content:space-between;align-items:flex-end;gap:8px;padding:10px 4px 2px;display:flex}.large-title h1{letter-spacing:-.8px;margin:0;font-size:32px;font-weight:700;line-height:1.1}.card{background:var(--card);border-radius:var(--radius);text-align:left;box-shadow:var(--shadow);color:var(--text);border:0;padding:16px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.card-head h3{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.pos{color:var(--pos)}.neg{color:var(--neg)}.buy{color:var(--buy)}.sell{color:var(--sell)}.error{color:var(--neg);margin:0}.money{flex-direction:column;display:inline-flex}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tile{cursor:pointer;flex-direction:column;gap:2px;min-width:0;padding:12px 13px;display:flex}.tile>span:first-child{text-transform:capitalize;font-size:12px}.tile b{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.tile:active,.row:active,.tap:active{opacity:.7}.list{padding:0;overflow:hidden}.list>.row{padding:12px 16px;position:relative}.list>.row+.row:before{content:"";border-top:1px solid var(--line);position:absolute;top:0;left:62px;right:0}.list.plain-rows>.row+.row:before{left:16px}.small-btn{border-radius:99px;padding:7px 14px;font-size:13px}.badges{flex-wrap:wrap;gap:4px;display:inline-flex}.badge{background:var(--soft);color:var(--muted);white-space:nowrap;border-radius:99px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;display:inline-flex}.badge.long{background:color-mix(in srgb, var(--pos) 16%, transparent);color:var(--pos);font-weight:600}.badge.short{background:color-mix(in srgb, var(--neg) 16%, transparent);color:var(--neg);font-weight:600}.badge.warn{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.badge.accent{background:var(--accent-soft);color:var(--accent-strong)}.btn{cursor:pointer;background:var(--soft);color:var(--text);border:0;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:13px 18px;font-weight:600;transition:transform .1s,opacity .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-text)}.btn.primary:active{background:var(--accent-strong)}.btn.danger{color:var(--neg);background:0 0}.btn:disabled{opacity:.55;cursor:default}.icon-btn{background:var(--soft);cursor:pointer;width:34px;height:34px;color:var(--text);border:0;border-radius:99px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.icon-btn:disabled{opacity:.35}.pill-btn{background:var(--soft);color:var(--muted);cursor:pointer;white-space:nowrap;border:0;border-radius:99px;align-items:center;gap:4px;padding:5px 10px 5px 11px;font-size:13px;font-weight:500;display:inline-flex}.pill-btn.on{background:var(--accent-soft);color:var(--accent-strong)}.tabbar{z-index:6;background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--line);padding:0 8px env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{cursor:pointer;max-width:120px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:7px 0 9px;font-size:10.5px;font-weight:500;display:flex}.tabbar button.on{color:var(--accent)}.segmented{background:var(--soft);border-radius:12px;padding:3px;display:flex;position:relative}.segmented .thumb{width:calc((100% - 6px) / var(--n));background:var(--card);transform:translateX(calc(var(--i) * 100%));border-radius:9px;transition:transform .28s cubic-bezier(.3,.9,.3,1);position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 2px #0000001a,0 2px 8px #0000000f}.segmented button{z-index:1;cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:1;padding:7px 4px;font-size:14px;font-weight:500;transition:color .2s,transform .1s;position:relative}.segmented button.on{color:var(--text);font-weight:600}.segmented button:active{transform:scale(.96)}.form{flex-direction:column;gap:12px;display:flex}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:13px}.field-hint{color:var(--muted);font-size:12px}.field input,.field textarea,.field select,.search{background:var(--soft);appearance:none;border:1px solid #0000;border-radius:12px;outline:none;width:100%;min-height:44px;padding:10px 12px;font-size:16px}.field input[type=date],.field input[type=datetime-local]{text-align:left;display:block}.field input:focus,.field textarea:focus,.field select:focus,.search:focus{border-color:var(--accent);background:var(--card)}.chips{flex-wrap:wrap;gap:6px;margin-top:-4px;display:flex}.chip{background:var(--soft);cursor:pointer;color:var(--text);border:0;border-radius:99px;align-items:center;gap:5px;padding:5px 12px;font-size:13px;display:inline-flex}.chip.on{background:var(--text);color:var(--card)}.switch-row{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.switch-row:last-child{border-bottom:0}.switch-row.off{opacity:.45}.switch{flex-shrink:0;width:51px;height:31px;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{background:var(--soft);box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;transition:background .2s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0003,0 0 1px #0003}.switch input:checked+span{background:var(--pos);box-shadow:none}.switch input:checked+span:after{transform:translate(20px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.sheet-backdrop{z-index:10;background:#0006;justify-content:center;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--bg);border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-width:560px;max-height:92vh;animation:.28s cubic-bezier(.2,.9,.3,1) up;display:flex}.sheet:before{content:"";background:var(--line);border-radius:99px;flex:none;width:36px;height:5px;margin:7px auto 0}@keyframes up{0%{opacity:.5;transform:translateY(60px)}}.sheet-head{justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.sheet-head h2{align-items:center;gap:8px;display:flex}.sheet-body{padding:4px 16px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex;overflow-y:auto}.sheet-body>.card,.sheet-body>section.card{box-shadow:none}.grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat{background:var(--card);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:2px;padding:11px 14px;font-size:13px;display:flex}.stat strong{font-size:17px}.chart{width:100%;height:auto;display:block}.chart .axis{stroke:var(--line)}.chart .bar-pos{fill:var(--pos)}.chart .bar-neg{fill:var(--neg)}.chart .tick{fill:var(--muted);font-size:9px}.table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:14px}.table td{border-bottom:1px solid var(--line);padding:9px 0}.table tr:last-child td{border-bottom:0}.table td:first-letter{text-transform:uppercase}.toast{background:var(--text);color:var(--card);z-index:20;border-radius:99px;padding:9px 18px;font-size:14px;font-weight:500;animation:.2s fade;position:fixed;top:12px;left:50%;transform:translate(-50%)}.icon-tile{color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:29px;height:29px;display:inline-flex}.section-title{align-items:center;gap:10px;margin:0 0 12px;display:flex}.section-title h3{margin:0}.form>.section-title{margin-bottom:0}:root,:root[data-theme=light]{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#4a3aa7;--s8:#e34948;--s9:#0e9fb5;--s10:#a05ad6;--s11:#8a6a3d;--s12:#6b7280}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767;--s9:#22b3c9;--s10:#b67ee6;--s11:#b08d5e;--s12:#9aa1ad}}:root[data-theme=dark]{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767;--s9:#22b3c9;--s10:#b67ee6;--s11:#b08d5e;--s12:#9aa1ad}.chip,.pill-btn,.icon-btn,.link,.tile,.row.tap,.tabbar button,.swatch-btn,.color-row{transition:transform .12s,opacity .12s,background-color .2s,color .2s}.chip:active,.pill-btn:active,.icon-btn:active,.tile:active,.swatch-btn:active{transform:scale(.94)}.link:active,.color-row:active{opacity:.55}.tabbar button:active{transform:scale(.9)}.tabbar button .icon{transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.tabbar button.on .icon{transform:translateY(-1px)scale(1.08)}.btn{transition:transform .12s,background-color .2s,opacity .2s}.page{animation:.22s ease-out page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.swatch-btn.on:after{animation:.2s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.7)}}html.theme-fade,html.theme-fade *,html.theme-fade :before,html.theme-fade :after{transition:background-color .35s,color .35s,border-color .35s,fill .35s,stroke .35s,box-shadow .35s,opacity .2s,transform .28s cubic-bezier(.3,.9,.3,1)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sheet-backdrop.closing{animation:.22s forwards fade-out}.sheet.closing{animation:.22s ease-in forwards sheet-out}.sheet{transition:transform .25s cubic-bezier(.2,.9,.3,1)}.sheet-head{touch-action:none;cursor:grab}@keyframes fade-out{to{opacity:0}}@keyframes sheet-out{to{transform:translateY(100%)}}.sk{background:linear-gradient(90deg, var(--soft) 0%, color-mix(in srgb, var(--soft) 55%, var(--card)) 50%, var(--soft) 100%);background-size:200% 100%;border-radius:8px;height:12px;margin:6px 0;animation:1.3s ease-in-out infinite shimmer}.sk-title{border-radius:10px;width:55%;height:30px;margin:12px 4px 6px}.sk-big{width:60%;height:34px;margin:10px 0}.sk-line.short{width:40%}.sk-donut{border-radius:50%;width:130px;height:130px;margin:10px auto}.sk-avatar{border-radius:50%;flex:none;width:34px;height:34px;margin:0}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.tabbar,.fab-row{transition:opacity .2s,transform .25s}html.kb-open .tabbar,html.kb-open .fab-row{opacity:0;pointer-events:none;transform:translateY(24px)}html.kb-open .app main{padding-bottom:calc(var(--kb,0px) + 140px)}html.kb-open .sheet-backdrop{top:var(--vvtop,0px);height:var(--vvh,100%);bottom:auto}html.kb-open .sheet{max-height:calc(var(--vvh,100vh) - 12px)}html.kb-open .sheet-body{padding-bottom:28px}.title-actions{gap:8px;display:flex}.heat{gap:5px;display:grid}.heat-month{grid-template-columns:repeat(7,1fr)}.heat-year{grid-template-columns:repeat(4,1fr)}.heat-dow{color:var(--muted);text-align:center;font-size:11px}.heat-cell{aspect-ratio:1;cursor:pointer;color:var(--text);border:0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;font-size:13px;transition:transform .12s;display:flex}.heat-year .heat-cell{aspect-ratio:1.6;text-transform:capitalize}.heat-cell small{letter-spacing:-.3px;white-space:nowrap;font-size:10px;font-weight:600;line-height:1}.heat-cell span{line-height:1.1}.heat-month .heat-cell{aspect-ratio:.92}.heat-cell.strong{color:#fff}.heat-cell.future{opacity:.35;cursor:default}.heat-cell:active:not(:disabled){transform:scale(.92)}.card-title{align-items:center;gap:10px;min-height:30px;display:flex}.card-title h3{flex:1;min-width:0;margin:0}.card-title-right{align-items:center;gap:6px;display:inline-flex}.form>.card-title{margin-bottom:2px}.list-head{padding:14px 16px 6px}.large-title .title-actions .icon-btn{background:var(--card);width:38px;height:38px;box-shadow:var(--shadow)}.large-title .link{margin:2px 2px 0}.empty{margin:4px 16px 14px}.about{align-items:flex-start;gap:6px;margin:4px 6px 0;display:flex}.about .icon{margin-top:2px}.field-hint.center{text-align:center}.time-wrap{display:block;position:relative}.time-wrap input{padding-right:38px}.clear-btn{background:color-mix(in srgb, var(--muted) 18%, transparent);width:28px;height:28px;color:var(--muted);cursor:pointer;border:0;border-radius:99px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.sleep-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;font-size:15px;display:flex}.sleep-line b{font-size:17px}.badge.good{background:color-mix(in srgb, var(--pos) 16%, transparent);color:var(--pos);font-weight:600}.badge.warn{font-weight:600}.chips-row{gap:8px;display:flex}.chips-row .chip{border-radius:12px;flex:1;justify-content:center;padding:10px 8px;font-size:15px}.habits>.row+.row:before{left:56px}.habits>.row{padding:0}.habit-main{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.habit-main:active{background:var(--soft)}.check-circle{width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--line);color:#0000;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background-color .2s,box-shadow .2s,color .2s,transform .2s cubic-bezier(.3,1.6,.5,1);display:inline-flex}.habit.done .check-circle{background:var(--pos);box-shadow:none;color:#fff;transform:scale(1.06)}.habit-name{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.habit-name b{font-size:16px;font-weight:500}.habit.done .habit-name b{font-weight:600}.streak{color:var(--warn);align-items:center;gap:2px;font-size:13px;font-weight:600;display:inline-flex}.minutes{flex-wrap:wrap;gap:6px;padding:0 16px 12px 56px;animation:.2s ease-out page-in;display:flex}.scale-block{flex-direction:column;gap:6px;display:flex}.scale-head{color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.scale-head b{color:var(--text);font-size:15px}.scale{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.scale button{background:var(--soft);height:36px;color:var(--muted);cursor:pointer;border:0;border-radius:9px;padding:0;font-size:13px;font-weight:600;transition:background-color .15s,color .15s,transform .1s}.scale button.on{background:color-mix(in srgb, var(--accent) 80%, var(--card));color:var(--accent-text)}.scale button:active{transform:scale(.9)}.diary{resize:vertical;background:var(--soft);appearance:none;border:1px solid #0000;border-radius:12px;outline:none;width:100%;min-height:120px;padding:10px 12px;font-size:16px;line-height:1.45}.diary:focus{border-color:var(--accent);background:var(--card)}.hero-num{align-items:center;gap:14px;display:flex}.hero-num b{letter-spacing:-1px;font-size:44px;font-weight:700;line-height:1.05}.dots{gap:6px;display:inline-flex}.dots i{background:var(--soft);width:12px;height:12px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%}.dots i.on{background:var(--pos);box-shadow:none}.chart .bar-mid{fill:var(--accent)}.chart .bar-empty{fill:var(--soft)}.chart .goal-line{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 4}.chart .tick.today{fill:var(--accent-strong);font-weight:700}.habit-stat{flex-direction:column;gap:8px;display:flex}.list>.row.habit-stat+.row:before,.list>.row+.row.habit-stat:before{left:16px}.habit-stat-head{justify-content:space-between;align-items:center;display:flex}.habit-stat-head b{font-size:16px}.week-cells{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.week-cells .cell{background:var(--soft);height:30px;color:var(--muted);cursor:pointer;border:0;border-radius:8px;padding:0;font-size:12px;font-weight:600}.week-cells .cell.on{background:var(--pos);color:#fff}.week-cells .cell.before{opacity:.35}.habit-stat-foot{flex-wrap:wrap;justify-content:space-between;gap:4px 10px;display:flex}.heat-cell{position:relative}.heat-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.moon-dot{background:var(--s7);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px}.heat-cell.strong .moon-dot{background:#fff}.legend{margin:10px 0 0}.habit-edit{align-items:center;gap:8px;display:flex}.list>.row.habit-edit+.row:before{left:16px}.habit-edit-main{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:0;flex-direction:column;flex:1;gap:1px;padding:0;display:flex}.habit-edit-main b{font-size:16px;font-weight:500}.archived{border-top:1px solid var(--line)}.archived summary{cursor:pointer;padding:12px 16px}.archived .row{padding:10px 16px}
