:root{color-scheme:dark;--bg:#0d1117;--surface:#171e28;--surface2:#1d2733;--text:#f7f9fc;--muted:#94a0b0;--line:rgba(255,255,255,.09);--accent:#b8ff5a;--danger:#ff6f78;--warn:#ffc857;--safe-top:env(safe-area-inset-top,0rem);--safe-bottom:env(safe-area-inset-bottom,0rem);--safe-left:env(safe-area-inset-left,0rem);--safe-right:env(safe-area-inset-right,0rem);--footer:6.5rem;--max:46rem}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{background:radial-gradient(circle at 20% 0,rgba(184,255,90,.08),transparent 25rem),radial-gradient(circle at 100% 18%,rgba(77,130,255,.08),transparent 25rem),var(--bg);overflow-x:hidden}body.modalOpen,body.dragging{overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}.app{width:min(100%,var(--max));min-height:100dvh;margin:auto}.view{min-height:100dvh;padding:calc(.8rem + var(--safe-top)) max(1rem,var(--safe-right)) calc(5.5rem + var(--safe-bottom)) max(1rem,var(--safe-left))}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:4rem;padding:.45rem 0 .8rem;background:linear-gradient(to bottom,rgba(13,17,23,.98) 72%,rgba(13,17,23,0));backdrop-filter:blur(1rem)}.brand{display:flex;align-items:center;gap:.75rem;min-width:0}.brandMark{display:grid;place-items:center;width:2.7rem;aspect-ratio:1;border-radius:.95rem;background:var(--accent);color:#0d1406;font-size:1.35rem;font-weight:950}.brand h1,.titleWrap h1{margin:0;font-size:clamp(1.3rem,5vw,1.7rem);line-height:1;letter-spacing:-.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small,.titleWrap small{display:block;margin-bottom:.18rem;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.iconBtn{display:grid;place-items:center;width:2.8rem;aspect-ratio:1;padding:0;border:.07rem solid var(--line);border-radius:1rem;background:rgba(255,255,255,.045);font-size:1.35rem;cursor:pointer}.iconBtn.accountSignedIn{background:rgba(184,255,90,.13);border-color:rgba(184,255,90,.34);color:var(--accent);font-size:1rem;font-weight:950;text-transform:uppercase;box-shadow:0 0 0 .18rem rgba(184,255,90,.04)}.hero{margin-top:.45rem;padding:clamp(1.25rem,5vw,1.9rem);border:.07rem solid var(--line);border-radius:1.65rem;background:linear-gradient(135deg,rgba(184,255,90,.12),rgba(255,255,255,.02) 50%),rgba(23,30,40,.95);box-shadow:0 1.2rem 3.5rem rgba(0,0,0,.22)}.hero h2{max-width:17ch;margin:.3rem 0 0;font-size:clamp(1.9rem,8vw,2.8rem);line-height:1;letter-spacing:-.055em}.hero p{max-width:34rem;margin:.8rem 0 0;color:var(--muted);font-size:.95rem}.kicker{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.banner,.readonly{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.9rem 1rem;border:.07rem solid rgba(184,255,90,.22);border-radius:1.1rem;background:rgba(184,255,90,.07)}.banner div{min-width:0}.banner strong,.banner span{display:block}.banner span{margin-top:.18rem;color:var(--muted);font-size:.75rem}.banner button{flex:none;border:0;border-radius:.8rem;background:var(--accent);color:#101706;padding:.65rem .8rem;font-weight:850}.sectionHead{display:flex;align-items:center;justify-content:space-between;margin:1.55rem 0 .75rem}.sectionHead h2{margin:0;font-size:1rem}.sectionHead span{color:var(--muted);font-size:.8rem;font-weight:800}.cards{display:grid;gap:.8rem}.card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:1.05rem;border:.07rem solid var(--line);border-radius:1.2rem;background:rgba(23,30,40,.95);cursor:pointer}.card.followed{border-color:rgba(107,165,255,.18)}.cardBody{min-width:0}.card h3{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.03rem}.cardMeta{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.45rem;color:var(--muted);font-size:.72rem}.cardEnd{display:flex;align-items:center;gap:.55rem;min-width:0}.cardRight{text-align:right;min-width:0}.cardRight strong{display:block;max-width:35vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem}.cardRight span{display:block;margin-top:.15rem;color:var(--muted);font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.cardMenuBtn{display:grid;place-items:center;flex:none;width:2.45rem;aspect-ratio:1;padding:0;border:.07rem solid var(--line);border-radius:.82rem;background:rgba(255,255,255,.04);color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer}.cardMenuBtn:active{transform:scale(.96)}.empty{display:grid;place-items:center;min-height:11rem;padding:1.4rem;border:.08rem dashed rgba(255,255,255,.12);border-radius:1.3rem;color:var(--muted);text-align:center}.empty strong{display:block;color:var(--text);margin-bottom:.35rem}.fab{position:fixed;z-index:55;right:max(1rem,calc((100vw - var(--max))/2 + 1rem),var(--safe-right));bottom:max(1rem,calc(1rem + var(--safe-bottom)));display:grid;place-items:center;width:3.8rem;aspect-ratio:1;border:0;border-radius:1.35rem;background:var(--accent);color:#0e1507;font-size:2rem;line-height:1;box-shadow:0 1rem 2.5rem rgba(184,255,90,.25);cursor:pointer}.listView{padding-bottom:calc(var(--footer) + 4rem + var(--safe-bottom))}.listTopbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.titleWrap{min-width:0}.listHeaderActions{display:flex;align-items:center;gap:.45rem}.shareHeaderBtn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.8rem;padding:0 .8rem;border:.07rem solid rgba(184,255,90,.28);border-radius:1rem;background:rgba(184,255,90,.1);color:var(--accent);font-size:.76rem;font-weight:900;letter-spacing:.01em;cursor:pointer;white-space:nowrap}.shareHeaderBtn:active{transform:scale(.97)}.shareGlyph{font-size:1rem;line-height:1}.shareHeaderText{display:inline-block}.sharedView{min-height:100dvh;padding:0 max(1rem,var(--safe-right)) calc(2rem + var(--safe-bottom)) max(1rem,var(--safe-left))}.sharedFollowBanner{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-inline:-1rem;padding:calc(.5rem + var(--safe-top)) 1rem .5rem;border-bottom:.07rem solid rgba(255,255,255,.08);background:rgba(13,17,23,.96);backdrop-filter:blur(1rem);font-size:.72rem;color:var(--muted)}.sharedFollowBanner>div{display:flex;gap:.35rem}.sharedFollowBanner button{min-height:2rem;padding:.35rem .55rem;border:.07rem solid var(--line);border-radius:.62rem;background:rgba(255,255,255,.055);color:var(--text);font-size:.68rem;font-weight:850;cursor:pointer}.sharedFollowBanner button:first-child{border-color:rgba(184,255,90,.24);background:rgba(184,255,90,.1);color:var(--accent)}.sharedHeader{padding:1.35rem 0 1rem}.sharedHeader small{display:block;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.sharedHeader h1{margin:.18rem 0 0;font-size:clamp(1.65rem,7vw,2.35rem);line-height:1.05;letter-spacing:-.055em}.sharedHeader>span{display:block;margin-top:.42rem;color:var(--muted);font-size:.72rem}.sharedTotals{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:.55rem;margin-bottom:1rem}.sharedTotals>div{min-width:0;padding:.75rem .72rem;border:.07rem solid var(--line);border-radius:.95rem;background:rgba(23,30,40,.8)}.sharedTotals span{display:block;color:var(--muted);font-size:.59rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.sharedTotals strong{display:block;margin-top:.22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.82rem,3.4vw,1.05rem)}.sharedTotals .remaining strong{color:var(--accent)}.sharedExpenseList{display:grid;gap:.65rem}.sharedExpense{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding:.95rem 1rem;border:.07rem solid var(--line);border-radius:1.05rem;background:rgba(23,30,40,.92)}.sharedExpenseDisabled{opacity:.58}.sharedExpenseMain{min-width:0}.sharedExpenseMain>strong{display:block;font-size:.96rem;line-height:1.25;overflow-wrap:anywhere}.sharedDescriptionShort{margin:.34rem 0 0;color:var(--muted);font-size:.76rem;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere}.sharedDescriptionToggle{display:block;width:100%;margin:.34rem 0 0;padding:0;border:0;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.sharedDescriptionText{display:-webkit-box;overflow:hidden;font-size:.76rem;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.sharedDescriptionToggle[aria-expanded="true"] .sharedDescriptionText{display:block;overflow:visible;-webkit-line-clamp:unset}.sharedDescriptionToggle small{display:inline-block;margin-top:.22rem;color:var(--accent);font-size:.64rem;font-weight:850}.sharedDescriptionToggle:focus-visible{outline:.12rem solid rgba(184,255,90,.55);outline-offset:.2rem;border-radius:.25rem}.sharedStatus{display:inline-block;margin-top:.45rem;padding:.2rem .42rem;border-radius:99rem;background:rgba(255,200,87,.1);color:var(--warn);font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.sharedStatus.paid{background:rgba(107,165,255,.1);color:#8eb8ff}.sharedExpenseAmount{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:900;font-variant-numeric:tabular-nums}.sharedEmpty{padding:2rem 1rem;border:.08rem dashed rgba(255,255,255,.12);border-radius:1.1rem;color:var(--muted);text-align:center;font-size:.82rem}.readonly{margin:.2rem 0 .9rem;color:var(--muted);font-size:.8rem;justify-content:center}.expenseList{display:grid;gap:.65rem}.expenseWrap{position:relative;overflow:hidden;border-radius:1.08rem;background:#26313f;touch-action:pan-y}.expenseWrap.disabled{opacity:.62}.swipeAction{position:absolute;inset-block:0;display:flex;align-items:center;justify-content:center;width:6rem;border:0;color:white;font-size:.72rem;font-weight:900;text-transform:uppercase}.swipeLeft{left:0;background:#2f6d45}.swipeRight{right:0;background:#a3323d}.expenseRow{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:4.6rem;padding:.72rem .85rem .72rem .55rem;border:.07rem solid var(--line);border-radius:1.08rem;background:var(--surface);user-select:none;will-change:transform;transition:transform .18s ease,background .15s ease}.expenseRow.readonlyRow{grid-template-columns:minmax(0,1fr) auto;padding-left:.9rem}.dragHandle{display:grid;place-items:center;width:2rem;align-self:stretch;border:0;background:transparent;color:#738093;cursor:grab;touch-action:none}.expenseTitle{min-width:0;overflow:hidden}.marquee{overflow:hidden;white-space:nowrap;mask-image:linear-gradient(to right,#000 0,#000 92%,transparent 100%)}.marqueeTrack{display:inline-flex;gap:2rem;min-width:100%}.marquee.overflow .marqueeTrack{animation:marquee var(--dur,10s) linear infinite 1.2s}.marquee:not(.overflow) .copy2{display:none}@keyframes marquee{0%,10%{transform:translateX(0)}90%,100%{transform:translateX(calc(-1 * var(--shift,0px)))}}.expenseTitle strong{font-size:.96rem}.submeta{display:flex;align-items:center;gap:.4rem;min-height:1rem;margin-top:.25rem;color:var(--muted);font-size:.68rem}.dot{width:.42rem;aspect-ratio:1;border-radius:50%;background:var(--accent)}.paidDot{background:#6ba5ff}.amount{text-align:right;min-width:5.6rem}.amount strong{display:block;max-width:38vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem}.amount span{display:block;margin-top:.14rem;color:var(--muted);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.expenseWrap.disabled .amount strong{text-decoration:line-through}.listFab{bottom:calc(var(--footer) + 1rem + var(--safe-bottom))}.totalsFooter{position:fixed;z-index:45;left:50%;bottom:0;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:.7rem;width:min(100%,var(--max));min-height:var(--footer);padding:.72rem max(1rem,var(--safe-right)) calc(.72rem + var(--safe-bottom)) max(1rem,var(--safe-left));transform:translateX(-50%);border-top:.07rem solid var(--line);background:rgba(15,20,27,.96);backdrop-filter:blur(1rem);box-shadow:0 -1rem 2.8rem rgba(0,0,0,.25)}.totalsFooter div{display:flex;flex-direction:column;justify-content:center;min-width:0}.totalsFooter span{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.totalsFooter strong{margin-top:.18rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(.88rem,3.5vw,1.15rem)}.totalsFooter .remaining strong{color:var(--accent);font-size:clamp(1rem,4vw,1.3rem)}.overlay{position:fixed;z-index:100;inset:0;display:grid;align-items:end;padding:max(.7rem,var(--safe-top)) max(.7rem,var(--safe-right)) max(.7rem,var(--safe-bottom)) max(.7rem,var(--safe-left));background:rgba(4,7,10,.72);backdrop-filter:blur(.4rem);opacity:0;pointer-events:none;transition:opacity .18s ease}.overlay.open{opacity:1;pointer-events:auto}.sheet{width:min(100%,40rem);max-height:min(88dvh,48rem);margin:auto;overflow-y:auto;border:.07rem solid rgba(255,255,255,.12);border-radius:1.6rem;background:#171e28;box-shadow:0 1.5rem 4rem rgba(0,0,0,.4);transform:translateY(1.2rem);transition:transform .2s ease}.overlay.open .sheet{transform:none}.grabber{width:3.1rem;height:.3rem;margin:.6rem auto 0;border-radius:99rem;background:rgba(255,255,255,.18)}.sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .25rem 1.2rem}.sheet h2{margin:0;font-size:1.45rem;letter-spacing:-.04em}.sheet header p{margin:.25rem 0 0;color:var(--muted);font-size:.78rem}.sheetBody{padding:1rem 1.2rem 1.25rem}.field{display:grid;gap:.42rem;margin-top:.9rem}.field:first-child{margin-top:0}.field label{color:#cbd3dd;font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.inputShell{display:flex;align-items:center;gap:.55rem;min-height:3.45rem;padding:0 .85rem;border:.07rem solid rgba(255,255,255,.1);border-radius:1rem;background:#0f151d}.inputShell:focus-within{border-color:rgba(184,255,90,.55);box-shadow:0 0 0 .16rem rgba(184,255,90,.08)}.inputShell input,.inputShell textarea{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text)}.inputShell input{min-height:3.35rem}.inputShell textarea{min-height:6.5rem;padding:.85rem 0;resize:vertical}.currency{color:var(--accent);font-weight:900}.hint{color:var(--muted);font-size:.7rem}.actions{display:flex;gap:.65rem;margin-top:1rem}.btn,.dangerBtn,.secondaryBtn{min-height:3.15rem;padding:.75rem .95rem;border:0;border-radius:.95rem;font-weight:850;cursor:pointer}.btn:disabled,.dangerBtn:disabled,.secondaryBtn:disabled{opacity:.6;cursor:wait}.btn{flex:1;background:var(--accent);color:#0e1507}.secondaryBtn{background:rgba(255,255,255,.07)}.dangerBtn{background:rgba(255,111,120,.12);color:#ff9aa1}.menu{display:grid;gap:.6rem}.menu button{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:3.5rem;padding:.75rem .85rem;border:.07rem solid var(--line);border-radius:.95rem;background:rgba(255,255,255,.035);text-align:left}.menu button span{color:var(--muted);font-size:.72rem}.menu button.danger{color:#ff979e}.switchRow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}.switchRow input{width:1.2rem;height:1.2rem}.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1rem;padding:.3rem;border-radius:.85rem;background:#10161e}.authTabs button{border:0;border-radius:.65rem;padding:.65rem;background:transparent;color:var(--muted);font-weight:800}.authTabs button.active{background:#202a36;color:var(--text)}.shareBox{padding:.85rem;border:.07rem solid var(--line);border-radius:.9rem;background:#0f151d;word-break:break-all;color:var(--muted);font-size:.77rem}.snackbar{position:fixed;z-index:80;left:50%;bottom:calc(var(--footer) + 1rem + var(--safe-bottom));display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(calc(100% - 2rem),calc(var(--max) - 2rem));padding:.75rem .8rem .75rem 1rem;transform:translate(-50%,1rem);border-radius:1rem;background:#f7f9fc;color:#111721;opacity:0;pointer-events:none;transition:.18s}.snackbar.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.snackbar button{border:0;border-radius:.7rem;background:#141b24;color:white;padding:.55rem .7rem;font-weight:850}.toast{position:fixed;z-index:140;left:50%;top:calc(1rem + var(--safe-top));max-width:min(calc(100% - 2rem),30rem);padding:.75rem 1rem;transform:translate(-50%,-1rem);border:.07rem solid var(--line);border-radius:.9rem;background:#202a36;opacity:0;pointer-events:none;transition:.18s;font-size:.8rem;font-weight:750}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:42rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.overlay{align-items:center}.view{padding-inline:1.25rem}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}.marquee.overflow .marqueeTrack{animation:none!important}}