:root{--bg:#fff5f0;--card:#fff;--card-2:#fff0ea;--ink:#3a2a2e;--ink-2:#7b6468;--ink-3:#b39ea1;--line:#f6e2da;--peach:#ffb4a2;--peach-soft:#ffe1d6;--pink:#e5737f;--pink-deep:#c9505e;--pink-soft:#fde4e6;--green:#3f9a6b;--green-soft:#e3f4ea;--amber:#c98a1b;--amber-soft:#fbf0d9;--red:#c94848;--suami:#6c8ebf;--istri:#e5737f;--radius:20px;--shadow:0 1px 2px #7a40400d, 0 6px 20px #7a40400f;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-family:Onest,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:15px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{border:1.5px solid var(--line);background:#fff;border-radius:14px;outline:none;width:100%;padding:12px 14px;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--peach)}textarea{resize:vertical;min-height:70px}a{color:var(--pink-deep)}.app{max-width:560px;min-height:100dvh;padding-bottom:calc(96px + var(--safe-bottom));margin:0 auto}.page{padding:calc(12px + var(--safe-top)) 16px 16px}.page-head{justify-content:space-between;align-items:center;gap:12px;margin:6px 0 14px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:800}.page-head .sub{color:var(--ink-2);font-size:14px}.tabbar{left:50%;bottom:calc(12px + var(--safe-bottom));-webkit-backdrop-filter:blur(16px);z-index:50;background:#ffffffe6;border-radius:28px;grid-template-columns:repeat(4,1fr);width:min(420px,100% - 32px);padding:6px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #96464626}.tabbar button{color:var(--ink-3);border-radius:22px;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.tabbar button.on{color:var(--pink-deep);background:var(--pink-soft)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:16px}.card-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.card-head h2{align-items:center;gap:8px;margin:0;font-size:17px;font-weight:700;display:flex}.card-head .more{color:var(--pink-deep);align-items:center;font-size:13px;font-weight:600;display:flex}.grid3{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.mini{background:var(--card);box-shadow:var(--shadow);text-align:left;border-radius:18px;flex-direction:column;gap:6px;min-height:120px;padding:12px;display:flex}.mini .label{color:var(--ink-2);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.mini .big{letter-spacing:-.02em;font-size:22px;font-weight:800}.mini .small{color:var(--ink-2);font-size:12px;line-height:1.3}.hero{letter-spacing:-.03em;font-size:32px;font-weight:800}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.tiny{font-size:12px}.small{font-size:13px}.bold{font-weight:700}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stack>*+*{margin-top:12px}.pos{color:var(--green)}.neg{color:var(--ink)}.seg{background:var(--peach-soft);border-radius:14px;gap:2px;margin-bottom:14px;padding:4px;display:flex}.seg button{color:var(--ink-2);border-radius:11px;flex:1;padding:8px 6px;font-size:14px;font-weight:600;transition:all .2s}.seg button.on{color:var(--ink);background:#fff;box-shadow:0 1px 4px #9646461f}.chips{scrollbar-width:none;gap:8px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1.5px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip .count{opacity:.7;font-size:11px}.list{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.item{text-align:left;align-items:center;gap:12px;width:100%;padding:13px 14px;display:flex}.item+.item{border-top:1px solid var(--line)}.item .t{font-weight:600}.item .s{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:12.5px;display:flex}.section-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:18px 4px 8px;font-size:13px;font-weight:700}.emoji{background:var(--card-2);border-radius:13px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.check{border:2px solid var(--ink-3);color:#fff;border-radius:8px;flex:none;place-items:center;width:24px;height:24px;transition:all .2s;display:grid}.check.on{background:var(--pink);border-color:var(--pink)}.check.round{border-radius:50%}.done-text{color:var(--ink-3);text-decoration:line-through}.tag{background:var(--card-2);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.tag.red{color:var(--red);background:#fde3e3}.tag.green{background:var(--green-soft);color:var(--green)}.tag.amber{background:var(--amber-soft);color:var(--amber)}.tag.pink{background:var(--pink-soft);color:var(--pink-deep)}.who{color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:inline-grid}.who.suami{background:var(--suami)}.who.istri{background:var(--istri)}.who.berdua{background:linear-gradient(135deg, var(--suami) 50%, var(--istri) 50%)}.btn{background:var(--pink);color:#fff;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-weight:700;transition:transform .1s,opacity .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn.block{width:100%}.btn.soft{background:var(--pink-soft);color:var(--pink-deep)}.btn.ghost{color:var(--ink-2);background:0 0}.btn.danger{color:var(--red);background:#fde3e3}.btn.sm{border-radius:11px;padding:8px 12px;font-size:13px}.icon-btn{width:40px;height:40px;box-shadow:var(--shadow);color:var(--ink-2);background:#fff;border-radius:13px;flex:none;place-items:center;display:grid}.fab{right:max(20px,50% - 260px);bottom:calc(96px + var(--safe-bottom));z-index:40;background:var(--pink);color:#fff;width:56px;height:56px;box-shadow:0 8px 22px color-mix(in srgb, var(--pink) 45%, transparent);border-radius:20px;place-items:center;display:grid;position:fixed}.fab:active{transform:scale(.94)}.backdrop{z-index:100;background:#3a2a2e59;animation:.2s fade;position:fixed;inset:0}.sheet{z-index:101;background:var(--bg);width:min(560px,100%);max-height:92dvh;padding:8px 16px calc(20px + var(--safe-bottom));border-radius:26px 26px 0 0;animation:.28s cubic-bezier(.2,.9,.3,1) up;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.sheet .grabber{background:var(--line);border-radius:3px;width:38px;height:5px;margin:4px auto 10px}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sheet-head h3{margin:0;font-size:19px;font-weight:800}@keyframes up{0%{transform:translate(-50%,100%)}}@keyframes fade{0%{opacity:0}}.field{display:block}.field>span{color:var(--ink-2);margin:0 0 6px 4px;font-size:13px;font-weight:600;display:block}.pick{flex-wrap:wrap;gap:8px;display:flex}.pick button{border:1.5px solid var(--line);color:var(--ink-2);background:#fff;border-radius:12px;padding:9px 13px;font-size:14px;font-weight:600}.pick button.on{border-color:var(--pink);background:var(--pink-soft);color:var(--pink-deep)}.cat-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cat-grid button{border:1.5px solid var(--line);color:var(--ink-2);background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:11.5px;font-weight:600;line-height:1.15;display:flex}.cat-grid button .e{font-size:22px}.cat-grid button.on{border-color:var(--pink);background:var(--pink-soft);color:var(--pink-deep)}.amount-input{text-align:center;letter-spacing:-.02em;background:0 0;border:0;padding:6px;font-size:34px;font-weight:800}.empty{text-align:center;color:var(--ink-3);padding:34px 20px}.empty .e{margin-bottom:6px;font-size:38px}.bar{background:var(--peach-soft);border-radius:4px;height:8px;overflow:hidden}.bar>i{background:var(--pink);border-radius:4px;height:100%;transition:width .4s;display:block}.bar.over>i{background:var(--red)}.week{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px;display:grid}.week button{color:var(--ink-3);flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.dot{background:var(--card-2);color:#fff;border-radius:10px;place-items:center;width:30px;height:30px;transition:all .2s;display:grid}.dot.on{background:var(--pink)}.dot.today{box-shadow:inset 0 0 0 2px var(--peach)}.cal{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal .dow{color:var(--ink-3);padding:4px 0;font-size:11px;font-weight:700}.cal button{aspect-ratio:1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:14px;font-weight:600;display:flex}.cal button.out{color:var(--ink-3);opacity:.4}.cal button.today{color:var(--pink-deep);font-weight:800}.cal button.sel{background:var(--ink);color:#fff}.cal .dots{gap:2px;height:5px;display:flex}.cal .dots i{border-radius:50%;width:5px;height:5px}.photos{border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:4px;display:grid;overflow:hidden}.photos button{aspect-ratio:1;background:var(--card-2) center / cover no-repeat}.viewer{z-index:200;background:#1c1416;flex-direction:column;animation:.2s fade;display:flex;position:fixed;inset:0}.viewer img{object-fit:contain;flex:1;width:100%;min-height:0}.viewer .bar-top{padding:calc(10px + var(--safe-top)) 14px 10px;color:#fff;justify-content:space-between;align-items:center;gap:10px;display:flex}.viewer .bar-top button{color:#fff}.viewer .cap{color:#fff;padding:12px 18px calc(18px + var(--safe-bottom));font-size:14px}.sync-pill{color:var(--ink-2);box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.sync-pill i{background:var(--ink-3);border-radius:50%;width:7px;height:7px}.sync-pill.ok i{background:var(--green)}.sync-pill.error i,.sync-pill.offline i{background:var(--red)}.sync-pill.syncing i{background:var(--amber);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.3}}.toast{top:calc(14px + var(--safe-top));z-index:300;background:var(--ink);color:#fff;border-radius:16px;max-width:calc(100% - 32px);padding:11px 18px;font-size:14px;font-weight:600;animation:.2s fade;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}.chart-tip{color:var(--ink-2);min-height:18px;font-size:12px}.legend{color:var(--ink-2);align-items:center;gap:14px;font-size:12px;display:flex}.legend i{vertical-align:middle;border-radius:1px;width:14px;height:2px;margin-right:5px;display:inline-block}.welcome{flex-direction:column;justify-content:center;max-width:460px;min-height:100dvh;margin:0 auto;padding:24px;display:flex}.logo{background:linear-gradient(135deg, var(--peach), var(--pink));width:76px;height:76px;box-shadow:0 10px 30px color-mix(in srgb, var(--pink) 35%, transparent);border-radius:24px;place-items:center;margin-bottom:18px;font-size:38px;display:grid}.paste-btn{background:linear-gradient(135deg, var(--peach-soft), var(--pink-soft));width:100%;color:var(--pink-deep);text-align:left;border-radius:18px;align-items:center;gap:10px;margin-bottom:14px;padding:13px 16px;font-weight:700;display:flex}.paste-btn .faint{color:var(--pink);font-size:12px;font-weight:500}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-head h1.greet{font-size:24px;line-height:1.15}.app .page{padding-bottom:96px}.tile{flex:none;place-items:center;display:inline-grid}.tile.letter{border-radius:13px;width:40px;height:40px;font-size:16px;font-weight:800}.chip-icon{margin-left:-4px;display:inline-flex}.chip.on .chip-icon .tile{color:#fff!important;background:#ffffff2e!important}.tint-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.tint-row button{border-radius:50%;width:28px;height:28px;transition:transform .15s;box-shadow:inset 0 0 0 2px #ffffffb3}.tint-row button.on{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--ink);transform:scale(1.05)}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;display:grid}.icon-grid button{border:2px solid #0000;border-radius:14px;place-items:center;padding:3px;display:grid}.icon-grid button.on{border-color:var(--ink)}.cat-grid button .tile{margin-bottom:2px}.meta{align-items:center;gap:3px;display:inline-flex}.flush{margin:0 -16px -16px}.flush .item{padding-left:16px;padding-right:16px}.check{transition:background .2s,border-color .2s,transform .2s cubic-bezier(.3,1.6,.5,1)}.check.on{animation:.35s cubic-bezier(.3,1.6,.5,1) pop;transform:scale(1.08)}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.18)}to{transform:scale(1.08)}}.item.todo .t{transition:color .3s}.item.todo.leaving{animation:.5s .15s forwards leave}@keyframes leave{to{opacity:0;transform:translate(14px)}}.checklist{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:4px 10px}.check-row{gap:8px;padding:6px 0}.check-row+.check-row{border-top:1px solid var(--line)}input.plain{background:0 0;border:0;border-radius:0;padding:4px 0;font-size:15px}.week.labels{text-align:center;color:var(--ink-3);margin-top:12px;padding-left:28px;font-size:11px;font-weight:600}.week.labels:only-of-type{padding-left:0}.dot.on.suami{background:var(--suami)}.dot.on.istri{background:var(--istri)}.home .sky{margin:calc(-12px - var(--safe-top)) -16px 14px;padding:calc(16px + var(--safe-top)) 16px 22px;border-radius:0 0 28px 28px;transition:background .6s}.sky.dawn{background:linear-gradient(170deg, color-mix(in srgb, var(--peach) 55%, #fff) 0%, color-mix(in srgb, var(--peach-soft) 70%, #fff) 60%, var(--bg) 100%)}.sky.day{background:linear-gradient(170deg, color-mix(in srgb, var(--peach-soft) 85%, #fff) 0%, color-mix(in srgb, var(--peach-soft) 35%, #fff) 60%, var(--bg) 100%)}.sky.dusk{background:linear-gradient(170deg, color-mix(in srgb, var(--pink) 38%, #fff) 0%, color-mix(in srgb, var(--peach-soft) 80%, #fff) 60%, var(--bg) 100%)}.sky.night{background:linear-gradient(170deg, color-mix(in srgb, var(--pink-deep) 22%, #ece4f0) 0%, color-mix(in srgb, var(--pink-soft) 80%, #fff) 60%, var(--bg) 100%)}.sky .sub{color:var(--ink-2);font-size:14px;font-weight:600}.sky h1.greet{letter-spacing:-.03em;white-space:pre-line;margin:14px 0 0;font-size:30px;font-weight:800;line-height:1.1}.glass,.sync-pill{-webkit-backdrop-filter:blur(12px);background:#fff9}.paste-btn .tile{flex:none}.search{align-items:center;margin-bottom:12px;display:flex;position:relative}.search>svg{color:var(--ink-3);position:absolute;left:13px}.search input{padding-left:38px;padding-right:36px}.search button{color:var(--ink-3);position:absolute;right:10px}.stack-bar{gap:2px;height:14px;display:flex}.stack-bar i{border-radius:4px;height:100%;display:block}.legend i.sq{border-radius:2px;width:8px;height:8px}.legend i.dot-key{border-radius:3px;width:6px;height:6px}.bar.done>i{background:var(--green)}.amount{font-variant-numeric:tabular-nums}.quick-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.section-label.row{text-transform:uppercase;display:flex}.section-label .more{text-transform:none;letter-spacing:0;color:var(--pink-deep);align-items:center;gap:2px;font-size:13px;font-weight:600;display:inline-flex}.albums{grid-template-columns:1fr 1fr;gap:10px;display:grid}.album-card{border-radius:var(--radius);box-shadow:var(--shadow);min-height:132px;position:relative}.album-open{height:100%;color:inherit;flex-direction:column;justify-content:flex-end;gap:4px;padding:16px;text-decoration:none;display:flex}.album-open svg{margin-bottom:auto}.album-title{color:var(--ink);font-size:15px;font-weight:700;line-height:1.2}.album-more{width:32px;height:32px;color:inherit;border-radius:10px;font-weight:800;position:absolute;top:8px;right:8px}.report-hero{background:linear-gradient(150deg, var(--pink) 0%, color-mix(in srgb, var(--pink) 70%, var(--peach)) 100%);color:#fff;box-shadow:0 10px 30px color-mix(in srgb, var(--pink) 30%, transparent);border-radius:24px;margin-bottom:14px;padding:20px}.report-hero .hero{font-size:36px}.notes{margin:0;padding-left:18px}.notes li{margin-bottom:6px;font-size:14px}.report-cat{padding:8px 0}.report-cat+.report-cat{border-top:1px solid var(--line)}.report-detail{margin-top:4px}.report-detail .section-label{margin-top:10px}.report-detail .list{box-shadow:none;border:1px solid var(--line)}.draw{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:1.1s cubic-bezier(.4,0,.2,1) forwards draw}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.draw{stroke-dashoffset:0}}.hero-split{border-top:1px solid #ffffff4d;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:12px;display:grid}.dot{color:var(--ink-3);font-size:12px;font-weight:600}.dot.on{color:#fff}.app,.welcome{overflow-x:clip}.home2 .sky{margin:calc(-12px - var(--safe-top)) -16px 0;padding:calc(14px + var(--safe-top)) 16px 18px;border-radius:0 0 30px 30px}.home2 .sky h1.greet{white-space:nowrap;text-overflow:ellipsis;margin:6px 0 14px;font-size:26px;overflow:hidden}.glass-card{-webkit-backdrop-filter:blur(18px)saturate(1.4);background:#ffffff9e;border:1px solid #ffffffb3;border-radius:22px;box-shadow:0 6px 24px #96464614}.sync-dot{background:var(--ink-3);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 3px #ffffffb3}.sync-dot.ok{background:var(--green)}.sync-dot.error,.sync-dot.offline{background:var(--red)}.sync-dot.syncing{background:var(--amber);animation:1s infinite pulse}.rings{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 6px 12px;display:grid}.ring{flex-direction:column;align-items:center;gap:2px;min-width:0;padding:0 4px;display:flex}.ring+.ring{border-left:1px solid #a06e6e1f}.ring-svg{width:60px;height:60px;margin-bottom:4px;position:relative}.ring-icon{place-items:center;display:grid;position:absolute;inset:15px}.ring-track{fill:none;stroke:#a06e6e1f;stroke-width:5px}.ring-fill{fill:none;stroke-width:5px;stroke-linecap:round;stroke-dashoffset:var(--off);transition:stroke-dashoffset .6s cubic-bezier(.3,.9,.3,1);animation:1s cubic-bezier(.3,.9,.3,1) .15s both ring-in}@keyframes ring-in{0%{stroke-dashoffset:var(--full)}}.ring-fill.t-peach{stroke:#e98b6d}.ring-fill.t-mint{stroke:#3f9a6b}.ring-fill.t-sky{stroke:#5b8cc0}.ring-fill.t-pink{stroke:var(--red)}.ring-label{font-size:13px;font-weight:700}.ring-caption{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11.5px;overflow:hidden}.quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.quick button{background:var(--card);box-shadow:var(--shadow);text-align:left;border-radius:16px;align-items:center;gap:8px;min-width:0;padding:9px 10px;font-size:13px;font-weight:700;line-height:1.15;transition:transform .12s;display:flex}.quick button:active,.ring:active,.habit-chip:active{transform:scale(.96)}.quick button span:last-child{text-overflow:ellipsis;overflow:hidden}.enter{animation:.5s cubic-bezier(.2,.8,.3,1) both rise;animation-delay:calc(var(--i,0) * 60ms + 80ms)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.calm{align-items:center;gap:12px;display:flex}.more-row{color:var(--pink-deep);justify-content:center;font-size:13px;font-weight:700}.money-card{text-align:left;width:100%;display:block}.hero-sm{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.habit-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.habit-chip{background:var(--card-2);text-align:left;border-radius:14px;align-items:center;gap:8px;min-width:0;padding:7px 8px;font-size:13px;font-weight:600;transition:background .25s,transform .12s;display:flex}.habit-chip>span.ellipsis{flex:1;min-width:0}.habit-chip .tick{border:2px solid var(--ink-3);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;transition:all .2s;display:grid}.habit-chip.on{background:var(--green-soft)}.habit-chip.on .tick{background:var(--green);border-color:var(--green);animation:.35s cubic-bezier(.3,1.6,.5,1) pop}.agenda-day{gap:12px;padding:8px 0;display:flex}.agenda-day+.agenda-day{border-top:1px solid var(--line)}.agenda-date{flex-direction:column;flex:none;align-items:center;width:40px;line-height:1.1;display:flex}.agenda-date .dname{color:var(--pink-deep);text-transform:uppercase;font-size:11px;font-weight:700}.agenda-date .dnum{font-size:20px;font-weight:800}.agenda-items{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.agenda-item{align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.goal-row{align-items:center;gap:10px;display:flex}.goal-row+.goal-row{margin-top:10px}.ring-track{stroke:#a06e6e33}.quick button{text-align:center;flex-direction:column;justify-content:center;gap:6px;padding:12px 6px 10px}.quick button span:last-child{white-space:nowrap;max-width:100%}.habit-chips{flex-wrap:wrap;display:flex}.habit-chip{max-width:100%;padding-right:10px}.habit-chip>span.ellipsis{flex:0 auto}.tx-entry{flex-direction:column;gap:10px;display:flex}.tx-entry .seg{margin-bottom:0}.amount-display{text-align:center;padding:2px 0 0}.amount-display .expr{color:var(--ink-2);font-variant-numeric:tabular-nums;min-height:20px;font-size:14px}.amount-display .amount{letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:42px;font-weight:800;line-height:1.1;transition:color .2s;overflow:hidden}.amount-display .amount .cur{color:var(--ink-2);vertical-align:14px;margin-right:4px;font-size:22px;font-weight:700}.amount-display .amount.zero{color:var(--ink-3)}.amount-display.in .amount:not(.zero){color:var(--green)}.cat-pick{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.cat-pick button{color:var(--ink-2);border:1.5px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:7px 2px 6px;font-size:11px;font-weight:600;line-height:1.15;transition:background .15s,border-color .15s,transform .12s;display:flex}.cat-pick button span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cat-pick button.on{border-color:var(--pink);color:var(--ink);box-shadow:var(--shadow);background:#fff}.cat-pick button:active{transform:scale(.94)}.transfer-row{align-items:center;gap:8px;display:flex}.wallet-pill{min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:14px;flex:1;align-items:center;gap:8px;padding:9px 10px;font-size:14px;font-weight:700;display:flex}.wallet-pill.empty{color:var(--ink-3);border:1.5px dashed var(--line);box-shadow:none;justify-content:center}.note-input{border-radius:12px;padding:10px 14px;font-size:15px}.note-ideas{flex-wrap:wrap;gap:6px;margin-top:-4px;display:flex}.note-ideas button{background:var(--card-2);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:4px 10px;font-size:12px;font-weight:600;overflow:hidden}.detail-chips{flex-wrap:wrap;gap:6px;display:flex}.dchip{border:1.5px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:5px 10px 5px 6px;font-size:12.5px;font-weight:600;display:inline-flex;position:relative}.dchip svg{flex:none}.dchip.on{border-color:var(--suami);color:var(--suami);background:#eef3fa}.dchip .who{width:18px;height:18px;font-size:10px}.dchip input[type=date]{opacity:0;border:0;width:100%;padding:0;position:absolute;inset:0}.keypad{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:52px;gap:6px;margin:2px -4px 0;transition:opacity .2s;display:grid}.keypad.hidden{display:none}.keypad .k{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#fff;border-radius:14px;place-items:center;font-size:22px;font-weight:600;transition:background .1s,transform 80ms;display:grid;box-shadow:0 1px #7a40401f}.keypad .k:active{background:var(--peach-soft);transform:scale(.95)}.keypad .k.op{background:var(--card-2);color:var(--pink-deep);font-size:24px}.keypad .k.ok{background:var(--pink);color:#fff;box-shadow:0 6px 16px color-mix(in srgb, var(--pink) 35%, transparent);grid-area:4/4/span 2;font-size:28px}.keypad .k.ok.off{background:var(--peach-soft);color:var(--pink-deep);box-shadow:none}.keypad .k.ok .hint{text-align:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1.2}.fab-scrim{z-index:45;-webkit-backdrop-filter:blur(6px);background:#fff5f08c;animation:.2s fade;position:fixed;inset:0}.fab-actions{right:max(20px,50% - 260px);bottom:calc(164px + var(--safe-bottom));z-index:46;pointer-events:none;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed}.fab-actions button{opacity:0;transition:opacity .18s,transform .25s cubic-bezier(.3,1.4,.5,1);transition-delay:calc(var(--i) * 35ms);align-items:center;gap:12px;display:flex;transform:translateY(16px)scale(.9)}.fab-actions.open{pointer-events:auto}.fab-actions.open button{opacity:1;transform:none}.fab-actions .tile{box-shadow:0 6px 18px #9646462e}.fab-label{white-space:nowrap;background:#fff;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:700;box-shadow:0 4px 14px #9646461f}.fab-main{z-index:47;transition:transform .25s cubic-bezier(.3,1.4,.5,1),background .2s}.fab-main svg{transition:transform .25s cubic-bezier(.3,1.4,.5,1)}.fab-main.open{background:var(--ink);box-shadow:0 8px 22px #3a2a2e59}.fab-main.open svg{transform:rotate(135deg)}.tx-sheet{padding-top:4px}.tx-sheet .grabber{margin-bottom:6px}.tx-sheet .sheet-head{gap:10px;margin-bottom:6px}.tx-sheet .sheet-head .seg{flex:1;margin:0}.tx-sheet .sheet-head .seg button{padding:7px 4px}.tx-entry{gap:8px}.amount-display .amount{font-size:40px}.cat-pick button{gap:3px;padding:5px 2px 4px}.cat-pick .tile{width:30px!important;height:30px!important}.detail-chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:0 16px 2px;overflow-x:auto}.detail-chips::-webkit-scrollbar{display:none}.dchip{flex:none}.keypad{grid-auto-rows:48px}@media (height<=700px){.keypad{grid-auto-rows:42px}.amount-display .amount{font-size:34px}}.theme-pick{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px;display:grid}.theme-pick button{color:var(--ink-2);flex-direction:column;align-items:center;gap:6px;min-width:0;padding:4px 0;font-size:11.5px;font-weight:600;display:flex}.theme-pick .swatch{border-radius:50%;width:40px;height:40px;transition:transform .15s;box-shadow:inset 0 0 0 1px #0000000f}.theme-pick button.on{color:var(--ink)}.theme-pick button.on .swatch{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--ink);transform:scale(1.04)}.home3 .sky{border-radius:0 0 32px 32px;padding-bottom:20px}.home3 .sky .sub{font-size:14px;font-weight:500}.home3 .sky h1.greet{letter-spacing:-.035em;margin:4px 0 18px;font-size:32px;font-weight:700;line-height:1.05}.icon-btn.round{border-radius:50%}.home3 .sec-head{justify-content:space-between;align-items:baseline;margin:0 2px 8px;display:flex}.home3 .sec-head h2{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.home3 .sec-head .more{color:var(--pink-deep);font-size:14px;font-weight:600}.home3 .card{border-radius:22px;margin-bottom:0}.home3 .card.roomy{padding:4px 16px}.home3 .card.roomy .flush{margin:-4px -16px}.home3 .card.roomy .calm{padding:12px 0}.home3 .flush .item .s.due{color:#a06e10}.home3 .flush .item .s.late{color:var(--red)}.home3 .more-below{color:var(--pink-deep);margin:8px auto 0;padding:8px 12px;font-size:14px;font-weight:600;display:block}.money-group{text-align:left;width:100%;padding:0;display:block;overflow:hidden}.mg-top{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.mg-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.mg-row.line{border-top:1px solid var(--line);padding:12px 16px;font-size:15px}.mg-amount{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.run-chart{width:100%;height:auto;display:block}.money-group .bar{height:6px}.home3 .habit-chip{background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:9px 12px 9px 9px;font-size:14px}.home3 .habit-chip.on{background:var(--green-soft);box-shadow:none}.home3 .goals-card{text-align:left;width:100%;padding:14px 16px;display:block}body{font-size:14px}.page-head h1{font-size:26px}.page-head{margin:4px 0 12px}.card{margin-bottom:12px;padding:14px}.card-head{margin-bottom:8px}.card-head h2{font-size:16px}.item{gap:11px;padding:11px 14px}.item .s{font-size:12px}.hero{font-size:28px}.section-label{margin:14px 4px 6px;font-size:12px}.chip{padding:6px 12px;font-size:12.5px}.seg button{padding:7px 6px;font-size:13px}.btn{padding:12px 16px}.btn.sm{padding:7px 11px;font-size:12.5px}.tabbar button{padding:7px 0 5px;font-size:10.5px}.empty{padding:26px 18px}.field>span{font-size:12.5px}.pick button{padding:8px 12px;font-size:13px}.cat-grid button{font-size:11px}.mini .big{font-size:20px}.home3 .sky h1.greet{margin:3px 0 14px;font-size:28px}.home3 .sky .sub{font-size:13px}.home3 .sec{margin-top:16px}.home3 .sec-head{margin-bottom:6px}.home3 .sec-head h2{font-size:18px}.home3 .sec-head .more{font-size:13px}.home3 .flush .item{gap:12px;padding-top:12px;padding-bottom:12px}.home3 .flush .item .t{font-size:15px}.home3 .flush .item .s{font-size:12px}.home3 .flush .check{width:24px;height:24px}.home3 .more-below{margin-top:4px;font-size:13px}.rings{padding:12px 6px 10px}.ring-svg,.ring-svg>svg{width:56px;height:56px}.ring-icon{inset:13px}.ring-label{font-size:12.5px}.ring-caption{font-size:11px}.mg-top{gap:8px;padding:12px 14px}.mg-amount{font-size:20px}.mg-row.line{padding:10px 14px;font-size:13.5px}.home3 .habit-chip{padding:7px 11px 7px 8px;font-size:13px}.home3 .agenda-day{padding:9px 0}.agenda-item{font-size:13.5px}.agenda-date .dnum{font-size:18px}.home3 .goals-card{padding:12px 14px}.home3 .goal-row+.goal-row{margin-top:12px}.note-input,input.plain,.search input{font-size:16px}.card.money-group{padding:0}
