@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");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;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");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;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");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;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");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;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_5ab089{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_5ab089{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_6a10ae{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_6a10ae{--font-body:"Public Sans","Public Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--paper:#f7f9f5;--surface:#ffffff;--surface-sunk:#f1f4ee;--line:#dfe5d9;--line-strong:#c3cdba;--ink:#17211c;--ink-muted:#5c6a60;--ink-faint:#8b978e;--living:#2e7d5b;--living-soft:#d9ece2;--income:#2563a8;--income-soft:#d8e5f4;--capital:#6b4e9e;--capital-soft:#e4dcf2;--alert:#b03a48;--alert-soft:#f6dcdf;--warn:#b5722a;--warn-soft:#f7e6d2;--excluded:#97a29a;--excluded-soft:#e7ebe5;--radius:6px;--radius-lg:10px;--shadow:0 1px 2px rgb(23 33 28/0.05),0 4px 12px rgb(23 33 28/0.04);--step:4px;--gutter:clamp(16px,3vw,32px);color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0f1411;--surface:#161c18;--surface-sunk:#121815;--line:#26302a;--line-strong:#3a4740;--ink:#e7ede8;--ink-muted:#9aa79f;--ink-faint:#6c7a72;--living:#4fb083;--living-soft:#1b3a2c;--income:#5b9ede;--income-soft:#16293d;--capital:#a58ada;--capital-soft:#2a2140;--alert:#e0707d;--alert-soft:#3a1f24;--warn:#d99b4f;--warn-soft:#35281a;--excluded:#6f7c74;--excluded-soft:#1d2521;--shadow:0 1px 2px rgb(0 0 0/0.4),0 4px 14px rgb(0 0 0/0.25);color-scheme:dark}}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display),var(--font-body),system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.1}a{color:inherit}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--income);outline-offset:2px;border-radius:3px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.num{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.rail{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:24px;padding:24px 16px;background:var(--surface);border-right:1px solid var(--line)}.rail-brand{display:flex;align-items:baseline;gap:8px;padding:0 8px}.rail-brand strong{font-family:var(--font-display),sans-serif;font-size:17px;letter-spacing:-.03em}.rail-brand span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.rail-nav{display:flex;flex-direction:column;gap:1px}.rail-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius);text-decoration:none;color:var(--ink-muted);font-weight:500;transition:background .12s ease,color .12s ease}.rail-link:hover{background:var(--surface-sunk);color:var(--ink)}.rail-link[aria-current=page]{background:var(--living-soft);color:var(--living);font-weight:600}.rail-link small{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-faint)}.rail-bottom{margin-top:auto;gap:12px}.rail-bottom,.rail-foot{display:flex;flex-direction:column}.rail-foot{padding:12px 10px 0;border-top:1px solid var(--line);gap:6px;font-size:11px;color:var(--ink-faint)}.rail-foot .num{color:var(--ink-muted)}.main{min-width:0;padding:28px var(--gutter) 72px;display:flex;flex-direction:column;gap:28px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.page-head h1{font-size:clamp(24px,3.4vw,34px)}.page-head p{margin-top:6px;color:var(--ink-muted);max-width:62ch}.period-picker{min-width:0;max-width:100%}.periods{display:flex;align-items:center;gap:2px;padding:3px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-lg);overflow-x:auto;scrollbar-width:thin;max-width:100%}.period-chip{flex:0 0 auto;padding:5px 10px;border-radius:var(--radius);text-decoration:none;font-size:12px;font-weight:500;color:var(--ink-muted);white-space:nowrap}.period-chip:hover,.period-chip[aria-current=true]{background:var(--surface);color:var(--ink)}.period-chip[aria-current=true]{font-weight:600;box-shadow:var(--shadow)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.card-head h2{font-size:15px;letter-spacing:-.01em}.card-head p{margin-top:4px;font-size:12px;color:var(--ink-muted);max-width:56ch}.grid-2{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.sieve{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:start}@media (max-width:900px){.sieve{grid-template-columns:minmax(0,1fr)}}.sieve-bar{display:flex;width:100%;height:56px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface-sunk)}.sieve-seg{position:relative;min-width:3px;border-right:3px solid var(--surface);transition:filter .12s ease}.sieve-seg:last-child{border-right:0}.sieve-seg:hover{filter:brightness(1.06)}.sieve-legend{margin-top:18px;display:flex;flex-direction:column;gap:0}.sieve-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line)}.sieve-row:first-child{border-top:0}.sieve-row.is-result{border-top:2px solid var(--ink);padding-top:12px;margin-top:2px}.sieve-swatch{width:10px;height:10px;border-radius:2px;align-self:start;margin-top:5px}.sieve-label{font-weight:500}.sieve-row.is-result .sieve-label{font-weight:700}.sieve-because{display:block;font-size:12px;color:var(--ink-muted);font-weight:400;margin-top:1px}.sieve-amount{font-size:13px;color:var(--ink-muted)}.sieve-row.is-result .sieve-amount{font-size:16px;font-weight:600;color:var(--ink)}.sieve-excluded .sieve-amount,.sieve-excluded .sieve-label{color:var(--ink-faint)}.headline{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--living-soft);border-radius:var(--radius-lg)}.headline-value{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(30px,4.6vw,42px);font-weight:600;letter-spacing:-.03em;color:var(--living);line-height:1}.headline-note{font-size:12px;color:var(--ink-muted)}.headline-delta{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:12px;font-weight:600}.delta-over{color:var(--alert)}.delta-under{color:var(--living)}.stat-list{margin-top:14px;display:flex;flex-direction:column;gap:0}.stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.stat-row:last-child{border-bottom:0}.stat-row dt{color:var(--ink-muted)}.stat-row dd{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.tiles{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.tile{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--radius-lg);background:var(--surface-sunk);border:1px solid var(--line)}.tile-alert{background:var(--alert-soft);border-color:transparent}.tile-value{margin-top:2px;font-size:clamp(26px,3.2vw,36px);font-weight:600;letter-spacing:-.03em;line-height:1}.tile-living .tile-value{color:var(--living)}.tile-alert .tile-value{color:var(--alert)}.tile-note{font-size:12px;color:var(--ink-muted)}.tile .headline-delta{margin-top:auto;padding-top:8px}.track{margin-top:18px}.track-bar{position:relative;height:28px;border-radius:var(--radius);background:var(--surface-sunk);border:1px solid var(--line);overflow:visible}.track-fill{position:absolute;inset:0 auto 0 0;border-radius:3px;opacity:.85}.track-forecast{position:absolute;top:0;bottom:0;border-radius:0 3px 3px 0;opacity:.26}.track-mark{position:absolute;top:-4px;bottom:-4px;width:2px;transform:translateX(-50%);background:var(--ink);opacity:.55;border-radius:1px}.track-mark-budget{top:-6px;bottom:-6px;width:3px;opacity:1}.track-legend{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;font-size:12px;color:var(--ink-muted)}.track-legend>span{display:inline-flex;align-items:center;gap:7px}.track-key{flex:0 0 auto;width:10px;height:10px;border-radius:2px;opacity:.85}.track-key-forecast{opacity:.26}.track-key-mark{flex:0 0 auto;width:2px;height:12px;background:var(--ink);opacity:.55;border-radius:1px}.track-key-mark-budget{width:3px;opacity:1}.track-foot{margin-top:14px}.insights{list-style:none;padding:0;margin:0}.insight{border-top:1px solid var(--line)}.insight:first-child{border-top:0}.insight-body{display:grid;grid-template-columns:8px minmax(0,1fr);grid-gap:12px;gap:12px;padding:11px 0;text-decoration:none;color:inherit}.insight-body:before{content:"";width:8px;height:8px;margin-top:5px;border-radius:999px;background:var(--excluded)}.insight-alert .insight-body:before{background:var(--alert)}.insight-warn .insight-body:before{background:var(--warn)}.insight-good .insight-body:before{background:var(--living)}.insight-headline{display:block;font-weight:600}.insight-detail{display:block;margin-top:2px;font-size:12px;color:var(--ink-muted)}a.insight-body:hover .insight-headline{text-decoration:underline}.chart{width:100%;height:auto;display:block;overflow:visible}.chart-bar{transition:opacity .12s ease}.chart-bar:hover{opacity:.82}.chart-axis{font-size:10px;fill:var(--ink-faint);font-family:var(--font-mono),monospace}.chart-rule{stroke:var(--ink-faint);stroke-width:1;stroke-dasharray:3 3}.chart-rule-label{font-size:10px;fill:var(--ink-muted);font-family:var(--font-mono),monospace}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-sunk);text-align:left;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:10px 14px;white-space:nowrap}tbody td,thead th{border-bottom:1px solid var(--line)}tbody td{padding:9px 14px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-sunk)}.col-amount{text-align:right;white-space:nowrap}.col-num{text-align:right;white-space:nowrap}.amount-out,.col-num{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.amount-out{font-weight:500}.amount-in{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;color:var(--income)}.amount-muted{color:var(--ink-faint)}.desc{display:flex;flex-direction:column;gap:1px;min-width:200px}.desc strong{font-weight:500}.desc small{font-size:11px;color:var(--ink-faint);font-family:var(--font-mono),monospace}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.tag-living{background:var(--living-soft);color:var(--living)}.tag-capital{background:var(--capital-soft);color:var(--capital)}.tag-income{background:var(--income-soft);color:var(--income)}.tag-excluded{background:var(--excluded-soft);color:var(--excluded)}.tag-alert{background:var(--alert-soft);color:var(--alert)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-ghost{border:1px dashed var(--line-strong);color:var(--ink-faint)}.cat-row{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr) 96px;grid-gap:14px;gap:14px;align-items:center;padding:7px 0;text-decoration:none;border-bottom:1px solid var(--line)}.cat-row:last-child{border-bottom:0}.cat-row:hover .cat-name{color:var(--living)}.cat-name{display:flex;align-items:center;gap:7px;font-weight:500;min-width:0}.cat-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-name .tag{flex:0 0 auto}.cat-track{position:relative;height:20px;background:var(--surface-sunk);border-radius:3px;overflow:visible}.cat-fill{position:absolute;inset:0 auto 0 0;border-radius:3px}.cat-avg{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.7;border-radius:1px}.cat-value{text-align:right;font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.toolbar{flex-wrap:wrap;gap:8px}.field,.toolbar{display:flex;align-items:center}.field{gap:6px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.field input,.field select{border:0;background:transparent;outline:none;min-width:0}.field input{width:240px}.field label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.btn{display:inline-block;text-decoration:none;padding:6px 12px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);font-weight:600;font-size:13px;cursor:pointer}.btn:hover{opacity:.9}.btn-quiet{background:var(--surface);color:var(--ink-muted);border-color:var(--line)}.btn-quiet:hover{color:var(--ink);border-color:var(--line-strong);opacity:1}.recat{border:1px solid transparent;background:transparent;border-radius:var(--radius);padding:3px 6px;cursor:pointer;max-width:190px;font-size:12px}.recat:focus,.recat:hover{border-color:var(--line-strong);background:var(--surface)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.dropzone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:2px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-sunk);transition:border-color .12s ease,background .12s ease}.dropzone.is-dragging{border-color:var(--living);background:var(--living-soft)}.dropzone.is-busy{opacity:.6}.dropzone-label{display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0}.dropzone-label strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone-label span{font-size:12px;color:var(--ink-muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.banner-error{border-color:var(--alert);background:var(--alert-soft)}.banner-ok{border-color:var(--living);background:var(--living-soft)}.account-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.account-row:last-of-type{border-bottom:0}.account-name{display:flex;flex-direction:column;gap:1px;min-width:180px}.account-name small{font-size:11px;color:var(--ink-faint)}.account-facts{display:flex;gap:14px;margin-left:auto;font-size:12px}.account-facts,.empty{color:var(--ink-muted)}.empty{padding:40px 20px;text-align:center}.empty strong{display:block;font-family:var(--font-display),sans-serif;font-size:16px;color:var(--ink);margin-bottom:4px}.banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-lg);border:1px solid var(--warn);background:var(--warn-soft);color:var(--ink);font-size:13px}.banner strong{font-weight:700}.note{font-size:12px;color:var(--ink-muted)}@media (max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.rail{position:static;height:auto;align-items:center;gap:12px;border-right:0;border-bottom:1px solid var(--line);padding:12px var(--gutter)}.rail,.rail-nav{flex-direction:row}.rail-nav{gap:4px;flex:1 1;min-width:0;overflow-x:auto}.rail-bottom,.rail-brand{flex-shrink:0}.rail-bottom{margin-top:0}.rail-foot,.rail-link small{display:none}.cat-row{grid-template-columns:minmax(110px,1fr) 90px}.cat-track{display:none}}.budget-summary{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:start}@media (max-width:1320px){.budget-summary{grid-template-columns:minmax(0,1fr)}.budget-summary>:last-child{order:-1}}.budget-row{display:grid;grid-template-columns:minmax(150px,224px) minmax(0,1fr) 112px 112px;grid-gap:14px;gap:14px;align-items:center;padding:7px 0;text-decoration:none;border-bottom:1px solid var(--line)}.budget-row:last-child{border-bottom:0}.budget-row:hover .cat-name{color:var(--living)}.budget-figures{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.budget-figures .num{font-weight:500}.budget-figures small{font-size:11px;color:var(--ink-faint);font-family:var(--font-mono),monospace}.budget-verdict{display:flex;justify-content:flex-end}.headline-over{background:var(--alert-soft)}.headline-over .headline-value{color:var(--alert)}.headline-over .progress{background:color-mix(in srgb,var(--alert) 22%,transparent)}.headline-over .progress-fill{background:var(--alert)}.budget-edit-grid{display:grid;grid-gap:2px 24px;gap:2px 24px;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr))}.budget-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;grid-template-areas:"name field" "hint field";grid-gap:0 12px;gap:0 12px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.budget-edit-name{grid-area:name;display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;font-weight:500;min-width:0}.budget-edit-hint{grid-area:hint;font-size:11px;color:var(--ink-faint);font-family:var(--font-mono),monospace}.budget-edit-field{grid-area:field;display:flex;align-items:center;gap:4px;padding:5px 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-faint)}.budget-edit-field:focus-within{border-color:var(--line-strong)}.budget-edit-field input{width:100%;min-width:0;border:0;background:transparent;outline:none;text-align:right;font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.budget-loose{list-style:none;padding:0;display:grid;grid-gap:0 24px;gap:0 24px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.budget-loose li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.budget-loose a{text-decoration:none;font-weight:500}.budget-loose a:hover{color:var(--living)}@media (max-width:760px){.budget-row{grid-template-columns:minmax(0,1fr) 110px}.budget-verdict{display:none}}.progress{height:3px;margin-top:10px;border-radius:2px;background:color-mix(in srgb,var(--living) 22%,transparent);overflow:hidden}.progress-fill{display:block;height:100%;background:var(--living);border-radius:2px}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px var(--gutter)}.signin-card{width:100%;max-width:380px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.signin-brand{display:flex;align-items:baseline;gap:8px;margin-bottom:22px}.signin-brand strong{font-family:var(--font-display),sans-serif;font-size:17px;letter-spacing:-.03em}.signin-brand span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.signin-card h1{font-size:24px;margin-bottom:6px}.signin-card>p{font-size:13px;color:var(--ink-muted);margin-bottom:22px}.signin-forms{display:flex;flex-direction:column;gap:18px}.signin-passkey,.signin-password{display:flex;flex-direction:column;gap:8px}.signin-btn{width:100%;padding:9px 12px;text-align:center}.signin-field{padding:8px 10px;flex-direction:column;align-items:stretch;gap:3px}.signin-field input{width:100%}.signin-error{color:var(--alert)}.signin-or{display:flex;align-items:center;gap:10px;color:var(--ink-faint);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.signin-or:after,.signin-or:before{content:"";flex:1 1;height:1px;background:var(--line)}.rail-signout-btn{width:100%;font-size:12px}.passkey-add{display:flex;flex-direction:column;gap:8px}.passkey-add .field{flex:1 1 220px;max-width:340px}.passkey-add .field label{white-space:nowrap}.passkey-add .field input{width:auto;flex:1 1}.passkey-blocked{max-width:62ch}