@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap";:root{color:#2b2927;background:#f4efe8;font-family:Manrope,Noto Sans TC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #f4efe8;--paper-light: #fbf8f4;--ink: #2b2927;--muted: #8e8983;--line: #e7e0d8;--peach: #edc5b2;--peach-deep: #b95f47;--sage: #cfd7c9;--lavender: #d9d4e8;--yellow: #f0d48b;--shadow: 0 24px 70px rgba(71, 54, 42, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;flex:0 0 245px;padding:34px 22px 25px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#f9f6f19e}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-lockup strong{display:block;font-size:15px;letter-spacing:-.03em}.brand-lockup span{display:block;color:var(--muted);font-family:Noto Sans TC;font-size:11px;margin-top:2px}.brand-mark{width:34px;height:34px;padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:3px;border-radius:11px;background:var(--ink);transform:rotate(-7deg)}.brand-mark span{border-radius:2px;background:var(--peach)}.brand-mark span:nth-child(2){background:var(--yellow)}.brand-mark span:nth-child(3){background:var(--sage)}.brand-mark span:nth-child(4){background:var(--lavender)}.sidebar-copy{margin:73px 8px 30px}.eyebrow,.card-label{display:block;color:var(--muted);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.sidebar-copy p{margin:9px 0 0;max-width:135px;font-family:Noto Sans TC;font-size:14px;line-height:1.65}.sidebar-nav{display:grid;gap:7px}.nav-item{border:0;border-radius:10px;padding:11px 12px;display:flex;align-items:center;gap:11px;color:#8a837c;background:transparent;text-align:left;font-size:12px;transition:.2s ease}.nav-item:hover,.nav-item.active{color:var(--ink);background:#eae3db}.nav-item span{width:17px;font-size:18px;line-height:1;text-align:center}.nav-item small{margin-left:auto;color:#b4aaa1;font-family:DM Mono;font-size:10px}.privacy-card{margin-top:auto;padding:13px 10px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;background:#fffcf8a3;color:var(--ink);text-align:left}.privacy-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#658067;background:#e0eadc}.privacy-card strong,.privacy-card small{display:block}.privacy-card strong{font-size:10px}.privacy-card small{margin-top:2px;color:var(--muted);font-family:Noto Sans TC;font-size:9px}.privacy-card .arrow{margin-left:auto;color:#a39b94}.main-content{width:min(100%,1120px);margin:0 auto;padding:43px 53px 28px}.topbar{display:flex;align-items:flex-start;justify-content:space-between}h1,h2,p{margin-top:0}h1{margin:9px 0 5px;font-family:Noto Sans TC;font-size:clamp(28px,3.2vw,44px);font-weight:800;letter-spacing:-.08em;line-height:1.2}.topbar p{margin:0;color:var(--muted);font-family:Noto Sans TC;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:12px}.local-pill{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #dce5d8;border-radius:99px;color:#698064;background:#f4f7f1;font-family:DM Mono;font-size:9px}.local-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#79a16f}.sync-pill.needs-sync,.sync-pill.error{border-color:#efd5c9;color:#9f5c4d;background:#fff4ef}.sync-pill.needs-sync i,.sync-pill.error i{background:#c87963}.sync-pill.syncing{border-color:#e5ddc4;color:#8c774b;background:#fff9e9}.sync-pill.syncing i{background:#c9a652}.account-chip,.google-button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:99px;padding:7px 10px;color:var(--ink);background:#ffffff8c;font-family:Noto Sans TC;font-size:10px}.account-chip:hover,.google-button:hover{border-color:#c9a796;background:#fffdfa}.account-chip{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-avatar{width:20px;height:20px;display:grid;flex:0 0 20px;place-items:center;border-radius:50%;color:#fff8f1;background:var(--ink);font-family:DM Mono;font-size:10px}.google-button{border-color:#c9a796;color:#59352b;background:var(--peach);font-weight:700}.google-button:disabled,.setting-action:disabled{cursor:wait;opacity:.6}.icon-button,.close-button{border:0;color:var(--muted);background:transparent}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#ffffff4d}.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:15px;margin-top:37px}.capture-card{position:relative;min-height:242px;overflow:hidden;padding:28px 32px;border-radius:20px;background:var(--ink);color:#fcfaf7;box-shadow:var(--shadow)}.capture-card:after{content:"";position:absolute;right:-45px;bottom:-100px;width:260px;height:260px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 28px #ffffff06,0 0 0 58px #ffffff06}.capture-card .card-label{color:#a9a29c}.capture-card h2{position:relative;z-index:1;margin:15px 0 6px;font-family:Noto Sans TC;font-size:25px;letter-spacing:-.07em}.capture-card p{position:relative;z-index:1;margin-bottom:24px;color:#a9a29c;font-family:Noto Sans TC;font-size:12px}.primary-button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;border:0;border-radius:8px;padding:11px 14px;background:var(--peach);color:#59352b;font-size:12px;font-weight:700;transition:transform .2s ease,background .2s ease}.primary-button:hover{background:#f5cfbf;transform:translateY(-2px)}.primary-button span{font-size:18px;font-weight:400;line-height:.7}.quick-actions{position:absolute;z-index:1;right:29px;bottom:25px;display:flex;gap:8px}.quick-actions button{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#bbb3ab;background:#ffffff0f;font-family:Noto Sans TC;font-size:10px}.quick-actions button:hover{color:#fff;background:#ffffff24}.quick-actions span{font-size:15px}.summary-stack{display:grid;gap:15px}.summary-card{min-height:113px;display:flex;justify-content:space-between;align-items:flex-start;padding:21px 23px;border-radius:20px;box-shadow:var(--shadow)}.summary-card.peach{background:var(--peach);color:#60382d}.summary-card.ink{background:#d9d3c8;color:var(--ink)}.summary-card .card-label{color:inherit;opacity:.56}.summary-card strong{display:block;margin-top:12px;font-family:DM Mono;font-size:23px;letter-spacing:-.08em}.summary-card strong small{font-family:Noto Sans TC;font-size:11px;letter-spacing:0}.summary-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(43,41,39,.12);border-radius:50%;font-size:20px}.workspace-card{margin-top:15px;padding:31px 32px 20px;border:1px solid rgba(218,210,201,.75);border-radius:20px;background:#fffcf8bd;box-shadow:0 12px 40px #47362a08}.workspace-heading{display:flex;align-items:end;justify-content:space-between}.workspace-heading h2{margin:7px 0 0;font-family:DM Mono;font-size:22px;letter-spacing:-.08em}.workspace-heading h2 span{color:#b2aaa2;font-size:12px;letter-spacing:0}.month-total{text-align:right}.month-total span,.month-total strong{display:block}.month-total span{color:var(--muted);font-family:Noto Sans TC;font-size:10px}.month-total strong{margin-top:5px;font-family:DM Mono;font-size:14px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:25px;padding-bottom:16px;border-bottom:1px solid var(--line)}.search-field{flex:1;max-width:290px;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#faf7f3}.search-field:focus-within{border-color:#c9a796;box-shadow:0 0 0 3px #edc5b233}.search-field span{font-size:19px;line-height:1}.search-field input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-family:Noto Sans TC;font-size:11px}.search-field input::placeholder{color:#b8afa7}.filter-tabs{display:flex;gap:3px}.filter-tabs button{border:0;border-radius:6px;padding:7px 10px;color:var(--muted);background:transparent;font-family:Noto Sans TC;font-size:11px}.filter-tabs button:hover,.filter-tabs button.selected{color:var(--ink);background:#ede6de}.inline-alert{margin-top:14px;padding:10px 12px;border-radius:8px;font-family:Noto Sans TC;font-size:11px}.inline-alert.error{color:#954d3d;background:#f7e4dd}.inline-alert.success{color:#547553;background:#e5efdf}.record-list{display:grid}.record-row{display:flex;align-items:center;gap:13px;min-height:73px;border-bottom:1px solid var(--line)}.record-row:last-child{border-bottom:0}.record-icon,.task-check{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:0;border-radius:9px;font-size:17px}.record-row.expense .record-icon{color:#9f543d;background:#f4d8cc}.record-row.task .task-check{border:1px solid #cfc7bd;color:#fcfaf7;background:transparent;font-size:15px}.record-row.task .task-check:hover,.record-row.task.completed .task-check{border-color:#89a07f;background:#89a07f}.record-row.note .record-icon{color:#6e6686;background:#e4e0ef}.record-content{min-width:0;flex:1}.record-title-line{display:flex;align-items:center;gap:9px}.record-title-line strong{max-width:100%;overflow:hidden;color:var(--ink);font-family:Noto Sans TC;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.record-row.completed .record-title-line strong{color:#9c948c;text-decoration:line-through}.record-type{padding:3px 6px;border-radius:4px;color:#9e958d;background:#f0ebe5;font-family:Noto Sans TC;font-size:8px}.record-content small{display:block;overflow:hidden;margin-top:5px;color:#a39b94;font-family:Noto Sans TC;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.record-amount{color:#795142;font-family:DM Mono;font-size:12px;font-weight:500}.record-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.record-row:hover .record-actions,.record-row:focus-within .record-actions{opacity:1}.record-actions button{border:0;padding:5px;color:#a49b93;background:transparent;font-family:Noto Sans TC;font-size:10px}.record-actions button:hover{color:var(--ink)}.empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.empty-state strong{margin-top:11px;color:var(--ink);font-family:Noto Sans TC;font-size:13px}.empty-state p{margin:6px 0 13px;font-family:Noto Sans TC;font-size:11px}.empty-symbol{color:#bea499;font-size:30px}.empty-orbit{width:22px;height:22px;border:2px solid #dfcec4;border-top-color:#a87461;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-button{border:0;color:#9c614f;background:transparent;font-family:Noto Sans TC;font-size:11px}.page-footer{display:flex;justify-content:space-between;padding:18px 2px 0;color:#a69e96;font-family:DM Mono;font-size:9px}.mobile-nav{display:none}.modal-backdrop{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#2b292752;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.composer-modal,.settings-panel{width:min(100%,500px);padding:28px;border:1px solid rgba(255,255,255,.5);border-radius:18px;background:var(--paper-light);box-shadow:0 30px 90px #231a143b}.settings-panel{width:min(100%,440px);margin-left:auto;align-self:stretch;border-radius:18px 0 0 18px}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between}.modal-heading h2{margin:8px 0 0;font-family:Noto Sans TC;font-size:23px;letter-spacing:-.06em}.close-button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font-size:20px;line-height:1}.composer-tabs{display:flex;gap:6px;margin:28px 0 22px;padding-bottom:9px;border-bottom:1px solid var(--line)}.composer-tabs button{flex:1;padding:9px 8px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-family:Noto Sans TC;font-size:11px}.composer-tabs button:disabled{cursor:not-allowed;opacity:.5}.composer-tabs button span{margin-right:5px;font-size:16px}.composer-tabs button.selected{color:var(--ink);background:#ebe3db}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:block;color:var(--muted);font-family:Noto Sans TC;font-size:10px}.field.wide{grid-column:1 / -1}.field>span{display:block;margin-bottom:7px}.field b{color:#b85c46;font-weight:500}.field em{color:#b0a7a0;font-style:normal}.field input,.field textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;outline:0;padding:11px 12px;color:var(--ink);background:#fffdfa;font-family:Noto Sans TC;font-size:12px}.field input:focus,.field textarea:focus{border-color:#c9a796;box-shadow:0 0 0 3px #edc5b233}.amount-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fffdfa}.amount-input:focus-within{border-color:#c9a796;box-shadow:0 0 0 3px #edc5b233}.amount-input small{color:#9f958d;font-family:DM Mono;font-size:11px}.amount-input input{border:0;padding-left:7px;box-shadow:none}.form-error{margin:14px 0 0;color:#a7533e;font-family:Noto Sans TC;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:26px}.secondary-button{border:1px solid var(--line);border-radius:8px;padding:10px 14px;color:var(--muted);background:transparent;font-family:Noto Sans TC;font-size:11px}.settings-note{display:flex;gap:12px;margin:28px 0 22px;padding:15px;border-radius:10px;color:#5b7658;background:#e7efe2}.settings-note>span{font-size:22px}.settings-note p{margin:0;font-family:Noto Sans TC;font-size:11px;line-height:1.7}.settings-note strong{font-size:12px}.settings-actions{display:grid;gap:8px}.setting-action{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffdfa;text-align:left;text-decoration:none}.setting-action:hover{border-color:#c9a796;transform:translateY(-1px)}.setting-action>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#8e6455;background:#f3dfd5}.setting-action div{flex:1}.setting-action strong,.setting-action small{display:block;font-family:Noto Sans TC}.setting-action strong{font-size:11px}.setting-action small{margin-top:3px;color:var(--muted);font-size:9px}.setting-action b{color:#aaa099;font-weight:400}.setting-action.danger>span{color:#9a5b4e;background:#f4e1da}.setting-action.danger strong{color:#925647}.settings-footnote{margin:24px 0 0;color:var(--muted);font-family:Noto Sans TC;font-size:10px;line-height:1.7}@media(max-width:820px){.sidebar{display:none}.main-content{padding:28px 20px 85px}.topbar{gap:12px}.topbar-actions{flex-direction:column-reverse;align-items:flex-end;gap:9px}.local-pill{font-size:8px}.hero-grid{grid-template-columns:1fr;margin-top:28px}.summary-stack{grid-template-columns:1fr 1fr}.capture-card{min-height:229px}.workspace-card{padding:24px 18px 13px}.toolbar{display:block}.search-field{max-width:none}.filter-tabs{margin-top:10px;overflow-x:auto}.filter-tabs button{white-space:nowrap}.mobile-nav{position:fixed;z-index:5;right:15px;bottom:15px;left:15px;display:flex;justify-content:space-around;padding:8px;border:1px solid rgba(218,210,201,.8);border-radius:15px;background:#fffcf8eb;box-shadow:0 15px 40px #47362a21;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav button{display:grid;gap:2px;min-width:70px;border:0;border-radius:9px;padding:6px;color:var(--muted);background:transparent;font-family:Noto Sans TC;font-size:9px}.mobile-nav button span{font-size:17px}.mobile-nav button.active,.mobile-nav button:hover{color:var(--ink);background:#eee6de}.record-actions{opacity:1}}@media(max-width:480px){h1{font-size:30px}.topbar p{font-size:11px}.topbar-actions .local-pill{display:none}.capture-card{padding:24px 22px}.quick-actions{right:20px;bottom:20px}.quick-actions button{width:31px;height:31px;justify-content:center;padding:0}.quick-actions button:not(:first-child){font-size:0}.quick-actions button span{margin:0;font-size:16px}.summary-card{padding:17px 15px}.summary-card strong{font-size:17px}.workspace-heading{align-items:flex-start}.month-total{margin-top:3px}.month-total strong{font-size:11px}.record-row{gap:9px}.record-actions{display:grid}.record-actions button{padding:3px;font-size:9px}.composer-modal,.settings-panel{padding:22px 18px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.settings-panel{border-radius:18px}}
