:root{--mauve:#c6a0f6;--red:#ed8796;--green:#a6da95;--text:#cad3f5;--subtext0:#a5adcb;--overlay1:#8087a2;--surface2:#5b6078;--surface1:#494d64;--surface0:#363a4f;--base:#24273a;--mantle:#1e2030;--crust:#181926;--primary:var(--mauve);--on-primary:var(--crust);--background:var(--base);--surface:var(--mantle);--surface-container:var(--surface0);--on-surface:var(--text);--on-surface-variant:var(--subtext0);--outline:var(--overlay1);--outline-variant:var(--surface2);--error:var(--red);--container:var(--background);--column:720px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;letter-spacing:.5px;color:var(--on-surface);background:var(--background);overscroll-behavior:none;touch-action:pan-y;font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:24px}*{box-sizing:border-box}body{padding-bottom:calc(80px + env(safe-area-inset-bottom));margin:0;overflow-x:hidden}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.38}button:focus-visible,.chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h1,h2,p,hr{margin:0}hr{border:none;border-top:1px solid var(--outline-variant)}.display-small{letter-spacing:0;font-size:36px;line-height:44px}.title-large{letter-spacing:0;font-size:22px;line-height:28px}.title-medium{letter-spacing:.15px;font-size:16px;font-weight:500;line-height:24px}.body-large{font-size:16px;line-height:24px}.body-small{letter-spacing:.4px;font-size:12px;line-height:16px}.label-large{letter-spacing:.1px;font-size:14px;font-weight:500;line-height:20px}.muted{color:var(--on-surface-variant)}.primary{color:var(--primary)}.on-surface{color:var(--on-surface)}.grow{flex:1;min-width:0}.wide{width:100%}.top-bar{z-index:2;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);background:var(--surface);--container:var(--surface);position:sticky;top:0}.bar{max-width:var(--column);align-items:center;margin:0 auto;padding:0 4px;display:flex}.bar.sync-note{color:var(--on-surface-variant);padding:4px 16px 8px;font-size:.875rem}.top-bar .bar:first-child{height:64px}.top-bar h1{letter-spacing:0;flex:1;padding-left:4px;font-size:22px;font-weight:400;line-height:28px}.bar.centered h1{justify-content:center;align-items:center;padding:0;display:flex}.bar.search{padding:0 16px 12px;display:block}.month-title{border-radius:8px;padding:8px 4px}.month-title:hover,.icon-button:hover:not(:disabled),.text-button:hover:not(:disabled),.outlined-button:hover:not(:disabled){background:color-mix(in srgb, currentColor 8%, transparent)}.bottom-bar{z-index:2;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--background);position:fixed;bottom:0;left:0;right:0}.bottom-bar .bar{gap:12px;padding:12px 16px}.bottom-bar .button{flex:1}.icon-button{letter-spacing:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;line-height:32px;display:inline-flex}.button,.text-button,.outlined-button{letter-spacing:.1px;border-radius:20px;min-height:40px;padding:0 24px;font-size:14px;font-weight:500;line-height:20px}.button{background:var(--primary);color:var(--on-primary)}.button:hover:not(:disabled){filter:brightness(1.08)}.button.income{background:var(--green)}.button.expense{background:var(--red)}.text-button{color:var(--primary);padding:0 12px}.text-button.danger{color:var(--error)}.outlined-button{border:1px solid var(--outline);color:var(--primary)}.page{max-width:var(--column);padding:16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));margin:0 auto}.list{flex-direction:column;gap:8px;display:flex}.list>p{padding-bottom:4px}.section{padding:8px 0 4px}.card{background:var(--surface-container);border-radius:12px}.row{text-align:left;align-items:center;width:100%;padding:12px 16px;display:flex}.row:hover,.month-total:hover,.year-toggle:hover{background:color-mix(in srgb, var(--on-surface) 8%, var(--surface-container))}.row .grow span,.month-total .grow span,.summary .grow span{overflow-wrap:anywhere;display:block}.list-heading{align-items:center;padding-top:4px;display:flex}.group-heading{padding:8px 4px 0}@keyframes from-right{0%{transform:translate(100vw)}}@keyframes from-left{0%{transform:translate(-100vw)}}.from-right{animation:.25s ease-out from-right}.from-left{animation:.25s ease-out from-left}@media (prefers-reduced-motion:reduce){.from-right,.from-left{animation:none}}.summary{padding:20px}.summary hr{margin:16px 0}.figures{padding-top:16px;display:flex}.year-toggle,.month-total{text-align:left;border-radius:8px;align-items:center;width:100%;display:flex}.year-months{flex-direction:column;gap:2px;padding-top:8px;display:flex}.month-total{padding:6px 0}.field{border:1px solid var(--outline);cursor:text;border-radius:4px;align-items:center;height:56px;padding:0 15px;display:flex;position:relative}.field:focus-within{border:2px solid var(--primary);padding:0 14px}.field input{min-width:0;height:100%;font:inherit;letter-spacing:inherit;color:var(--on-surface);caret-color:var(--primary);background:0 0;border:none;outline:none;flex:1}.field input::placeholder{color:var(--on-surface-variant);opacity:1}.field>span{color:var(--on-surface-variant);background:var(--container);pointer-events:none;padding:0 4px;transition:top .12s,font-size .12s;position:absolute;top:15px;left:11px}.field:focus-within>span,.field input:not(:placeholder-shown)+span{letter-spacing:.4px;font-size:12px;line-height:16px;top:-9px}.field:focus-within>span{color:var(--primary);top:-10px;left:10px}.field.error,.field.error:focus-within{border-color:var(--error)}.field.error>span,.field.error input{color:var(--error);caret-color:var(--error)}.field .icon-button{margin-right:-11px}.supporting{letter-spacing:.4px;color:var(--error);padding:4px 16px 0;font-size:12px;line-height:16px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--outline-variant);letter-spacing:.1px;height:32px;color:var(--on-surface-variant);border-radius:8px;padding:0 16px;font-size:14px;font-weight:500;line-height:20px}.chip:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.chip.selected{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.scrim{z-index:10;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog,.dialog form{flex-direction:column;min-height:0;display:flex}.dialog{background:var(--surface-container);--container:var(--surface-container);border-radius:28px;outline:none;width:100%;max-width:400px;max-height:100%;padding:24px}.dialog h2{letter-spacing:0;padding-bottom:16px;font-size:24px;font-weight:400;line-height:32px}.dialog-content{letter-spacing:.25px;color:var(--on-surface-variant);flex-direction:column;gap:12px;margin:-10px -4px 0;padding:10px 4px 0;font-size:14px;line-height:20px;display:flex;overflow-y:auto}.dialog-content .field{letter-spacing:.5px;font-size:16px;line-height:24px}.dialog-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:24px;display:flex}.date-button{position:relative}.date-button button{width:100%}.date-button input{opacity:0;pointer-events:none;border:none;width:0;height:0;padding:0;position:absolute;bottom:0;left:0}.year-stepper{text-align:center;align-items:center;display:flex}.month-grid{grid-template-columns:repeat(3,1fr);gap:4px 8px;display:grid}.month-grid button{padding:0}.breakdown{flex-direction:column;gap:10px;display:flex}.breakdown-row{align-items:center;display:flex}.share{padding-right:12px}.menu-anchor{position:relative}.menu-scrim{z-index:5;position:fixed;inset:0}.menu{z-index:6;background:var(--surface-container);border-radius:4px;min-width:180px;padding:8px 0;position:absolute;top:100%;right:0;box-shadow:0 2px 6px #0006}.menu button{text-align:left;white-space:nowrap;letter-spacing:.1px;width:100%;height:48px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;display:block}.menu button:hover{background:color-mix(in srgb, var(--on-surface) 8%, transparent)}.pull-indicator{top:calc(env(safe-area-inset-top) + 16px);z-index:3;background:var(--surface-container);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:fixed;left:50%;box-shadow:0 2px 6px #0006}.pull-indicator span{border:3px solid var(--primary);border-top-color:#0000;border-radius:50%;width:20px;height:20px}.pull-indicator.refreshing span{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.snackbar{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:20;letter-spacing:.25px;background:var(--text);width:calc(100% - 32px);max-width:560px;min-height:48px;color:var(--base);border-radius:4px;align-items:center;padding:0 8px 0 16px;font-size:14px;line-height:20px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 3px 8px #0006}.snackbar .grow{padding:14px 0}.snackbar button{color:#6c3fb5;padding:10px 12px;font-weight:500}.sign-in{flex-direction:column;gap:24px;max-width:400px;padding-top:max(15vh,32px);display:flex}.sign-in form{flex-direction:column;gap:16px;display:flex}
