@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/atkinson-hyperlegible-next-latin-ext-wght-normal.06adi5qjgm3bm.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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/atkinson-hyperlegible-next-latin-wght-normal.1o9o6__l__p-w.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.03f_1bxrvnkfd.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.37g1whwfgt7kp.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.1iqnhac4m3hwo.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.woff)format("woff");unicode-range:U+460-52F,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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff");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{--canvas:#f5f7fb;--surface:#fff;--ink:#172033;--action:#2d63d5;--action-dark:#1d48a2;--credit:#087e8b;--error:#c54836;--rules:#c8d0de;--muted:#667085;--focus:#f0a202;--display:"Bricolage Grotesque Variable", "Avenir Next", sans-serif;--body:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible", system-ui, sans-serif;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-family:var(--body);font-size:100%;line-height:1.5}body{min-width:20rem;margin:0}button,input,select{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:.2rem solid var(--focus);outline-offset:.18rem}a{color:var(--action)}h1,h2,p{margin-top:0}h1,h2{font-family:var(--display);font-variation-settings:"wdth" 88;letter-spacing:-.035em;line-height:1.05}h1{margin-bottom:1rem;font-size:clamp(2.2rem,8vw,4.75rem)}h2{font-size:clamp(1.35rem,4vw,2rem)}.app-shell{min-height:100vh}.site-header,.site-footer,.narrow-page,.wide-page{width:min(100% - 2rem,76rem);margin-inline:auto}.site-header{border-bottom:1px solid var(--rules);justify-content:space-between;align-items:center;min-height:4.5rem;display:flex}.skip-link{background:var(--ink);clip:rect(0 0 0 0);color:#fff;white-space:nowrap;z-index:100;border:0;width:1px;height:1px;margin:-1px;padding:0;font-weight:700;position:absolute;overflow:hidden}.skip-link:focus{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:.75rem 1rem;position:fixed;top:.5rem;left:1rem;overflow:visible}.wordmark{color:var(--ink);font-family:var(--display);letter-spacing:-.04em;font-size:1.35rem;font-weight:700;text-decoration:none}.locale-switcher{font-family:var(--mono);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.locale-switcher button,.suggestion-label button{cursor:pointer;background:0 0;border:0;min-width:2.75rem;min-height:2.75rem;padding:.35rem}.locale-switcher button[aria-pressed=true]{color:var(--action);text-underline-offset:.25rem;font-weight:700;text-decoration:underline}.site-footer{border-top:1px solid var(--rules);color:var(--muted);font-family:var(--mono);margin-top:5rem;padding-block:1.25rem 2rem;font-size:.7rem}.narrow-page{max-width:43rem;padding-block:clamp(3rem,8vw,7rem)}.wide-page{padding-block:clamp(2.5rem,7vw,6rem)}.page-heading{max-width:48rem;margin-bottom:2.5rem}.page-heading>p:last-child,.group-header p{color:var(--muted);max-width:42rem;font-size:1.05rem}.eyebrow{color:var(--action);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-size:.72rem;font-weight:500}.muted,small{color:var(--muted)}.field-error{color:var(--error);font-weight:700}.muted{font-size:.92rem}small{margin-top:.35rem;font-size:.78rem;display:block}.notice{border:1px solid var(--rules);border-left-width:.35rem;margin-block:1rem;padding:.85rem 1rem}.notice-info{border-left-color:var(--action)}.notice-success{border-left-color:var(--credit)}.notice-error{border-left-color:var(--error);color:#802b20}.notice p:last-child,.notice div>:last-child{margin-bottom:0}.form-stack,.auth-form form{gap:1.35rem;display:grid}label{gap:.4rem;font-weight:700;display:grid}input,select{background:var(--surface);border:1px solid #8e99ab;border-radius:0;width:100%;min-height:3rem;padding:.65rem .75rem}input[readonly]{color:#536074;background:#edf1f7}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.button-primary,.button-secondary,.button-quiet{cursor:pointer;text-align:center;border:1px solid #0000;justify-content:center;align-items:center;min-height:3rem;padding:.65rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.button-primary{background:var(--action);color:#fff}.button-primary:hover:not(:disabled){background:var(--action-dark)}.button-secondary{background:var(--surface);border-color:var(--action);color:var(--action)}.button-quiet{color:var(--action);text-underline-offset:.2rem;background:0 0;text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.52}.button-row,.review-actions{flex-wrap:wrap;align-items:stretch;gap:.75rem;display:flex}.data-list{border-block:1px solid var(--rules);margin:0}.data-list>div,.preview-result dl>div{border-bottom:1px solid var(--rules);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.7rem;display:flex}.data-list>div:last-child,.preview-result dl>div:last-child{border-bottom:0}.data-list dt{color:var(--muted)}.data-list dd,.preview-result dd{font-family:var(--mono);text-align:right;margin:0}.ruled-section,.ledger-panel,.review-panel{background:var(--surface);border:1px solid var(--rules);padding:clamp(1.25rem,3vw,2rem)}.account-ledger,.setup-grid{gap:1rem;display:grid}.session-list{margin:1rem 0 0;padding:0;list-style:none}.session-list li{border-top:1px solid var(--rules);font-family:var(--mono);justify-content:space-between;gap:1rem;padding-block:.75rem;font-size:.76rem;display:flex}.session-list li span{color:var(--credit)}.loading-state{color:var(--muted);align-items:center;gap:.65rem;display:flex}.loading-state span{border:2px solid var(--rules);border-right-color:var(--action);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}.setup-grid{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}.ledger-panel>.button-primary,.invite-panel>.button-primary{width:100%;margin-top:1.5rem}.invite-panel{align-content:start;gap:.75rem;display:grid}.ledger-rail{margin:1.5rem 0}.ledger-rail figcaption{color:var(--muted);margin-bottom:.7rem;font-size:.82rem}.rail-labels{font-family:var(--mono);justify-content:space-between;font-size:.78rem;display:flex}.rail-labels b{color:var(--ink)}.rail-track{background:#d9e1ee;height:.45rem;margin-top:.65rem;position:relative}.rail-track span{background:var(--credit);height:100%;display:block}.rail-track i{background:var(--ink);width:.18rem;height:1.05rem;position:absolute;top:50%;transform:translate(-50%,-50%)}.group-header{border-bottom:1px solid var(--rules);justify-content:space-between;align-items:end;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.group-header h1{margin-bottom:.5rem}.group-header p{margin-bottom:0}.activity-layout{grid-template-columns:minmax(0,2fr) minmax(17rem,1fr);gap:1rem;display:grid}.empty-ledger{border:1px solid var(--rules);flex-direction:column;justify-content:center;align-items:start;min-height:27rem;padding:clamp(1.5rem,6vw,5rem);display:flex}.empty-ledger p{color:var(--muted);max-width:28rem}.empty-mark{color:var(--action);font-family:var(--mono);font-size:3rem;font-weight:500;line-height:1}.feed-panel,.balances-panel,.expense-detail{background:var(--surface);border:1px solid var(--rules);padding:clamp(1.25rem,3vw,2rem)}.expense-detail{gap:1.5rem;padding:clamp(1.25rem,4vw,3rem);display:grid}.expense-feed-list{margin:1.25rem 0 0;padding:0;list-style:none}.expense-feed-list li{border-top:1px solid var(--rules)}.expense-feed-row{color:inherit;grid-template-columns:minmax(0,1.6fr) minmax(6rem,.6fr) minmax(6rem,.7fr) minmax(5rem,.6fr);align-items:center;gap:.5rem 1rem;padding-block:.85rem;text-decoration:none;display:grid}.expense-feed-description{font-weight:700}.expense-feed-date{color:var(--muted);font-family:var(--mono);font-size:.82rem}.expense-feed-amount{font-family:var(--mono);text-align:right}.expense-feed-status{text-align:right;text-transform:uppercase;font-size:.78rem;font-weight:700}.expense-feed-status-active{color:var(--credit)}.expense-feed-status-voided{color:var(--error)}.feed-panel>.button-secondary{margin-top:1.25rem}.ledger-panel-stack{gap:1rem;display:grid}.balance-rail{border:1px solid var(--rules);height:.6rem;margin:1rem 0;display:flex;overflow:hidden}.balance-rail-credit{background:var(--credit)}.balance-rail-debit{background:var(--error)}.balance-table{border-collapse:collapse;width:100%}.balance-table caption{caption-side:top;color:var(--muted);text-align:left;margin-bottom:.5rem;font-size:.78rem}.balance-table th,.balance-table td{border-top:1px solid var(--rules);text-align:left;padding-block:.6rem}.balance-table thead th{color:var(--muted);text-transform:uppercase;border-top:0;font-size:.72rem}.balance-table td{font-family:var(--mono)}.expense-detail-actions p[role=alert]{color:var(--error);margin:0;font-weight:700}.proposal-panel{background:var(--surface);border:1px dashed var(--rules);margin-bottom:1.5rem;padding:clamp(1.25rem,3vw,2rem)}.proposal-panel>.muted{max-width:42rem}.proposal-list{gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.proposal-card{border:1px dashed var(--rules);gap:.85rem;padding:clamp(1rem,3vw,1.5rem);display:grid}.proposal-badge{border:1px dashed var(--focus);color:#8a5a00;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#fff7e6;justify-self:start;align-items:center;gap:.4rem;width:max-content;padding:.3rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.proposal-badge:before{content:"◷"}.proposal-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;display:flex}.proposal-description{font-weight:700}.proposal-scheduled{color:var(--muted);font-family:var(--mono);font-size:.82rem}.proposal-amount-line{margin:0}.proposal-amount-line b{font-family:var(--mono)}.proposal-variable{gap:.6rem;max-width:26rem;display:grid}.proposal-actions{margin-top:.25rem}.expense-form{grid-template-columns:minmax(0,1.75fr) minmax(19rem,.85fr);align-items:start;gap:1rem;display:grid}.expense-main{background:var(--surface);border:1px solid var(--rules);gap:2rem;padding:clamp(1.25rem,4vw,3rem);display:grid}.expense-main fieldset{border:0;border-top:1px solid var(--rules);min-inline-size:0;margin:0;padding:1.5rem 0 0}.expense-main legend{font-family:var(--display);padding:0 .5rem 0 0;font-size:1.15rem;font-weight:700}.amount-row{max-width:26rem}.money-input{grid-template-columns:auto 1fr;align-items:stretch;display:grid}.money-input>span{background:var(--ink);color:#fff;font-family:var(--mono);align-items:center;padding-inline:.75rem;font-size:.78rem;display:flex}.money-input input{font-family:var(--mono);border-left:0;font-size:1.45rem}.choice-row{flex-wrap:wrap;gap:.65rem;margin-top:.9rem;display:flex}.choice{border:1px solid var(--rules);cursor:pointer;flex:10rem;align-items:center;gap:.6rem;padding:.7rem;display:flex}.choice:has(input:checked){border-color:var(--action);box-shadow:inset 0 -.18rem var(--action)}.choice input,.split-tabs input{width:auto;min-height:auto}.suggestion-label{color:#254d9f;background:#eef4ff;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.8rem;padding:.6rem .75rem;font-size:.9rem;display:flex}.suggestion-label button{color:inherit;margin-left:auto;font-weight:700;text-decoration:underline}.split-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-block:1rem;display:grid}.split-tabs label{cursor:pointer;text-align:center;font-size:.86rem;display:block}.split-tabs input{opacity:0;position:absolute}.split-tabs span{border:1px solid var(--rules);min-height:2.75rem;padding:.65rem .25rem;display:block}.split-tabs label+label span{border-left:0}.split-tabs input:checked+span{background:var(--ink);color:#fff}.split-tabs input:focus-visible+span{outline:.2rem solid var(--focus);outline-offset:.18rem}.allocation-inputs{gap:.75rem;display:grid}.allocation-inputs label{grid-template-columns:minmax(7rem,1fr) minmax(8rem,12rem);align-items:center;display:grid}.allocation-inputs label>span{align-items:center;display:flex;position:relative}.allocation-inputs b{color:var(--muted);font-family:var(--mono);font-size:.7rem;position:absolute;right:.7rem}.allocation-inputs input{font-family:var(--mono);padding-right:3rem}.review-panel{position:sticky;top:1rem}.preview-result{border-top:1px solid var(--rules);color:var(--credit);padding-top:1rem}.preview-result dl{color:var(--ink);margin-bottom:1.5rem}.review-actions{flex-direction:column}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:52rem){.setup-grid,.activity-layout,.expense-form{grid-template-columns:1fr}.review-panel{position:static}.group-header{flex-direction:column;align-items:stretch;gap:1rem}}@media (max-width:30rem){.site-header,.site-footer,.narrow-page,.wide-page{width:min(100% - 1.25rem,76rem)}.two-columns{grid-template-columns:1fr}.split-tabs{grid-template-columns:repeat(2,1fr)}.split-tabs label:nth-child(3) span{border-left:1px solid var(--rules)}.split-tabs label:nth-child(n+3) span{border-top:0}.allocation-inputs label{grid-template-columns:1fr;align-items:stretch}.button-row>*,.review-actions>*{width:100%}.expense-feed-row{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-feed-description{grid-column:1/-1}.expense-feed-amount,.expense-feed-status{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
