:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light;--bg: #f3efe7;--surface: #fbf8f1;--surface-2: #ebe8de;--ink: #202621;--muted: #545c53;--line: #b3b7aa;--accent: #bb3d20;--accent-warm: #ff714c;--accent-ink: #fffdf7;--tint: #e0e7d2;--danger: #a62d1d;--focus: #245f9c;--halo: #e5e9d7;--scrim: rgb(15 24 18 / 62%);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);background:var(--bg);color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--bg: #17231d;--surface: #223329;--surface-2: #2d4033;--ink: #f3f1e7;--muted: #c2cfbf;--line: #718372;--accent: #ff9270;--accent-warm: #ff9270;--accent-ink: #17231d;--tint: #344b38;--danger: #ffa69a;--focus: #badcf5;--halo: #3b503e;--scrim: rgb(3 10 6 / 76%)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--ink);transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}::selection{background:var(--accent);color:var(--accent-ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}h1{font-size:29px;line-height:1.12}h2{font-size:21px;line-height:1.2}h3{font-size:17px;line-height:1.3}p{line-height:1.5}small,.muted,.hint{color:var(--muted)}input,select,textarea{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);caret-color:var(--accent);transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}label{display:grid;gap:8px;font-size:14px;font-weight:650}.app-shell{width:min(100%,520px);min-height:100dvh;margin:0 auto;padding-bottom:calc(98px + env(safe-area-inset-bottom) + var(--tg-content-safe-area-inset-bottom, 0px));background:var(--bg);transition:background-color .2s var(--ease-out)}.demo-ribbon{padding:8px 16px;background:#f2dfa4;color:#392e17;text-align:center;font-size:12px;font-weight:700}.app-header{padding:calc(10px + env(safe-area-inset-top) + var(--tg-content-safe-area-inset-top, 0px)) 20px 0}.content{padding:0 20px 32px}.header-row,.space-switch,.section-head,.summary-top,.summary-footer,.category-row,.entry-row,.goal-top,.goal-numbers,.report-total,.plan-row{display:flex;align-items:center;justify-content:space-between}.header-row{min-height:48px;margin-bottom:14px}.wordmark{display:inline-flex;align-items:center;gap:9px;font-size:24px;font-weight:800;letter-spacing:-.025em}.brand-icon{position:relative;display:block;width:42px;height:42px;flex:0 0 42px}.brand-icon img{position:absolute;inset:0;display:block;width:42px;height:42px;object-fit:contain}.brand-icon-dark{visibility:hidden}:root[data-theme=dark] .brand-icon-light{visibility:hidden}:root[data-theme=dark] .brand-icon-dark{visibility:visible}.header-actions{display:flex;align-items:center;gap:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--ink)}.theme-toggle,.profile-button{border:1px solid var(--line);border-radius:14px;background:var(--surface)}.theme-toggle{font-size:22px;line-height:1}.profile-button{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:2px 9px 2px 2px;color:var(--ink);font-size:12px;font-weight:750;white-space:nowrap}.profile-button img{width:36px;height:36px;object-fit:contain}.space-header h1{max-width:320px;margin:6px 0 12px;font-weight:760;text-wrap:balance}.eyebrow{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.085em}.eyebrow-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--accent);vertical-align:1px}.space-switch{min-height:45px;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--line)}.space-switch-label{color:var(--muted);font-size:13px;font-weight:700}.space-pill,.space-select{max-width:68%;min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-select{width:auto;min-width:145px}.summary-card{padding:17px 0 13px;border-bottom:1px solid var(--line)}.summary-top{gap:16px;color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.055em}.summary-arrow{color:var(--accent);font-size:22px;font-weight:500;line-height:1}.summary-amount{margin:10px 0 9px;color:var(--ink);font-size:clamp(42px,11vw,56px);font-weight:780;font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.13;overflow-wrap:anywhere}.summary-footer{color:var(--muted);font-size:12px;line-height:1.45}.summary-amount--updated{animation:amount-confirm .2s var(--ease-out) both}@keyframes amount-confirm{0%{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.action-stage{position:relative;min-height:211px;margin-top:15px;padding:16px 18px 67px;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.mascot-wrap{position:absolute;top:3px;right:8px;width:174px;height:151px;z-index:1;pointer-events:none;transform-origin:50% 85%}.mascot-halo{position:absolute;top:8px;right:21px;width:121px;height:121px;border-radius:50%;background:var(--halo);transition:background-color .2s var(--ease-out)}.mascot-image{position:absolute;top:-12px;right:0;width:177px;height:177px;object-fit:contain;filter:drop-shadow(0 10px 10px rgb(32 38 33 / 16%))}.mascot-idle,.mascot-reaction{opacity:1}.mascot--error .mascot-idle,.mascot--expense .mascot-idle,.mascot--expense-hold .mascot-idle,.mascot--income .mascot-idle{opacity:0}.mascot--expense-hold .mascot-reaction{animation:wallet-hold .25s var(--ease-out) both}.mascot--expense .mascot-reaction{animation:wallet-expense .45s var(--ease-out) both}.mascot--income .mascot-reaction{animation:wallet-income .7s var(--ease-out) both}.mascot--loading .mascot-idle{animation:wallet-attend .25s var(--ease-out) both}.action-copy{position:relative;z-index:2;max-width:145px;padding-top:20px}.action-copy p{margin:0;font-size:18px;font-weight:720;letter-spacing:-.02em;line-height:1.22}.primary-action{position:absolute;right:12px;bottom:12px;left:12px;z-index:2;display:flex;align-items:center;gap:11px;width:calc(100% - 24px);min-height:48px;padding:8px 15px;border:0;border-radius:11px;background:var(--accent-warm);color:#1d241e;text-align:left;font-size:16px;font-weight:760;transition:transform .14s var(--ease-out),background-color .2s var(--ease-out),opacity .14s var(--ease-out)}.primary-action span:nth-child(2){flex:1}.primary-action .plus{font-size:26px;font-weight:400;line-height:1}.primary-action:disabled{opacity:.5}.primary-action:not(:disabled):active{transform:scale(.98)}@keyframes wallet-attend{0%{transform:rotate(0)}to{transform:rotate(-3deg)}}@keyframes wallet-hold{0%{opacity:.5;transform:translate(8px) rotate(4deg)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes wallet-expense{0%{opacity:.75;transform:translate(10px) rotate(5deg)}55%{opacity:1;transform:translate(-5px) rotate(-3deg)}to{transform:translate(0) rotate(0)}}@keyframes wallet-income{0%{opacity:.65;transform:translateY(7px) rotate(-3deg)}55%{opacity:1;transform:translateY(-9px) rotate(3deg)}to{transform:translateY(0) rotate(0)}}.quick-card{margin-top:28px}.quick-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px}.quick-title h2{margin:0}.quick-title span{color:var(--muted);font-size:12px;font-weight:650}.quick-card>label{margin-bottom:9px;color:var(--muted);font-size:13px}.quick-row{display:flex;gap:8px}.quick-row input{height:54px;font-size:16px}.submit-circle{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:0;border-radius:12px;background:var(--ink);color:var(--bg);transition:transform .14s var(--ease-out),opacity .14s var(--ease-out)}.submit-circle:disabled{opacity:.48}.submit-circle:not(:disabled):active{transform:scale(.96)}.submit-circle.is-saving{cursor:progress}.submit-spinner{width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .65s linear infinite}.quick-input-hint{margin:9px 1px 0;color:var(--muted);font-size:12px;line-height:1.45}.space-note{margin:9px 1px 0;color:var(--muted);font-size:12px}.space-note strong{color:var(--ink)}.media-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.media-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:52px;padding:5px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}.media-button:disabled{opacity:.76}.media-hint{margin:8px 1px 0;color:var(--muted);font-size:12px;line-height:1.45}.section{margin-top:32px}.section-head{gap:8px;margin-bottom:11px}.section-head h2{margin:0}.link-button,.text-button{display:inline-flex;align-items:center;gap:3px;min-height:44px;padding:7px 3px;border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:750;text-align:left}.entry-list,.category-list{border-top:1px solid var(--line)}.entry-row{width:100%;min-height:72px;gap:12px;padding:12px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.entry-main{display:grid;gap:3px;flex:1;min-width:0}.entry-main strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.entry-main small{font-size:12px;line-height:1.35}.entry-emblem{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--tint);color:var(--ink);font-size:21px;font-weight:700}.entry-amount{flex:0 0 auto;max-width:40%;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.entry-row--just-added{animation:entry-confirm .2s var(--ease-out) both}@keyframes entry-confirm{0%{opacity:.55;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.category-row{gap:10px;min-height:50px;border-bottom:1px solid var(--line);font-size:14px}.category-row>span:nth-child(2){flex:1}.category-row strong{font-variant-numeric:tabular-nums}.category-dot{display:block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#53735b}.category-dot.tone-1{background:#b87548}.category-dot.tone-2{background:#8b789c}.empty{padding:26px 17px;border:1px dashed var(--line);border-radius:14px;background:var(--surface);text-align:center}.empty-mark{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 13px;border-radius:13px;background:var(--tint);color:var(--ink)}.empty h3{margin-bottom:5px}.empty p{max-width:300px;margin:0 auto 12px;color:var(--muted);font-size:14px}.empty .button{margin:0 auto}.insight-card,.optional-card,.load-line{margin-top:23px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.insight-card{display:flex;align-items:center;gap:11px}.insight-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:11px;background:var(--tint);color:var(--ink)}.insight-card>div:nth-child(2){flex:1;min-width:0}.insight-card h3{margin:0 0 3px;font-size:15px}.insight-card p,.optional-card p,.load-line p{margin:0;color:var(--muted);font-size:13px}.optional-card h3{margin:0 0 5px}.load-line>div{display:flex;align-items:center;justify-content:space-between}.load-line strong{font-size:22px;font-variant-numeric:tabular-nums}.bottom-nav{position:fixed;bottom:0;left:50%;z-index:10;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,520px);padding:7px 12px calc(8px + env(safe-area-inset-bottom) + var(--tg-content-safe-area-inset-bottom, 0px));transform:translate(-50%);border-top:1px solid var(--line);background:var(--surface);transition:background-color .2s var(--ease-out)}.bottom-nav button{display:grid;justify-items:center;gap:1px;min-height:52px;padding:5px 2px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}.bottom-nav button.active{background:var(--tint);color:var(--ink)}.feedback,.toast{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom) + var(--tg-content-safe-area-inset-bottom, 0px));left:50%;z-index:20;width:min(calc(100% - 32px),488px);padding:12px 14px;transform:translate(-50%);border-radius:13px;background:var(--ink);color:var(--bg);font-size:13px;box-shadow:0 9px 28px #00000029}.feedback>span{display:flex;align-items:center;gap:7px;font-weight:750}.feedback>small{display:block;margin-top:4px;color:var(--bg)}.feedback>div{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.feedback button{min-height:44px;padding:3px 5px;border:0;background:transparent;color:inherit;font-weight:750}.toast{text-align:center}.page-heading{padding:20px 0 18px}.page-heading h1{margin:5px 0 6px;font-size:28px}.page-heading p{margin:0;color:var(--muted);font-size:14px}.page-heading--mascot{display:flex;align-items:center;justify-content:space-between;min-height:148px;gap:10px;padding:8px 0 12px}.page-heading--mascot>div:first-child{flex:1;min-width:0}.mascot-scene{position:relative;flex:0 0 148px;width:148px;height:132px;overflow:hidden;pointer-events:none}.mascot-scene--goals{flex-basis:180px;width:180px}.mascot-scene img{position:absolute;inset:0 auto auto 0;width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 7px 8px rgb(32 38 33 / 14%))}.mascot-scene__base{z-index:1}.mascot-scene__arm{z-index:2}.mascot-scene--history .mascot-scene__arm{clip-path:polygon(7% 28%,19% 28%,34% 51%,35% 58%,27% 59%,22% 54%,7% 60%,4% 48%);transform-origin:24% 47%;animation:journal-review 1.05s var(--ease-in-out) 2 both}.mascot-scene--goals img{width:112px;height:112px;top:17px;left:68px}.mascot-scene--goals .mascot-scene__arm{clip-path:polygon(0 13%,35% 13%,35% 34%,28% 38%,29% 51%,17% 51%,7% 42%,7% 27%,0 27%);transform-origin:25% 44%;animation:darts-aim 1.1s var(--ease-in-out) 2 both}.dart-board{position:absolute;z-index:3;top:18px;left:0;width:64px;height:64px;border:5px solid var(--ink);border-radius:50%;background:radial-gradient(circle,var(--accent) 0 8px,var(--surface) 9px 17px,var(--accent) 18px 25px,var(--surface) 26px);box-shadow:0 5px 9px #20262124}.dart-board span{position:absolute;top:50%;left:50%;width:17px;height:17px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--ink)}@keyframes journal-review{0%,to{transform:rotate(0)}35%{transform:rotate(-3deg) translateY(1px)}70%{transform:rotate(2deg) translate(1px)}}@keyframes darts-aim{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg) translate(2px)}}.filter-card,.goal-card,.form-card{padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.filter-card{display:grid;gap:13px;margin-bottom:18px}.filter-card label{font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px 16px;border:1px solid transparent;border-radius:11px;font-weight:750;line-height:1.25;text-align:center;transition:transform .14s var(--ease-out),background-color .2s var(--ease-out),color .2s var(--ease-out)}.button.primary{background:var(--accent);color:var(--accent-ink)}.button.secondary{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.button:disabled{opacity:.5}.button:not(:disabled):active{transform:scale(.98)}.button.full{width:100%;margin-top:16px}.goal-list{display:grid;gap:12px}.goal-card{position:relative;padding:18px}.wallet-deposit{position:absolute;top:60px;right:10px;z-index:5;width:180px;height:175px;pointer-events:none}.wallet-deposit img{position:absolute;top:0;right:0;width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 7px 8px rgb(32 38 33 / 14%));animation:wallet-piggy 1.6s var(--ease-in-out) both}.wallet-deposit__bill{position:absolute;top:97px;left:8px;z-index:2;display:flex;align-items:center;justify-content:center;gap:3px;width:74px;height:34px;border:2px solid #8a472f;border-radius:4px;background:#e7a269;color:#4d2b22;box-shadow:0 3px 5px #2026212e;opacity:0;transform-origin:center;animation:bill-to-wallet 1.6s var(--ease-in-out) both}.wallet-deposit__bill b{font-size:15px;font-variant-numeric:tabular-nums}.wallet-deposit__bill small{color:inherit;font-size:11px}.wallet-deposit__message{position:absolute;right:0;bottom:0;padding:5px 8px;border-radius:7px;background:var(--tint);color:var(--ink);font-size:12px;font-weight:700;white-space:nowrap;opacity:0;animation:piggy-message .22s var(--ease-out) 1.4s both}@keyframes wallet-piggy{0%,to{transform:rotate(0)}45%{transform:rotate(-5deg) translateY(3px)}}@keyframes bill-to-wallet{0%{opacity:1;transform:translate(0) rotate(-16deg)}65%{opacity:1;transform:translate(65px,-92px) rotate(-10deg) scale(.94)}to{opacity:0;transform:translate(76px,-105px) rotate(-8deg) scale(.9)}}@keyframes piggy-message{0%{opacity:0}to{opacity:1}}.goal-top h3{margin:5px 0 0;font-size:18px}.goal-numbers{align-items:baseline;margin-top:22px}.goal-numbers strong{font-size:24px;font-variant-numeric:tabular-nums}.goal-numbers span{color:var(--muted);font-size:13px}.progress{height:7px;margin-top:12px;overflow:hidden;border-radius:99px;background:var(--tint)}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.form-card{margin-top:18px}.form-stack{display:grid;gap:16px}.form-stack h3,.form-stack p{margin:0}.form-stack .category-hint{color:var(--muted);font-size:13px}.category-choice{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.category-choice summary{min-height:48px;padding:13px 2px;color:var(--accent);font-size:14px;font-weight:700;cursor:pointer}.category-choice summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.category-choice[open]{padding-bottom:14px}.category-choice label{display:grid;gap:7px}.category-choice .category-hint{margin-top:8px}.category-picker{display:grid;gap:8px}.category-picker>label{font-size:13px}.category-current{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.category-current button{min-height:38px;border:0;background:transparent;color:var(--accent);font-weight:700}.category-results{max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:12px}.category-results button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:45px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}.category-results button:last-child{border-bottom:0}.category-results button[aria-pressed=true]{color:var(--accent);font-weight:750}.category-results p{padding:10px 12px}.overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);animation:veil-enter .25s var(--ease-out) both}.sheet{width:min(100%,520px);max-height:calc(100dvh - 30px - env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom) + var(--tg-content-safe-area-inset-bottom, 0px));overflow:auto;overscroll-behavior:contain;border-radius:18px 18px 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -12px 36px #0000002e;animation:sheet-enter .25s var(--ease-out) both}.sheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:65px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.sheet-head h2{margin:0;font-size:20px}.panel-body{padding:18px 16px 8px}.panel-intro{margin:0 0 6px;color:var(--muted);font-size:14px}@keyframes veil-enter{0%{opacity:0}to{opacity:1}}@keyframes sheet-enter{0%{opacity:.8;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:var(--surface-2)}.segmented button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:750}.segmented button.selected{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px #00000017}.info-box{padding:13px 14px;border-radius:12px;background:var(--tint);color:var(--ink);font-size:13px;line-height:1.45}.field-error,.error-box{color:var(--danger);font-size:13px;font-weight:650}.error-box{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:14px;border:1px solid var(--danger);border-radius:12px;background:var(--surface)}.error-box span{flex:1}.error-box button{padding:0}.setting-list{margin:17px 0;overflow:hidden;border:1px solid var(--line);border-radius:13px}.setting-list button{display:flex;align-items:center;gap:11px;width:100%;min-height:57px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}.setting-list button:last-child{border-bottom:0}.setting-list button span{flex:1}.setting-list button:disabled{opacity:.6;cursor:wait}.reminder-settings{display:grid;gap:13px;margin:17px 0;padding:16px;border:1px solid var(--line);border-radius:14px}.reminder-heading{display:flex;align-items:flex-start;gap:10px}.reminder-heading>svg{flex:0 0 20px;margin-top:2px;color:var(--accent)}.reminder-heading h3{margin:0 0 3px;font-size:16px}.reminder-heading p{margin:0;color:var(--muted);font-size:13px}.reminder-switch{display:flex;align-items:center;gap:10px;min-height:44px}.reminder-switch input{flex:0 0 22px;width:22px;min-height:22px;height:22px;margin:0;accent-color:var(--accent)}.reminder-switch span{flex:1}.reminder-time{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.reminder-time label{grid-column:1 / -1;font-size:13px}.reminder-time input{max-width:170px;font-variant-numeric:tabular-nums}.reminder-time button{min-height:48px}.reminder-settings>.settings-foot,.reminder-error p{margin:0}.report-ready{margin:14px 0 18px;padding:16px;border-radius:14px;background:var(--tint)}.report-ready h3{margin:0 0 8px;font-size:16px}.report-ready button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:62px;padding:10px 2px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.report-ready button>span{display:grid;gap:2px;font-size:13px}.report-ready button strong{font-size:15px}.report-ready button small{font-size:12px}.settings-foot{color:var(--muted);font-size:12px}.admin-panel{padding-bottom:18px}.admin-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-intro p{max-width:270px;margin:0;color:var(--muted);font-size:13px}.admin-intro .text-button{flex:0 0 auto;min-height:34px;padding-top:0;font-size:12px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 4px}.admin-toolbar span,.admin-freshness,.admin-section-note,.admin-muted{color:var(--muted);font-size:12px;line-height:1.45}.admin-toolbar .button{min-height:40px;padding:7px 11px;font-size:13px}.admin-loading{padding:22px 0;color:var(--muted);font-size:14px}.admin-section{margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}.admin-section h3{margin:0 0 8px;font-size:17px}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-section-heading h3{margin-bottom:0}.admin-section-note{margin:7px 0 13px}.admin-stat-list{margin:0}.admin-stat{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.admin-stat:last-child{border-bottom:0}.admin-stat dt{color:var(--muted);font-size:13px;line-height:1.35}.admin-stat dd{margin:0;color:var(--ink);font-size:17px;font-weight:750;font-variant-numeric:tabular-nums;text-align:right}.admin-section--attention h3,.admin-section--attention .admin-stat dd{color:var(--danger)}.admin-status{flex:0 0 auto;padding:5px 8px;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:750}.admin-status--ok{background:var(--tint);color:var(--ink)}.admin-status--stale{background:var(--surface-2);color:var(--danger)}.admin-balances{display:grid;gap:8px}.admin-balance{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.admin-balance-main{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.admin-balance-main strong{font-size:26px;line-height:1.2;overflow-wrap:anywhere}.admin-balance-main span{color:var(--muted);font-size:13px;font-weight:700}.admin-balance p{margin:6px 0 0;color:var(--muted);font-size:12px}.admin-inline-alert{margin:11px 0 0;color:var(--danger);font-size:13px;line-height:1.45}.admin-freshness{margin:9px 0 0}.admin-ai-state{display:flex;align-items:flex-start;gap:11px;margin-top:22px;padding:14px;border-radius:12px;background:var(--tint)}.admin-ai-dot{flex:0 0 9px;width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--accent)}.admin-ai-state strong{font-size:13px}.admin-ai-state p{margin:3px 0 0;color:var(--muted);font-size:12px}.danger-link{display:flex;align-items:center;gap:7px;min-height:44px;padding:12px 16px;border:0;background:transparent;color:var(--danger);font-weight:700}.member-list>div,.plan-row{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.account-intro{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line)}.account-intro img{width:62px;height:62px;object-fit:contain}.account-intro div,.plan-row>span{display:grid;gap:3px}.account-intro strong{font-size:17px}.account-intro span,.plan-row small{color:var(--muted);font-size:12px}.avatar-choices{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0;padding:0;border:0}.avatar-choices legend{margin-bottom:9px;font-size:13px;font-weight:700}.avatar-choices button{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 2px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font-size:12px}.avatar-choices button[aria-pressed=true]{border-color:var(--accent);background:var(--tint)}.avatar-choices img{width:38px;height:38px;object-fit:contain}.plan-current{margin:0;font-size:24px;font-weight:750;font-variant-numeric:tabular-nums}.plan-current span{color:var(--muted);font-size:14px;font-weight:500}.plan-actions{display:flex;align-items:center;flex:0 0 auto}.member-list span{color:var(--muted)}.invite-link{display:grid;gap:8px}.invite-link input{font-size:12px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.inline-form .button{margin-bottom:0}.report-total{gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.report-total strong{font-size:20px;font-variant-numeric:tabular-nums}.report-total+h3{margin:22px 0 10px}.report-total~.info-box{margin-top:18px}.expense-ideas{display:grid;gap:9px;margin-top:18px;padding:16px;border-radius:14px;background:var(--tint)}.expense-ideas h3,.expense-ideas p{margin:0}.expense-ideas p{font-size:13px;line-height:1.5}.expense-ideas small{font-size:11px}.pending-list{overflow:hidden;border:1px solid var(--line);border-radius:12px}.pending-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;border-bottom:1px solid var(--line)}.pending-row:last-child{border-bottom:0}.pending-row>div{display:grid;gap:3px;min-width:0}.pending-row strong{overflow-wrap:anywhere;font-size:14px}.pending-row small{color:var(--muted);font-size:12px}.pending-row .text-button{flex:0 0 auto}.skeleton-card{height:155px;border-radius:12px;background:linear-gradient(100deg,var(--surface) 35%,var(--surface-2) 50%,var(--surface) 65%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.loader{width:32px;height:32px;margin:24px auto;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.gate{max-width:450px;min-height:100dvh;margin:0 auto;padding:17vh 24px 24px;text-align:center}.gate-mark{display:block;width:72px;height:72px;margin:0 auto 21px;object-fit:contain}.gate h1{margin-bottom:10px}.gate .button{margin-top:16px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position-x:-200%}}@media(hover:hover)and (pointer:fine){.icon-button:hover,.setting-list button:hover{background:var(--tint)}.entry-row:hover{background:var(--surface-2)}.link-button:hover,.text-button:hover{text-decoration:underline;text-underline-offset:3px}}@media(max-width:359px){.app-header,.content{padding-right:16px;padding-left:16px}.action-stage{padding-right:15px;padding-left:15px}.mascot-wrap{right:3px;width:153px}.mascot-image{right:0;width:158px;height:158px}.mascot-halo{right:14px;width:111px;height:111px}.action-copy{max-width:116px}.action-copy p{font-size:16px}.summary-amount{font-size:39px}.media-button{gap:3px;font-size:12px}.media-button svg{width:17px;height:17px}.mascot-scene{flex-basis:116px;width:116px}.mascot-scene--goals{flex-basis:140px;width:140px}.mascot-scene--history img{width:118px;height:118px}.mascot-scene--goals img{width:90px;height:90px;left:50px}.dart-board{width:46px;height:46px}.profile-button{padding-right:6px;font-size:11px}}@media(min-width:700px){.app-shell{min-height:calc(100dvh - 24px);margin-top:24px;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}.app-header,.content{padding-right:24px;padding-left:24px}.bottom-nav{border-right:1px solid var(--line);border-left:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}body,.app-shell,.bottom-nav,.mascot-halo,input,select,textarea{transition-duration:0ms!important}.mascot-image,.mascot-scene img,.summary-amount--updated,.entry-row--just-added,.sheet,.overlay,.submit-spinner,.loader{animation:none!important}.submit-spinner{border-color:currentColor;opacity:.65}.skeleton-card{animation:none}.primary-action,.button,.submit-circle{transition-duration:0ms!important}.wallet-deposit img,.wallet-deposit__bill,.wallet-deposit__message{animation:none!important}.wallet-deposit__bill{display:none}.wallet-deposit__message{opacity:1}}
