@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--terra-100:#fae3d9;--terra-300:#eb9f80;--terra-400:#de7650;--terra-600:#a9432a;--terra-700:#8b3622;--terra-900:#4b1d14;--bg:#fcfaf7;--surface:#fff;--surface-2:#f6f0ea;--text:#1a1412;--muted:#6a5b53;--border:#1a14121a;--brand:var(--terra-600);--on-brand:#fff;--pos:#2e7d4f;--neg:#b42318;--font-display:"Inter Tight Variable", "Inter Tight", system-ui, sans-serif;--font-body:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-lg:16px;--r-xl:24px;--shadow-1:0 1px 2px #1a14120f, 0 2px 6px #1a14120d;--shadow-2:0 2px 4px #1a14120d, 0 8px 16px #1a141212, 0 24px 48px #782d191a;--ease:cubic-bezier(.22, .61, .36, 1);--side:15rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1a1412;--surface:#251c19;--surface-2:#2e231f;--text:#f4ece4;--muted:#bcaea4;--border:#fff4ec1f;--brand:var(--terra-400);--on-brand:#1a1412;--pos:#5fc58a;--neg:#ff8a7a;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 4px #0000004d, 0 8px 16px #0000004d, 0 24px 48px #00000059}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:400 1rem/1.55 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.1}p{margin:0}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:8px}.muted{color:var(--muted)}.small{font-size:.875rem}.pos{color:var(--pos)}.neg{color:var(--neg)}.error{color:var(--neg);font-weight:500}.num{font-variant-numeric:tabular-nums}.eyebrow{font:600 .75rem/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--brand);display:block}.center{text-align:center;margin-top:40vh}.shell{min-height:100vh;padding-bottom:5.5rem}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.brand{font:700 1.25rem/1 var(--font-display);letter-spacing:-.02em;align-items:center;gap:.6rem;display:flex}.mark{background:var(--brand);width:2rem;height:2rem;color:var(--on-brand);border-radius:10px;place-items:center;display:grid}.mark svg{width:1.15rem;height:1.15rem}.who select{min-height:2.5rem}.content{width:100%;max-width:46rem;margin:0 auto;padding:1.25rem 1rem 0}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:1.25rem;display:flex}.pagehead h1{margin-top:.4rem;font-size:2rem}.monthpick{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.monthpick strong{text-align:center;min-width:8.5rem;font:600 .95rem/1 var(--font-body)}.nav{z-index:30;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.nav button{min-height:3.25rem;color:var(--muted);font:500 .75rem/1 var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.4rem 0;display:flex}.nav button svg{width:1.4rem;height:1.4rem}.nav button.active{color:var(--brand);font-weight:600}.sidebrand,.sidewho{display:none}@media (width>=56rem){.shell{padding:0 0 2rem var(--side)}.topbar{display:none}.content{padding:2.5rem 2rem 0}.nav{width:var(--side);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;border-right:1px solid var(--border);flex-direction:column;gap:.25rem;padding:1.5rem .9rem;top:0;bottom:0;right:auto}.nav button{flex-direction:row;flex:none;justify-content:flex-start;gap:.75rem;min-height:2.9rem;padding:.7rem .9rem;font-size:.95rem}.nav button:hover{background:var(--surface-2)}.nav button.active{background:color-mix(in srgb, var(--brand) 13%, transparent)}.sidebrand{margin:0 .4rem 1.5rem;display:flex}.sidewho{gap:.35rem;margin:auto .4rem 0;padding-top:1rem;display:grid}}button,input,select{font:inherit;color:inherit}input,select{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;min-height:2.75rem;padding:.55rem .8rem}input:focus,select:focus{outline:2px solid var(--brand);outline-offset:0;border-color:#0000}.who select,.sidewho select{width:auto}.sidewho select{width:100%}.btn,.iconbtn{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:2.75rem;transition:transform .15s var(--ease), box-shadow .15s var(--ease), background-color .15s;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--shadow-1);transform:translateY(-1px)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.danger{color:var(--neg)}.btn svg{width:1.1rem;height:1.1rem}.btn:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.iconbtn{width:2.25rem;min-height:2.25rem;color:var(--muted);background:0 0;border-color:#0000;padding:0}.iconbtn:hover{background:var(--surface-2);color:var(--text)}.iconbtn.danger:hover{color:var(--neg)}.iconbtn svg{width:1.15rem;height:1.15rem}.monthpick .iconbtn{border-radius:50%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-1);animation:rise .5s var(--ease) both;animation-delay:var(--d,0s);margin-bottom:1rem;padding:1.25rem}.card h2{margin-bottom:1rem;font-size:1.15rem}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.hero{color:#fff;background:linear-gradient(135deg, var(--terra-700), var(--terra-400));box-shadow:var(--shadow-2);border:0;position:relative;overflow:hidden}.hero:after{content:"";background:#ffffff1a;border-radius:50%;width:12rem;height:12rem;position:absolute;top:-3rem;right:-3rem}.hero .eyebrow{color:#fffc}.hero strong{font:700 clamp(2.2rem, 8vw, 3.2rem) / 1 var(--font-display);letter-spacing:-.03em;margin:.6rem 0 .35rem;display:block}.hero p{color:#ffffffd9;font-size:.9rem}.badge{background:#ffffff38;border-radius:999px;margin-top:.75rem;padding:.3rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.people{gap:1rem;margin-bottom:1rem;display:grid}@media (width>=40rem){.people{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}}.people .card{margin:0}.person{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.avatar{background:var(--terra-100);width:2.6rem;height:2.6rem;color:var(--terra-700);font:700 1rem/1 var(--font-display);border-radius:50%;flex:none;place-items:center;display:grid}@media (prefers-color-scheme:dark){.avatar{background:color-mix(in srgb, var(--terra-400) 22%, transparent);color:var(--terra-300)}}.person strong{font:700 1.05rem/1.2 var(--font-display);display:block}.balance{font:700 1.7rem/1.1 var(--font-display);letter-spacing:-.02em}.balance+span{color:var(--muted);margin-top:.15rem;font-size:.85rem;display:block}.bar{background:var(--surface-2);border-radius:999px;height:.5rem;margin:1rem 0 .5rem;overflow:hidden}.bar i{background:var(--brand);height:100%;transition:width .7s var(--ease);border-radius:999px;display:block}.bar i.over{background:var(--pos)}.pair{color:var(--muted);justify-content:space-between;font-size:.85rem;display:flex}.carry{background:var(--surface-2);color:var(--muted);border-radius:10px;margin-top:.75rem;padding:.5rem .7rem;font-size:.8rem}.transfers{gap:.6rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.transfers li{border-radius:var(--r-lg);background:var(--surface-2);align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.transfers .route{flex:1;min-width:0}.transfers svg{vertical-align:-.15rem;width:1rem;height:1rem;color:var(--muted);margin:0 .25rem}.transfers .amount{font:700 1rem/1 var(--font-display);white-space:nowrap}.daygroup h3{font:600 .75rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:1.25rem 0 .5rem}.expenses{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-1);margin:0;padding:0;list-style:none;overflow:hidden}.expenses li{align-items:center;gap:.8rem;padding:.8rem 1rem;display:flex}.expenses li+li{border-top:1px solid var(--border)}.chip{width:2.5rem;height:2.5rem;font:700 .95rem/1 var(--font-display);color:var(--c);background:color-mix(in srgb, var(--c) 16%, transparent);border-radius:12px;flex:none;place-items:center;display:grid}.expenses .what{flex:1;min-width:0}.expenses .what strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.expenses .amount{font:700 1rem/1 var(--font-display);white-space:nowrap}.expenses .tap{cursor:pointer;transition:background-color .15s}.expenses .tap:hover{background:var(--surface-2)}.expenses .what .small{display:block}.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}label{color:var(--muted);gap:.35rem;font-size:.8rem;font-weight:600;display:grid}label.inline{color:var(--text);grid-template-columns:1fr 6rem auto;align-items:center;margin-bottom:.6rem;font-size:1rem;font-weight:500}.row{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.row input{flex:1;min-width:0}details{border-bottom:1px solid var(--border);padding:.6rem 0}summary{cursor:pointer;font-weight:600}details ul{color:var(--muted);margin:.5rem 0 0;padding-left:1.2rem}.login{text-align:center;gap:1rem;max-width:24rem;margin:18vh auto 0;display:grid}.login .mark{border-radius:16px;width:3.5rem;height:3.5rem;margin:0 auto}.login .mark svg{width:1.8rem;height:1.8rem}.login h1{font-size:1.8rem}.toast{z-index:40;background:var(--text);max-width:26rem;color:var(--bg);text-align:center;box-shadow:var(--shadow-2);animation:rise .3s var(--ease) both;border-radius:999px;margin:0 auto;padding:.75rem 1.1rem;font-weight:500;position:fixed;bottom:5.5rem;left:1rem;right:1rem}@media (width>=56rem){.toast{bottom:1.5rem;left:calc(var(--side) + 1rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
