:root{--ink:#121820;--ink-soft:#3a4554;--muted:#6b7585;--paper:#e8ecf1;--paper-deep:#d5dde7;--line:#1218201c;--accent:#b85c1f;--accent-2:#d06c28;--accent-ink:#fff8f2;--accent-soft:#b85c1f1f;--accent-glow:#b85c1f47;--steel:#3f5f78;--steel-soft:#3f5f7824;--danger:#b03838;--danger-soft:#b038381a;--good:#1f6b48;--good-soft:#1f6b481f;--watch:#9a6b12;--watch-soft:#9a6b1224;--surface:#ffffffa3;--surface-strong:#ffffffe6;--overlay:#0c121c7a;--shadow:0 18px 48px #12182029;--radius:12px;--radius-sm:8px;--font-display:"Syne", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--topbar-h:3.5rem;--dock-h:4.35rem;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:auto}body{background:var(--paper);min-width:320px;margin:0;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--accent-glow);color:var(--ink)}code{font-size:.92em}.app-shell{grid-template-rows:var(--topbar-h) 1fr var(--dock-h);height:100%;max-height:100dvh;display:grid;position:relative;overflow:hidden}.atmosphere{pointer-events:none;z-index:0;background:radial-gradient(980px 560px at 8% -10%, var(--accent-glow), transparent 58%), radial-gradient(760px 500px at 94% 4%, var(--steel-soft), transparent 54%), radial-gradient(680px 440px at 48% 110%, #b85c1f24, transparent 50%), linear-gradient(158deg, #eef1f5 0%, #e4e9f0 46%, #d7dde8 100%);position:fixed;inset:0}.orb{filter:blur(28px);opacity:.55;border-radius:40% 60% 55% 45%;animation:14s ease-in-out infinite alternate drift;position:absolute}.orb-a{background:#b85c1f61;width:min(48vw,420px);height:min(48vw,420px);top:8%;left:-6%}.orb-b{background:#3f5f7852;width:min(42vw,360px);height:min(42vw,360px);animation-duration:18s;animation-delay:-4s;top:42%;right:-4%}.orb-c{background:#b85c1f2e;border-radius:55% 45% 60% 40%;width:min(36vw,300px);height:min(36vw,300px);animation-duration:20s;animation-delay:-9s;bottom:-8%;left:38%}.grain{opacity:.28;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar{z-index:2;animation:rise .65s var(--ease) both;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem clamp(.85rem,3vw,1.5rem);display:flex;position:relative}.brand-mark{font-family:var(--font-display);letter-spacing:-.05em;color:var(--accent);transition:color .2s var(--ease), transform .25s var(--ease);background:0 0;border:none;padding:.2rem 0;font-size:1.35rem;font-weight:800}.brand-mark:hover,.brand-mark:focus-visible{color:var(--accent-2);outline:none;transform:translateY(-1px)}.brand-mark:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.topbar-caption{color:var(--muted);margin:0;font-size:.82rem;font-weight:500}.stage{z-index:1;height:100%;position:relative;overflow:hidden}.slide{overscroll-behavior-y:contain;width:100%;height:100%;animation:rise .4s var(--ease) both;padding:0 clamp(.85rem,3vw,1.5rem) 1rem;overflow:hidden auto}.slide-inner{width:min(1080px,100%);animation:rise .55s var(--ease) both;margin:0 auto;padding-bottom:1.5rem}.slide-hero{align-content:center;padding-bottom:1.5rem;display:grid}.hero{width:min(920px,100%);margin:0 auto;padding:1rem 0 .5rem;position:relative}.hero-brand{font-family:var(--font-display);letter-spacing:-.07em;color:var(--accent);animation:brandIn 1s var(--ease) both;margin:0 0 1.25rem;font-size:clamp(4.6rem,17vw,9.2rem);font-weight:800;line-height:.86;display:inline-block;position:relative}.hero-brand:after{content:"";background:var(--ink);transform-origin:0;width:.42em;height:.055em;animation:brandMark 1.1s var(--ease) .35s both;border-radius:2px;position:absolute;bottom:.06em;left:.06em}.hero-title{max-width:15ch;font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);animation:rise .85s var(--ease) 80ms both;margin:0 0 .9rem;font-size:clamp(1.55rem,3.6vw,2.25rem);font-weight:700;line-height:1.1}.hero-lead{max-width:34ch;color:var(--ink-soft);animation:rise .9s var(--ease) .14s both;margin:0 0 1.7rem;font-size:1.06rem;line-height:1.55}.hero-actions{animation:rise .95s var(--ease) .2s both;flex-wrap:wrap;gap:.7rem;display:flex}.hero-hint,.hero-resume{color:var(--muted);letter-spacing:.01em;animation:rise 1s var(--ease) .28s both;margin:1.4rem 0 0;font-size:.82rem}.hero-resume{max-width:42ch;color:var(--ink-soft)}.btn{border-radius:var(--radius-sm);letter-spacing:-.01em;transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.78rem 1.15rem;font-size:.94rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-2)}.btn-ghost{background:var(--surface-strong);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{background:#fff;border-color:#1218202e}.btn-danger{color:var(--danger);background:0 0;border-color:#b0383866}.btn-compact{padding:.4rem .7rem;font-size:.85rem}.section-head{margin:.35rem 0 1.35rem}.section-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.76rem;font-weight:600}.section-title{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .4rem;font-size:clamp(1.55rem,3vw,2.05rem);line-height:1.12}.section-lead{max-width:48ch;color:var(--ink-soft);margin:0;line-height:1.5}.metrics{grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.5rem;display:grid}.metric{border-top:1px solid var(--line);padding:.85rem 0 .15rem}.metric-label{color:var(--muted);letter-spacing:.02em;margin:0 0 .35rem;font-size:.78rem;font-weight:500}.metric-value{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.3rem,2.3vw,1.7rem);font-weight:700}.metric-value.pos{color:var(--good)}.metric-value.neg{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:1.15rem 1.2rem 1.25rem}.panel+.panel,.stack-gap{margin-top:1rem}.panel-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .8rem;font-size:1.05rem;font-weight:700}.grid-2{grid-template-columns:1.3fr 1fr;gap:1rem;display:grid}.chart-wrap{width:100%;height:250px}.breakdown-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.breakdown-row{grid-template-columns:10px 1fr auto;align-items:center;gap:.6rem;display:grid}.swatch{border-radius:2px;width:10px;height:10px}.breakdown-name{color:var(--ink-soft);font-size:.92rem}.breakdown-amount{font-variant-numeric:tabular-nums;font-weight:600}.form-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.form-grid .full{grid-column:1/-1}.field{gap:.3rem;display:grid}.field label{color:var(--ink-soft);font-size:.8rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);width:100%;padding:.62rem .72rem}.field input:focus,.field select:focus,.field textarea:focus,.money-input input:focus,.goal-contrib-row input:focus{outline:2px solid var(--accent-glow);outline-offset:1px;border-color:var(--accent)}.tx-list{gap:0;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.tx-item{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:.7rem;padding:.8rem 0;display:grid}.tx-item:last-child{border-bottom:none}.tx-main{min-width:0}.tx-title{margin:0;font-size:.94rem;font-weight:600}.tx-meta{color:var(--muted);margin:.12rem 0 0;font-size:.78rem}.tx-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.tx-amount.income{color:var(--good)}.tx-amount.expense{color:var(--ink)}.icon-btn{color:var(--muted);border-radius:var(--radius-sm);transition:color .2s var(--ease), background .2s var(--ease);background:0 0;border:none;padding:.35rem}.icon-btn:hover{color:var(--danger);background:var(--danger-soft)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.budget-list,.goal-list,.advice-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.budget-row,.goal-row{gap:.4rem;display:grid}.budget-top,.goal-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.budget-name,.goal-name{margin:0;font-weight:600}.budget-meta,.goal-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.84rem}.bar{background:#12182014;border-radius:4px;height:7px;overflow:hidden}.bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .75s var(--ease);display:block}.bar.over>span{background:var(--danger)}.bar.warn>span{background:var(--watch)}.bar.good>span{background:var(--good)}.money-input{display:grid;position:relative}.money-input input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);width:100%;padding:.62rem 2.2rem .62rem .72rem}.money-suffix{color:var(--muted);pointer-events:none;font-size:.85rem;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.field-hint{color:var(--muted);margin:.2rem 0 0;font-size:.78rem;line-height:1.4}.field-error{color:var(--danger);margin:.35rem 0 0;font-size:.82rem}.field-invalid input{border-color:#b0383873}.pos-text{color:var(--good);font-weight:600}.neg-text{color:var(--danger);font-weight:600}.plan-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.plan-banner-copy{flex:220px}.plan-banner-copy .panel-title{margin-bottom:.35rem}.envelope-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.envelope-cell{border-top:1px solid var(--line);padding:.55rem 0 .1rem}.envelope-cell.strong{border-top-color:var(--accent-glow)}.envelope-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:700}.envelope-value.pos{color:var(--good)}.envelope-value.neg{color:var(--danger)}.rebalance-note{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 88%, var(--accent) 12%), var(--panel));border-radius:10px;margin-top:.35rem;padding:.75rem .85rem}.rebalance-note.warn{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 85%, var(--danger) 15%), var(--panel))}.rebalance-note.ok{border-color:color-mix(in srgb, var(--good) 40%, var(--line))}.rebalance-note-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .35rem;font-size:.95rem;font-weight:700}.rebalance-list{color:var(--muted);margin:.45rem 0 0;padding-left:1.1rem;font-size:.78rem;line-height:1.35}.rebalance-list li+li{margin-top:.25rem}.leveling-note,.rebalance-inline{color:var(--accent);font-weight:500}.ledger-drift{color:var(--danger);font-size:.78rem}.btn.is-pinned{color:var(--accent);font-weight:600}.envelope-hint{color:var(--muted);margin:.2rem 0 0;font-size:.68rem;line-height:1.25}.plan-metrics{margin-bottom:.85rem}.what-if{margin-top:1rem}.what-if-label{color:var(--ink-soft);font-size:.88rem;font-weight:600}.what-if input[type=range]{width:100%;accent-color:var(--accent);margin-top:.55rem}.reveal-row{animation:rise .55s var(--ease) both}.goal-tags{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.28rem 0 0;display:flex}.pace-pill{letter-spacing:.01em;background:var(--accent-soft);color:var(--accent);border-radius:4px;align-items:center;padding:.18rem .45rem;font-size:.72rem;font-weight:600;display:inline-flex}.pace-pill.pace-behind{background:var(--watch-soft);color:var(--watch)}.pace-pill.pace-ahead,.pace-pill.pace-done{background:var(--good-soft);color:var(--good)}.pace-pill.pace-cap{background:var(--steel-soft);color:var(--steel)}.goal-priority{color:var(--muted);font-size:.72rem}.goal-contrib-row{grid-template-columns:auto minmax(100px,140px) 1fr;align-items:center;gap:.55rem;margin-top:.35rem;display:grid}.goal-contrib-row label{color:var(--ink-soft);font-size:.8rem;font-weight:600}.goal-contrib-row input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);padding:.45rem .55rem}.goals-summary{margin-bottom:0}.survey-overlay{z-index:40;animation:fadeIn .28s var(--ease) both;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.survey-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;padding:0;position:absolute;inset:0}.survey-shell{z-index:1;border:1px solid var(--line);width:min(720px,100%);max-height:min(92dvh,900px);box-shadow:var(--shadow);animation:surveyIn .4s var(--ease) both;background:linear-gradient(165deg,#fffffff5,#ecf0f6f7);border-radius:16px;grid-template-rows:auto auto auto 1fr auto;display:grid;position:relative;overflow:hidden}.survey-top{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.2rem .55rem;display:flex}.survey-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,3vw,1.7rem)}.survey-top-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.survey-progress{background:#12182014;border-radius:3px;height:4px;margin:0 1.2rem;overflow:hidden}.survey-progress>span{background:var(--accent);height:100%;transition:width .45s var(--ease);display:block}.survey-step-meta{color:var(--muted);margin:.45rem 1.2rem 0;font-size:.78rem}.survey-body{padding:.85rem 1.2rem 1rem;overflow:auto}.survey-body.enter-fwd{animation:stepFwd .38s var(--ease) both}.survey-body.enter-back{animation:stepBack .38s var(--ease) both}.survey-body.shake{animation:shake .42s var(--ease)}.survey-lead{color:var(--ink-soft);max-width:46ch;margin:0 0 1rem;line-height:1.55}.survey-checklist{color:var(--ink-soft);margin:0 0 1rem;padding-left:1.1rem;line-height:1.7}.survey-block-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.05rem}.survey-lines,.survey-debts,.priority-list{gap:.75rem;margin:0 0 .85rem;padding:0;list-style:none;display:grid}.survey-line{animation:rise .4s var(--ease) both;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:.55rem;display:grid}.survey-debt{margin:0}.survey-summary{grid-template-columns:repeat(2,1fr);gap:.85rem;margin-bottom:1rem;display:grid}.priority-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:.5rem;padding:.2rem .35rem .2rem .2rem;display:flex}.priority-row.active{border-color:var(--accent-glow);background:var(--accent-soft)}.priority-toggle{text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.65rem;padding:.55rem .45rem;font-weight:600;display:flex}.priority-rank{width:1.5rem;height:1.5rem;color:var(--muted);background:#12182014;border-radius:4px;place-items:center;font-size:.8rem;display:grid}.priority-row.active .priority-rank{background:var(--accent);color:var(--accent-ink)}.priority-move{gap:.1rem;display:flex}.survey-footer{border-top:1px solid var(--line);background:linear-gradient(#fff6,#f4f6fab8);justify-content:space-between;gap:.75rem;padding:.9rem 1.2rem 1.2rem;display:flex}.survey-welcome .survey-lead{font-size:1.05rem}.pager-dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.advice-item{border-top:1px solid var(--line);padding:1rem 0}.advice-item:first-child{border-top:none;padding-top:0}.advice-severity{letter-spacing:.07em;text-transform:uppercase;margin:0 0 .28rem;font-size:.72rem;font-weight:700}.advice-severity.good{color:var(--good)}.advice-severity.watch{color:var(--watch)}.advice-severity.act{color:var(--danger)}.advice-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .32rem;font-size:1.08rem}.advice-body{color:var(--ink-soft);margin:0;line-height:1.55}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.85rem;display:flex}.filters{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);color:var(--ink-soft);transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);padding:.4rem .72rem;font-size:.84rem;font-weight:500}.chip:hover{color:var(--ink);border-color:#12182033}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.footer-note{border-top:1px solid var(--line);color:var(--muted);margin-top:1.75rem;padding-top:1.1rem;font-size:.84rem;line-height:1.5}.inline-actions{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.empty{color:var(--muted);max-width:42ch;margin:0;font-size:.94rem;line-height:1.55}.empty-block{border-top:1px dashed var(--line);padding:1.1rem 0 .35rem}.bottom-nav{z-index:3;padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;grid-template-columns:repeat(5,1fr);align-items:stretch;gap:.15rem;display:grid;position:relative;box-shadow:0 -8px 28px #1218200f}.bottom-nav-4{grid-template-columns:repeat(4,1fr)}.bottom-tab{border-radius:var(--radius-sm);min-height:3.35rem;color:var(--muted);transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.3rem .2rem;display:flex}.bottom-tab:hover,.bottom-tab:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.bottom-tab.active{color:var(--accent);background:var(--accent-soft)}.bottom-tab-icon{letter-spacing:0;font-size:1.05rem;line-height:1}.bottom-tab-label{letter-spacing:.01em;font-size:.68rem;font-weight:600}.more-sheet{z-index:20;align-items:end;display:grid;position:fixed;inset:0}.more-backdrop{background:var(--overlay);animation:fadeIn .2s var(--ease) both;border:none;position:absolute;inset:0}.more-panel{z-index:1;width:min(520px,100%);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--surface-strong);box-shadow:var(--shadow);animation:surveyIn .28s var(--ease) both;border-radius:16px 16px 0 0;margin:0 auto;position:relative}.more-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.more-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.35rem}.more-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.more-link{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:left;width:100%;transition:border-color .2s var(--ease), background .2s var(--ease);flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem .9rem;display:flex}.more-link:hover,.more-link:focus-visible,.more-link.active{background:var(--accent-soft);border-color:#b85c1f59;outline:none}.more-link-label{color:var(--ink);font-weight:650}.more-link-hint{color:var(--muted);font-size:.82rem}.yesno-row{flex-wrap:wrap;gap:.45rem;display:flex}.yesno-row.wrap-chips{gap:.4rem}.survey-buffers{gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.survey-buffer{background:#ffffff73;border:1px solid #1218201a;border-radius:10px;padding:.7rem .85rem}.survey-buffer.active{background:#b85c1f0f;border-color:#b85c1f59}.buffer-toggle{cursor:pointer;align-items:flex-start;gap:.65rem;display:flex}.buffer-toggle input{margin-top:.25rem}.buffer-toggle strong{color:var(--ink);font-weight:600;display:block}.buffer-toggle .field-hint{margin:.15rem 0 0}.habit-details{margin:.65rem 0 1rem}.habit-details .full{grid-column:1/-1}.survey-preview{margin-top:1rem}.allowance-preview{gap:.35rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.allowance-preview li{color:var(--ink-soft);justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.checkbox-row{align-items:center;gap:.45rem;font-weight:550;display:inline-flex}.comfort-hint{margin-top:.45rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes brandIn{0%{opacity:0;letter-spacing:-.02em;transform:translateY(22px)scale(.98)}to{opacity:1;letter-spacing:-.07em;transform:translateY(0)scale(1)}}@keyframes brandMark{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(2.4%,-3%)scale(1.07)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes surveyIn{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stepFwd{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes stepBack{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (width<=900px){.metrics,.grid-2,.form-grid,.survey-summary,.goal-contrib-row,.survey-line{grid-template-columns:1fr}.plan-metrics{grid-template-columns:repeat(2,1fr)}.topbar{gap:.45rem}.tx-item{grid-template-columns:1fr auto}.tx-item .icon-btn{grid-area:1/2}.hero-brand{font-size:clamp(3.8rem,18vw,6.5rem)}.survey-shell{border-radius:12px;max-height:96dvh}}.envelope-grid-dense{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.debt-list,.gift-list,.pot-list,.allowance-list,.smart-tips{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.debt-row,.gift-row,.pot-row,.allowance-row,.smart-tip{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.75rem 0;display:flex}.debt-row:last-child,.gift-row:last-child,.pot-row:last-child,.allowance-row:last-child,.smart-tip:last-child{border-bottom:none;padding-bottom:0}.debt-main{flex:220px;min-width:0}.debt-kind{background:var(--steel-soft);color:var(--steel);vertical-align:middle;border-radius:4px;margin-left:.35rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.household-grid{margin-bottom:.35rem}.allowance-top{flex-wrap:wrap;justify-content:space-between;gap:.35rem;width:100%;display:flex}.allowance-controls{gap:.45rem;width:100%;display:grid}.allowance-controls .field{margin:0}.smart-tip{background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid #0000;padding:.7rem .85rem}.breakdown-list.compact{margin-top:.35rem}@media (width<=720px){.envelope-grid-dense{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-tab-label{font-size:.62rem}}.cal-month-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;display:grid}.cal-month-cell{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--steel-soft) 70%, transparent);color:var(--steel);flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .2rem;font-size:.68rem;display:flex}.cal-month-cell strong{color:var(--ink);font-size:.78rem;font-weight:700}.cal-month-cell.has{background:var(--accent-soft);color:var(--accent)}.cal-month-cell.now{outline:1px solid var(--accent)}.cal-event-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.cal-event-row{margin:0}.preset-row{flex-wrap:wrap;gap:.35rem;display:flex}.calendar-editor .toolbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}@media (width<=720px){.cal-month-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.empty-state{border-top:1px dashed var(--line);padding:1.25rem .15rem .5rem}.empty-state-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.empty-state-hint{max-width:42ch;color:var(--ink-soft);margin:0 0 1rem;line-height:1.5}.empty-state-actions{flex-wrap:wrap;gap:.55rem;display:flex}.home-hero{margin-bottom:1rem;padding-top:1.25rem}.home-hero-value{font-family:var(--font-display);letter-spacing:-.04em;margin:.15rem 0 .45rem;font-size:clamp(2rem,8vw,2.75rem);font-weight:800;line-height:1}.home-hero-value.pos{color:var(--good)}.home-hero-value.neg{color:var(--danger)}.home-hero-actions{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.home-spike-list,.home-pot-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.home-spike-sum{color:var(--ink-soft);font-size:.92rem}.home-spike-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.55rem 0;font-size:.94rem;display:flex}.home-spike-row:last-child{border-bottom:none}.home-spike-meta{color:var(--muted);font-size:.82rem}.home-advice .btn{margin-top:.75rem}.sticky-cta-bar{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#e8ecf1f5,#e8ecf1d1);flex-wrap:wrap;gap:.55rem;margin:0 0 1rem;padding:.55rem 0;display:flex;position:sticky;top:0}.sticky-cta-bar .btn,.survey-footer-sticky .btn{flex:auto;min-height:2.75rem}.sticky-form-cta .btn{width:100%;min-height:2.85rem}.pot-card{gap:.55rem;display:grid}.pot-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.35rem 0;display:grid}.pot-spend-row{gap:.45rem;display:grid}.chip-touch{min-height:2.5rem;padding:.55rem .85rem}.disclosure summary,button.disclosure,details.disclosure>summary{cursor:pointer;color:var(--ink-soft);font-weight:600;list-style:none}details.disclosure>summary::-webkit-details-marker{display:none}.sheet-handle{background:#1218202e;border-radius:99px;width:2.5rem;height:.28rem;margin:.15rem auto .65rem}.confirm-overlay{z-index:60;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-backdrop{background:var(--overlay);border:none;padding:0;position:absolute;inset:0}.confirm-dialog{z-index:1;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-strong);width:min(400px,100%);box-shadow:var(--shadow);animation:surveyIn .28s var(--ease) both;padding:1.25rem 1.2rem 1.15rem;position:relative}.confirm-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .45rem;font-size:1.25rem}.confirm-body{color:var(--ink-soft);margin:0 0 1.1rem;line-height:1.5}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.btn-danger-solid{background:var(--danger);color:#fff8f2;border-color:var(--danger)}.btn-danger-solid:hover{filter:brightness(1.05)}.btn:not(.btn-compact),.chip,.more-link{min-height:2.5rem}.icon-btn{min-width:2.5rem;min-height:2.5rem}.field input,.field select,.field textarea,.money-input input{min-height:2.75rem;font-size:1rem}@media (width<=720px){.pot-stats{grid-template-columns:1fr}.survey-shell{border-radius:0;width:100%;height:100dvh;max-height:100dvh;margin:0}.survey-overlay{place-items:stretch stretch;padding:0}.home-hero-actions .btn,.sticky-cta-bar .btn{flex:calc(50% - .3rem)}}
