:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1c2321;--ink-soft:#565f5a;--paper:#f6f5f1;--panel:#fcfbf8;--line:#e4e1d8;--moss:#3e7c59;--moss-bg:#e7f1eb;--plum:#8b3a4e;--plum-bg:#f4e7ea;--amber:#d8a13b;--amber-ink:#5c4109;--hover:#f0eee7;--field:#fff;--dashed:#c9c4b5;--btn-hover:#000;--scrollbar:#d8d4c8;--overlay:#1c232173;--shadow:#00000040;--on-accent:var(--paper);--avatar-ink:#fff;--avatar-neutral:#b7b2a2;--avatar-neutral-active:#565f5a;--active-bg:var(--ink);--active-ink:var(--paper);--radius:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eceae3;--ink-soft:#9aa39d;--paper:#151917;--panel:#1c211e;--line:#2a302c;--moss:#6fb08c;--moss-bg:#1b2a22;--plum:#d07e93;--plum-bg:#2e1d22;--amber:#d8a13b;--amber-ink:#3a2705;--hover:#232925;--field:#121614;--dashed:#3b443e;--btn-hover:#fff;--scrollbar:#39413b;--overlay:#060807a8;--shadow:#0000008c;--avatar-neutral:#5b645e;--avatar-neutral-active:#69736c;--active-bg:#2e3a33;--active-ink:var(--ink)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eceae3;--ink-soft:#9aa39d;--paper:#151917;--panel:#1c211e;--line:#2a302c;--moss:#6fb08c;--moss-bg:#1b2a22;--plum:#d07e93;--plum-bg:#2e1d22;--amber:#d8a13b;--amber-ink:#3a2705;--hover:#232925;--field:#121614;--dashed:#3b443e;--btn-hover:#fff;--scrollbar:#39413b;--overlay:#060807a8;--shadow:#0000008c;--avatar-neutral:#5b645e;--avatar-neutral-active:#69736c;--active-bg:#2e3a33;--active-ink:var(--ink)}*{box-sizing:border-box}html,body{height:100%}body{background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,sans-serif}#app{height:100vh;min-height:560px;display:flex}.rail{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:280px;display:flex}.rail-head{border-bottom:1px solid var(--line);padding:22px 20px 16px}.wordmark{letter-spacing:-.01em;font-family:Fraunces,serif;font-size:22px;font-weight:600}.wordmark span{color:var(--moss)}.rail-sub{color:var(--ink-soft);margin-top:3px;font-size:12.5px}.rail-section-label{color:var(--ink-soft);padding:16px 20px 6px;font-size:11.5px}.friend-list{margin:0;padding:0 8px;list-style:none}.friend-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;transition:background .12s;display:flex}.friend-item:hover{background:var(--hover)}.friend-item.active{background:var(--active-bg)}.friend-item.active .friend-name,.friend-item.active .friend-amt{color:var(--active-ink)}.avatar{width:32px;height:32px;color:var(--avatar-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.friend-meta{flex:1;min-width:0}.friend-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.friend-amt{margin-top:1px;font-size:12px}.friend-amt.pos{color:var(--moss)}.friend-amt.neg{color:var(--plum)}.friend-amt.zero{color:var(--ink-soft)}.rail-foot{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.add-friend-btn{border:1px dashed var(--dashed);width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;padding:9px;font-family:inherit;font-size:13px}.add-friend-btn:hover{border-color:var(--ink-soft);color:var(--ink)}.scroll-area{flex:1;overflow-y:auto}.avatar.avatar-group{background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:15px}.rail-empty{color:var(--ink-soft);padding:4px 12px 2px;font-size:12px}.rail-foot .rail-empty{text-align:center}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{justify-content:space-between;align-items:flex-start;padding:32px 40px 20px;display:flex}.headline-label{color:var(--ink-soft);margin-bottom:6px;font-size:13px}.headline{letter-spacing:-.01em;font-family:Fraunces,serif;font-size:38px;font-weight:500;line-height:1.1}.headline .amt.pos{color:var(--moss)}.headline .amt.neg{color:var(--plum)}.headline .amt.zero{color:var(--ink-soft)}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:600}.btn-primary{background:var(--ink);color:var(--on-accent)}.btn-primary:hover{background:var(--btn-hover)}.btn-ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--ink-soft)}.topbar-actions{gap:10px;display:flex}.feed{flex:1;padding:0 40px 40px;overflow-y:auto}.feed-empty{color:var(--ink-soft);max-width:360px;padding:40px 0;font-size:14px}.day-group{margin-bottom:6px}.day-label{color:var(--ink-soft);border-top:1px solid var(--line);margin-top:10px;padding:14px 0 6px;font-size:11.5px}.day-group:first-child .day-label{border-top:none;margin-top:0}.expense-row{border-radius:8px;align-items:center;gap:14px;padding:12px 4px;display:flex}.expense-row:hover{background:var(--hover)}.exp-icon{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;display:flex}.exp-mid{flex:1;min-width:0}.exp-title{font-size:14px;font-weight:600}.exp-sub{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.exp-cat{color:var(--cat,inherit)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .exp-cat{color:color-mix(in oklab,var(--cat,currentColor) 58%,var(--ink))}}:root[data-theme=dark] .exp-cat{color:color-mix(in oklab,var(--cat,currentColor) 58%,var(--ink))}.exp-right{text-align:right;flex-shrink:0}.exp-total{color:var(--ink-soft);font-size:13px}.exp-share{margin-top:2px;font-size:14px;font-weight:600}.exp-share.pos{color:var(--moss)}.exp-share.neg{color:var(--plum)}.settle-row{color:var(--ink-soft);cursor:pointer;border-radius:8px;align-items:center;gap:14px;padding:10px 4px;font-size:13.5px;font-style:italic;display:flex}.settle-row:hover{background:var(--hover)}.settle-row .exp-icon{background:var(--amber);border-color:var(--amber);color:var(--avatar-ink)}.group-members{flex-direction:column;gap:2px;max-width:340px;margin-top:16px;display:flex}.group-member-row{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13px;display:flex}.group-member-row:hover{background:var(--hover)}.group-member-row .gm-name{color:var(--ink-soft)}.suggested{max-width:340px;margin-top:20px}.suggested .group-members{margin-top:8px}.suggested .split-hint{margin-top:8px;line-height:1.5}.suggest-row{cursor:default}.suggest-row:hover{background:0 0}.suggest-side{align-items:center;gap:10px;display:flex}.suggest-side .friend-amt{margin-top:0}.suggest-record{border-radius:6px;padding:4px 10px}.text-link{color:var(--ink-soft);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:12px;padding:0;font-family:inherit;font-size:12.5px;text-decoration:underline;display:inline-block}.text-link:hover{color:var(--plum)}.overlay{background:var(--overlay);z-index:50;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.overlay.show{display:flex}.modal{background:var(--panel);width:100%;max-width:440px;max-height:88vh;box-shadow:0 20px 60px var(--shadow);border-radius:14px;padding:26px 26px 22px;overflow-y:auto}.modal h2{margin:0 0 18px;font-family:Fraunces,serif;font-size:22px;font-weight:500}.field-label{color:var(--ink-soft);margin:14px 0 6px;font-size:12.5px;display:block}.field-label:first-of-type{margin-top:0}input[type=text],input[type=number]{border:1px solid var(--line);background:var(--field);width:100%;color:var(--ink);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}input:focus{outline:2px solid var(--amber);outline-offset:1px}.paid-by-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--field);cursor:pointer;border-radius:20px;padding:7px 12px;font-family:inherit;font-size:13px}.chip.selected{background:var(--ink);color:var(--on-accent);border-color:var(--ink)}.split-toggle{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;display:flex;overflow:hidden}.split-toggle button{background:var(--field);cursor:pointer;color:var(--ink-soft);border:none;border-right:1px solid var(--line);flex:1;padding:8px;font-family:inherit;font-size:12.5px}.split-toggle button:last-child{border-right:none}.split-toggle button.active{background:var(--ink);color:var(--on-accent)}.participant-row{align-items:center;gap:10px;padding:7px 0;display:flex}.participant-row label{flex:1;align-items:center;gap:8px;font-size:13.5px;display:flex}.participant-row input[type=number]{text-align:right;width:88px}.split-hint{color:var(--ink-soft);margin-top:4px;font-size:11.5px}.split-hint.err{color:var(--plum)}.modal-actions{gap:10px;margin-top:22px;display:flex}.modal-actions .btn{flex:1}.close-x{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;font-size:20px;position:absolute;top:0;right:0}.modal-wrap{position:relative}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:4px}.back-link,.screen-head{display:none}@media (width<=720px){#app{height:100dvh;min-height:0}.rail{border-right:none;width:100%;overflow-y:auto}.rail .scroll-area{overflow:visible}.rail-head{padding-top:calc(22px + env(safe-area-inset-top))}.rail-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.rail-foot .text-link{align-self:center;align-items:center;min-height:44px;margin-top:4px;display:flex}.friend-item{min-height:44px}#app.main-open .rail,#app:not(.main-open) .main{display:none}.screen-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:44px;margin-bottom:2px;display:grid}.back-link{grid-column:1;justify-self:start;align-items:center;min-width:44px;min-height:44px;margin:0;display:inline-flex}.screen-head .wordmark{grid-column:2}.topbar{padding:calc(8px + env(safe-area-inset-top)) 20px 14px;flex-direction:column;align-items:stretch;gap:14px}.headline{font-size:30px}.feed{padding:0 20px calc(30px + env(safe-area-inset-bottom))}.topbar-actions{flex-wrap:wrap}.topbar-actions .btn-primary{flex:0 0 100%;order:-1}.topbar-actions .btn-ghost{flex:1 1 0;min-width:0}.topbar-actions .btn{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions .btn-ghost:first-child{order:1}.group-members{max-width:none}.group-member-row{min-height:44px}.suggested{max-width:none}.feed-foot{justify-content:center;margin-top:22px;display:flex}.feed-foot .text-link{align-items:center;min-height:44px;margin-top:0;display:flex}.btn,.chip{text-align:center;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.add-friend-btn,.split-toggle button{min-height:44px}.overlay{align-items:stretch;padding:0}.modal{border-radius:0;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;display:flex;overflow:hidden}.modal-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.modal-head{padding:calc(8px + env(safe-area-inset-top)) 12px 8px 20px;border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}.close-x{flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:static}.modal-body{flex-direction:column;flex:1;min-height:0;padding:16px 20px 0;display:flex;overflow-y:auto}.modal-body>*{flex-shrink:0}.modal .modal-actions{padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);margin:auto -20px 0;position:sticky;bottom:0}.auth-screen{min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom))}}.auth-screen{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:100%;max-width:380px;padding:26px}.auth-card .rail-sub{margin-bottom:22px}.auth-note{color:var(--ink-soft);margin:14px 0 0;font-size:12.5px;line-height:1.5}.auth-error{color:var(--plum);margin:10px 0 0;font-size:12.5px;line-height:1.5}
