@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-400.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-500.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-600.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-700.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-400.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope-500.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-600.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-700.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/manrope-800.ttf)format("truetype")}:root{--ink:#243b33;--green:#315e49;--muted:#7b857f;--line:#e5e9e2;--cream:#f7f8f3}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #bd9d53}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;width:236px;padding:34px 22px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.2px;align-items:center;gap:10px;padding:0 9px;font:800 25px Manrope,sans-serif;display:flex}.brand>span:first-child{background:#eaf0e4;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.brand-dot{color:#b09d66;margin-left:-8px}.nav-label{letter-spacing:1.6px;color:#929991;margin:51px 12px 17px;font-size:9px}nav{flex-direction:column;gap:8px;display:flex}nav a{color:#7a847e;white-space:nowrap;border-radius:9px;justify-content:flex-start;gap:12px;padding:14px 12px;font-size:12px}nav a.active{color:#345342;background:#eaf0e4;font-weight:700}nav a>span{color:#768570;margin-left:auto;font-size:10px}.side-bottom{margin-top:auto;padding-top:40px}.side-note{background:#f5f5ed;border:1px solid #ecece1;border-radius:12px;padding:22px 18px}.side-note svg{color:#7a8b5c;margin-bottom:14px}.side-note strong{font:700 18px/1.5 Manrope,sans-serif;display:block}.side-note p{color:#899180;margin-bottom:0;font-size:11px;line-height:1.7}.profile{text-align:left;justify-content:flex-start;gap:10px;width:100%;margin-top:24px;padding:0}.avatar{background:#efe8dc;border-radius:50%;flex-shrink:0;place-items:center;width:35px;height:35px;font-weight:700;display:inline-grid}.profile b{text-overflow:ellipsis;max-width:135px;font-size:11px;display:block;overflow:hidden}.profile small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.logout{color:var(--muted);align-items:center;gap:7px;margin:16px 0 0 45px;font-size:10px;display:flex}main{flex:1;min-width:0;margin-left:236px}.topbar{border-bottom:1px solid var(--line);height:77px;color:var(--muted);background:#fafbf8;justify-content:space-between;align-items:center;padding:0 45px;font-size:11px;display:flex}.topbar b{color:#516255;font-weight:500}.slash{color:#bdc4ba;padding:0 13px}.subtle{background:#fff;border:1px solid #dce2d7;border-radius:7px;padding:9px 12px;font-size:11px}.content{max-width:1230px;margin:auto;padding:39px 45px 0}.page-heading{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.8px;color:#929a85;margin-bottom:10px;font-size:9px;font-weight:700}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.2px;font:600 33px Manrope,sans-serif}.wave{color:#c6a459;margin-left:7px;font-size:29px}.page-heading p{color:var(--muted);margin-top:10px;font-size:12px}.primary{background:var(--green);color:#fff;border-radius:8px;padding:12px 17px;font-size:12px;font-weight:600}.primary:hover{background:#244c38}.summary{background:#fff;border:1px solid #dde5d8;border-radius:15px;grid-template-columns:1.5fr 1fr;margin-bottom:34px;display:grid;overflow:hidden}.summary-main{background:#edf2e7;padding:28px 31px;position:relative}.summary-decoration{color:#e1e8d8;pointer-events:none;width:145px;height:145px;position:absolute;top:20px;right:30px}.summary-kicker{letter-spacing:1.4px;z-index:1;align-items:center;gap:8px;font-size:9px;display:flex;position:relative}.live-dot{background:#769962;border-radius:50%;width:6px;height:6px}.total{letter-spacing:-1.8px;z-index:1;margin-top:17px;font:600 44px Manrope,sans-serif;position:relative}.summary-main>p{color:#7a8971;z-index:1;margin-top:8px;font-size:10px;position:relative}.total-progress,.progress{background:#dbe3d2;border-radius:8px;height:6px;overflow:hidden}.total-progress{z-index:1;margin-top:27px;position:relative}.total-progress i,.progress i{background:#6b8c5a;border-radius:8px;height:100%;transition:width .4s;display:block}.summary-foot{color:#7b8972;justify-content:space-between;margin-top:11px;font-size:9px;display:flex}.summary-foot b{color:#476443;font-weight:500}.summary-side{flex-direction:column;justify-content:space-between;padding:26px 28px;display:flex}.stat{align-items:center;gap:14px;margin-bottom:19px;display:flex}.stat-icon{color:#758968;background:#edf2e9;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.stat-icon.peach{color:#bb967c;background:#f8eee5}.stat small{color:#8b938b;margin-bottom:5px;font-size:10px;display:block}.stat strong{letter-spacing:-.6px;font:600 22px Manrope}.mini-stats{border-top:1px solid var(--line);color:#8b9388;gap:30px;padding-top:14px;font-size:10px;display:flex}.mini-stats span{align-items:center;gap:5px;display:flex}.mini-stats b{color:#53634f;font-size:13px}h2{letter-spacing:-.45px;font:700 17px Manrope,sans-serif}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading p,.activity>p{color:#92998f;margin-top:8px;font-size:11px}.count{vertical-align:middle;color:#7c8b70;background:#e9ede4;border-radius:5px;margin-left:9px;padding:3px 7px;font:500 10px DM Sans}.icon-button{color:#829078;border:1px solid #e2e7dc;border-radius:7px;width:31px;height:31px}.tabs{gap:5px;margin:24px 0 21px;display:flex}.tabs button{color:#87907f;border-radius:6px;padding:8px 13px;font-size:11px}.tabs button.selected{color:#46613b;background:#e7eddf;font-weight:600}.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.goal-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:21px}.card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.goal-emoji{background:#f2f3e9;border-radius:13px;place-items:center;width:46px;height:46px;font-size:25px;display:grid}.personal .goal-emoji{background:#faf0e8}.badge{color:#819073;background:#f0f3ea;border-radius:5px;align-items:center;gap:4px;padding:5px 7px;font-size:8px;display:flex}.personal .badge{color:#ae9079;background:#fbf3ed}.goal-card h3{letter-spacing:-.4px;overflow-wrap:anywhere;font:700 17px Manrope}.goal-date{color:#a2a798;margin-top:7px;font-size:10px}.amount-row{justify-content:space-between;align-items:baseline;gap:6px;margin-top:27px;display:flex}.amount-row strong{letter-spacing:-.8px;font:600 23px Manrope}.amount-row span{color:#7e9472;flex-shrink:0;font-size:11px}.progress{background:#edf0e7;height:5px;margin-top:12px}.personal .progress i{background:#c0a284}.target{color:#979e91;margin-top:9px;font-size:10px}.card-plan{color:#8e9788;border-top:1px dashed #e7e9e1;margin:17px 0;padding-top:14px;font-size:9px;line-height:1.5}.deposit-button{color:#667b58;background:#fafbf7;border:1px solid #e2e6d9;border-radius:7px;width:100%;padding:10px 4px;font-size:10px}.bottom-grid{grid-template-columns:1.5fr 1fr;gap:22px;margin-top:30px;display:grid}.activity{border:1px solid var(--line);background:#fff;border-radius:12px;padding:23px}.entry{border-bottom:1px solid #f0f1ec;align-items:center;gap:11px;padding:16px 0;display:flex}.entry:last-child{border:0;padding-bottom:0}.entry-icon{background:#f4f5ee;border-radius:9px;flex-shrink:0;place-items:center;width:35px;height:35px;font-size:18px;display:grid}.entry>div:nth-child(2){min-width:0}.entry b{overflow-wrap:anywhere;font-size:11px;font-weight:500}.entry small{color:#a0a697;overflow-wrap:anywhere;margin-top:5px;font-size:9px;display:block}.entry-amount{text-align:right;flex-shrink:0;margin-left:auto}.entry-amount strong{color:#648352;font-size:11px;font-weight:500}.entry-amount button{color:#a3a99e;margin:5px 0 0 auto;padding:0;font-size:8px;display:block}.together{background:#f0f0e6;border:1px solid #e9e9dd;border-radius:12px;padding:25px}.together-icon{color:#83916c;background:#e4e8d7;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:18px;display:inline-grid}.together>p{color:#8e9581;margin-top:11px;font-size:11px;line-height:1.8}.privacy{color:#8b927d;align-items:center;gap:8px;margin-top:18px;font-size:9px;line-height:1.7;display:flex}.privacy svg{flex-shrink:0}.together>button{border-top:1px solid #dfe2d4;justify-content:space-between;width:100%;margin-top:20px;padding:13px 0 0;font-size:11px;font-weight:600}.empty{text-align:center;background:#fcfdf9;border:1px dashed #d7dfce;border-radius:12px;padding:38px 20px}.empty-icon{color:#859969;background:#eaf0e1;border-radius:50%;place-items:center;width:61px;height:61px;margin-bottom:16px;display:inline-grid}.empty h3{font:600 19px Manrope}.empty p{color:#8a9580;margin:12px 0 20px;font-size:12px;line-height:1.9}.activity-empty{color:#8e9a83;gap:13px;padding:27px 0;font-size:11px;line-height:1.8;display:flex}.activity-empty small{color:#a6ae9e;font-size:10px}footer{color:#a5ad9d;padding:28px 0;font-size:9px}footer>span{margin:0 7px}footer small{float:right;font-size:9px}.alert,.notice{border-radius:7px;margin-bottom:17px;padding:13px;font-size:12px;line-height:1.6}.alert{color:#9b533f;background:#fff0eb}.alert button{text-decoration:underline}.notice{color:#58734b;background:#eaf0e1}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10;background:#20382f66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fffefb;border-radius:18px;width:475px;max-height:90vh;padding:34px;position:relative;overflow:auto;box-shadow:0 22px 100px #172e2a40}.modal h2{letter-spacing:-1px;margin-bottom:24px;font-size:25px}.close{color:#87907f;position:absolute;top:16px;right:17px}.modal label{margin:17px 0 7px;font-size:11px;font-weight:500;display:block}.modal input,.modal select{color:#3d513c;background:#fff;border:1px solid #dce2d5;border-radius:7px;outline:none;width:100%;min-width:0;margin-top:8px;padding:12px;font-size:13px;display:block}.modal input:focus,.modal select:focus{border-color:#72915e;box-shadow:0 0 0 3px #eaf0e3}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-hint{color:#9aa18e;margin-top:10px;font-size:10px;line-height:1.8}.emoji-picker{flex-wrap:wrap;gap:10px;margin:12px 0 24px;display:flex}.emoji-picker button{border:1px solid #e7e9e0;border-radius:9px;width:47px;height:46px;font-size:24px}.emoji-picker .chosen{background:#ebf0e3;border-color:#8ca176}.full{width:100%;margin-top:13px}.modal-description{color:#819171;font-size:12px;line-height:1.7}.secondary{color:#62784e;border:1px solid #d3ddc9;border-radius:7px;padding:12px}.pair-content>p{color:#8d9780;font-size:12px;line-height:1.9}.invite{background:#f0f4e9;border-radius:9px;margin:19px 0;padding:16px}.invite label{margin:0}.invite input{font-size:11px}.invite button{background:#fff;border:1px solid #d4dfc7;border-radius:5px;margin-top:10px;padding:8px;font-size:11px}.invite small{color:#9aa78c;margin-top:9px;font-size:9px;display:block}.join-form{border-top:1px solid var(--line);margin-top:23px;padding-top:8px}.person{align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.person svg{color:#83a06a;margin-left:auto}@media (width<=1150px){.sidebar{width:205px;padding-left:15px;padding-right:15px}main{margin-left:205px}.content{padding:30px 25px 0}.topbar{padding:0 25px}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-main{padding:26px}.summary-side{padding:24px 21px}.total{font-size:38px}.summary-decoration{width:110px;height:110px;right:15px}.summary-foot{gap:10px;font-size:8px}}@media (width<=760px){.shell{display:block}.sidebar{border-bottom:1px solid var(--line);border-right:0;width:100%;padding:16px 20px 0;position:static}.brand{padding:0;font-size:24px}.brand>span:first-child{width:33px;height:33px}.nav-label,.side-bottom{display:none}nav{flex-direction:row;gap:3px;margin-top:14px;overflow:auto}nav a{border-radius:6px 6px 0 0;gap:6px;padding:12px 10px;font-size:10px}nav svg{width:15px}nav a>span{display:none}main{margin-left:0}.topbar{height:auto;padding:12px 20px;font-size:9px}.subtle{padding:7px;font-size:9px}.content{padding:27px 20px 0}.page-heading{align-items:flex-start;gap:14px;margin-bottom:24px}h1{font-size:26px}.eyebrow{letter-spacing:1.3px;font-size:8px}.page-heading p{max-width:200px;font-size:10px;line-height:1.6}.page-heading>.primary{white-space:nowrap;gap:4px;margin-top:23px;padding:10px;font-size:10px}.page-heading>.primary svg{width:14px}.summary{grid-template-columns:1fr}.summary-main{padding:24px}.summary-side{grid-template-columns:1fr 1fr;gap:15px;padding:20px;display:grid}.stat{gap:8px;margin:0}.stat-icon{flex-shrink:0;width:30px;height:30px}.stat small{font-size:8px}.stat strong{font-size:18px}.mini-stats{grid-column:1/-1;padding-top:12px}.summary-decoration{width:120px;height:120px;right:30px}.summary-foot{font-size:9px}.total{font-size:40px}h2{font-size:16px}.section-heading p{font-size:10px}.goal-grid{gap:12px}.goal-card{padding:16px}.card-top{flex-wrap:wrap;gap:8px}.goal-card h3{font-size:15px}.amount-row strong{font-size:19px}.amount-row span,.goal-date{font-size:9px}.card-plan{font-size:8px}.deposit-button{gap:3px;font-size:9px}.bottom-grid{grid-template-columns:1fr}.together{padding:23px}footer{font-size:8px;line-height:1.8}footer small{float:none;font-size:8px;display:block}.modal{padding:30px 23px}.modal h2{font-size:23px}.tabs{margin:20px 0 15px}.empty{padding:32px 13px}.empty h3{font-size:17px}.empty p{font-size:11px}.form-row{grid-template-columns:1fr}.form-row label{margin-top:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}nav a{align-items:center;gap:12px;display:flex}h1{overflow-wrap:anywhere}nav a:hover{background:#f3f5ee}nav a.active:hover{background:#eaf0e4}.settings-form{max-width:780px}.settings-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:20px;padding:28px 30px}.settings-card-heading{align-items:center;gap:14px;margin-bottom:25px;display:flex}.settings-card-heading p{color:var(--muted);margin-top:6px;font-size:12px}.settings-card>label{margin-bottom:9px;font-size:12px;font-weight:600;display:block}.settings-card>input{width:100%;max-width:430px;color:var(--ink);background:#fcfdf9;border:1px solid #d7dfd0;border-radius:8px;padding:13px 15px;font-size:14px}.settings-card>input:focus{border-color:#8fa27d;outline:3px solid #dfe9d6}.settings-card .field-hint{color:#738068;max-width:580px;font-size:11px;line-height:1.8}.theme-options{border:0;grid-template-columns:1fr 1fr;gap:16px;min-width:0;margin:0;padding:0;display:grid}.theme-options legend{margin-bottom:13px;font-size:12px;font-weight:600}.theme-option{cursor:pointer;border:1px solid #dfe5d8;border-radius:11px;padding:12px;display:block;position:relative}.theme-option.chosen{border-color:#71915e;box-shadow:0 0 0 2px #dce6d3}.theme-option:focus-within{outline-offset:3px;outline:3px solid #b99f66}.theme-option>input{opacity:0;width:1px;height:1px;position:absolute}.theme-sample{background:#f3f6ec;border:1px solid #dce3d3;border-radius:7px;align-items:flex-end;gap:8px;height:95px;padding:14px;display:flex}.theme-sample i{background:#dbe6cc;border-radius:5px;flex:1;height:46px;display:block}.theme-sample i:first-child{background:#b8cda0;flex:1.5;height:64px}.theme-sample i:last-child{background:#e5d7c1;height:33px}.theme-sample.dark{background:#111e1b;border-color:#31483d}.theme-sample.dark i{background:#314a3b}.theme-sample.dark i:first-child{background:#779b60}.theme-sample.dark i:last-child{background:#826a50}.theme-caption{align-items:center;gap:8px;margin:13px 0 7px;font-size:11px;display:flex}.theme-caption>svg:last-child:not(:first-child){margin-left:auto}.theme-option>small{color:var(--muted);font-size:10px;line-height:1.6;display:block}.settings-actions{justify-content:flex-end;margin-top:22px;margin-bottom:35px;display:flex}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e1e9df;--green:#95b783;--muted:#a6b2a1;--line:#304438;--cream:#111c18;background:#111c18}[data-theme=dark] .shell{color:#e1e9df;--ink:#e1e9df;--green:#95b783;--muted:#a6b2a1;--line:#304438;--cream:#111c18;background:#111c18}[data-theme=dark] .sidebar,[data-theme=dark] .goal-card,[data-theme=dark] .activity,[data-theme=dark] .summary,[data-theme=dark] .settings-card{background:#192820;border-color:#304438}[data-theme=dark] .topbar{background:#14221b;border-color:#304438}[data-theme=dark] .topbar b{color:#dce7d5}[data-theme=dark] .brand>span:first-child,[data-theme=dark] nav a.active{color:#d7e7c9;background:#304733}[data-theme=dark] nav a{color:#acb8a5}[data-theme=dark] nav a:hover{background:#263d2c}[data-theme=dark] .nav-label{color:#9ca88f}[data-theme=dark] .side-note{background:#202f23;border-color:#344734}[data-theme=dark] .side-note p{color:#a7b399}[data-theme=dark] .side-note svg{color:#a9bd8d}[data-theme=dark] .avatar{color:#f1e7ca;background:#48503b}[data-theme=dark] .subtle,[data-theme=dark] .secondary,[data-theme=dark] .icon-button{color:#c4d6b5;background:#1c2e22;border-color:#40543a}[data-theme=dark] .eyebrow{color:#adc09a}[data-theme=dark] .wave{color:#ddbf7e}[data-theme=dark] .primary{color:#142317;background:#a2be8b}[data-theme=dark] .primary:hover{background:#b4cc9f}[data-theme=dark] .summary-main{background:#273e29}[data-theme=dark] .summary-decoration{color:#365037}[data-theme=dark] .summary-main>p,[data-theme=dark] .summary-foot,[data-theme=dark] .summary-foot b{color:#c0d2ae}[data-theme=dark] .total-progress{background:#41573c}[data-theme=dark] .total-progress i,[data-theme=dark] .progress i{background:#a4bd7d}[data-theme=dark] .stat-icon{color:#b4c89c;background:#304333}[data-theme=dark] .stat-icon.peach{color:#d8b58c;background:#493d30}[data-theme=dark] .stat small,[data-theme=dark] .mini-stats,[data-theme=dark] .section-heading p,[data-theme=dark] .activity>p{color:#a9b59d}[data-theme=dark] .mini-stats b{color:#d6e2cb}[data-theme=dark] .count{color:#c0d4aa;background:#35482e}[data-theme=dark] .goal-emoji,[data-theme=dark] .entry-icon{background:#324530}[data-theme=dark] .personal .goal-emoji{background:#473c2e}[data-theme=dark] .badge{color:#c4d7b2;background:#2d432b}[data-theme=dark] .personal .badge{color:#e0bf9b;background:#453a2c}[data-theme=dark] .goal-date,[data-theme=dark] .target,[data-theme=dark] .card-plan{color:#afbaa3}[data-theme=dark] .amount-row span{color:#bfd69e}[data-theme=dark] .progress{background:#354632}[data-theme=dark] .personal .progress i{background:#c9aa82}[data-theme=dark] .card-plan{border-color:#40523a}[data-theme=dark] .deposit-button{color:#cadfb6;background:#283c28;border-color:#405536}[data-theme=dark] .empty{background:#17271c;border-color:#42573a}[data-theme=dark] .empty-icon{color:#bed39f;background:#30472b}[data-theme=dark] .empty p,[data-theme=dark] .activity-empty,[data-theme=dark] .activity-empty small{color:#a6b79a}[data-theme=dark] .entry{border-color:#304438}[data-theme=dark] .entry small,[data-theme=dark] .entry-amount button{color:#a2b297}[data-theme=dark] .entry-amount strong{color:#b8d795}[data-theme=dark] .together{background:#263523;border-color:#3a4c31}[data-theme=dark] .together-icon{color:#c2d5a4;background:#3a4e30}[data-theme=dark] .together>p,[data-theme=dark] .privacy{color:#b5c4a5}[data-theme=dark] .together>button{border-color:#435638}[data-theme=dark] footer{color:#9cab90}[data-theme=dark] .notice{color:#d0e5b9;background:#30492b}[data-theme=dark] .alert{color:#ffd7c9;background:#51342d}[data-theme=dark] .modal{background:#19291f}[data-theme=dark] .modal input,[data-theme=dark] .modal select,[data-theme=dark] .settings-card>input{color:#e2edd9;background:#112017;border-color:#42583b}[data-theme=dark] .modal input:focus,[data-theme=dark] .modal select:focus,[data-theme=dark] .settings-card>input:focus{border-color:#a5be87;outline:none;box-shadow:0 0 0 3px #354a2c}[data-theme=dark] .field-hint,[data-theme=dark] .modal-description,[data-theme=dark] .pair-content>p,[data-theme=dark] .settings-card .field-hint{color:#acbc9f}[data-theme=dark] .emoji-picker button{border-color:#405536}[data-theme=dark] .emoji-picker .chosen{background:#354d2d;border-color:#a9c48c}[data-theme=dark] .invite{background:#2c4128}[data-theme=dark] .invite button{color:#e5f1d7;background:#3b5231;border-color:#6d8658}[data-theme=dark] .invite small{color:#b8c9a8}[data-theme=dark] .theme-option{border-color:#42583b}[data-theme=dark] .theme-option.chosen{border-color:#accc8d;box-shadow:0 0 0 2px #3b542f}@media (width<=760px){nav{gap:0}nav a{flex-shrink:0;gap:5px;padding:12px 8px;font-size:10px}.settings-card{padding:23px 20px}.theme-options{gap:12px}.theme-option{padding:10px}.theme-caption{gap:5px;font-size:10px}.theme-caption svg{width:15px}.theme-option>small{font-size:9px}.settings-card-heading h2{font-size:17px}.theme-sample{gap:5px;height:83px;padding:10px}.settings-actions>.primary{width:100%}.page-heading h1{max-width:100%}}@media (width<=400px){.theme-options{grid-template-columns:1fr}nav a{padding:12px 6px;font-size:9px}.content{padding-left:15px;padding-right:15px}}.shell[data-theme=dark]{color:#e1e9df;--ink:#e1e9df;--green:#95b783;--muted:#a6b2a1;--line:#304438;--cream:#111c18;background:#111c18}.heading-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.new-goal-button{border-radius:9px;padding:12px 14px;font-size:12px}.heading-actions .secondary{background:0 0}.notice{align-items:center;gap:10px;font-weight:500;display:flex}.mobile-nav{display:none}.fox-card{background:#faf4e9;border:1px solid #eadfc9;border-radius:17px;align-items:center;gap:20px;margin:-12px 0 34px;padding:15px 26px 15px 10px;display:flex;position:relative;overflow:hidden}.fox-portrait{flex-shrink:0;place-items:center;width:145px;height:145px;display:grid;position:relative}.fox-halo{background:#efe5cf;border-radius:50%;width:115px;height:115px;position:absolute;inset:19px auto auto 16px}.fox-portrait img{object-fit:contain;filter:drop-shadow(0 8px 7px #796a3b13);width:145px;height:145px;position:relative}.fox-copy{max-width:550px;padding:8px 0}.fox-copy .eyebrow{letter-spacing:1.6px;color:#a58c62;margin-bottom:9px;font-size:8px}.fox-copy h2{letter-spacing:-.5px;color:#5a513b;font-size:18px}.fox-copy p{color:#8e8063;margin-top:7px;font-size:11px;line-height:1.8}.fox-copy>small{color:#a29378;margin-top:9px;font-size:8px;display:block}.fox-milestones{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.fox-milestones span{color:#a2977b;background:#f1e9d9;border-radius:20px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;display:inline-flex}.fox-milestones span.reached{color:#516b3b;background:#dce6ce}.fox-settings{color:#99896a;padding:5px;font-size:9px;position:absolute;top:12px;right:15px}.fox-sparkle{color:#bf9e47;position:absolute;top:15px;right:2px}.fox-celebrating .fox-sparkle{animation:.65s ease-in-out 3 fox-spark}@keyframes fox-cheer{0%,to{transform:translateY(0)rotate(0)}35%{transform:translateY(-9px)rotate(-4deg)}65%{transform:translateY(-4px)rotate(3deg)}}@keyframes fox-spark{0%,to{opacity:.6;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.goal-milestones{align-items:center;gap:9px;margin-top:13px;display:flex}.goal-milestones span{color:#a2aa99;align-items:center;gap:3px;font-size:8px;display:flex}.goal-milestones i{border:1px solid #ccd4c1;border-radius:50%;width:6px;height:6px;display:block}.goal-milestones .reached{color:#728e55}.goal-milestones .reached svg{background:#e3ecd7;border-radius:50%}.goal-card{position:relative;overflow:hidden}.goal-card:before{content:"";background:#b9cda4;height:4px;display:block;position:absolute;inset:0 0 auto}.goal-card.personal:before{background:#d9bda0}.quick-amounts{grid-template-columns:repeat(4,1fr);gap:9px;margin:21px 0 12px;display:grid}.quick-amounts button{color:#5b7444;background:#eff3e8;border:1px solid #dce4d0;border-radius:9px;min-height:45px;padding:13px 5px;font-size:14px;font-weight:600}.quick-amounts button.chosen{color:#fff;background:#315e49;border-color:#315e49}.choose-goal{flex-direction:column;gap:10px;display:flex}.choose-goal>.modal-description{margin-bottom:8px}.choose-goal>button{border:1px solid var(--line);text-align:left;border-radius:10px;justify-content:flex-start;align-items:center;gap:13px;padding:14px;display:flex}.choose-goal>button:hover{background:#f1f5e9}.choose-goal>button>span:nth-child(2){flex:1;min-width:0}.choose-goal b{overflow-wrap:anywhere;font-size:13px;font-weight:600}.choose-goal small{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.6;display:block}.companion-settings .companion-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;margin:0;padding:14px 0;display:flex}.companion-toggle b{font-size:13px;font-weight:600}.companion-toggle small{color:var(--muted);margin-top:7px;font-size:11px;font-weight:400;line-height:1.7;display:block}.companion-toggle input{accent-color:#426644;cursor:pointer;flex-shrink:0;width:44px;height:25px}.goal-card .deposit-button{min-height:42px}.section-heading{margin-bottom:22px}[data-theme=dark] .fox-card{background:#302f20;border-color:#4a4c32}[data-theme=dark] .fox-halo{background:#44442b}[data-theme=dark] .fox-copy h2{color:#e5ddbd}[data-theme=dark] .fox-copy p{color:#bfb593}[data-theme=dark] .fox-copy .eyebrow{color:#b5a46c}[data-theme=dark] .fox-copy>small,[data-theme=dark] .fox-settings{color:#b4aa88}[data-theme=dark] .fox-milestones span{color:#b7b28d;background:#41432b}[data-theme=dark] .fox-milestones .reached{color:#e0ecc8;background:#52613a}[data-theme=dark] .goal-milestones span{color:#97a787}[data-theme=dark] .goal-milestones .reached{color:#bdd49e}[data-theme=dark] .goal-milestones .reached svg{background:#3c552d}[data-theme=dark] .quick-amounts button{color:#d2e5bb;background:#304529;border-color:#485f39}[data-theme=dark] .quick-amounts button.chosen{color:#182513;background:#b3cb97;border-color:#b3cb97}[data-theme=dark] .choose-goal>button:hover{background:#2a3f25}@media (width<=1150px) and (width>=761px){.page-heading{gap:12px}.heading-actions{flex-direction:column;align-items:stretch;gap:6px}.heading-actions button{padding:10px}.fox-card{padding-right:22px}.fox-portrait{width:115px;height:125px}.fox-portrait img{width:125px;height:125px}.fox-halo{width:97px;height:97px;top:18px;left:7px}}@media (width<=760px){.sidebar{background:var(--cream);border:0;padding:18px 22px}.sidebar>.brand{font-size:25px}.sidebar>nav{display:none}.topbar{background:var(--cream);border-bottom:1px solid var(--line);padding:0 22px 15px}.content{max-width:620px;padding:27px 22px 0}.shell{padding-bottom:calc(83px + env(safe-area-inset-bottom,0px))}.page-heading{margin-bottom:25px;display:block}.page-heading h1{letter-spacing:-1px;font-size:30px;line-height:1.3}.page-heading p{max-width:100%;margin-top:9px;font-size:12px;line-height:1.8}.eyebrow{font-size:9px}.heading-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.heading-actions button{min-height:46px;padding:12px;font-size:12px}.heading-actions button:only-child{grid-column:1/-1}.heading-actions .secondary{color:#62784e;border:1px solid #cfd9c4}.summary{border-radius:18px;margin-bottom:29px}.summary-main{padding:25px}.summary-main .total{font-size:43px}.summary-main>p{max-width:240px;font-size:11px;line-height:1.6}.total-progress{height:7px;margin-top:23px}.summary-foot{gap:10px;font-size:10px;line-height:1.7}.summary-side{padding:21px 24px}.stat small{font-size:9px}.stat strong{font-size:19px}.mini-stats{font-size:11px}.fox-card{border-radius:16px;align-items:center;gap:10px;min-height:155px;margin:0 0 30px;padding:15px 17px 16px 4px}.fox-portrait{width:112px;height:130px}.fox-portrait img{width:122px;height:130px}.fox-halo{width:91px;height:91px;top:22px;left:9px}.fox-copy{padding:12px 0 5px}.fox-copy .eyebrow{letter-spacing:1.2px;margin-bottom:7px;font-size:7px}.fox-copy h2{font-size:16px;line-height:1.4}.fox-copy p{margin-top:6px;font-size:10px;line-height:1.7}.fox-copy>small{margin-top:8px;font-size:7px;line-height:1.6}.fox-milestones{gap:4px;margin-top:10px}.fox-milestones span{gap:2px;padding:3px 5px;font-size:8px}.fox-milestones svg{width:10px}.fox-settings{font-size:8px;top:6px;right:9px}.section-heading h2{font-size:18px;line-height:1.5}.section-heading p{font-size:11px}.icon-button{flex-shrink:0;width:40px;height:40px;margin-left:10px}.goal-card{border-radius:16px;padding:23px}.goal-card h3{font-size:21px}.card-top{flex-wrap:nowrap;margin-bottom:18px}.goal-emoji{border-radius:15px;width:51px;height:51px;font-size:28px}.badge{gap:5px;padding:6px 8px;font-size:10px}.amount-row{margin-top:23px}.amount-row strong{font-size:30px}.amount-row span{font-size:12px}.goal-date,.target{font-size:11px}.progress{height:7px;margin-top:13px}.goal-milestones{justify-content:space-between;margin-top:14px}.goal-milestones span{gap:5px;font-size:10px}.card-plan{margin:19px 0;padding-top:15px;font-size:11px;line-height:1.8}.goal-card .deposit-button{border-radius:10px;gap:7px;min-height:46px;font-size:12px}.goal-grid{grid-template-columns:1fr;gap:18px}.mobile-nav{z-index:6;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefbf5;border-top:1px solid #dfe6d8;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;display:grid;position:fixed;inset:auto 0 0;overflow:visible;box-shadow:0 -5px 24px #253e3010}.mobile-nav a{color:#87937a;white-space:nowrap;border-radius:11px;flex-direction:column;justify-content:center;gap:6px;min-height:57px;padding:10px 3px 8px;font-size:9px;line-height:1.3;display:flex}.mobile-nav a svg{width:21px;height:21px}.mobile-nav a.active{color:#45613a;background:#eaf0e2;font-weight:700}.mobile-nav a.active:before{content:none}.activity{border-radius:16px;padding:23px}.activity>p{font-size:11px;line-height:1.7}.entry{gap:12px;padding:18px 0}.entry b{font-size:12px}.entry small{font-size:10px;line-height:1.6}.entry-amount strong{font-size:12px}.entry-amount button{min-height:30px;font-size:10px}.entry-icon{width:40px;height:40px}.together{border-radius:16px}.together>p{font-size:12px}.together>button{min-height:44px;font-size:12px}.privacy{font-size:10px}.modal-backdrop{padding:14px 10px calc(14px + env(safe-area-inset-bottom,0px));z-index:10;align-items:flex-end}.modal{border-radius:22px;width:100%;max-width:530px;max-height:calc(100dvh - 36px);padding:32px 25px 25px}.modal h2{padding-right:16px;font-size:25px;line-height:1.35}.modal label{font-size:12px}.modal input,.modal select{min-height:46px;padding:13px;font-size:16px}.modal .primary{min-height:47px;font-size:13px}.close{width:40px;height:40px;top:11px;right:12px}.form-row{grid-template-columns:1fr 1fr}.modal-description{font-size:12px}.field-hint{font-size:11px}.settings-card{border-radius:16px}.settings-card>input{min-height:47px;font-size:16px}.theme-caption{font-size:11px}.settings-actions button{min-height:46px;font-size:13px}footer{padding:29px 0;font-size:10px}footer small{font-size:9px}[data-theme=dark] .sidebar,[data-theme=dark] .topbar{background:#111c18}[data-theme=dark] .mobile-nav{background:#192820f5;border-color:#3c5034;box-shadow:0 -5px 24px #0002}[data-theme=dark] .mobile-nav a{color:#a5b49a}[data-theme=dark] .mobile-nav a.active{color:#d6e8c4;background:#334a2c}[data-theme=dark] .heading-actions .secondary{color:#c8ddb4;border-color:#4f6343}}@media (width<=380px){.content{padding-left:17px;padding-right:17px}.summary-main{padding:23px}.summary-side{padding:19px}.fox-portrait{width:90px}.fox-portrait img{width:104px}.fox-halo{width:79px;height:79px;top:28px;left:4px}.fox-card{gap:7px;padding-right:13px}.fox-copy h2{font-size:15px}.fox-milestones span{padding:3px 4px;font-size:7px}.fox-copy .eyebrow{letter-spacing:.8px}.form-row{grid-template-columns:1fr}.mobile-nav a{font-size:8px}.goal-card{padding:21px}}@media (prefers-reduced-motion:reduce){.fox-celebrating .fox-portrait,.fox-celebrating .fox-sparkle{animation:none}}@media (width<=760px){.mobile-nav a>span{color:inherit;margin:0;font-size:9px;line-height:1.3;display:block}.fox-card{margin-bottom:22px}.summary{margin-bottom:30px}}.shell[data-theme=dark] .heading-actions .new-goal-button.secondary{color:#d4e4bf;border-color:#526848}.fox-portrait .fox-character{color:#785e35;isolation:isolate;width:150px;height:150px;position:relative;overflow:visible}.fox-celebrating .fox-portrait{animation:none}.fox-character g,.fox-character path,.fox-character ellipse{transform-box:view-box}.fox-ground{transform-origin:110px 213px}.fox-jumper{transform-origin:110px 208px}.fox-body{transform-origin:110px 207px;animation:4.6s ease-in-out infinite sparfox-breathe}.fox-tail{transform-origin:142px 177px;animation:4s ease-in-out infinite sparfox-tail-idle}.fox-head{transform-origin:110px 148px}.fox-ear-left{transform-origin:74px 75px}.fox-ear-right{transform-origin:149px 75px}.fox-arm-left{transform-origin:80px 151px}.fox-arm-right{transform-origin:140px 151px}.fox-eye{transform-origin:50%;animation:6s ease-in-out infinite sparfox-blink;transform-box:fill-box!important}.fox-eyes-happy,.fox-cheer-mouth,.is-happy .fox-eyes-open,.is-happy .fox-smile{opacity:0}.is-happy .fox-eyes-happy,.is-happy .fox-cheer-mouth{opacity:1}.fox-confetti{opacity:0}.fox-replay{color:#8b754f;text-underline-offset:3px;align-items:center;gap:5px;min-height:25px;margin-top:6px;padding:5px 0;font-size:9px;text-decoration:underline;display:inline-flex}.fox-copy>small{margin-top:2px}.fox-celebrating .fox-jumper{animation:1.05s cubic-bezier(.36,0,.35,1) 3 sparfox-jump}.fox-celebrating .fox-ground{animation:1.05s ease-in-out 3 sparfox-shadow}.fox-celebrating .fox-body{animation:none}.fox-celebrating .fox-tail{animation:.35s ease-in-out 9 sparfox-tail-party}.fox-celebrating .fox-arm-left{animation:1.05s ease-in-out 3 sparfox-paw-left}.fox-celebrating .fox-arm-right{animation:1.05s ease-in-out 3 sparfox-paw-right}.fox-celebrating .fox-head{animation:1.05s ease-in-out 3 sparfox-head-party}.fox-celebrating .fox-ear-left{animation:1.05s ease-in-out 3 sparfox-ear-left}.fox-celebrating .fox-ear-right{animation:1.05s ease-in-out 3 sparfox-ear-right}.fox-celebrating .fox-confetti{opacity:1}.fox-celebrating .confetti{transform-origin:50%;animation:1.05s ease-out 3 sparfox-confetti;transform-box:fill-box!important}.fox-celebrating .c2,.fox-celebrating .c5{animation-delay:.12s}.fox-celebrating .c3,.fox-celebrating .c6{animation-delay:.2s}@keyframes sparfox-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.014,1.009)}}@keyframes sparfox-tail-idle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(5deg)}}@keyframes sparfox-blink{0%,43%,47%,92%,96%,to{transform:scaleY(1)}45%,94%{transform:scaleY(.08)}}@keyframes sparfox-jump{0%,to{transform:translateY(0)scale(1)}12%{transform:translateY(3px)scale(1.06,.93)}38%{transform:translateY(-21px)scale(.97,1.04)rotate(-3deg)}58%{transform:translateY(-16px)scale(1)rotate(3deg)}79%{transform:translateY(0)scale(1.06,.94)}}@keyframes sparfox-shadow{0%,to{opacity:.09;transform:scaleX(1)}40%,60%{opacity:.045;transform:scaleX(.7)}80%{opacity:.1;transform:scaleX(1.06)}}@keyframes sparfox-tail-party{0%,to{transform:rotate(-13deg)}50%{transform:rotate(17deg)}}@keyframes sparfox-paw-left{0%,to{transform:rotate(0)}22%,68%{transform:rotate(125deg)}42%{transform:rotate(108deg)}}@keyframes sparfox-paw-right{0%,to{transform:rotate(0)}25%,71%{transform:rotate(-125deg)}47%{transform:rotate(-105deg)}}@keyframes sparfox-head-party{0%,to{transform:rotate(0)}28%{transform:rotate(-5deg)}60%{transform:rotate(5deg)}}@keyframes sparfox-ear-left{0%,to{transform:rotate(0)}38%{transform:rotate(-10deg)}65%{transform:rotate(4deg)}}@keyframes sparfox-ear-right{0%,to{transform:rotate(0)}38%{transform:rotate(10deg)}65%{transform:rotate(-4deg)}}@keyframes sparfox-confetti{0%,to{opacity:0;transform:translateY(9px)scale(.6)rotate(-15deg)}30%{opacity:1;transform:translateY(-3px)scale(1)rotate(0)}80%{opacity:.5;transform:translateY(-19px)scale(.8)rotate(25deg)}}[data-theme=dark] .fox-replay{color:#d1c098}[data-theme=dark] .fox-character{color:#b7ad77}@media (width<=1150px) and (width>=761px){.fox-portrait .fox-character{width:133px;height:133px}}@media (width<=760px){.fox-portrait .fox-character{width:128px;height:140px}.fox-card{min-height:179px}.fox-replay{min-height:30px;margin-top:3px;font-size:9px}.fox-copy>small{font-size:7px}}@media (width<=380px){.fox-portrait .fox-character{width:106px;height:125px}}@media (prefers-reduced-motion:reduce){.fox-character *{animation:none!important}.fox-confetti{display:none}.fox-replay{transition:none}}.fox-milestones button{color:#8d8060;white-space:nowrap;background:#f1e9d9;border:1px solid #0000;border-radius:20px;align-items:center;gap:4px;min-height:28px;padding:6px 8px;font-size:9px;display:inline-flex}.fox-milestones button.reached{color:#516b3b;background:#dce6ce}.fox-milestones button.previewing{border-color:#a58c62;box-shadow:0 0 0 2px #c9b58c30}.fox-preview-hint{color:#9b8b6c;margin-bottom:5px;font-size:8px;line-height:1.6;display:block}.fox-victory-star{opacity:0;transform-origin:110px 23px}.fox-confetti .c7,.fox-confetti .c8,.fox-confetti .c9,.fox-confetti .c10,.fox-confetti .c11,.fox-confetti .c12{display:none}.fox-level-0 .fox-jumper,.fox-level-0 .fox-ground,.fox-level-0 .fox-arm-left,.fox-level-0 .fox-ear-left,.fox-level-0 .fox-ear-right,.fox-level-25 .fox-jumper,.fox-level-25 .fox-ground,.fox-level-25 .fox-arm-left,.fox-level-25 .fox-ear-left,.fox-level-25 .fox-ear-right{animation:none}.fox-level-0 .fox-confetti,.fox-level-25 .fox-confetti,.fox-level-50 .fox-confetti{display:none}.fox-level-0 .fox-arm-right{animation:.85s ease-in-out 2 sparfox-wave-small}.fox-level-0 .fox-head{animation:.85s ease-in-out 2 sparfox-nod}.fox-level-0 .fox-tail{animation:1.7s ease-in-out sparfox-tail-idle}.fox-level-25 .fox-arm-right{animation:1.1s ease-in-out 2 sparfox-wave-quarter}.fox-level-25 .fox-head{animation:1.1s ease-in-out 2 sparfox-nod}.fox-level-25 .fox-tail{animation:1.1s ease-in-out 2 sparfox-tail-idle}.fox-level-50 .fox-jumper{animation:.95s ease-in-out 3 sparfox-jump}.fox-level-50 .fox-ground{animation:.95s ease-in-out 3 sparfox-shadow}.fox-level-50 .fox-arm-left{animation:.95s ease-in-out 3 sparfox-paw-left}.fox-level-50 .fox-arm-right{animation:.95s ease-in-out 3 sparfox-paw-right}.fox-level-50 .fox-tail{animation:.32s ease-in-out 9 sparfox-tail-party}.fox-level-50 .fox-head{animation:.95s ease-in-out 3 sparfox-head-party}.fox-level-75 .fox-jumper{animation:.9s ease-in-out 4 sparfox-dance}.fox-level-75 .fox-ground{animation:.9s ease-in-out 4 sparfox-dance-shadow}.fox-level-75 .fox-arm-left{animation:.9s ease-in-out 4 sparfox-dance-paw-left}.fox-level-75 .fox-arm-right{animation:.9s ease-in-out 4 sparfox-dance-paw-right}.fox-level-75 .fox-head{animation:.9s ease-in-out 4 sparfox-head-party}.fox-level-75 .fox-foot-left{transform-origin:89px 204px;animation:.9s ease-in-out 4 sparfox-foot-left}.fox-level-75 .fox-foot-right{transform-origin:132px 204px;animation:.9s ease-in-out 4 sparfox-foot-right}.fox-level-75 .fox-tail{animation:.3s ease-in-out 12 sparfox-tail-party}.fox-level-75 .confetti{animation:1.2s ease-out 3 sparfox-confetti}.fox-level-75 .c1,.fox-level-75 .c2,.fox-level-75 .c4,.fox-level-75 .c5{display:none}.fox-level-100 .fox-jumper{transform-origin:110px 130px;animation:4.6s ease-in-out sparfox-finale}.fox-level-100 .fox-ground{animation:4.6s ease-in-out sparfox-finale-shadow}.fox-level-100 .fox-arm-left{animation:4.6s ease-in-out sparfox-finale-paw-left}.fox-level-100 .fox-arm-right{animation:4.6s ease-in-out sparfox-finale-paw-right}.fox-level-100 .fox-tail{animation:.26s ease-in-out 18 sparfox-tail-party}.fox-level-100 .fox-head{animation:.8s ease-in-out 6 sparfox-head-party}.fox-level-100 .confetti{animation:1.1s ease-out 4 sparfox-confetti;display:block}.fox-level-100 .c2,.fox-level-100 .c5,.fox-level-100 .c8,.fox-level-100 .c11{animation-delay:.2s}.fox-level-100 .c3,.fox-level-100 .c6,.fox-level-100 .c9,.fox-level-100 .c12{animation-delay:.4s}.fox-level-100 .fox-victory-star{animation:4.6s ease-in-out sparfox-victory-star}.fox-level-100 .fox-halo{animation:4.6s ease-in-out sparfox-halo-finale}@keyframes sparfox-wave-small{0%,to{transform:rotate(0)}35%,65%{transform:rotate(-65deg)}50%{transform:rotate(-82deg)}}@keyframes sparfox-wave-quarter{0%,to{transform:rotate(0)}25%,65%{transform:rotate(-100deg)}45%{transform:rotate(-125deg)}}@keyframes sparfox-nod{0%,to{transform:rotate(0)}30%{transform:translateY(3px)rotate(-5deg)}65%{transform:translateY(-2px)rotate(3deg)}}@keyframes sparfox-dance{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-9px,-9px)rotate(-8deg)}50%{transform:translate(0)rotate(0)}75%{transform:translate(9px,-9px)rotate(8deg)}}@keyframes sparfox-dance-shadow{0%,50%,to{transform:translate(0)scaleX(1)}25%{transform:translate(-5px)scaleX(.85)}75%{transform:translate(5px)scaleX(.85)}}@keyframes sparfox-dance-paw-left{0%,to{transform:rotate(40deg)}25%{transform:rotate(135deg)}50%{transform:rotate(60deg)}75%{transform:rotate(85deg)}}@keyframes sparfox-dance-paw-right{0%,to{transform:rotate(-40deg)}25%{transform:rotate(-85deg)}50%{transform:rotate(-60deg)}75%{transform:rotate(-135deg)}}@keyframes sparfox-foot-left{0%,50%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-5px)rotate(-18deg)}}@keyframes sparfox-foot-right{0%,50%,to{transform:translateY(0)rotate(0)}75%{transform:translateY(-5px)rotate(18deg)}}@keyframes sparfox-finale{0%{transform:translateY(0)rotate(0)scale(1)}8%{transform:translateY(5px)rotate(0)scale(1.06,.92)}20%{transform:translateY(-30px)rotate(-7deg)scale(.96,1.06)}30%{transform:translateY(0)rotate(0)scale(1.05,.95)}39%{transform:translateY(-18px)rotate(0)scale(1)}58%{transform:translateY(-18px)rotate(360deg)scale(1)}68%{transform:translateY(0)rotate(360deg)scale(1.05,.95)}78%{transform:translate(-6px,-13px)rotate(353deg)scale(1)}88%{transform:translate(6px,-13px)rotate(367deg)scale(1)}to{transform:translateY(0)rotate(360deg)scale(1)}}@keyframes sparfox-finale-shadow{0%,to{opacity:.09;transform:scaleX(1)}20%,43%,55%{opacity:.04;transform:scaleX(.6)}30%,68%{opacity:.1;transform:scaleX(1.08)}78%,88%{opacity:.06;transform:scaleX(.8)}}@keyframes sparfox-finale-paw-left{0%,to{transform:rotate(0)}15%,30%{transform:rotate(140deg)}39%,58%{transform:rotate(75deg)}72%,90%{transform:rotate(140deg)}}@keyframes sparfox-finale-paw-right{0%,to{transform:rotate(0)}15%,30%{transform:rotate(-140deg)}39%,58%{transform:rotate(-75deg)}72%,90%{transform:rotate(-140deg)}}@keyframes sparfox-victory-star{0%,10%,to{opacity:0;transform:scale(.5)}20%,90%{opacity:1;transform:scale(1)}45%,75%{opacity:1;transform:scale(1.2)rotate(12deg)}}@keyframes sparfox-halo-finale{0%,to{opacity:1;transform:scale(1)}25%,75%{opacity:.65;transform:scale(1.12)}50%{opacity:1;transform:scale(1)}}[data-theme=dark] .fox-milestones button{color:#c9bd97;background:#41432b}[data-theme=dark] .fox-milestones button.reached{color:#e0ecc8;background:#52613a}[data-theme=dark] .fox-milestones button.previewing{border-color:#d4bc78}[data-theme=dark] .fox-preview-hint{color:#baad88}@media (width<=760px){.fox-milestones button{gap:3px;min-height:28px;padding:5px 6px;font-size:8px}.fox-preview-hint{font-size:7px;line-height:1.6}.fox-card{min-height:195px}.fox-copy>small{margin-top:3px}}@media (prefers-reduced-motion:reduce){.fox-celebrating .fox-character *,.fox-celebrating .fox-halo{animation:none!important}.fox-level-100 .fox-victory-star{opacity:1}.fox-celebrating .fox-confetti{display:none}}@media (width<=760px){.fox-card{min-height:155px}}.goal-card-controls{align-items:center;gap:7px;display:flex}.goal-menu{position:relative}.goal-menu summary{cursor:pointer;color:#819078;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;list-style:none;display:flex}.goal-menu summary::-webkit-details-marker{display:none}.goal-menu summary:hover,.goal-menu[open] summary{color:#4e6840;background:#edf1e6}.goal-menu summary:focus-visible{outline-offset:2px;outline:3px solid #bd9d53}.goal-menu-popover{z-index:3;background:#fffefb;border:1px solid #dfe5d6;border-radius:10px;min-width:160px;padding:5px;position:absolute;top:39px;right:0;box-shadow:0 9px 24px #263a2920}.goal-menu-popover button{white-space:nowrap;border-radius:6px;justify-content:flex-start;gap:10px;width:100%;padding:12px 13px;font-size:12px;display:flex}.goal-menu-popover button:hover{background:#f0f4e8}.danger-text{color:#ab5948}.delete-goal-name{overflow-wrap:anywhere;margin-bottom:20px;font:600 18px Manrope}.delete-warning{color:#8e5a45;background:#faf0e8;border:1px solid #eedaca;border-radius:10px;gap:13px;padding:17px;display:flex}.delete-warning svg{flex-shrink:0;margin-top:3px}.delete-warning p{font-size:12px;line-height:1.9}.delete-warning strong{font-weight:600}.delete-actions{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.delete-actions button{border-radius:8px;min-height:44px;padding:12px 15px;font-size:12px}.danger-button{color:#fff;background:#aa5949}.danger-button:hover{background:#914a3d}.delete-actions .secondary{margin:0}[data-theme=dark] .goal-menu summary{color:#bbcca8}[data-theme=dark] .goal-menu summary:hover,[data-theme=dark] .goal-menu[open] summary{color:#deebcd;background:#354c2e}[data-theme=dark] .goal-menu-popover{background:#21351f;border-color:#485f38;box-shadow:0 9px 24px #0004}[data-theme=dark] .goal-menu-popover button:hover{background:#354b2b}[data-theme=dark] .danger-text{color:#edb197}[data-theme=dark] .delete-warning{color:#e7c2a9;background:#3c2d24;border-color:#654833}[data-theme=dark] .danger-button{color:#181c12;background:#c17d64}@media (width<=760px){.goal-menu summary{width:38px;height:38px}.goal-card-controls{gap:6px}.goal-menu-popover button{min-height:44px;font-size:13px}.delete-actions{flex-direction:column-reverse}.delete-actions button{width:100%;min-height:46px}.delete-warning p{font-size:12px}.delete-goal-name{font-size:19px}}.auth-shell{grid-template-columns:1fr 1fr;min-height:100dvh;margin:0;display:grid}.auth-story{color:#f3f0e6;background:#193b32;flex-direction:column;min-height:100dvh;padding:43px 55px;display:flex}.auth-brand{align-items:center;gap:13px;font:700 27px Manrope;display:flex}.auth-brand img{border-radius:11px}.auth-brand span{color:#c4cda1;margin-left:-10px}.auth-story-content{margin:auto 0;padding:70px 0}.auth-story .eyebrow{color:#acbc99;font-size:10px}.auth-story h1{letter-spacing:-2.5px;margin-top:25px;font-size:clamp(36px,4.4vw,66px);line-height:1.22}.auth-story h1 em{color:#b7ca99;font-style:normal}.auth-story-content>p{color:#b4c4b4;max-width:360px;margin-top:26px;font-size:15px;line-height:1.9}.auth-benefits{color:#c8d5bd;flex-direction:column;gap:18px;margin-top:42px;font-size:12px;display:flex}.auth-benefits span{align-items:center;gap:12px;display:flex}.auth-story>small{color:#9fb39f;font-size:10px}.auth-panel{background:#f7f8f3;place-items:center;padding:50px 45px;display:grid}.auth-form-wrap{width:100%;max-width:420px}.auth-panel h2{letter-spacing:-1.1px;font-size:31px;line-height:1.3}.auth-intro{color:#82907d;margin-top:13px;font-size:12px;line-height:1.9}.auth-tabs{background:#e9eee2;border-radius:10px;gap:5px;margin:26px 0;padding:5px;display:flex}.auth-tabs button{color:#7b8a70;border-radius:7px;width:50%;padding:11px;font-size:12px}.auth-tabs .selected{color:#385735;background:#fff;font-weight:600;box-shadow:0 2px 6px #233b2010}.auth-panel form label{margin:20px 0 0;font-size:12px;font-weight:500;display:block}.auth-panel input{color:#243b33;background:#fffefb;border:1px solid #d9e1d0;border-radius:8px;width:100%;min-height:48px;margin-top:9px;padding:14px;font-size:14px;display:block}.auth-panel input:focus{border-color:#809b67;outline:3px solid #e1ead5}.auth-submit{justify-content:space-between;width:100%;min-height:49px;margin-top:26px;font-size:13px}.password-field{display:block;position:relative}.password-field input{padding-right:48px}.password-field button{color:#8b987e;width:36px;height:42px;position:absolute;top:3px;right:7px}.forgot-link{color:#819370;min-height:30px;margin:12px 0 0 auto;padding:0;font-size:11px;display:block}.setup-note{color:#738462;background:#edf1e4;border:1px solid #dce5cc;border-radius:10px;margin:22px 0;padding:15px}.setup-note b{font-size:11px;font-weight:600}.setup-note p{margin-top:5px;font-size:10px;line-height:1.8}.demo-link{color:#5f7c4e;border-top:1px solid #e0e6d8;justify-content:space-between;width:100%;margin-top:26px;padding:15px;font-size:12px}.auth-footnote{color:#9aa58f;margin-top:19px;font-size:9px;line-height:1.9}.auth-mobile-brand{display:none}.auth-back{color:#7a8d6b;min-height:35px;margin-top:18px;font-size:11px}.auth-loading{text-align:center;color:#728461;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:30px;display:flex}.auth-loading button{border:1px solid #becdad;border-radius:8px;padding:12px 20px}.version-banner{color:#746143;z-index:7;text-align:center;background:#e9dfc7;padding:9px 20px;font-size:10px;position:relative}.version-banner button{margin-left:10px;font-size:10px;text-decoration:underline}.account-signout{margin:25px 0}.account-signout button{padding:11px 16px}@media (width<=900px){.auth-story{padding:35px}.auth-panel{padding:40px 30px}.auth-story h1{font-size:43px}}@media (width<=680px){.auth-shell{display:block}.auth-story{display:none}.auth-panel{min-height:100dvh;padding:29px 25px 45px}.auth-form-wrap{max-width:440px}.auth-mobile-brand{align-items:center;gap:10px;margin-bottom:43px;font:700 25px Manrope;display:flex}.auth-mobile-brand img{border-radius:9px;width:38px;height:38px}.auth-panel h2{font-size:29px}.auth-panel input{font-size:16px}.auth-intro{font-size:12px}.auth-tabs{margin:24px 0}.auth-panel .eyebrow{font-size:9px}.version-banner{font-size:9px;line-height:1.7}.version-banner+.shell .sidebar{padding-top:15px}.auth-footnote{font-size:10px}.setup-note p{font-size:11px}.demo-link{font-size:12px}}.offline-status{border:1px solid var(--border,#cbd9cf);background:var(--surface,#f1f7f1);color:var(--text,#163c2b);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 22px;padding:15px 18px;font-size:13px;display:flex}.offline-status>div:first-child{flex:1;min-width:180px}.offline-status strong,.offline-status span{display:block}.offline-status span{opacity:.8;margin-top:5px;line-height:1.5}.offline-conflict{border-top:1px solid #cbd9cf;width:100%;padding-top:8px}.offline-conflict button{color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}[data-theme=dark] .offline-status{color:#eef3e9;background:#203b31;border-color:#385246}.connection-dock{z-index:7;width:min(390px,100vw - 32px);color:var(--ink);font-size:12px;position:fixed;bottom:22px;right:24px}.connection-summary{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefbf5;border-radius:14px;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:12px 15px;display:flex;box-shadow:0 4px 22px #17352616}.connection-label{text-align:left;flex-wrap:wrap;align-items:center;gap:9px;display:flex}.connection-dot{background:#3f805a;border-radius:50%;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 0 3px #3f805a13}.connection-dock.offline .connection-dot{background:#c94740;box-shadow:0 0 0 3px #c9474015}.connection-dock.waiting .connection-dot{background:#b58127;box-shadow:0 0 0 3px #b5812715}.connection-label b{font-size:12px;font-weight:600}.connection-pending,.connection-attention{color:#855a12;background:#fff1d5;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:600}.connection-attention{color:#9d3d30;background:#fce6e2}.connection-details{border:1px solid var(--line);background:#fffefb;border-radius:16px;max-height:min(55dvh,420px);margin-bottom:9px;padding:18px;line-height:1.6;overflow:auto;box-shadow:0 8px 30px #17352620}.connection-details>strong{font-size:14px}.connection-details p{color:var(--muted);margin:8px 0}.connection-details>small{color:var(--muted);margin-bottom:12px;display:block}.connection-details>.secondary{min-height:36px;margin:5px 8px 0 0;padding:9px 12px;font-size:11px}.entry-title{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.pending-badge{white-space:nowrap;color:#805610;background:#fff1d5;border:1px solid #ead397;border-radius:6px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;font-weight:700;line-height:1.4;display:inline-flex}.greeting-sun{vertical-align:-3px;color:#b99745;flex-shrink:0;margin-left:5px;display:inline-block}.content{padding-bottom:95px}[data-theme=dark] .connection-summary,[data-theme=dark] .connection-details{color:#e6eee2;background:#192820f5;border-color:#3c5034}[data-theme=dark] .pending-badge,[data-theme=dark] .connection-pending{color:#f0d58e;background:#45391e;border-color:#75602e}[data-theme=dark] .connection-attention{color:#ffc3b5;background:#4b2d29}[data-theme=dark] .greeting-sun{color:#d2b66d}@media (width<=760px){.connection-dock{left:12px;right:12px;bottom:calc(81px + env(safe-area-inset-bottom,0px));width:auto}.connection-summary{border-radius:12px;min-height:42px;padding:10px 13px}.connection-label{gap:8px}.connection-label b{font-size:11px}.content{padding-bottom:160px}.greeting-sun{vertical-align:-3px;width:25px;height:25px}.pending-badge{padding:3px 6px;font-size:8px}.entry-title{gap:5px}.entry-title b{font-size:12px}}.connection-settings{margin-bottom:24px}.connection-settings .connection-details{box-shadow:none;background:0 0;border:0;max-height:none;margin:0;padding:0;overflow:visible}.connection-settings .connection-details>strong{font:700 18px Manrope,sans-serif}.settings-connection-label{align-items:center;gap:9px;display:flex}.settings-connection-label .connection-dot.is-offline{background:#c94740;box-shadow:0 0 0 3px #c9474015}.compact-progress-wrap{top:calc(12px + env(safe-area-inset-top,0px));z-index:8;opacity:0;visibility:hidden;transform-origin:50% 0;filter:blur(3px);pointer-events:none;max-width:650px;margin:0 auto;transition:opacity .26s,transform .64s cubic-bezier(.22,1,.36,1),filter .42s,visibility 0s .64s;position:fixed;left:264px;right:28px;transform:translateY(-18px)scale(.94)}.compact-progress-wrap.is-visible{opacity:1;visibility:visible;filter:blur();pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.compact-progress{text-align:left;-webkit-backdrop-filter:blur(24px)saturate(140%);width:100%;color:var(--ink);background:#fffefbf2;border:1px solid #dce5d7;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:13px 18px 17px;transition:border-radius .64s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;box-shadow:0 6px 30px #1b352316}.is-visible .compact-progress{border-radius:14px}.compact-progress-copy{align-items:baseline;gap:18px;min-width:0;display:flex}.compact-progress-label{letter-spacing:.2px;color:var(--muted);white-space:nowrap;font-size:10px}.compact-progress strong{white-space:nowrap;letter-spacing:-.4px;font:700 18px Manrope,sans-serif}.compact-progress strong small{color:var(--muted);letter-spacing:0;font:400 10px DM Sans,sans-serif}.compact-progress-percent{color:var(--green);white-space:nowrap;align-items:baseline;gap:3px;font:700 15px Manrope,sans-serif;display:flex}.compact-progress-percent>small{font-size:10px;font-weight:500}.compact-progress-percent>svg{opacity:.55;align-self:center;margin-left:7px}.compact-progress-track{background:#e9eee3;height:3px;position:absolute;bottom:0;left:0;right:0}.compact-progress-track i{background:#7b9869;border-radius:0 3px 3px 0;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block}[data-theme=dark] .compact-progress{color:#e6eee2;background:#192820ed;border-color:#3c5034;box-shadow:0 6px 30px #0003}[data-theme=dark] .compact-progress-track{background:#33472d}[data-theme=dark] .compact-progress-track i{background:#a6bc87}@media (width<=1100px) and (width>=761px){.compact-progress-wrap{left:227px;right:22px}}@media (width<=760px){.compact-progress-wrap{left:12px;right:12px;top:calc(8px + env(safe-area-inset-top,0px));max-width:480px}.compact-progress{gap:10px;padding:10px 14px 14px}.compact-progress-copy{display:block}.compact-progress-label{margin-bottom:3px;font-size:8px;display:block}.compact-progress strong{font-size:17px}.compact-progress strong small{font-size:9px}.compact-progress-percent{font-size:16px}.compact-progress-percent>svg{margin-left:4px}}@media (prefers-reduced-motion:reduce){.compact-progress-wrap,.compact-progress,.compact-progress-track i{filter:none;transition:none;transform:none}}.compact-progress-wrap.progress-morph{opacity:var(--morph,0);transform:translateY(calc((1 - var(--morph,0))*8px)) scale(calc(1 + (1 - var(--morph,0))*.065));filter:blur(calc((1 - var(--morph,0))*1.5px));transition:opacity .12s linear,transform .2s cubic-bezier(.22,1,.36,1),filter .16s,visibility 0s .2s}.compact-progress-wrap.progress-morph.is-visible{transition-delay:0s}.progress-morph .compact-progress{border-radius:calc(14px + (1 - var(--morph,0))*12px);transition:border-radius .2s}.progress-morph .compact-progress-label,.progress-morph .compact-progress strong small,.progress-morph .compact-progress-percent>svg{opacity:var(--morph,0);transition:opacity .18s}.progress-morph .compact-progress-track{transform:scaleX(calc(.88 + var(--morph,0)*.12));transform-origin:0;transition:transform .2s cubic-bezier(.22,1,.36,1)}.summary .summary-side,.summary .summary-foot,.summary .summary-kicker{opacity:calc(1 - var(--summary-condense,0)*.65);transition:opacity .18s}@media (prefers-reduced-motion:reduce){.compact-progress-wrap.progress-morph{filter:none;transition:none;transform:none}.progress-morph .compact-progress,.progress-morph .compact-progress-label,.progress-morph .compact-progress strong small,.progress-morph .compact-progress-percent>svg,.progress-morph .compact-progress-track,.summary .summary-side,.summary .summary-foot,.summary .summary-kicker{transition:none}.progress-morph .compact-progress-track{transform:none}}.morph-destination{left:264px;right:28px;top:calc(12px + env(safe-area-inset-top,0px));visibility:hidden;pointer-events:none;max-width:650px;margin:0 auto;position:fixed}.morph-destination .compact-progress-label{font-size:9px}.morph-destination .compact-progress-percent{padding-right:20px}.morphing-summary{z-index:8;text-align:left;color:var(--ink);-webkit-backdrop-filter:blur(24px)saturate(140%);cursor:pointer;isolation:isolate;background:#fffefbf5;border:1px solid #dce5d7;padding:0;display:block;position:fixed;overflow:hidden}.morph-source-clone.summary{pointer-events:none;visibility:visible;border:0;border-radius:0;margin:0;position:absolute;top:0;left:0}.morph-source-clone .summary-kicker,.morph-source-clone .total,.morph-source-clone .summary-foot,.morph-source-clone .total-progress{visibility:hidden}.morph-part{white-space:nowrap;pointer-events:none;transform-origin:0 0;margin:0;padding:0;display:block;position:absolute}.morph-kicker{font-family:DM Sans,sans-serif;font-weight:500}.morph-kicker>i{background:#6b8c5a;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block;position:absolute;top:40%;right:100%}.morph-amount{font-family:Manrope,sans-serif;font-weight:700}.morph-goal,.morph-percent{font-family:DM Sans,sans-serif;font-weight:400}.morph-track{background:#dbe3d2;overflow:hidden}.morph-track>i{border-radius:inherit;background:#6b8c5a;height:100%;display:block}.morph-back{color:var(--muted);margin-top:-7px;position:absolute;top:50%;right:13px}[data-theme=dark] .morphing-summary{color:#e6eee2;background:#192820f5;border-color:#3c5034}[data-theme=dark] .morph-track{background:#41573c}[data-theme=dark] .morph-track>i{background:#a4bd7d}@media (width<=1100px) and (width>=761px){.morph-destination{left:227px;right:22px}}@media (width<=760px){.morph-destination{left:12px;right:12px;top:calc(8px + env(safe-area-inset-top,0px));max-width:480px}.morph-destination .compact-progress-label{font-size:8px}.morph-destination .compact-progress-percent{font-size:15px}.morph-destination .compact-progress{padding:10px 14px 14px}}.morphing-summary.morph-performant{contain:layout paint style;will-change:transform,width,height;-webkit-backdrop-filter:none;box-shadow:none;top:0;left:0}.morph-performant .morph-part{will-change:transform;top:0;left:0}.morph-performant .morph-track{transform-origin:0 0}.morph-performant .morph-source-clone{will-change:opacity}.morph-source-clone.summary{visibility:inherit}.morph-kicker>i{width:6px;height:6px;margin:-3px 8px 0 0;top:50%;right:100%}
