:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:#49372c;background:#f7f2eb;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:850px;margin:auto;padding:28px 20px 150px}header,.month,.row,.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:12px}small{font-size:10px;letter-spacing:2px;color:#92735b}h1{font-size:27px;margin:9px 0 26px;letter-spacing:2px}h1 span{font-size:11px;letter-spacing:0;margin-left:10px;color:#92735b}h2{font-size:19px}h3{font-size:16px}button,input,select{font:inherit}button{border:0;cursor:pointer;border-radius:12px;padding:12px 16px;background:#ede2d4;color:#60442f;min-height:44px}button:active{transform:scale(.98)}input,select{width:100%;padding:13px;border:1px solid #d9c6b3;border-radius:10px;background:#fffdf9;color:#49372c;min-height:46px}.month{justify-content:center;margin:4px 0 25px}.month input{width:180px;text-align:center;background:transparent}.hero{background:#73543f;color:#fff8ee;padding:27px;border-radius:24px;box-shadow:0 12px 30px #73543f18}.hero p{color:#e8d8c8;font-size:13px}.amount{font-size:38px;letter-spacing:-1px;font-weight:650;margin:12px 0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 28px}.card{background:#fffdf9;padding:20px;border:1px solid #eadfd2;border-radius:18px;margin:12px 0}.stats .card{margin:0}.label,.muted{color:#967c67;font-size:13px;line-height:1.7}.value{font-size:22px;margin-top:7px;font-weight:600}.section{margin-top:28px}progress{width:100%;height:8px;appearance:none;border:0;border-radius:10px;overflow:hidden;margin:13px 0 5px}progress::-webkit-progress-bar{background:#eee4d8}progress::-webkit-progress-value{background:#b68c64}progress::-moz-progress-bar{background:#b68c64}.negative{color:#b14c3f}.positive{color:#60755c}.quiet{background:transparent;padding:9px;color:#86674f}.primary{background:#73543f;color:#fff8ee;width:100%;margin-top:14px}.empty{padding:30px 15px;text-align:center;color:#967c67;font-size:14px;line-height:1.9}.record{padding:16px 0;border-bottom:1px solid #efe5da}.record:last-child{border:0}.record strong{font-size:15px}.record .money{white-space:nowrap;font-weight:600}.record button{min-height:30px;font-size:12px;padding:4px 8px}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:6px;padding:12px 10px calc(12px + env(safe-area-inset-bottom));background:#fffdf9f5;border-top:1px solid #e7dacb;backdrop-filter:blur(15px);z-index:2}nav button{background:transparent;width:90px;font-size:14px}nav button.active{background:#e9dac7;font-weight:600}.floating{position:fixed;bottom:calc(86px + env(safe-area-inset-bottom));right:max(20px,calc((100vw - 810px)/2));background:#73543f;color:white;box-shadow:0 5px 20px #49372c30;border-radius:25px}footer{text-align:center;color:#a38e7c;font-size:11px;line-height:1.9;margin-top:34px}dialog{border:0;border-radius:22px;padding:24px;width:calc(100% - 28px);max-width:460px;max-height:88dvh;color:#49372c;background:#fffdf9}dialog::backdrop{background:#392c2266}label{display:block;font-size:13px;margin:17px 0 7px}#error{color:#b14c3f;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.actions button{font-size:13px}.note{font-size:13px;line-height:1.8;color:#92735b}@media(min-width:650px){.stats{grid-template-columns:repeat(4,1fr)}main{padding-top:45px}.hero{padding:35px}.amount{font-size:46px}}
