:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;color:#19352a;background:#e9e7df;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#e9e7df}button,input,select{font:inherit}button{color:inherit}.app-shell{position:relative;width:min(100%,480px);min-height:100dvh;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 20px calc(108px + env(safe-area-inset-bottom));background:#f7f6f1;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{margin:-2px 0 0;font-family:Georgia,Songti SC,serif;font-size:31px;font-weight:600;letter-spacing:2px}.eyebrow{color:#9a9a89;font-size:9px;letter-spacing:2.6px}.avatar{width:42px;height:42px;border:0;border-radius:50%;background:#e6a268;color:#fffaf0;font-weight:700}.balance-card{padding:24px;border-radius:25px;color:#f8f5eb;background:#193a2d;box-shadow:0 16px 35px #193a2d2e}.balance-title{display:flex;justify-content:space-between;color:#b9c9bf;font-size:12px}.balance-card>strong{display:block;margin:10px 0 23px;font-family:Georgia,serif;font-size:35px;font-weight:500;letter-spacing:.5px}.summary-row{display:grid;grid-template-columns:1fr 1fr;padding-top:17px;border-top:1px solid rgb(255 255 255 / 13%)}.summary-row div+div{padding-left:20px;border-left:1px solid rgb(255 255 255 / 13%)}.summary-row span,.summary-row b{display:block}.summary-row span{margin-bottom:4px;color:#9fb2a8;font-size:11px}.summary-row b{font-size:14px;font-weight:600}.summary-row .income,.transaction .income{color:#e3ad76}.section-block{margin-top:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:20px;font-weight:600}.section-heading span,.section-heading button{border:0;background:none;color:#929386;font-size:12px}.section-heading button{padding:5px 0}.category-list,.transactions{display:grid;gap:12px}.category-row,.transaction{display:flex;align-items:center;gap:13px}.category-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:13px;background:#eeece3;color:#946744;font-family:Georgia,Songti SC,serif;font-size:14px}.category-detail{flex:1}.category-detail>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.category-detail b{font-weight:600}.category-detail span{color:#555c56}.progress{height:4px;border-radius:2px;background:#e5e4dc;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:#dfa069}.recent{margin-top:30px}.transaction{width:100%;padding:0;border:0;background:transparent;text-align:left}.transaction-info{flex:1;min-width:0}.transaction-info b,.transaction-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-info b{margin-bottom:3px;font-size:14px}.transaction-info small{color:#98998d;font-size:10px}.transaction>strong{font-size:13px;font-weight:650}.all-list,.settings{margin-top:4px}.privacy-card{padding:20px;border-radius:18px;background:#193a2d;color:#f7f4e9}.privacy-card b{font-family:Georgia,Songti SC,serif;font-size:17px}.privacy-card p{margin:8px 0 0;color:#b9c9bf;font-size:12px;line-height:1.7}.settings-actions{display:grid;gap:1px;margin-top:18px;border-radius:18px;background:#e4e2da;overflow:hidden}.settings-actions button,.settings-actions label{position:relative;display:grid;grid-template-columns:42px 1fr;padding:17px;border:0;background:#fff;text-align:left;cursor:pointer}.settings-actions span{grid-row:1 / 3;align-self:center;color:#df9b63;font-size:23px}.settings-actions b{font-size:14px}.settings-actions small{margin-top:3px;color:#98998d;font-size:10px}.settings-actions input{position:absolute;width:1px;height:1px;opacity:0}.settings-message{padding:12px;border-radius:12px;background:#eceae2;color:#5e655f;font-size:12px;text-align:center}.version{margin-top:30px;color:#aaa99e;font-size:10px;text-align:center}.empty{padding:28px 15px;border:1px dashed #d7d5ca;border-radius:18px;color:#9b9b8e;text-align:center}.empty span{color:#d69a68;font-size:20px}.empty p{margin:8px 0 0;font-size:12px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;display:grid;width:min(100%,480px);height:calc(78px + env(safe-area-inset-bottom));grid-template-columns:1fr 80px 1fr;align-items:start;padding:12px 42px env(safe-area-inset-bottom);transform:translate(-50%);border-top:1px solid #e7e5dc;background:#f7f6f1f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{border:0;background:none;color:#a1a195;font-size:10px}.bottom-nav button>span{display:block;margin-bottom:3px;font-size:23px;line-height:24px}.bottom-nav .active{color:#193a2d;font-weight:700}.bottom-nav .add-button{width:56px;height:56px;margin:-25px auto 0;border:5px solid #f7f6f1;border-radius:50%;background:#e39c61;color:#fff;box-shadow:0 7px 18px #c3783d4d;font-size:31px;line-height:1}.sheet-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:end;justify-content:center;background:#0d1c1573;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{width:min(100%,480px);max-height:94dvh;padding:10px 22px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#f8f7f2;overflow-y:auto;animation:rise .25s ease-out}@keyframes rise{0%{transform:translateY(30px);opacity:.5}}.sheet-handle{width:38px;height:4px;margin:0 auto 12px;border-radius:2px;background:#d2d0c7}.sheet-title{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.sheet-title h2{margin:0;text-align:center;font-family:Georgia,Songti SC,serif;font-size:20px}.sheet-title button{justify-self:start;padding:8px 0;border:0;background:none;color:#8b8b80;font-size:13px}.type-switch{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 10px;padding:4px;border-radius:13px;background:#eceae2}.type-switch button{padding:9px;border:0;border-radius:10px;background:transparent;color:#8f9085}.type-switch .active{background:#fff;color:#193a2d;box-shadow:0 2px 8px #1e322814;font-weight:650}.sheet form{display:grid}.sheet form>label:not(.amount-field){display:grid;grid-template-columns:70px 1fr;align-items:center;min-height:51px;border-bottom:1px solid #e8e6de;color:#6c706b;font-size:13px}.sheet input{width:100%;border:0;outline:0;background:transparent;color:#19352a;text-align:right}.field-choice{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;min-height:50px;padding:0;border:0;background:transparent}.field-choice i{color:#b1b0a7;font-size:22px;font-style:normal;font-weight:300;line-height:1;transform:translateY(-1px)}.amount-field{display:flex;align-items:center;justify-content:center;padding:20px 0}.amount-field span{margin-right:8px;font-family:Georgia,serif;font-size:23px}.amount-field input{width:min(75%,260px);font-family:Georgia,serif;font-size:38px;text-align:left}.error{margin:12px 0 0;color:#a64035;font-size:12px;text-align:center}.save-button{margin-top:20px;padding:15px;border:0;border-radius:14px;background:#193a2d;color:#fff;font-weight:650}.picker-backdrop{position:fixed;z-index:30;inset:0;display:flex;align-items:end;justify-content:center;padding:0 8px calc(8px + env(safe-area-inset-bottom));background:#11181557;animation:fade-in .18s ease-out}.picker-panel{width:min(100%,464px);padding:8px 8px 10px;border-radius:18px;background:#f2f2f7;box-shadow:0 12px 40px #0000002e;animation:picker-rise .28s cubic-bezier(.22,.8,.24,1);overflow:hidden}.picker-handle{width:36px;height:4px;margin:0 auto 7px;border-radius:2px;background:#c7c7cc}.picker-header{display:grid;grid-template-columns:1fr 2fr 1fr;min-height:42px;align-items:center}.picker-header b{text-align:center;font-size:15px;font-weight:650}.picker-header button{justify-self:start;padding:8px 10px;border:0;background:none;color:#567665;font-size:14px}.picker-options{max-height:min(52dvh,420px);border-radius:12px;background:#fff;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.picker-options::-webkit-scrollbar{display:none}.picker-options button{display:flex;width:100%;min-height:52px;align-items:center;justify-content:space-between;padding:0 17px;border:0;border-bottom:.5px solid #e5e5ea;background:#fff;color:#1c1c1e;scroll-snap-align:start;text-align:left;transition:background-color .12s ease,transform .12s ease}.picker-options button:last-child{border-bottom:0}.picker-options button:active{background:#e9e9ee;transform:scale(.995)}.picker-options .selected{color:#24503b;font-weight:650}.picker-options i{min-width:22px;color:#24503b;font-size:17px;font-style:normal;text-align:right}@keyframes fade-in{0%{opacity:0}}@keyframes picker-rise{0%{transform:translateY(28px);opacity:.7}}@media(prefers-reduced-motion:reduce){.picker-backdrop,.picker-panel,.sheet{animation:none}.picker-options button{transition:none}}@media(min-width:600px){.app-shell{min-height:calc(100vh - 40px);margin-top:20px;border-radius:28px;box-shadow:0 20px 50px #28281e1a}}
