﻿@charset "UTF-8";
:root{color-scheme:light;--ink:#101c43;--muted:#647690;--line:#eaf0f5;--surface:#fff;--background:#f6faff;--green:#00c587;--pink:#ff5780;--shadow:0 5px 16px #20466609;font-family:"Avenir Next",ui-rounded,"Segoe UI",system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--background)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;border:0;background:none}button:focus-visible,input:focus-visible,select:focus-visible,.file-label:focus-within{outline:3px solid #138cf6;outline-offset:3px}button:disabled{opacity:.5;cursor:default}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
h1,h2,h3,p{margin:0}h1{font-size:25px;font-weight:850;letter-spacing:-.8px}h2{font-size:23px;letter-spacing:-.6px}h3{font-size:14px;font-weight:750}small{font-size:11px}strong,b{font-weight:750}.grow{flex:1;min-width:0}.full{width:100%}.align-right{text-align:right}.helper{font-size:12px;color:var(--muted);line-height:1.55}.chevron{color:var(--muted);font-size:24px}.main{width:100%;max-width:430px;margin:auto;padding:18px 20px calc(95px + env(safe-area-inset-bottom));min-height:100dvh;background:linear-gradient(#fff 0%,#f7fbff 45%,#f5f8fc 100%)}
.page-header{display:flex;align-items:center;gap:8px;min-height:44px;margin-bottom:22px;position:relative}.page-header h1{flex:1}.home-brand{display:flex;align-items:center;gap:8px;flex:1}.home-brand img{width:43px;height:43px;object-fit:contain;background:#d8f7ff;border-radius:12px}.home-brand strong{display:block;font-size:21px;letter-spacing:-.8px;font-weight:850}.home-brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;flex-shrink:0;font-size:25px}.icon-button:hover{background:#eaf4fb}.icon-button.tiny{width:28px;height:26px}.icon-button.tiny svg{width:18px;height:18px}.back-button{width:24px;margin-left:-4px}.month-control{position:relative;display:flex;align-items:center;border:1px solid var(--line);padding:9px 10px;border-radius:12px;font-size:11px;font-weight:650;gap:8px;background:var(--surface);max-width:115px}.month-control:after{content:'⌄'}.month-control input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.page{animation:appear .2s ease-out}.card{border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow);padding:16px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.track{height:9px;border-radius:20px;background:#eaf0f5;display:block;flex:1;overflow:hidden}.track>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#00b97a,#50dba4);width:0;transition:width .45s ease}.progress-line{display:flex;align-items:center;gap:8px;margin-top:8px}.progress-line small{font-size:10px;color:var(--muted);white-space:nowrap}.button{padding:13px 16px;border-radius:15px;font-size:13px;font-weight:750;min-height:44px;transition:transform .15s,box-shadow .15s}.button:active{transform:scale(.98)}.button.primary{background:linear-gradient(100deg,#00bc7a,#00c893);color:#fff;box-shadow:0 4px 12px #00c58720}.button.outline{border:1px solid #dae5f0;background:var(--surface);margin-top:16px}.button.outline:hover{background:#eff9ff}.text-button{font-size:12px;font-weight:650;color:#167aca;padding:10px 2px}.danger{color:#c3455c}.segment{display:flex;gap:3px;background:#eef4f9;border-radius:13px;padding:4px;margin-bottom:19px}.segment button{flex:1;padding:9px 5px;border-radius:10px;font-size:11px;min-height:34px}.segment button.selected{background:var(--surface);color:#006bec;font-weight:750;box-shadow:0 2px 7px #1837590c}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;margin:20px 0}.field input,.field select,.filter-label select{background:var(--surface);color:var(--ink);border:1px solid #e2eaf2;border-radius:12px;min-height:44px;padding:11px 12px;width:100%;font-size:14px}.field input::placeholder{color:#9aa8b9;font-weight:400}.field-label{display:block;font-size:12px;font-weight:700;margin:24px 0 10px}.form-error{color:#bd2548;font-size:12px;line-height:1.5;background:#fff0f3;border-radius:12px;padding:10px;margin:12px 0}
.home-scene{position:relative;height:166px;margin:-7px -20px 0;background:linear-gradient(130deg,#fffdf5,#fff5d8 58%,#e3fbff);overflow:hidden}.greeting{position:absolute;z-index:2;top:14px;left:24px;width:40%}.greeting h2{font-size:25px}.greeting h2 span{font-size:15px}.greeting p{font-size:12px;line-height:1.5;margin-top:5px;max-width:112px}.scene-pig{position:absolute;right:1px;top:-9px;width:63%;height:177px;object-fit:contain;z-index:1;filter:drop-shadow(0 5px 7px #c4906630)}.palm{position:absolute;pointer-events:none;opacity:.65;font-size:84px}.palm-right{right:-28px;top:-23px;transform:rotate(-20deg)}.palm-left{left:-32px;bottom:-17px;transform:rotate(25deg)}.balance-card{position:relative;margin:-17px 0 13px;z-index:3;background:linear-gradient(100deg,#fff,#f7fcff);padding:13px 16px}.balance-card .card-top strong{font-size:12px}.balance{display:block;font-size:30px;font-weight:850;letter-spacing:-.7px;margin:3px 0}.balance-card small{color:#159e76;font-size:10px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.stat-card{display:flex;align-items:center;flex-direction:column;gap:7px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;padding:11px 5px 12px;min-width:0}.stat-card>span{font-size:27px;font-weight:850;line-height:1}.stat-card.income{background:linear-gradient(#f4fffa,#fff)}.stat-card.expense{background:linear-gradient(#fff4f8,#fff)}.stat-card.saving{background:linear-gradient(#fffaee,#fff)}.income>span{color:#00bb83}.expense>span{color:#ff5384}.stat-card small{font-size:10px}.stat-card strong{font-size:15px;letter-spacing:-.5px;white-space:nowrap}.primary-goal{padding:14px;margin-bottom:14px}.primary-goal h3{font-size:12px;margin-bottom:13px}.goal-summary{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:0}.tile-icon{width:55px;height:57px;flex-shrink:0;border-radius:13px;display:grid;place-items:center;font-size:34px;background:linear-gradient(140deg,#d9fff1,#c3f0ff)}.goal-summary .grow>strong{display:block;font-size:12px}.amount-line{display:block;font-size:12px;color:var(--muted);margin-top:7px}.amount-line b{color:var(--ink)}.encouragement{display:flex;gap:13px;align-items:center;padding:16px;border-radius:18px;background:linear-gradient(110deg,#fff9dd,#fff7e7);margin-bottom:14px}.encouragement>span{font-size:34px}.encouragement strong{font-size:14px}.encouragement p{font-size:11px;color:#715440;margin-top:6px;line-height:1.5}.quick-links,.more-shortcuts{display:flex;gap:6px;margin:12px 0 17px}.quick-links button,.more-shortcuts button{flex:1;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 3px;font-size:11px;font-weight:700;min-height:44px}.recent-card{margin-top:12px}.empty-state{font-size:12px;color:var(--muted);text-align:center;padding:25px 10px;line-height:1.6}.movement-row{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:13px 0}.movement-row:last-child{border-bottom:0}.movement-icon{width:31px;height:35px;border-radius:10px;background:#edf8ff;display:grid;place-items:center;font-size:19px;flex-shrink:0}.movement-info{flex:1;min-width:0}.movement-info strong{font-size:11px;display:block;overflow-wrap:anywhere}.movement-info small{font-size:9px;display:block;color:var(--muted);margin-top:5px;line-height:1.4}.movement-value{font-size:11px;white-space:nowrap;color:#009c70}.movement-value.out{color:#eb4d75}.movement-actions{display:flex;flex-direction:column;gap:2px}.movement-actions button{width:27px;height:26px;border-radius:7px;background:#f3f7fb;font-size:13px}
.register-form{padding-top:2px}.type-segment{margin-bottom:8px}.type-segment button{font-size:12px;min-height:39px}.type-segment button.selected{background:linear-gradient(90deg,#ff5e8b,#ff4574);color:#fff}.register-extra-types{display:flex;gap:6px}.register-extra-types button{font-size:10px;color:var(--muted);padding:7px 10px;border:1px solid var(--line);border-radius:10px}.register-extra-types button.selected{color:#039f73;background:#e9fff4;border-color:#82dfbe}.amount-field input{font-size:26px;font-weight:750;letter-spacing:-.5px;height:54px;box-shadow:var(--shadow)}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.category-tile{border:1.5px solid transparent;border-radius:15px;padding:11px 4px 9px;min-height:85px;background:#edf6ff;display:flex;flex-direction:column;align-items:center;gap:7px}.category-tile>span{font-size:30px}.category-tile small{font-size:10px}.category-tile:nth-child(9n+1){background:#fff1df}.category-tile:nth-child(9n+2){background:#e6f5ff}.category-tile:nth-child(9n+3){background:#fff0fa}.category-tile:nth-child(9n+4){background:#f0eaff}.category-tile:nth-child(9n+5){background:#e7f9eb}.category-tile:nth-child(9n+6){background:#fff0f3}.category-tile:nth-child(9n+7){background:#edeaff}.category-tile:nth-child(9n+8){background:#fff8dd}.category-tile.selected{border-color:#ff5384;box-shadow:0 0 0 3px #ff538412}.register-form .field{margin:22px 0}.register-form .button{margin-top:3px}.register-form .field input[type=date]{font-size:13px}
.donut{width:258px;height:258px;border-radius:50%;background:#eaf1f7;margin:10px auto 17px;position:relative;display:grid;place-items:center}.donut-hole{width:43%;height:43%;border-radius:50%;background:var(--surface);display:grid;place-items:center;border:4px solid var(--surface)}.donut-hole img{width:106%;height:106%;object-fit:contain}.donut-label{position:absolute;color:#fff;font-size:12px;font-weight:800;transform:translate(-50%,-50%);text-shadow:0 1px 3px #1d34573d}.expense-total{display:flex;flex-direction:column;gap:4px;margin:4px 8px 13px}.expense-total small{font-size:12px}.expense-total strong{font-size:28px;letter-spacing:-.8px}.expense-total>span{font-size:11px;color:#ee517e;min-height:16px}.expense-row{display:flex;align-items:center;gap:10px;min-height:49px;border-bottom:1px solid var(--line);padding:9px 3px}.expense-row .category-icon{font-size:23px;width:34px;height:35px;display:grid;place-items:center;background:#f0f7ff;border-radius:10px}.expense-row strong{font-size:12px;flex:1}.expense-row small{font-size:10px;color:var(--muted)}.expense-row b{font-size:12px;min-width:77px;text-align:right}.expense-list-tabs{margin-top:20px}.filter-label{font-size:11px;display:flex;align-items:center;gap:6px}.filter-label select{padding:5px;font-size:11px;min-height:34px;width:auto;max-width:128px}.trend-heading{margin:25px 0 18px;font-size:15px}.trend-chart{display:flex;align-items:flex-end;gap:10px;height:230px;border-bottom:1px solid var(--line);padding:25px 0 0;margin:12px 0 24px}.trend-column{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:0}.trend-column .bar{width:80%;min-height:3px;background:linear-gradient(#ff6d98,#ffabc2);border-radius:9px 9px 0 0}.trend-column small{font-size:10px}.trend-column b{font-size:9px;white-space:nowrap}.trend-stat{padding:12px;background:var(--surface);border-radius:12px;margin:8px 0;display:flex;justify-content:space-between;font-size:12px}
.debt-overview,.budget-overview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:17px}.overview-icon{font-size:34px;width:48px;height:51px;background:#fff4d9;border-radius:12px;display:grid;place-items:center}.debt-overview .grow small,.budget-overview .grow small{display:block;font-size:12px}.debt-overview .grow strong,.budget-overview .grow strong{font-size:27px;display:block;letter-spacing:-.7px;margin-top:2px}.debt-overview .progress-line{margin-top:0}.debt-overview .align-right{width:100%;font-size:10px}.account-list{padding:4px 14px}.debt-row{display:flex;align-items:center;gap:12px;text-align:left;padding:17px 0;border-bottom:1px solid var(--line);width:100%}.debt-row:last-child{border:0}.account-icon{width:53px;height:58px;flex-shrink:0;border-radius:13px;background:#0060d6;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}.debt-row:nth-child(4n+2) .account-icon{background:#123155}.debt-row:nth-child(4n+3) .account-icon{background:#f13e53}.debt-row:nth-child(4n) .account-icon{background:#f3f5f8;color:#e31c46}.debt-row strong{display:block;font-size:13px}.debt-row .amount-line{font-size:11px}.debt-row .track>span{background:linear-gradient(90deg,#69beff,#b6dcff)}.tip-card{display:flex;align-items:center;gap:11px;background:#f1faff;border:1px solid #e3f2fa;border-radius:19px;padding:16px;margin-top:20px}.tip-card img{width:70px;height:73px;object-fit:contain;flex-shrink:0}.tip-card strong{font-size:13px}.tip-card p{font-size:12px;line-height:1.55;color:#516985;margin-top:5px}.tip-card.warm{background:linear-gradient(120deg,#e8fcff,#fff8e5);border:0}.goal-list{display:grid;gap:13px}.goal-card{display:flex;align-items:center;gap:12px;padding:18px 14px;width:100%;text-align:left;min-height:108px}.goal-card .tile-icon{height:62px;width:60px;font-size:38px}.goal-card strong{display:block;font-size:13px}.goal-card .primary-tag{font-size:9px;color:#0ca27a;margin-left:5px}.goal-card .track{height:9px}.goal-card .progress-line small{min-width:25px;text-align:right}.pig-banner{position:relative;text-align:center;margin:22px 0 0;border-radius:24px;overflow:hidden;background:linear-gradient(120deg,#e8fbff,#f7eaff 70%,#fff9e3)}.pig-banner>img{width:230px;height:168px;object-fit:contain;margin:0 auto;position:relative;z-index:1;display:block}.pig-banner>div{padding:10px 18px 20px;background:#ffffff90}.pig-banner h3{font-size:18px}.pig-banner p{font-size:13px;color:#526e8a;line-height:1.5;margin-top:8px}.banner-stars{position:absolute;font-size:30px;color:#ffc400;top:15px;left:12px;right:12px;letter-spacing:15px}.budget-overview{background:linear-gradient(120deg,#dfffec,#ecfff5);border-radius:18px;padding:18px}.budget-overview .overview-icon{background:#aaf2c8;font-size:30px}.budget-overview .progress-line{margin:0}.budget-overview .track{background:#c8efdf}.budget-overview>small{color:#338166;font-size:10px}.budget-overview.over{background:#fff0f3}.budget-list{padding:4px 14px}.budget-row{display:flex;align-items:center;gap:10px;padding:16px 0;width:100%;text-align:left}.budget-row+.budget-row{border-top:1px solid var(--line)}.budget-row .tile-icon{width:43px;height:48px;font-size:28px;background:#ffe8e8;border-radius:11px}.budget-row:nth-child(3n+2) .tile-icon{background:#e2f5ff}.budget-row:nth-child(3n) .tile-icon{background:#fff0f9}.budget-row strong{font-size:13px;display:block}.budget-row .amount-line{font-size:12px;margin-top:4px}.budget-row .progress-line{margin-top:5px}.budget-row .track>span{background:linear-gradient(90deg,#ff5b90,#ffadc8)}.budget-row:nth-child(3n+2) .track>span{background:linear-gradient(90deg,#ff9968,#ffc4a4)}.budget-row:nth-child(3n) .track>span{background:linear-gradient(90deg,#f553c1,#ffb5df)}.budget-row.over .amount-line{color:#d63360}
.achievement-scene{height:194px;position:relative;margin:-5px -20px 0;background:linear-gradient(#f5fcff,#fff5c8 80%);text-align:center}.achievement-scene>span{position:absolute;inset:0;font-size:28px;letter-spacing:16px;color:#ffc900;padding-top:15px}.achievement-scene img{height:194px;width:260px;object-fit:contain;position:relative;z-index:1}.achievement-content{position:relative;margin:-14px -12px 0;background:linear-gradient(#fff5d9,#fffdf4 230px,#f6faff);padding:22px 12px 0;border-radius:45px 45px 0 0;text-align:center}.achievement-content h2{font-size:23px}.achievement-content>p{font-size:12px;color:#7a6551;margin:8px 0 18px}.level-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;text-align:left;border-color:#fff7e1;box-shadow:0 5px 18px #d9b9480a}.level-icon{font-size:41px}.level-card>div:not(.progress-line){flex:1}.level-card small{font-size:11px}.level-card strong{font-size:14px;display:block;margin-top:5px}.level-card .progress-line{margin:0}.level-card .progress-line b{font-size:12px}.level-card>small:last-child{width:100%;text-align:right;color:var(--muted)}.achievement-tabs{margin:18px 0 12px}.achievement-tabs button.selected{background:#143450;color:#fff}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:center}.achievement{border:1px solid #d5f4e9;border-radius:20px;padding:17px 9px;min-height:160px;background:linear-gradient(#e4fff4,#f4fffb);position:relative;display:flex;flex-direction:column;gap:9px;align-items:center}.achievement>span{font-size:39px}.achievement strong{font-size:12px}.achievement p{font-size:11px;color:#456783;line-height:1.45}.achievement .earned-check{position:absolute;right:10px;bottom:10px;background:#00bd8c;color:#fff;border-radius:50%;width:18px;height:18px;font-size:12px;display:grid;place-items:center}.achievement.locked{background:#f7f8fa;border-color:#e6edf1}.achievement.locked>span{opacity:.65;filter:saturate(.6)}.achievement.locked:after{content:'🔒';position:absolute;right:11px;top:12px;font-size:12px}.achievement.locked p{color:#75839a}
.more-hero{display:flex;align-items:center;position:relative;margin:-10px -20px 0;padding:8px 20px 4px;background:linear-gradient(120deg,#e9fbff,#fffae1);overflow:hidden;min-height:156px}.more-hero>img{width:53%;height:147px;object-fit:contain;position:relative;z-index:1}.more-hero>div{position:relative;z-index:2;flex:1}.more-hero strong{font-size:21px;letter-spacing:-.5px}.more-hero p{font-size:12px;color:#5c6c83;line-height:1.55;margin-top:8px}.more-hero .palm-left{top:-27px;bottom:auto}.more-shortcuts{margin-top:13px}.settings-list{padding:0 10px}.settings-list button,.setting-row{display:flex;align-items:center;gap:11px;min-height:54px;width:100%;text-align:left;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}.settings-list button:last-child{border-bottom:0}.settings-list button>span:nth-child(2),.setting-row>span:nth-child(2){flex:1}.settings-list button>span:last-child:not(:nth-child(2)){font-size:21px;color:var(--muted)}.settings-list small{font-size:10px;color:var(--muted)}.setting-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:35px;border-radius:10px;font-size:23px;font-weight:700;background:#edfaff;color:#00a9e7}.sky{background:#e0f8ff;color:#00aceb}.cyan{background:#ddfbfc;color:#00b7c9}.mint{background:#eaffef;color:#00b67e}.lime{background:#f0fbcf;color:#91c000}.amber{background:#fff2d6;color:#d29216}.yellow{background:#fff7d0;color:#eeb800}.sage{background:#edf3e2;color:#7a9775}.pink{background:#fff0f7;color:#f6548c}.blue{background:#e5f4ff;color:#009aff}.switch{appearance:none;width:41px;height:24px;border-radius:20px;background:#c9d5e1;position:relative;cursor:pointer;transition:background .2s;margin:0}.switch:before{content:'';width:18px;height:18px;position:absolute;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #26486920;transition:transform .2s}.switch:checked{background:#00c489}.switch:checked:before{transform:translateX(17px)}.privacy-footer{text-align:center;font-size:10px;line-height:1.7;color:var(--muted);margin:13px 0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:center;background:#ffffffed;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:9px max(12px,calc((100vw - 430px)/2 + 12px)) calc(10px + env(safe-area-inset-bottom));min-height:66px;box-shadow:0 -3px 18px #25416a05}.bottom-nav button{display:flex;align-items:center;flex-direction:column;gap:5px;flex:1;padding:3px 0;color:#8294ac;min-width:0;font-size:9px;min-height:44px}.bottom-nav button svg{width:20px;height:20px}.bottom-nav button.active{color:#005dc9;font-weight:750}.desktop-nav{display:none}
dialog{border:1px solid var(--line);border-radius:24px;max-width:410px;width:calc(100% - 28px);max-height:85dvh;overflow:auto;padding:20px;background:var(--surface);color:var(--ink);box-shadow:0 20px 80px #10234333}dialog::backdrop{background:#142c5160;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.dialog-heading h2{font-size:20px}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.dialog-actions .button{flex:1}.dialog-description{font-size:13px;line-height:1.6;color:var(--muted)}.detail-total{font-size:28px;display:block;margin:14px 0}.detail-list{margin:20px 0}.detail-list p{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:8px}.detail-tool-button{margin-top:10px}.pause-item{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px;font-size:12px}.pause-item p{font-size:11px;color:var(--muted);margin:7px 0}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%,20px);width:max-content;max-width:calc(100% - 32px);z-index:100;color:white;background:#123b50;padding:12px 18px;border-radius:14px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 5px 20px #17365120}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#a7284b}.celebration{position:fixed;inset:0;background:#14345a65;backdrop-filter:blur(5px);z-index:110;display:grid;place-items:center;padding:30px}.celebration>div{max-width:340px;width:100%;border-radius:28px;text-align:center;padding:27px;background:linear-gradient(#fff7db,#fff);box-shadow:0 20px 90px #102b4e33;animation:pop .3s ease-out}.celebration span{font-size:55px;display:block}.celebration strong{font-size:21px;display:block;margin:12px 0}.celebration p{font-size:13px;line-height:1.5;margin:12px 0 22px;color:#657c91}.celebration .button{width:100%}
body.saving-mode .palm,body.saving-mode .banner-stars,body.saving-mode .achievement-scene>span{display:none}body.saving-mode *{animation:none!important;transition:none!important}body.dark{--ink:#e7f2ff;--muted:#a2b5cc;--line:#2c4056;--surface:#1b2c40;--background:#102031;color-scheme:dark}body.dark .main{background:linear-gradient(#142338,#102031)}body.dark .bottom-nav{background:#142338f0}body.dark .balance-card,body.dark .stat-card,body.dark .encouragement,body.dark .budget-overview,body.dark .tip-card,body.dark .achievement-content,body.dark .achievement,body.dark .achievement.locked{background:var(--surface);color:var(--ink)}body.dark .achievement p,body.dark .encouragement p,body.dark .tip-card p{color:var(--muted)}body.dark .home-scene,body.dark .more-hero,body.dark .achievement-scene,body.dark .pig-banner{background:linear-gradient(120deg,#273e55,#483e47)}body.dark .segment,body.dark .movement-actions button{background:#22364c}body.dark .category-tile{background:#25394e}body.dark .category-tile.selected{background:#513042}body.dark .more-hero p{color:var(--ink)}body.dark .track{background:#31485f}body.dark .field input,body.dark .field select{border-color:var(--line)}body.dark .celebration>div{background:var(--surface)}
@keyframes appear{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(min-width:800px){.app-shell{max-width:1150px;margin:auto;display:flex;gap:45px;padding:35px 25px}.desktop-nav{display:flex;flex-direction:column;width:240px;flex-shrink:0;padding:20px;position:sticky;top:35px;height:calc(100dvh - 70px);border:1px solid var(--line);border-radius:25px;background:var(--surface)}.desktop-brand{font-size:25px;font-weight:800;margin:0 0 25px}.desktop-brand small{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:7px}#desktop-links{display:grid;gap:7px}#desktop-links button{text-align:left;padding:13px;border-radius:12px;font-size:14px}#desktop-links button.active{background:#e9f8ff;color:#0067b9}.desktop-nav>p{margin-top:auto;color:var(--muted);font-size:11px;line-height:1.7}.main{border:1px solid var(--line);border-radius:28px;overflow:hidden;padding-bottom:32px;min-height:calc(100dvh - 70px);margin:0 auto;max-width:460px;box-shadow:0 10px 60px #25416a0b}.bottom-nav{display:none}.toast{bottom:35px}}
@media(max-width:365px){.main{padding-left:15px;padding-right:15px}.home-scene,.more-hero,.achievement-scene{margin-left:-15px;margin-right:-15px}.stat-card strong{font-size:13px}.page-header h1{font-size:23px}.category-tile{min-height:76px}.category-tile>span{font-size:26px}.donut{width:230px;height:230px}.category-grid{gap:6px}.bottom-nav button{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#donut-labels{position:absolute;inset:0;pointer-events:none}
.register-form .field{margin:15px 0}.register-form .field-label{margin-top:18px}.register-form .category-tile{min-height:78px;padding:8px 4px}.register-form .category-tile>span{font-size:28px}.register-form .register-extra-types{margin-bottom:9px}.category-more{grid-column:1/-1;font-size:11px;color:var(--muted);padding:5px;min-height:29px}
.welcome-scene{position:relative;margin:-5px -20px 0;background:linear-gradient(135deg,#e6faff,#fff3c9,#ffe9f1);height:245px;border-radius:0 0 45px 45px;overflow:hidden;display:grid;place-items:center}.welcome-scene>img{width:300px;height:235px;object-fit:contain;position:relative;z-index:1}.welcome-sparkles{position:absolute;top:17px;left:20px;right:20px;color:#efb800;font-size:25px;letter-spacing:32px;text-align:center}.welcome-copy{text-align:center;margin:24px 0 20px}.welcome-eyebrow{font-size:10px;color:#549382;letter-spacing:1px;font-weight:750}.welcome-copy h2{font-size:32px;line-height:1.15;margin:11px 0 15px;color:var(--ink)}.welcome-copy p{font-size:13px;color:var(--muted);line-height:1.7}.welcome-benefits{display:flex;gap:8px;justify-content:center;margin:22px 0}.welcome-benefits span{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 7px;font-size:11px;line-height:1.7;text-align:center}.commercial-note{text-align:center;font-size:11px;color:var(--muted);margin:10px 0}.subscription-mascot{display:flex;align-items:center;gap:12px;background:linear-gradient(100deg,#e5fcff,#fff6df);margin:0 0 16px;border-radius:22px;padding:8px 20px}.subscription-mascot img{width:120px;height:110px;object-fit:contain}.subscription-mascot>span{font-size:14px;font-weight:700;color:#486783}.subscription-card{padding:21px 18px}.subscription-card h2{font-size:23px;margin:12px 0}.subscription-price{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:21px 0 7px}.subscription-price strong{font-size:48px;letter-spacing:-2px}.subscription-price span{font-size:14px;color:var(--muted)}.subscription-summary{text-align:center;font-size:12px;color:var(--muted)}.subscription-features{list-style:none;padding:0;margin:22px 0;display:grid;gap:13px;font-size:12px;line-height:1.55}.subscription-features li{color:var(--ink)}.renewal-copy{font-size:11px;color:var(--muted);line-height:1.65}.preview-notice{background:#fff6de;border:1px solid #ffedb6;border-radius:13px;padding:12px;margin:18px 0}.preview-notice strong{font-size:11px;color:#865c13}.preview-notice p{font-size:10px;line-height:1.6;margin-top:6px;color:#7d6647}.billing-status{font-size:12px;color:#647b90;line-height:1.65}.subscription-links{display:flex;gap:6px;justify-content:center;margin:17px 0}.subscription-links button{font-size:10px;color:var(--muted);padding:10px 4px;min-height:44px}.subscription-export{border-radius:18px;background:var(--surface);padding:14px;border:1px solid var(--line)}.subscription-export p{font-size:11px;color:var(--muted);text-align:center;line-height:1.6}body.dark .welcome-scene,body.dark .subscription-mascot{background:linear-gradient(120deg,#273e55,#483e47)}body.dark .subscription-mascot>span{color:var(--ink)}
.habit-card{margin:16px 0;padding:18px}.habit-card h3{margin:4px 0 12px;font-size:16px}.habit-card p{font-size:13px;line-height:1.65;color:var(--muted)}.habit-eyebrow{font-size:11px;font-weight:700;color:#489b77}.quick-inputs{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.quick-inputs input,.quick-inputs select{width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--surface);color:var(--ink);font:inherit}.habit-summary+.habit-summary{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.habit-summary h3 small{display:block;margin-top:5px;font-size:10px;color:var(--muted);font-weight:400}.habit-summary .trend-stat b{font-size:12px}.habit-challenge{display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.habit-challenge>span{font-size:27px}.habit-challenge strong{font-size:13px}.habit-challenge p{font-size:11px;margin:6px 0}.habit-challenge small{color:#489b77;font-size:11px}.goal-card{flex-wrap:wrap}.goal-rhythm{width:100%;order:4;color:var(--muted);font-size:11px;margin:8px 0 0 56px}.pig-sparkle .home-scene,.pig-sparkle .achievement-scene{background:radial-gradient(circle at 20% 30%,#fff1b2,transparent 25%),linear-gradient(135deg,#ffe5f0,#edfaff)}.pig-garden .home-scene,.pig-garden .achievement-scene{background:linear-gradient(135deg,#e2f9df,#f4fff8,#ffe7ee)}.pig-wave .achievement-scene img{animation:pig-greet .7s ease}.goal-celebrated .primary-goal{animation:goal-glow 2s ease}@keyframes pig-greet{25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes goal-glow{50%{box-shadow:0 0 0 5px #b6e8cd}}@media(prefers-reduced-motion:reduce){.pig-wave .achievement-scene img,.goal-celebrated .primary-goal{animation:none}}.saving-mode .pig-wave .achievement-scene img,.saving-mode .goal-celebrated .primary-goal{animation:none}
/* V7.1: quality fixes within the established palette and layout. */
.icon-button,.icon-button.tiny,.back-button{min-width:44px;min-height:44px}.segment button,.type-segment button,.register-extra-types button,.category-more,.text-button{min-height:44px}.movement-actions button{width:44px;height:44px}.bottom-nav button{font-size:10px;color:#5c6e86}.button.primary{background:linear-gradient(100deg,#007f56,#00875b)}.type-segment button.selected{background:linear-gradient(90deg,#ce2455,#d1255a)}.donut-label{color:#101c43;text-shadow:none}.movement-value{color:#007b56}.movement-value.out{color:#bf3058}.habit-eyebrow,.habit-challenge small{color:#28734f}.text-button{color:#086cb5}.field input::placeholder{color:#647690}.field input,.field select,.filter-label select,.quick-inputs input,.quick-inputs select{font-size:16px}.main{overflow-wrap:anywhere}.quick-inputs>*{min-height:44px}.scene-pig{top:0;height:166px;max-width:63%;object-fit:contain}.donut-hole img{width:100%;height:100%;object-fit:contain}.stat-card strong{font-size:clamp(11px,3.7vw,15px);white-space:normal;overflow-wrap:anywhere}.trend-stat{gap:10px;align-items:baseline;flex-wrap:wrap}.habit-summary .trend-stat b{overflow-wrap:anywhere}.habit-summary h3 small,.goal-rhythm{font-size:12px}.movement-info strong{font-size:12px}.movement-info small{font-size:11px}.goal-rhythm{margin-left:0;padding-left:56px}.settings-list small{font-size:12px}body.dark .text-button{color:#87c7ff}body.dark .movement-value,body.dark .habit-eyebrow,body.dark .habit-challenge small{color:#79e5bc}body.dark .movement-value.out{color:#ff9ab7}body.dark .icon-button:hover,body.dark .button.outline:hover{background:#25394e}body.dark .bottom-nav button{color:#a6b8ce}body.dark .bottom-nav button.active{color:#87c7ff}body.dark .pig-sparkle .home-scene{background:var(--surface)}
body.dark.pig-sparkle .home-scene,body.dark.pig-sparkle .achievement-scene,body.dark.pig-garden .home-scene,body.dark.pig-garden .achievement-scene{background:linear-gradient(120deg,#273e55,#483e47)}body.dark .segment:not(.type-segment):not(.achievement-tabs) button.selected{color:#87c7ff}.register-extra-types button.selected{color:#00664b}.habit-card .setting-row input[type=checkbox]{margin-left:auto;min-width:24px;min-height:24px}.field input::placeholder{opacity:1}
:root{--muted:#5d6e86}.field input::placeholder{color:var(--muted)}.amount-field input{font-size:26px}.segment button,.register-extra-types button{font-size:12px}img[src$="cerdito-oficial.png"]{object-fit:contain;object-position:center;box-sizing:border-box;max-width:100%;padding:2px;border-radius:0}
.month-control{min-height:44px;font-size:12px}.filter-label select{min-height:44px}.filter-label{flex-wrap:wrap}

/* Official 3D mascot: preserve the complete image, including crown and coins. */
.achievement-scene img[src$="cerdito-oficial.png"]{padding:8px 8px 16px}.donut-hole img[src$="cerdito-oficial.png"]{width:70%;height:70%}

/* Keep the register label legible with or without mobile rules. */
.quick-links .home-register{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.3;white-space:normal}.home-register small{display:block;font-size:10px;font-weight:500;margin:0}

/* V8 retains the compact scene; the name never stretches or crops the mascot. */
.mascot-identity{margin:8px 0 12px;display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap}.mascot-identity strong{font-size:15px;overflow-wrap:anywhere}.mascot-identity small{font-size:11px;color:var(--muted)}.mascot-identity p{width:100%;font-size:11px;line-height:1.4;color:var(--muted);margin:0}.mascot-name-card{margin:16px 0}.mascot-name-card .field{margin:0 0 12px}.mascot-name-card input{font-size:16px}.mascot-accessories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mascot-accessories .button{margin:0;min-height:48px;padding:9px;overflow-wrap:anywhere}.mascot-accessories [aria-pressed="true"]{border-color:#00875b;box-shadow:inset 0 0 0 1px #00875b}.mascot-accessories button:disabled{opacity:.65;cursor:default}.mascot-progress details{margin:14px 0}.mascot-progress summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.mascot-progress ol{padding-left:22px}.mascot-progress li{margin:9px 0;line-height:1.5}.level-icon img{width:48px;height:48px;object-fit:contain}#mascot-achievement-name{overflow-wrap:anywhere}#mascot-welcome-error{color:#bd2548;font-size:12px;line-height:1.5}body.dark .mascot-accessories [aria-pressed="true"]{border-color:#79e5bc}
.mascot-scene-image{object-fit:contain;object-position:center;max-width:100%;padding:0;box-sizing:border-box;border-radius:8px}.donut-hole img.mascot-scene-image{width:70%;height:70%}.mascot-evolution{width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:20px;border:0;border-radius:20px;color:var(--ink);background:var(--surface);text-align:center}.mascot-evolution::backdrop{background:#101c4370}.mascot-evolution img{display:block;max-width:min(100%,240px);max-height:280px;width:auto;height:auto;margin:12px auto}.mascot-evolution h2{font-size:21px;overflow-wrap:anywhere}.mascot-evolution p{font-size:13px;line-height:1.5;margin:12px 0}.saving-mode .mascot-evolution{animation:none}@media(prefers-reduced-motion:no-preference){body:not(.saving-mode) .mascot-evolution[open]{animation:appear .18s ease-out}}@media(prefers-reduced-motion:reduce){.mascot-evolution[open]{animation:none}}

.achievement-scene img.mascot-scene-image{padding:4px 4px 16px}

img.mascot-scene-image,.home-brand img.mascot-scene-image{border-radius:0}
