:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Avenir Next,sans-serif;font-synthesis:none;--canvas: #f7f0e5;--paper: #fffdf8;--ink: #1c1b1a;--muted: #716d66;--line: rgba(36, 32, 27, .12);--coral: #fa806f;--aqua: #55c9cd;--sunflower: #e8bd48;--mint: #75cfa5;--periwinkle: #929be9;--shadow: 0 24px 80px rgba(87, 67, 39, .13), 0 2px 8px rgba(87, 67, 39, .08)}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 2%,rgba(250,128,111,.13),transparent 28rem),radial-gradient(circle at 94% 45%,rgba(85,201,205,.12),transparent 24rem),var(--canvas)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--periwinkle) 70%,white);outline-offset:3px}.app-shell{width:min(100%,46rem);margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 1rem calc(9rem + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;margin:0 .25rem 1.4rem}.wordmark{font:800 1.25rem/1 ui-rounded,SF Pro Rounded,sans-serif;letter-spacing:-.05em}.wordmark span{color:var(--coral)}.eyebrow{margin:0 0 .45rem;font-size:.69rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:2.75rem;height:2.75rem;border:2px solid var(--paper);border-radius:42% 58% 55% 45%/48% 42% 58% 52%;color:#191817;font:800 .74rem/1 ui-rounded,SF Pro Rounded,sans-serif;box-shadow:0 2px 7px #1a17131f}.avatar--small{width:2rem;height:2rem;margin-left:-.38rem;font-size:.62rem}.avatar--coral{background:var(--coral)}.avatar--aqua{background:var(--aqua)}.avatar--sunflower{background:var(--sunflower)}.avatar--mint{background:var(--mint)}.avatar--periwinkle{background:var(--periwinkle)}.receipt{position:relative;background:var(--paper);border:1px solid rgba(59,47,32,.08);box-shadow:var(--shadow)}.receipt:before,.receipt:after{content:"";position:absolute;left:0;right:0;height:8px;background:var(--canvas);z-index:2}.receipt:before{top:-1px;clip-path:polygon(0 0,3% 100%,6% 15%,9% 85%,12% 0,15% 75%,18% 10%,21% 95%,24% 5%,27% 85%,30% 10%,33% 95%,36% 0,39% 90%,42% 5%,45% 80%,48% 10%,51% 95%,54% 0,57% 85%,60% 5%,63% 95%,66% 10%,69% 85%,72% 0,75% 95%,78% 5%,81% 80%,84% 10%,87% 95%,90% 0,93% 85%,96% 10%,100% 100%)}.receipt:after{bottom:-1px;transform:rotate(180deg);clip-path:polygon(0 0,3% 100%,6% 15%,9% 85%,12% 0,15% 75%,18% 10%,21% 95%,24% 5%,27% 85%,30% 10%,33% 95%,36% 0,39% 90%,42% 5%,45% 80%,48% 10%,51% 95%,54% 0,57% 85%,60% 5%,63% 95%,66% 10%,69% 85%,72% 0,75% 95%,78% 5%,81% 80%,84% 10%,87% 95%,90% 0,93% 85%,96% 10%,100% 100%)}.receipt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:2.1rem 1.25rem 1.35rem}.receipt-head h1{margin:0;font:780 clamp(1.65rem,8vw,2.45rem)/.98 ui-rounded,"SF Pro Rounded",sans-serif;letter-spacing:-.05em}.payer{margin:.65rem 0 0;color:var(--muted);font-size:.82rem}.group{display:flex;padding-left:.75rem}.progress-line{margin:0 1.25rem .5rem;height:3px;overflow:hidden;background:var(--line)}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,var(--coral),var(--sunflower));transition:width .45s cubic-bezier(.2,.8,.2,1)}.items{list-style:none;margin:0;padding:.5rem 0}.item-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(2.4rem,auto);align-items:center;width:100%;min-height:4.25rem;padding:.72rem 1.15rem;border:0;border-top:1px dashed var(--line);color:inherit;text-align:left;background:transparent;cursor:pointer;transition:background .2s ease,transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.item-row:hover{background:color-mix(in srgb,var(--aqua) 7%,transparent)}.item-row:active{transform:scale(.985)}.item-row--mine{background:color-mix(in srgb,var(--aqua) 10%,transparent)}.item-row--pending{opacity:.55}.item-main{min-width:0;display:grid;gap:.2rem}.item-name{overflow:hidden;text-overflow:ellipsis;font-weight:650}.quantity{color:var(--muted);font-size:.76rem}.item-price{padding:0 .85rem;font:720 1rem/1 ui-rounded,SF Pro Rounded,sans-serif;font-variant-numeric:tabular-nums}.owners{display:flex;align-items:center;justify-content:flex-end;padding-left:.38rem}.unclaimed-dot{display:grid;place-items:center;width:2rem;height:2rem;border:1px dashed var(--muted);border-radius:50%;color:var(--muted);font-size:1.05rem}.receipt-total{display:flex;justify-content:space-between;padding:1.3rem 1.25rem 2rem;border-top:2px solid var(--ink);font:800 1.1rem/1 ui-rounded,SF Pro Rounded,sans-serif}.receipt-total strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.subtotal-bar,.payment-bar{position:fixed;z-index:5;left:50%;bottom:0;width:min(46rem,100%);transform:translate(-50%);padding:.85rem max(1rem,env(safe-area-inset-left)) calc(.85rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--canvas) 92%,transparent);backdrop-filter:blur(20px)}.subtotal-bar div,.payment-bar>div{display:flex;align-items:baseline;justify-content:space-between}.subtotal-bar span,.payment-bar span{font-size:.78rem;font-weight:700;color:var(--muted)}.subtotal-bar strong,.payment-bar strong{font:800 2rem/1 ui-rounded,SF Pro Rounded,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.subtotal-bar p,.payment-bar p{margin:.3rem 0 0;color:var(--muted);font-size:.72rem}.payment-bar{display:grid;gap:.65rem}.payment-bar>.payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.notice{position:fixed;z-index:8;top:max(1rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(31rem,calc(100% - 2rem));margin:0;padding:.8rem 1rem;border-radius:1rem;color:#fff;background:#3c3833;box-shadow:var(--shadow);font-size:.84rem}.primary,.secondary,.quiet{display:grid;place-items:center;min-height:3.25rem;width:100%;border:0;border-radius:1rem;font-weight:750;text-decoration:none;cursor:pointer}.primary{color:#191817;background:var(--coral);box-shadow:0 7px 20px #d55a492e}.primary:disabled{opacity:.45;cursor:default}.secondary{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.quiet{min-height:2.75rem;color:var(--muted);background:transparent}.join-shell{display:flex;flex-direction:column;width:min(100%,34rem);min-height:100svh;margin:0 auto;padding:max(4.5rem,calc(env(safe-area-inset-top) + 2rem)) 1.5rem max(2rem,env(safe-area-inset-bottom))}.join-mark{display:flex;align-items:flex-end;gap:.38rem;height:4rem;margin-bottom:auto}.join-mark span{display:block;width:2.25rem;border-radius:50% 50% 45% 55%;transform:rotate(-7deg)}.join-mark span:nth-child(1){height:3.2rem;background:var(--coral)}.join-mark span:nth-child(2){height:2.45rem;background:var(--aqua);transform:rotate(8deg)}.join-mark span:nth-child(3){height:3.7rem;background:var(--sunflower);transform:rotate(3deg)}.join-copy{margin:3rem 0 2.5rem}.join-copy h1{max-width:11ch;margin:0;font:800 clamp(2.9rem,14vw,5rem)/.9 ui-rounded,"SF Pro Rounded",sans-serif;letter-spacing:-.065em}.join-lead{max-width:30ch;margin:1.2rem 0 0;color:var(--muted);font-size:1.05rem;line-height:1.45}.join-form{display:grid;gap:.75rem}.join-form label{font-size:.75rem;font-weight:750;color:var(--muted)}.join-form input{width:100%;min-height:3.7rem;padding:0 1rem;border:1px solid var(--line);border-radius:1rem;color:var(--ink);background:var(--paper);box-shadow:0 8px 30px #57432714;font-size:1.05rem}.privacy-note{display:flex;gap:.55rem;align-items:center;justify-content:center;margin:.45rem 0 0;color:var(--muted);font-size:.72rem}.privacy-note span{color:var(--mint)}.form-error{margin:0;color:#b43c32;font-size:.82rem}.dialog-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#1a171457;backdrop-filter:blur(5px)}.dialog{width:min(100%,32rem);padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));border-radius:1.6rem;background:var(--paper);box-shadow:0 30px 90px #00000040;animation:rise .35s cubic-bezier(.2,.9,.25,1)}.dialog h2{margin:.45rem 0;font:800 1.75rem/1.05 ui-rounded,SF Pro Rounded,sans-serif;letter-spacing:-.04em}.dialog p{margin:0 0 1.4rem;color:var(--muted);line-height:1.45}.dialog-item{font-size:.75rem;font-weight:750;color:var(--muted)}.state-shell,.loading-shell{display:grid;place-content:center;justify-items:center;min-height:100svh;padding:2rem;text-align:center}.state-shell h1{margin:1rem 0 .5rem;font:800 3rem/1 ui-rounded,SF Pro Rounded,sans-serif;letter-spacing:-.05em}.state-shell p,.loading-shell p{color:var(--muted)}.success-glyph{display:grid;place-items:center;width:5rem;height:5rem;border-radius:45% 55% 50% 50%;background:var(--mint);font-size:2rem;transform:rotate(-4deg)}.receipt-loader{width:2.6rem;height:3.7rem;border:2px solid var(--muted);border-radius:.2rem;animation:breathe 1.2s ease-in-out infinite}@keyframes rise{0%{opacity:0;transform:translateY(2rem) scale(.97)}}@keyframes breathe{50%{transform:scale(.94) rotate(2deg);opacity:.5}}@media(min-width:42rem){.app-shell{padding-top:2.5rem}.receipt{border-radius:.35rem}.join-shell{padding-inline:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:more){:root{--line: rgba(0,0,0,.38)}.unclaimed-dot{border-width:2px}}@media(prefers-color-scheme:dark){:root{--canvas: #171716;--paper: #242321;--ink: #f7f1e8;--muted: #b5afa6;--line: rgba(255,255,255,.16);--shadow: 0 24px 80px rgba(0,0,0,.28)}body{background:radial-gradient(circle at 8% 2%,rgba(250,128,111,.1),transparent 25rem),var(--canvas)}.avatar,.primary{color:#191817}}
