:root{--bg:#0f1115;--surface:#181b22;--surface-2:#20242d;--line:#2a2f3a;--text:#f2f4f8;--muted:#8b93a3;--faint:#5a6172;--accent:#4ad6a8;--accent-ink:#06231a;--warn:#ffb86b;--pos:#4ad6a8;--neg:#ff7a8a;--radius:18px;--radius-sm:13px;--tap:#ffffff14;--shadow:0 8px 30px #0005;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);min-height:100%}body{color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;line-height:1.45;overflow-x:hidden}#app{background:var(--bg);flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.screen{padding:0 20px calc(20px + env(safe-area-inset-bottom));animation:screenIn .42s var(--ease) both;flex-direction:column;flex:1;display:flex}@keyframes screenIn{0%{opacity:0;transform:translateY(14px)scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.bar{align-items:center;gap:14px;min-height:62px;padding:18px 4px 8px;display:flex}.back{background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;transition:transform .15s var(--ease),background .15s;border:none;border-radius:50%;flex:0 0 42px;place-items:center;font-size:20px;display:grid}.back:active{background:var(--surface-2);transform:scale(.9)}.bar h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:21px;font-weight:700;overflow:hidden}.bar .sub{color:var(--muted);font-size:13px;font-weight:500}.hero{text-align:center;padding:46px 0 30px}.logo{letter-spacing:-.04em;font-size:34px;font-weight:800}.logo .dot{color:var(--accent)}.hero p{color:var(--muted);margin-top:8px;font-size:15px}.choices{flex-direction:column;gap:16px;margin-top:20px;display:flex}.choice{cursor:pointer;text-align:left;background:var(--surface);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);transition:transform .18s var(--ease),background .18s;border:none;align-items:center;gap:18px;padding:24px 22px;display:flex}.choice:active{transform:scale(.97)}.choice .ic{background:var(--surface-2);border-radius:15px;flex:0 0 54px;place-items:center;width:54px;height:54px;font-size:26px;display:grid}.choice.group .ic{color:var(--accent);background:#2b4a40}.choice.solo .ic{color:#b9a6ff;background:#3a3550}.choice .tt{letter-spacing:-.02em;font-size:19px;font-weight:700}.choice .ds{color:var(--muted);margin-top:2px;font-size:13.5px}.choice .arr{color:var(--faint);margin-left:auto;font-size:22px}.listwrap{flex-direction:column;gap:12px;padding-top:6px;display:flex}.cardwrap{animation:pop .35s var(--ease) both;align-items:center;display:flex;position:relative}.cardwrap .card{flex:1;padding-right:48px;animation:none}.dots{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:22px;line-height:1;transition:background .15s,color .15s;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.dots:active{background:var(--surface-2);color:var(--text)}.badge{letter-spacing:.01em;color:var(--accent);vertical-align:middle;background:#2b4a40;border-radius:6px;margin-left:2px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.card.done{opacity:.7}.card.done .cnt{color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text);width:100%;transition:transform .15s var(--ease),background .15s;animation:pop .35s var(--ease) both;border:none;align-items:center;gap:14px;padding:18px;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card:active{background:var(--surface-2);transform:scale(.98)}.card .cnt{background:var(--surface-2);width:46px;height:46px;color:var(--accent);border-radius:12px;flex:0 0 46px;place-items:center;font-size:18px;font-weight:700;display:grid}.card .body{flex:1;min-width:0}.card .nm{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:16.5px;font-weight:650;overflow:hidden}.card .meta{color:var(--muted);margin-top:1px;font-size:13px}.card .amt{color:var(--text);text-align:right;white-space:nowrap;font-size:15px;font-weight:700}.card .amt small{color:var(--faint);font-size:11.5px;font-weight:500;display:block}.empty{text-align:center;color:var(--muted);padding:60px 24px}.empty .big{opacity:.5;margin-bottom:12px;font-size:46px}.empty p{font-size:15px}.btn{cursor:pointer;border-radius:var(--radius-sm);letter-spacing:-.01em;width:100%;transition:transform .15s var(--ease),opacity .15s,filter .15s;border:none;padding:16px;font-family:inherit;font-size:16px;font-weight:700}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{background:var(--surface-2);color:var(--text)}.btn:disabled{opacity:.35;pointer-events:none}.btn.block{margin-top:auto}.stick{padding:16px 0 calc(12px + env(safe-area-inset-bottom));background:0 0;margin-top:auto;position:sticky;bottom:0}.field{animation:reveal .4s var(--ease) both;margin-top:18px}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.field label{color:var(--muted);letter-spacing:.01em;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.input{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:16px;font-family:inherit;font-size:17px;font-weight:550;transition:border-color .18s,background .18s}.input:focus{border-color:var(--accent);background:var(--surface-2)}.input::placeholder{color:var(--faint)}.amtrow{gap:10px;display:flex}.amtrow .input{letter-spacing:-.02em;flex:1;font-size:24px;font-weight:750}.curpill{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;transition:transform .15s var(--ease),border-color .15s;flex:none;align-items:center;gap:6px;padding:0 18px;font-size:16px;font-weight:750;display:flex}.curpill:active{transform:scale(.95)}.curpill small{color:var(--faint);font-size:11px}.conv{color:var(--muted);min-height:18px;margin-top:8px;font-size:13px;transition:opacity .2s}.conv b{color:var(--text)}.conv.err{color:var(--warn)}.secttl{color:var(--muted);letter-spacing:.01em;justify-content:space-between;align-items:center;margin:22px 0 10px;font-size:13px;font-weight:600;display:flex}.secttl .mini{color:var(--accent);cursor:pointer;font-size:12px;font-weight:650}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;letter-spacing:-.01em;transition:transform .16s var(--ease),background .16s,color .16s,border-color .16s,box-shadow .16s;border-radius:999px;align-items:center;gap:7px;padding:11px 18px;font-size:15px;font-weight:650;display:flex}.chip:active{transform:scale(.92)}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);transform:scale(1.04);box-shadow:0 4px 16px #4ad6a855}.chip.payer.on{background:var(--warn);border-color:var(--warn);color:#3a2400;box-shadow:0 4px 16px #ffb86b55}.chip .av{background:#fff2;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:grid}.chip.on .av{background:#0003}.chip.add{color:var(--accent);border-style:dashed;border-color:#3a4a44}.exlist{border-radius:var(--radius-sm);flex-direction:column;gap:1px;margin-top:8px;display:flex;overflow:hidden}.exrow{background:var(--surface);animation:pop .3s var(--ease) both;align-items:center;gap:13px;padding:15px 16px;display:flex}.exrow .ei{flex:1;min-width:0;font-size:15.5px;font-weight:600}.exrow .ei small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12.5px;font-weight:500;display:block;overflow:hidden}.exrow .ea{white-space:nowrap;text-align:right;font-size:15.5px;font-weight:700}.exrow .ea small{color:var(--faint);font-size:11px;font-weight:500;display:block}.exrow .del{width:30px;height:30px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}.exrow .del:active{background:var(--tap);color:var(--neg)}.totalbar{justify-content:space-between;align-items:baseline;padding:18px 4px 6px;display:flex}.totalbar .lb{color:var(--muted);font-size:14px;font-weight:600}.totalbar .vl{letter-spacing:-.02em;font-size:26px;font-weight:800}.settle{flex-direction:column;gap:12px;margin-top:6px;display:flex}.settrow{background:var(--surface);border-radius:var(--radius-sm);animation:pop .35s var(--ease) both;align-items:center;gap:12px;padding:18px;font-size:16px;display:flex}.settrow .from{font-weight:700}.settrow .arrow{color:var(--accent);font-size:20px}.settrow .to{flex:1;font-weight:700}.settrow .pay{color:var(--accent);white-space:nowrap;font-weight:800}.allsquare{text-align:center;color:var(--muted);padding:50px 20px}.allsquare .big{margin-bottom:10px;font-size:50px}.seg{background:var(--surface);border-radius:12px;gap:4px;margin-top:6px;padding:4px;display:flex}.segbtn{color:var(--muted);cursor:pointer;transition:background .18s,color .18s,transform .15s var(--ease);background:0 0;border:none;border-radius:9px;flex:1;padding:12px;font-family:inherit;font-size:15px;font-weight:700}.segbtn:active{transform:scale(.97)}.segbtn.on{background:var(--accent);color:var(--accent-ink)}.couplerow{align-items:center;gap:8px;margin-bottom:8px;display:flex}.couplerow .csel{background:var(--surface);border:1.5px solid var(--line);min-width:0;color:var(--text);appearance:none;border-radius:11px;outline:none;flex:1;padding:13px 10px;font-family:inherit;font-size:15px;font-weight:600}.couplerow .csel:focus{border-color:var(--accent)}.couplerow .amp{color:var(--faint);flex:none;font-weight:700}.couplerow .cdel{width:34px;height:44px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:none;font-size:16px}.couplerow .cdel:active{background:var(--tap);color:var(--neg)}.balgrid{flex-direction:column;gap:8px;margin-top:14px;display:flex}.balrow{background:var(--surface);border-radius:10px;justify-content:space-between;padding:8px 14px;font-size:14px;display:flex}.balrow .nm{color:var(--muted);font-weight:600}.balrow .v.pos{color:var(--pos);font-weight:700}.balrow .v.neg{color:var(--neg);font-weight:700}.balrow .v.zero{color:var(--faint);font-weight:600}.scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#000a;justify-content:center;align-items:flex-end;animation:.2s both fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--surface);width:100%;max-width:520px;padding:8px 20px calc(24px + env(safe-area-inset-bottom));animation:up .34s var(--ease) both;border-radius:22px 22px 0 0}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}.grab{background:var(--line);border-radius:2px;width:38px;height:4px;margin:8px auto 16px}.sheet h3{letter-spacing:-.02em;margin-bottom:4px;font-size:18px;font-weight:750}.sheet .h-sub{color:var(--muted);margin-bottom:16px;font-size:13.5px}.curlist{border-radius:12px;flex-direction:column;gap:2px;max-height:46vh;display:flex;overflow:auto}.curopt{background:var(--surface-2);color:var(--text);cursor:pointer;text-align:left;border:none;align-items:center;gap:12px;width:100%;padding:15px 14px;font-family:inherit;font-size:16px;display:flex}.curopt:active{background:var(--line)}.curopt .code{width:46px;font-weight:800}.curopt .nm{color:var(--muted);flex:1;font-size:14px;font-weight:500}.curopt .chk{color:var(--accent);font-size:18px}.sheet .input{margin-bottom:14px}.sheet .row2{gap:10px;display:flex}.sheet .row2 .btn{margin-top:0}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);z-index:80;opacity:0;pointer-events:none;transition:transform .3s var(--ease),opacity .3s;white-space:nowrap;box-shadow:var(--shadow);border-radius:999px;padding:12px 20px;font-size:14px;font-weight:650;position:fixed;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.hide{display:none!important}.sharehero{text-align:center;padding:6px 4px 16px}.shareicon{width:60px;height:60px;color:var(--accent);background:#2b4a40;border-radius:18px;place-items:center;margin:0 auto 12px;font-size:28px;display:grid}.sharehero h3{letter-spacing:-.02em;font-size:19px;font-weight:780}.linkbox{background:var(--surface-2);border:1.5px solid var(--line);color:var(--accent);word-break:break-all;border-radius:12px;max-height:88px;margin-bottom:14px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;overflow:auto}.streamtitle{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;margin:26px 2px 12px;font-size:13px;font-weight:650}.placecard{border:1px solid var(--line);animation:pop .35s var(--ease) both;background:#14171d;border-radius:16px;margin-bottom:16px;padding:6px}.placecard.plain{background:0 0;border-color:#22262f}.placecard.done{opacity:.6}.placecard.done .placename{color:var(--muted)}.placehead{align-items:baseline;gap:10px;padding:12px 12px 10px;display:flex}.placehead .placename{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:18px;font-weight:750;overflow:hidden}.placehead .placemeta{color:var(--faint);flex:none;font-size:12.5px;font-weight:600}.placehead .placesum{letter-spacing:-.02em;flex:none;margin-left:auto;font-size:17px;font-weight:800}.exlist.flush{border-radius:11px;overflow:hidden}.placecard .tagsettle{width:calc(100% - 12px);margin:10px 6px 6px}.nudge{cursor:pointer;color:var(--text);animation:pop .35s var(--ease) both;background:#2b4a40;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:13px 15px;font-size:14px;font-weight:600;display:flex;position:relative}.nudge:active{transform:scale(.99)}.nudge .nudgetxt{flex:1;min-width:0}.nudge .go{color:var(--accent);white-space:nowrap;font-weight:750}.tagsettle{font-size:15px}.tagbanner{border:1.5px solid var(--accent);border-radius:var(--radius-sm);animation:reveal .3s var(--ease) both;background:#2b4a40;align-items:center;gap:10px;padding:13px 14px;display:flex}.tagbanner .tagbannerlabel{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;flex:none;font-size:12px;font-weight:600}.tagbanner .tagbannername{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:750;overflow:hidden}.tagbanner .tagbannerx{width:30px;height:30px;color:var(--text);cursor:pointer;background:#0003;border:none;border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.tagbanner .tagbannerx:active{background:#0005}.tagchip .tagpick{white-space:nowrap;text-overflow:ellipsis;max-width:210px;overflow:hidden}.tagchip{border:1.5px solid var(--line);background:var(--surface);transition:transform .16s var(--ease),border-color .16s,box-shadow .16s;border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.tagchip.on{border-color:var(--accent);transform:scale(1.03);box-shadow:0 4px 16px #4ad6a855}.tagchip .tagpick{color:var(--muted);cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;padding:11px 6px 11px 16px;font-family:inherit;font-size:15px;font-weight:650}.tagchip.on .tagpick{color:var(--accent-ink);background:var(--accent)}.tagchip .tagx{color:var(--faint);cursor:pointer;background:0 0;border:none;place-items:center;padding:0 13px 0 7px;font-size:12px;display:grid}.tagchip.on .tagx{color:var(--accent-ink);background:var(--accent)}.tagchip .tagx:active{color:var(--neg)}.menu{border-radius:12px;flex-direction:column;gap:2px;display:flex;overflow:hidden}.menuopt{background:var(--surface-2);color:var(--text);cursor:pointer;text-align:left;border:none;align-items:center;gap:14px;width:100%;padding:16px 14px;font-family:inherit;font-size:16px;font-weight:600;display:flex}.menuopt:active{background:var(--line)}.menuopt .mi{text-align:center;opacity:.85;width:22px;font-size:17px}.menuopt.danger{color:var(--neg)}.btn.danger{background:var(--neg);color:#3a0009}.memlist{flex-direction:column;gap:8px;margin-top:8px;display:flex}.memrow{background:var(--surface);border-radius:var(--radius-sm);align-items:center;gap:13px;padding:14px 16px;display:flex}.av.big{background:var(--surface-2);width:38px;height:38px;color:var(--accent);border-radius:50%;flex:0 0 38px;place-items:center;font-size:15px;font-weight:800;display:grid}.memrow .mn{flex:1;font-size:16px;font-weight:600}.memrow .memdel{color:var(--neg);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-family:inherit;font-size:14px;font-weight:650}.memrow .memedit{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-family:inherit;font-size:16px}.memrow .memedit:active{color:var(--accent)}.memrow .locktag{color:var(--faint);font-size:12px;font-weight:600}.done-screen{justify-content:flex-start}.celebrate{text-align:center;animation:reveal .5s var(--ease) both;padding:44px 10px 26px}.bigcheck{background:var(--accent);width:84px;height:84px;color:var(--accent-ink);animation:popcheck .5s var(--ease) both;border-radius:50%;place-items:center;margin:0 auto 18px;font-size:46px;font-weight:800;display:grid;box-shadow:0 10px 40px #4ad6a866}@keyframes popcheck{0%{opacity:0;transform:scale(.3)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.celebrate h2{letter-spacing:-.03em;font-size:27px;font-weight:800}.celebrate p{color:var(--muted);margin-top:8px;font-size:15px;line-height:1.5}@keyframes fall{to{opacity:.4;transform:translateY(105vh)rotate(720deg)}}
