:root{--bg:var(--tg-theme-secondary-bg-color,#f2efe9);--surface:var(--tg-theme-bg-color,#fff);--surface-2:color-mix(in srgb, var(--surface) 92%, var(--text) 8%);--text:var(--tg-theme-text-color,#1f1d1a);--text-2:color-mix(in srgb, var(--text) 64%, var(--surface) 36%);--hint:var(--tg-theme-hint-color,#7b756c);--divider:color-mix(in srgb, var(--text) 9%, transparent);--accent:#c2703a;--accent-deep:#9e5628;--accent-soft:color-mix(in srgb, var(--accent) 14%, var(--surface));--on-accent:#fff9f4;--on-accent-2:#fff9f4c7;--income:#2f6ea3;--income-soft:color-mix(in srgb, var(--income) 14%, var(--surface));--danger:#b5493f;--danger-soft:color-mix(in srgb, var(--danger) 14%, var(--surface));--track:color-mix(in srgb, var(--text) 10%, transparent);--radius:18px;--radius-sm:12px;--shadow:0 1px 2px #1f1d1a0a, 0 10px 28px -14px #1f1d1a38;--shadow-float:0 6px 18px -6px #9e562873;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--accent)}:root[data-theme=dark]{--bg:var(--tg-theme-secondary-bg-color,#141311);--surface:var(--tg-theme-bg-color,#1f1d1a);--text:var(--tg-theme-text-color,#f1ede6);--hint:var(--tg-theme-hint-color,#9a948a);--accent:#d6905a;--accent-deep:#b06c39;--income:#6ea3d6;--danger:#d0645a;--shadow:0 1px 2px #0000004d, 0 12px 30px -16px #0009;--shadow-float:0 8px 20px -6px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font:15px/1.4 -apple-system,SF Pro Text,system-ui,Segoe UI,Roboto,sans-serif}::selection{background:var(--accent-soft);color:var(--text)}input,textarea,select,button{caret-color:var(--accent);font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::-webkit-scrollbar{width:0;height:0}#root{min-height:100vh;padding-bottom:calc(76px + var(--safe-bottom))}button{cursor:pointer}a{color:var(--accent);text-underline-offset:3px}.screen{padding:calc(10px + var(--safe-top)) 14px 14px;flex-direction:column;gap:12px;animation:.3s ease-out both fade;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen{animation:none}}.topbar{justify-content:space-between;align-items:center;gap:10px;padding:4px 2px 2px;display:flex}.topbar .title{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.15}.topbar .subtitle{color:var(--hint);margin-top:2px;font-size:13px}.icon-btn{background:var(--surface);width:40px;height:40px;color:var(--text);box-shadow:var(--shadow);transition:transform .15s var(--ease), background .15s;border:0;border-radius:12px;place-items:center;display:grid}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.35;box-shadow:none}.icon-btn.ghost{box-shadow:none;color:var(--hint);background:0 0}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card h3{letter-spacing:-.01em;margin:0 0 10px;font-size:15px;font-weight:700}.card h3 .sub{color:var(--hint);margin-left:6px;font-weight:500}.section{justify-content:space-between;align-items:baseline;padding:6px 4px 0;display:flex}.section h2{letter-spacing:-.015em;margin:0;font-size:17px;font-weight:700}.section .hint{font-size:13px}.hero{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);color:var(--on-accent);border-radius:var(--radius);box-shadow:var(--shadow-float);padding:18px 18px 14px;position:relative;overflow:hidden}.hero:after{content:"";background:#ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;inset:auto -40px -60px auto}.hero .label{color:var(--on-accent-2);font-size:13px}.hero .big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:36px;font-weight:700;line-height:1.05}.hero .cmp{color:var(--on-accent-2);margin-top:6px;font-size:13px}.hero .cmp b{color:var(--on-accent);font-weight:600}.hero .badge{color:var(--on-accent);background:#ffffff2e;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.hero .chart{height:132px;margin:8px -6px 0}.hero .legend{color:var(--on-accent-2);gap:16px;margin-top:2px;font-size:12px;display:flex}.hero .legend i{vertical-align:middle;border-radius:2px;width:14px;height:2px;margin-right:6px;display:inline-block}.big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.hint{color:var(--hint);font-size:13px}.muted{color:var(--text-2)}.up{color:var(--danger)}.down{color:var(--income)}.row{align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-float);transition:transform .15s var(--ease), filter .15s;border:0;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-weight:600;display:inline-flex}.btn:active{filter:brightness(.96);transform:scale(.98)}.btn.ghost{background:var(--accent-soft);color:var(--accent-deep);box-shadow:none}:root[data-theme=dark] .btn.ghost{color:var(--accent)}.btn.danger{color:var(--danger);box-shadow:none;background:0 0}.btn.block{width:100%}.btn.sq{flex-shrink:0;width:46px;height:46px;padding:0}.btn:disabled{opacity:.45;box-shadow:none}.link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:600}.input,.select,textarea.input{background:var(--surface-2);width:100%;color:var(--text);border-radius:var(--radius-sm);border:1px solid #0000;outline:none;padding:12px 13px;transition:border-color .15s,background .15s}.input:focus,.select:focus,textarea.input:focus{border-color:var(--accent);background:var(--surface)}.input::placeholder{color:var(--hint)}.input,.select{min-width:0;max-width:100%}input[type=date],input[type=time],input[type=datetime-local]{appearance:none;min-height:46px;display:block}input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}input::-webkit-calendar-picker-indicator{opacity:.6}.grid2>*,.field>*{min-width:0;max-width:100%}textarea.input{resize:none;min-height:88px;line-height:1.45}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--hint);letter-spacing:.02em;font-size:12px;font-weight:600}.tabbar{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);border-top:1px solid var(--divider);padding:6px 6px calc(6px + var(--safe-bottom));z-index:5;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--hint);background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0 4px;font-size:11px;font-weight:500;transition:color .15s;display:flex}.tabbar button .ico{width:44px;height:28px;transition:background .2s var(--ease), transform .2s var(--ease);border-radius:999px;place-items:center;display:grid}.tabbar button.active{color:var(--accent-deep)}:root[data-theme=dark] .tabbar button.active{color:var(--accent)}.tabbar button.active .ico{background:var(--accent-soft)}.tabbar button:active .ico{transform:scale(.92)}.list{flex-direction:column;display:flex}.list .item{border-bottom:1px solid var(--divider);color:inherit;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;gap:12px;width:100%;min-height:52px;padding:11px 0;transition:opacity .15s;display:flex}.list .item:last-child{border-bottom:0}.list button.item:active{opacity:.6}.ico-badge{border-radius:13px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:19px;display:grid}.ico-badge.svg{color:var(--accent-deep);background:var(--accent-soft)}:root[data-theme=dark] .ico-badge.svg{color:var(--accent)}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em;font-weight:600}.amount.income{color:var(--income)}.day-head{color:var(--hint);justify-content:space-between;align-items:baseline;padding:14px 6px 6px;font-size:13px;font-weight:600;display:flex}.day-head .sum{font-variant-numeric:tabular-nums;font-weight:500}.sheet-backdrop{z-index:10;background:#14100c73;align-items:flex-end;animation:.2s ease-out both fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--surface);width:100%;padding:10px 16px calc(16px + var(--safe-bottom));max-height:92vh;animation:slide .32s var(--ease) both;border-radius:22px 22px 0 0;flex-direction:column;gap:12px;display:flex;overflow:auto;box-shadow:0 -10px 40px -20px #0006}@keyframes slide{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet:before{content:"";background:var(--track);border-radius:4px;width:38px;height:4px;margin:0 auto 4px}.sheet h2{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.seg{background:var(--surface-2);border-radius:var(--radius-sm);padding:3px;display:flex}.seg button{color:var(--hint);transition:background .2s var(--ease), color .2s;background:0 0;border:0;border-radius:10px;flex:1;padding:8px 6px;font-weight:500}.seg button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.chips{scrollbar-width:none;gap:8px;padding:2px 2px 4px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;overflow:visible}.chip{border:1px solid var(--divider);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:999px;padding:8px 13px;font-weight:500;transition:background .15s,border-color .15s}.chip.active{background:var(--accent-soft);color:var(--accent-deep);border-color:#0000;font-weight:600}:root[data-theme=dark] .chip.active{color:var(--accent)}.swatch{border:2px solid #0000;border-radius:50%;flex-shrink:0;width:30px;height:30px;padding:0}.swatch.active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface) inset}.bar{background:var(--track);border-radius:999px;height:7px;overflow:hidden}.bar>i{background:var(--accent);border-radius:999px;height:100%;display:block}.empty{text-align:center;color:var(--hint);flex-direction:column;align-items:center;gap:6px;padding:26px 12px 20px;display:flex}.empty .art{background:var(--accent-soft);width:64px;height:64px;color:var(--accent-deep);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}:root[data-theme=dark] .empty .art{color:var(--accent)}.empty b{color:var(--text);font-size:16px}.empty .link{margin-top:6px}.period{align-items:center;gap:8px;display:flex}.period .title{letter-spacing:-.02em;text-align:center;flex:1;font-size:20px;font-weight:700}.fab{right:16px;bottom:calc(84px + var(--safe-bottom));background:var(--accent);width:56px;height:56px;color:var(--on-accent);box-shadow:var(--shadow-float);z-index:6;transition:transform .2s var(--ease);border:0;border-radius:18px;place-items:center;display:grid;position:fixed}.fab:active{transform:scale(.94)}.toast{left:50%;bottom:calc(92px + var(--safe-bottom));background:var(--text);color:var(--surface);z-index:20;box-shadow:var(--shadow);animation:rise .25s var(--ease) both;border-radius:12px;padding:10px 16px;font-size:13px;font-weight:500;position:fixed;transform:translate(-50%)}.error{color:var(--danger);font-size:13px}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--surface-2);border-radius:var(--radius-sm);padding:12px}.stat .k{color:var(--hint);font-size:12px;font-weight:600}.stat .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:20px;font-weight:700}.skeleton{background:linear-gradient(90deg, var(--track) 25%, var(--surface-2) 50%, var(--track) 75%);background-size:200% 100%;border-radius:10px;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.reply{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;line-height:1.45}.memo{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.memo .text{white-space:pre-wrap;flex:1;line-height:1.45}.memo .meta{color:var(--hint);margin-top:6px;font-size:12px}.memo.pinned{border:1px solid var(--accent-soft)}
