@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-vietnamese-wght-normal-S2S5QD6B.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-ext-wght-normal-EMW626ZA.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-wght-normal-HY2A4V5R.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-cyrillic-ext-wght-normal-L7GHNSDI.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-vietnamese-wght-normal-PMWGHMOH.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-latin-ext-wght-normal-XRETCU74.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-latin-wght-normal-ZZ3K7K5Y.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f3f5f6;--surface: #ffffff;--sunken: #eef1f2;--ink: #142630;--muted: #5f707a;--faint: #8a979f;--line: #e2e7ea;--accent: #0f7a63;--accent-ink: #ffffff;--accent-soft: #dff2ec;--accent-text: #0b5e4c;--warn: #9a5b07;--warn-soft: #fbefd9;--danger: #b4303e;--danger-soft: #fbe6e8;--radius: 16px;--display: "Bricolage Grotesque Variable", system-ui, sans-serif;--body: "Hanken Grotesk Variable", system-ui, sans-serif;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0b161c;--surface: #13222b;--sunken: #1a2c36;--ink: #e8eff2;--muted: #97a8b1;--faint: #6f838e;--line: #233743;--accent: #4cc3a6;--accent-ink: #062a22;--accent-soft: #143b33;--accent-text: #7fdcc4;--warn: #f2b45c;--warn-soft: #3a2a10;--danger: #f2939c;--danger-soft: #3d1a20}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.5 var(--body);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}h1,h2{margin:0;text-wrap:balance}h1{font-size:1.5rem;font-weight:650;line-height:1.2;letter-spacing:-.01em}h2{font-size:.8125rem;font-weight:600;color:var(--muted)}p{margin:0}a{color:inherit}.muted{color:var(--muted)}.small{font-size:.8125rem}.pos{color:var(--accent-text)}.neg-over,.error{color:var(--danger)}.flag{color:var(--warn);font-weight:600}.icon{display:inline-flex;width:1.25em;height:1.25em;flex:none}.icon svg{width:100%;height:100%}.shell{max-width:40rem;margin:0 auto;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(5.5rem + env(safe-area-inset-bottom))}.tabs{position:fixed;inset:auto 0 0;z-index:5;display:flex;justify-content:center;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:.35rem 0 calc(.35rem + env(safe-area-inset-bottom))}.tabs a{flex:1;max-width:7rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;text-decoration:none;font-size:.6875rem;font-weight:600;color:var(--faint);padding:.3rem 0}.tabs a .icon{width:1.5rem;height:1.5rem;border-radius:999px;box-sizing:content-box;padding:.15rem 1rem}.tabs a.active{color:var(--accent-text)}.tabs a.active .icon{background:var(--accent-soft)}@media(min-width:52rem){.shell{padding:2.5rem 1.5rem 3rem 14.5rem;max-width:54.5rem}.tabs{inset:0 auto 0 0;width:13rem;flex-direction:column;justify-content:flex-start;gap:.25rem;border-top:0;border-right:1px solid var(--line);padding:1.5rem .75rem}.tabs:before{content:"Kontoblick";font:650 1.25rem var(--display);padding:0 .75rem 1rem;color:var(--ink)}.tabs a{flex:none;max-width:none;flex-direction:row;gap:.75rem;font-size:.9375rem;padding:.6rem .75rem;border-radius:12px}.tabs a .icon{padding:0;width:1.25rem;height:1.25rem;background:none!important}.tabs a.active{background:var(--accent-soft)}}.top{display:flex;align-items:center;gap:.75rem;min-height:2.5rem}.top h1{flex:1}section{margin-top:1.75rem}section>h2,.section-head{margin:0 0 .5rem .25rem}.section-head{display:flex;align-items:center;gap:.5rem}.section-head h2{flex:1}.card{background:var(--surface);border-radius:var(--radius)}.pad{padding:1rem}.hero{padding:1.25rem;border-radius:20px;background:var(--surface);margin-top:.75rem}.hero.accent{background:var(--accent-soft);color:var(--accent-text)}.hero .label{font-size:.875rem;font-weight:500}.hero .big{font-size:clamp(2.25rem,10vw,2.75rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-top:.15rem}.hero .sub{font-size:.875rem;margin-top:.25rem}.hero .meta{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;margin-top:.75rem}.track{height:8px;border-radius:4px;background:var(--sunken);overflow:hidden;margin-top:.4rem}.hero.accent .track{background:var(--surface)}.track>span{display:block;height:100%;border-radius:4px;background:var(--accent)}.track.over>span{background:var(--danger)}.scale{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:.3rem}.hero.accent .scale{color:inherit;opacity:.8}.stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.stat{background:var(--surface);border-radius:var(--radius);padding:.75rem 1rem}.stat .label{display:flex;align-items:center;gap:.3rem;font-size:.8125rem;color:var(--muted)}.stat .value{font-size:1.25rem;font-weight:650;margin-top:.1rem}.rows{list-style:none;margin:0;padding:.25rem 0;background:var(--surface);border-radius:var(--radius)}.rows>li{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;min-height:3.5rem}.rows>li+li{box-shadow:inset 0 1px var(--line)}.rows .tap{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;cursor:pointer;margin:-.65rem -1rem;padding:.65rem 1rem;border-radius:12px}.rows .tap:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rows .tap[aria-pressed=true],.rows .tap:active{background:var(--sunken)}.rows .grow{flex:1;min-width:0}.rows .grow>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rows .title{font-weight:500}.rows .sub{font-size:.8125rem;color:var(--muted)}.rows .amount{font-weight:600;white-space:nowrap;text-align:right}.rows .end{text-align:right;white-space:nowrap}.rows a.grow,.rows a.tap{text-decoration:none}.day{display:flex;justify-content:space-between;padding:1.25rem .25rem .4rem;font-weight:600;font-size:.8125rem;color:var(--muted)}.av{width:2.5rem;height:2.5rem;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.8125rem;font-weight:700}.av .icon{width:1.2rem;height:1.2rem}.t-gray{background:var(--sunken);color:var(--muted)}.t-teal{background:#dff2ec;color:#0b5e4c}.t-green{background:#e6f2d9;color:#3b6d11}.t-blue{background:#e1edfa;color:#185fa5}.t-violet{background:#ebe9fd;color:#4f46b0}.t-pink{background:#fae6ee;color:#993556}.t-orange{background:#fbe9e0;color:#9a3d1d}.t-amber{background:#faefd8;color:#845008}.t-red{background:#fbe6e8;color:#a32d2d}.t-purple{background:#f3e8fb;color:#7b3aa6}.t-cyan{background:#dcf2f6;color:#0e6878}.t-lime{background:#eef2d3;color:#5d6a10}.t-brown{background:#f3e8df;color:#7c4a2a}@media(prefers-color-scheme:dark){.t-teal{background:#143b33;color:#7fdcc4}.t-green{background:#22351a;color:#a9d47a}.t-blue{background:#172c45;color:#8dbdf0}.t-violet{background:#27244a;color:#b3adf2}.t-pink{background:#3c1d2a;color:#ef9dbc}.t-orange{background:#3b2117;color:#f2a283}.t-amber{background:#3a2a10;color:#f2b45c}.t-red{background:#3d1a20;color:#f2939c}.t-purple{background:#33203f;color:#d3a6ee}.t-cyan{background:#11363d;color:#7fd2e2}.t-lime{background:#2c3213;color:#c4d36d}.t-brown{background:#3a2a1f;color:#dcae8b}}button,.button,input,select{font:inherit;color:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;text-decoration:none;min-height:2.75rem;padding:.6rem 1.1rem;border-radius:12px;border:0;background:var(--accent);color:var(--accent-ink);font-weight:600}button.quiet,.button.quiet{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}button.danger{background:var(--danger-soft);color:var(--danger)}button.icon-btn{min-height:2.5rem;width:2.5rem;padding:0;border-radius:50%;background:var(--surface);color:var(--muted)}button.icon-btn.spin:disabled .icon{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button:disabled{opacity:.6;cursor:default}button.link{background:none;border:0;padding:0;min-height:0;color:var(--accent-text);font-weight:600;font-size:.875rem}input,select{width:100%;min-height:2.75rem;padding:.6rem .85rem;border-radius:12px;border:1px solid var(--line);background:var(--surface)}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent)}label{display:block;font-weight:500;font-size:.875rem;margin-bottom:.3rem}.field{margin-top:.9rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;align-items:center}.actions.split>*{flex:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search{position:relative;margin-top:.75rem}.search .icon{position:absolute;left:.85rem;top:50%;translate:0 -50%;color:var(--faint)}.search input{padding-left:2.6rem;border-color:transparent}.chips{display:flex;gap:.5rem;overflow-x:auto;margin-top:.6rem;padding-bottom:.1rem;scrollbar-width:none}.chip{all:unset;box-sizing:border-box;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;padding:.4rem .85rem;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);box-shadow:none}.chip:focus-visible{outline:2px solid var(--accent)}.chip .icon{width:1rem;height:1rem}.notice{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:14px;font-size:.875rem;margin-top:.75rem;background:var(--warn-soft);color:var(--warn)}.notice .grow{flex:1}.notice a,.notice button.link{color:inherit;font-weight:700}.toast{padding:.75rem 1rem;border-radius:14px;font-size:.875rem;margin-top:.75rem;background:var(--accent-soft);color:var(--accent-text)}.toast.error{background:var(--danger-soft);color:var(--danger)}dialog.sheet{border:0;padding:.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));color:var(--ink);background:var(--surface);width:100%;max-width:32rem;max-height:88dvh;margin:auto auto 0;border-radius:22px 22px 0 0}dialog.sheet:before{content:"";display:block;width:2.5rem;height:4px;border-radius:2px;background:var(--line);margin:0 auto .75rem}dialog.sheet::backdrop{background:#0006}dialog.sheet[open]{animation:up .2s ease-out}@keyframes up{0%{transform:translateY(2rem);opacity:0}}@media(min-width:52rem){dialog.sheet{margin:auto;border-radius:22px;padding-top:1.25rem}dialog.sheet:before{display:none}}.sheet-head{display:flex;align-items:center;gap:.75rem}.sheet-head .grow{flex:1;min-width:0}.sheet-head h2{font-size:1.125rem;color:var(--ink)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem;margin-top:.5rem}.cat-grid .chip{border-radius:12px;padding:.55rem .7rem;white-space:normal;line-height:1.25}.months{display:flex;gap:.5rem;align-items:flex-end;height:8rem;padding:1rem 1rem 0}.months button{flex:1;height:100%;display:flex;gap:3px;align-items:flex-end;justify-content:center;min-height:0;background:none;border-radius:8px 8px 0 0;padding:0}.months button[aria-pressed=true]{background:var(--sunken)}.months span{width:32%;max-width:1.1rem;border-radius:4px 4px 0 0;min-height:2px}.months .in{background:var(--accent)}.months .out{background:var(--faint)}.month-names{display:flex;gap:.5rem;padding:.3rem 1rem .5rem;font-size:.75rem;color:var(--muted);text-align:center}.month-names span{flex:1}.legend{display:flex;gap:1.25rem;flex-wrap:wrap;padding:.75rem 1rem 1rem;font-size:.8125rem;color:var(--muted)}.legend b{font-weight:600;color:var(--ink)}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.35rem}.stack{display:flex;gap:3px;height:10px;border-radius:5px;overflow:hidden;margin-top:1rem}.stack>span{min-width:4px}.keys{display:flex;flex-wrap:wrap;gap:.25rem .9rem;font-size:.75rem;margin-top:.5rem;color:var(--muted)}.keys i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.3rem}.donut{position:relative;padding:1rem;display:grid;place-items:center}.donut svg{width:11rem;height:11rem}.donut circle{fill:none;stroke:currentColor;stroke-width:5.5;transition:opacity .15s}.donut circle.dim{opacity:.25}.donut .mid{position:absolute;max-width:6.5rem;text-align:center;font-size:.75rem;line-height:1.25;color:var(--muted)}.donut .mid b{display:block;font-size:1.5rem;font-weight:700;color:var(--ink)}.bars{position:relative;display:flex;gap:.5rem;align-items:flex-end;height:9rem;margin:1rem 1rem 0}.bars button{all:unset;box-sizing:border-box;flex:1;height:100%;display:flex;flex-direction:column-reverse;align-items:center;gap:1px;cursor:pointer;border-radius:8px 8px 0 0}.bars button[aria-pressed=true]{background:var(--sunken)}.bars button:focus-visible{outline:2px solid var(--accent)}.bars button.off{opacity:.35}.bars button>span{flex:none;width:62%;max-width:1.75rem;border-radius:2px}.bars .avg{position:absolute;left:0;right:0;border-top:1.5px dashed var(--faint);pointer-events:none}.spark{display:block;width:100%;height:4rem;margin-top:.75rem;overflow:visible}.spark polyline{fill:none;stroke:var(--accent);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}details>summary{cursor:pointer;color:var(--muted);font-size:.875rem;font-weight:600;padding:.25rem}ol.steps{margin:.5rem 0 0;padding-left:1.25rem;font-size:.875rem}ol.steps li{margin-top:.4rem}code{overflow-wrap:anywhere;font-size:.875em;background:var(--sunken);padding:.1em .35em;border-radius:4px}.empty{text-align:center;padding:2.5rem 1rem}.empty .av{margin:0 auto .75rem;width:3.5rem;height:3.5rem}.empty p{margin-top:.4rem}.gate{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.gate>div{width:100%;max-width:24rem}.gate h1{font:650 clamp(2.5rem,12vw,3.25rem)/1.05 var(--display)}.gate .actions button{width:100%}
