html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:100px}body{min-height:100svh}button,input{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}main{padding-top:max(35px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:calc(30px + env(safe-area-inset-bottom))}.layout>*{min-width:0}.summary>div{min-width:0}.summary strong{overflow-wrap:anywhere}.entry .money{white-space:normal;overflow-wrap:anywhere;max-width:42%}input[type=date],input[type=month]{appearance:none;-webkit-appearance:none;min-height:44px}input::-webkit-date-and-time-value{text-align:left}
@media(max-width:700px){main{padding:calc(20px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));max-width:540px}header{margin-bottom:22px;gap:10px}header .ghost{min-height:44px;padding:10px}.layout{gap:14px}.card{padding:20px 14px;border-radius:18px}.tabs button{min-height:46px;font-size:14px}.summary{padding:23px 0 20px;gap:8px}.summary small{font-size:11px}.summary strong{font-size:clamp(21px,6.5vw,28px);letter-spacing:-.5px}.totals{padding:14px 12px;gap:12px;flex-wrap:wrap}.totals span{min-width:0;overflow-wrap:anywhere}.calhead{gap:0;margin:17px 0 14px}.calhead button{min-width:44px;min-height:44px;padding:8px}.calhead input{font-size:16px;width:155px;max-width:calc(100% - 132px);flex:1;padding:8px 3px}.calhead #today{min-width:44px;min-height:44px;padding:8px;font-size:12px}.days,.week{gap:4px}.day{min-height:61px;padding:8px 1px}.day span{font-size:13px}.day small{font-size:10px;line-height:1.3;letter-spacing:-.4px}.week{font-size:12px}.hint{line-height:1.6}input{font-size:16px;min-height:48px}#amount{font-size:36px;min-height:65px}.switch{margin:20px 0}.switch button{min-height:48px;font-size:16px}.save{min-height:52px;font-size:16px}.records,.savings{margin-top:14px}.savings-grid{gap:12px}.savings-grid small{font-size:11px}.savings-grid strong{font-size:clamp(21px,6vw,26px);overflow-wrap:anywhere}.budget-focus{padding:15px}.savings #budgetLeft{font-size:20px}.savings form .row{align-items:stretch;gap:8px}.savings form button{min-height:48px;font-size:14px;padding:10px 12px}.records .section-title{flex-wrap:wrap}.entry{gap:8px;padding:14px 0}.badge{width:30px;height:30px;flex-shrink:0}.detail b{font-size:14px}.detail small{font-size:11px}.delete{min-width:44px;min-height:44px;padding:6px}.records #showMonth{min-height:44px;padding:10px}.money{font-size:15px}.dialog-actions button,dialog button{min-height:44px}footer{font-size:11px;line-height:1.8}#message{margin-bottom:0}}
@media(max-width:360px){.card{padding:18px 10px}.day small{font-size:9px}.summary strong{font-size:21px}.totals{padding:12px 8px}.entry .money{max-width:35%}.savings-grid{grid-template-columns:1fr}}

/* Entry first; calendar stays collapsed until requested. */
.layout{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.calendar-fold{margin-top:18px;border-top:1px solid #444446;padding-top:8px}.calendar-fold summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;min-height:48px;font-size:13px;color:#bcbcb4}.calendar-fold summary::-webkit-details-marker{display:none}.fold-label{font-size:12px;color:#a3a39b}.fold-label:after{content:'展开日历 ＋'}.calendar-fold[open] .fold-label:after{content:'收起日历 −'}
@media(max-width:700px){.layout{grid-template-columns:1fr}header{margin-bottom:14px}header h1{font-size:21px}header small{font-size:9px}header .muted{display:none}.layout>section:first-child{padding-top:18px;padding-bottom:12px}.layout>section:first-child .switch{margin:15px 0}.layout>section:first-child label{margin-top:13px}.layout>section:first-child #amount{min-height:58px;padding:6px 0}.layout>section:first-child .save{margin-top:18px}.layout>section:first-child #message{margin-top:7px;min-height:16px}.calendar-fold{margin-top:12px}.calendar-fold .calhead{margin-top:8px}}
