body{background:#1c1c1e}main{max-width:560px;padding:calc(16px + env(safe-area-inset-top)) 14px calc(90px + env(safe-area-inset-bottom));margin:auto}.app-page[hidden]{display:none!important}header{margin-bottom:14px;padding:0 3px}header h1{font-size:21px;margin:4px 0 0;letter-spacing:1px}header small{font-size:8px;letter-spacing:2px}header .ghost{min-height:38px;padding:8px 12px;font-size:11px}.card{padding:16px;border-radius:16px}.tabs button{min-height:40px;padding:4px 0 12px;font-size:12px}.summary{padding:18px 0 16px;gap:10px}.summary small{font-size:10px}.summary strong{font-size:27px;margin-top:8px}.totals{padding:11px 12px;border-radius:8px;gap:10px}.totals .expense{font-size:12px}.totals .income{font-size:11px}.calendar-fold{margin-top:12px;padding-top:2px}.calendar-fold summary{min-height:38px;font-size:11px}.fold-label{font-size:10px}.savings{margin-top:12px}h2{font-size:15px}.section-title>span{font-size:10px}.savings-grid{margin-top:16px;gap:15px}.savings-grid small{font-size:10px}.savings-grid strong{font-size:23px;margin-top:8px}.savings form label{margin:15px 0 8px;font-size:11px}.savings form input{min-height:42px;padding:9px 10px;font-size:16px}.savings form button{min-height:42px;padding:8px 17px;font-size:13px}.budget-focus{margin-top:12px;padding:12px;border-radius:9px}.budget-focus>small{font-size:10px}.savings #budgetLeft{font-size:20px;margin:7px 0}.track{height:4px;margin:10px 0 8px}.savings p{font-size:11px;line-height:1.6}.savings #comparison{margin:10px 0 4px}.savings .hint{font-size:9px;margin-top:6px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:center;background:#252527f5;border-top:1px solid #454547;padding:5px 12px calc(5px + env(safe-area-inset-bottom));backdrop-filter:blur(18px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;max-width:180px;min-height:51px;background:none;color:#93938e;border-radius:0;padding:3px 12px;font-size:10px}.bottom-nav button>span{font-size:25px;height:29px;line-height:29px;font-family:Arial,sans-serif}.bottom-nav .selected{color:#e4e4da}.bottom-nav [data-page=entry]>span{font-size:27px}.page-note{font-size:11px;color:#85857e;text-align:center;margin-top:16px}footer{font-size:9px;margin-top:16px}#page-entry .switch{margin:17px 0}#page-entry .switch button{min-height:45px;font-size:15px}#page-entry label{margin:17px 0 8px}#page-entry #amount{font-size:40px;padding:4px 0;min-height:66px}#page-entry input{min-height:46px}#page-entry .save{min-height:48px;margin-top:22px}#page-entry #message{font-size:11px;line-height:1.6;min-height:18px;margin-bottom:0}.records{margin-top:0}.entry{padding:10px 0}.calhead{margin:10px 0}.day{min-height:54px}.hint{margin-top:10px}.savings .row{gap:10px}.summary>div{min-width:0}#page-records .records .row>div{min-width:0}@media(min-width:701px){main{padding-top:28px}.bottom-nav{left:50%;transform:translateX(-50%);width:560px;border-radius:16px 16px 0 0}.summary strong{font-size:29px}}@media(max-width:360px){main{padding-left:10px;padding-right:10px}.card{padding:14px}.summary strong{font-size:23px}.savings-grid{grid-template-columns:1fr 1fr}.savings-grid strong{font-size:21px}}
.bottom-nav button{position:relative;color:#8d8d88;transition:color .15s ease,background-color .15s ease}.bottom-nav button.selected{color:#cbc6eb;font-weight:700;background:rgba(185,184,220,.13);border-radius:12px}.bottom-nav button.selected>span{color:#cbc6eb;text-shadow:0 0 12px rgba(185,184,220,.15)}.bottom-nav button.selected:before{content:'';position:absolute;top:-5px;left:calc(50% - 13px);width:26px;height:3px;border-radius:0 0 4px 4px;background:#cbc6eb}.bottom-nav button:focus-visible{outline:2px solid #cbc6eb;outline-offset:-3px}@media(prefers-reduced-motion:reduce){.bottom-nav button{transition:none}}

.budget-settings{border-top:1px solid #444446;margin-top:14px;padding-top:3px}.budget-settings summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:42px;font-size:11px;color:#aaa99f;cursor:pointer}.budget-settings summary::-webkit-details-marker{display:none}.budget-settings summary span{font-size:10px;color:#8f8f86}.budget-settings[open] summary span{visibility:hidden}.budget-settings[open] summary:after{content:'收起设置 −';font-size:10px;color:#8f8f86}.savings>.budget-focus{margin-top:14px}.savings .budget-settings form label{margin-top:6px}.savings .savings-grid{margin-top:15px}
button,summary{transition:background-color .12s,color .12s,transform .12s}button.pressing,summary.pressing,button:active{transform:scale(.96);filter:brightness(1.3)}button.tapped{box-shadow:inset 0 0 0 2px #b9b8dc80}.action-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%,8px);opacity:0;pointer-events:none;z-index:100;background:#e0e9df;color:#23352a;border:1px solid #a6bca8;border-radius:12px;padding:12px 18px;font-size:13px;line-height:1.5;max-width:calc(100vw - 36px);width:max-content;box-shadow:0 8px 25px #0005;transition:opacity .15s,transform .15s}.action-toast.visible{opacity:1;transform:translate(-50%,0)}@media(prefers-reduced-motion:reduce){button,summary,.action-toast{transition:none}button.pressing,summary.pressing,button:active{transform:none}}
:root{--action:#b9b8dc;--action-bg:rgba(185,184,220,.10);--action-border:rgba(185,184,220,.28)}.calendar-fold summary,.budget-settings summary{color:#c9c8df}.calendar-fold summary .fold-label,.budget-settings summary span{color:var(--action);background:var(--action-bg);border:1px solid var(--action-border);border-radius:7px;padding:7px 9px;line-height:1.4}.budget-settings[open] summary:after{color:var(--action);background:var(--action-bg);border:1px solid var(--action-border);border-radius:7px;padding:7px 9px;line-height:1.4}.ghost,.calhead #today{color:var(--action);border-color:var(--action-border);background:rgba(185,184,220,.05)}.calendar-fold summary:hover .fold-label,.budget-settings summary:hover span,.ghost:hover{background:rgba(185,184,220,.17)}.calendar-fold summary:focus-visible,.budget-settings summary:focus-visible{outline:2px solid var(--action);outline-offset:3px;border-radius:7px}.savings form button{color:#25242e;background:var(--action)}
html{height:100%;overflow:hidden}body{position:fixed;inset:0;width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}main{height:100%;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(84px + env(safe-area-inset-bottom));scrollbar-gutter:stable}.bottom-nav{box-sizing:border-box;position:absolute;bottom:0;top:auto;height:calc(68px + env(safe-area-inset-bottom));padding:6px 12px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;transform:none;left:0;right:0;width:100%;border-radius:0}.bottom-nav button{box-sizing:border-box;display:grid;grid-template-rows:29px 15px;align-content:center;justify-items:center;gap:3px;height:55px;min-height:55px;max-height:55px;min-width:0;width:100%;max-width:none;padding:4px 8px;line-height:15px;font-size:10px;font-weight:600;transform:none!important;transition:color .12s,background-color .12s}.bottom-nav button>span{display:block;width:32px;height:29px;line-height:29px;font-size:25px;transform:none}.bottom-nav button.selected{font-weight:600}.bottom-nav button.selected:before{top:-6px}.bottom-nav button.pressing,.bottom-nav button:active{transform:none!important;background-color:#ffffff12}.bottom-nav button.selected.pressing{background-color:#b9b8dc26}.action-toast{bottom:calc(82px + env(safe-area-inset-bottom))}@media(min-width:701px){.bottom-nav{width:560px;left:50%;right:auto;transform:translateX(-50%)}}
#page-entry .save{background:var(--action);color:#262435;transition:background-color .1s,transform .1s}#page-entry .save:active,#page-entry .save.pressing{background:#8e8ac0;transform:scale(.985);filter:none}#page-entry .save.tapped{background:#a09cc9;box-shadow:none}.note-settings{border-top:1px solid #444446;margin-top:16px;padding-top:4px}.note-settings summary{display:flex;justify-content:space-between;align-items:center;list-style:none;min-height:44px;font-size:12px;color:#c9c8df;cursor:pointer}.note-settings summary::-webkit-details-marker{display:none}.note-settings summary span{font-size:10px;color:var(--action);background:var(--action-bg);border:1px solid var(--action-border);padding:7px 9px;border-radius:7px}.note-settings[open] summary span{visibility:hidden}.note-settings[open] summary:after{content:"收起备注 −";color:var(--action);font-size:10px}.amount-pad[hidden]{display:none!important}.amount-pad{background:#242426;border:1px solid #454349;border-radius:12px;padding:10px;margin-top:10px}.pad-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.pad-head button{padding:7px 12px;font-size:12px;color:var(--action);background:var(--action-bg)}.pad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pad-keys button{height:42px;font-size:22px;background:#39383e;color:#e2e0ef;font-variant-numeric:tabular-nums}.pad-keys button:active{background:#6b668a}#page-entry #amount:focus{outline:0;border-bottom-color:var(--action)}
:root{--nav-safe:min(env(safe-area-inset-bottom),16px);--nav-height:calc(62px + var(--nav-safe))}.bottom-nav{height:var(--nav-height);padding:4px 12px calc(3px + var(--nav-safe))}.bottom-nav button{height:54px;min-height:54px;max-height:54px}.bottom-nav button.selected:before{top:-4px}main{padding-bottom:calc(var(--nav-height) + 12px)}.action-toast{bottom:calc(var(--nav-height) + 12px)}
html,body{background:#252527}main{background:#1c1c1e}.bottom-nav{background:#252527;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 80px 0 80px #252527;border-bottom:0}.bottom-nav:after{content:"";position:absolute;left:0;right:0;top:100%;height:100px;background:#252527;pointer-events:none}@media(max-width:700px){.bottom-nav button,.bottom-nav button.pressing,.bottom-nav button:active{transform:translateY(min(18px,env(safe-area-inset-bottom)))!important}}
#page-entry .switch button{border:1px solid transparent;font-weight:600;box-sizing:border-box}#page-entry .switch #expenseType.active{background:#ad3039;color:#fff5f5;border-color:#f2787e;box-shadow:inset 0 0 0 1px #f2787e33}#page-entry .switch #incomeType.active{background:#147642;color:#f1fff6;border-color:#62d997;box-shadow:inset 0 0 0 1px #62d99733}#page-entry .switch #expenseType:not(.active){background:#343436;color:#f28b88}#page-entry .switch #incomeType:not(.active){background:#343436;color:#83cba4}
.detail-scopes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.detail-scopes button{min-height:40px;padding:8px;font-size:13px;background:#343436;color:#aaa9a3}.detail-scopes .active{background:var(--action);color:#262435;font-weight:700}#detailDateRow label{font-size:11px;margin:12px 0 7px}#detailDateRow input{min-height:44px;font-size:16px}.detail-filter{margin-top:14px;border-top:1px solid #454547}.detail-filter summary{display:flex;justify-content:space-between;align-items:center;min-height:46px;cursor:pointer;list-style:none;font-size:12px;color:#c9c8df}.detail-filter summary::-webkit-details-marker{display:none}.detail-filter summary span{font-size:10px;padding:7px 9px;border:1px solid var(--action-border);background:var(--action-bg);border-radius:7px;color:var(--action)}#filterForm label{font-size:11px;margin:12px 0 8px}#filterForm select{width:100%;min-height:44px;padding:10px;background:#343436;border:1px solid #474749;border-radius:9px;color:#e5e5df;font-size:16px}#filterForm .row{margin-top:12px}#filterForm .filter-apply{background:var(--action);color:#262435;min-height:44px}.filter-values{display:flex;gap:8px;margin-top:9px}.filter-values input{min-width:0;flex:1;font-size:16px}#filterError{color:#f28b88;font-size:11px}#activeFilters{font-size:10px;line-height:1.6;margin:10px 0}.filter-totals{display:flex;justify-content:space-between;gap:10px;padding:11px 10px;background:#343436;border-radius:8px;font-size:11px;flex-wrap:wrap}#showMonth[hidden],.filter-values input[hidden],#detailDateRow[hidden]{display:none!important}

.quick-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.quick-tags button{flex:1;min-width:64px;min-height:39px;border:1px solid #514f60;background:#343338;color:#b9b8dc;border-radius:9px;font-size:12px;padding:8px 12px}.quick-tags button[aria-pressed=true]{background:#b9b8dc;border-color:#d4d2ed;color:#272433;font-weight:700}.quick-tags button[aria-pressed=true]:after{content:' ✓'}.quick-tags button:focus-visible{outline:2px solid #d4d2ed;outline-offset:2px}

[data-tag="饮食"]{--tag-color:#dfa09a;--tag-glow:rgba(223,160,154,.16)}[data-tag="生活"]{--tag-color:#a0c5ac;--tag-glow:rgba(160,197,172,.16)}[data-tag="其他"]{--tag-color:#9fbddc;--tag-glow:rgba(159,189,220,.16)}.detail .record-tag{color:var(--tag-color);font-size:inherit;font-weight:500;white-space:nowrap}.quick-tags button{color:var(--tag-color);border-color:color-mix(in srgb,var(--tag-color) 28%,transparent);background:#343338;font-weight:500}.quick-tags button[aria-pressed=true]{color:var(--tag-color);border-color:var(--tag-color);background:var(--tag-glow);font-weight:700;box-shadow:inset 0 0 0 1px var(--tag-glow),0 0 12px var(--tag-glow)}.quick-tags button:focus-visible{outline-color:var(--tag-color)}
.quick-tags [data-tag],.detail .record-tag{--tag-color:#b9b8dc;--tag-glow:rgba(185,184,220,.14)}.quick-tags button{color:#b9b8dc;border-color:rgba(185,184,220,.28);background:#343338}.quick-tags button[aria-pressed=true]{background:#b9b8dc;color:#272433;border-color:#d4d2ed;font-weight:700;box-shadow:0 0 10px rgba(185,184,220,.12)}.detail .record-tag{color:#b9b8dc}
#page-overview .calhead #today{background:#b9b8dc;color:#262435;border:1px solid #b9b8dc;font-weight:600;border-radius:8px;min-width:48px;padding:7px 11px}#page-overview .calhead #today:hover{background:#c7c5e5}#page-overview .calhead #today:active,#page-overview .calhead #today.pressing{background:#8e8ac0;border-color:#8e8ac0;color:#211f2b;filter:none}#page-overview .calhead #today.tapped{background:#a09cc9;box-shadow:none}


