:root{--bg:#171717;--text:#c9c9c9;--muted:#8a8a8a;--surface:#1f1f1f;--line:#c9c9c924;--accent:#d6c698;--accent-hover:#e0d2ad;--accent-ink:#171717;--danger:#e07070;--radius:12px;--font:"DM Sans", "Helvetica Neue", sans-serif;color:var(--text);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--bg);min-height:100dvh;padding:clamp(.85rem,3vw,2.5rem) clamp(1.25rem,4vw,2.5rem);position:relative;overflow-x:hidden}.stage{z-index:1;max-width:560px;margin:0 auto;animation:.55s both rise;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.step{padding:clamp(.5rem,2vw,2rem) 0 0;position:relative}.step-home,.step-shared{padding-top:.15rem}.step h2{letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:600;line-height:1.15}.receipt-name-field{gap:.35rem;display:grid}.receipt-name-label{color:var(--muted);letter-spacing:.02em;font-size:.78rem;font-weight:500}.receipt-name-row{align-items:center;gap:.35rem;min-width:0;display:flex}.receipt-name-input{width:100%;min-width:0;color:var(--text);font:inherit;letter-spacing:-.03em;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;outline:none;flex:1;margin:0;padding:.15rem 0;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:600;line-height:1.15;transition:border-color .15s}.receipt-name-input:hover,.receipt-name-input:focus{border-bottom-color:#d6c69873}.receipt-name-edit{appearance:none;width:1.65rem;height:1.65rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin:0;padding:0;transition:color .15s,background .15s;display:grid}.receipt-name-edit:hover{color:var(--accent);background:#d6c6981a}.receipt-name-hint{color:var(--muted);font-size:.78rem}.step-copy{color:var(--muted);margin:.65rem 0 1.5rem;font-size:.98rem;line-height:1.5}.back-arrow{appearance:none;color:var(--text);cursor:pointer;opacity:.75;background:0 0;border:0;justify-content:center;align-items:center;padding:.2rem .4rem .2rem 0;transition:opacity .15s;display:inline-flex;position:absolute;top:0;left:0}.back-arrow:hover{opacity:1}.chat-reset{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;padding:.35rem 0 .35rem .5rem;font-size:.85rem;line-height:1;transition:color .15s;display:inline-flex;position:absolute;top:0;right:0}.chat-reset:hover:not(:disabled){color:var(--accent)}.chat-reset:disabled{opacity:.4;cursor:not-allowed}.step-profile,.step-capture,.step-tip,.step-chat,.step-results,.step-friends{padding-top:2.75rem}.step-intro{padding-top:.25rem}.intro-brand{margin:0 0 clamp(2.5rem,8vw,4rem)}.intro-brand h1{letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(1.85rem,5.5vw,2.4rem);font-weight:600;line-height:1.1}.intro-byline{color:var(--muted);letter-spacing:.01em;margin:.4rem 0 0;font-size:.95rem;font-weight:400}.intro-how-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.35rem,3.5vw,1.65rem);font-weight:600}.how-list{gap:1.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.how-list li{grid-template-columns:auto 1fr;align-items:start;gap:1rem;display:grid}.how-num{border:1px solid var(--accent);width:1.75rem;height:1.75rem;color:var(--accent);background:0 0;border-radius:999px;place-items:center;margin-top:.15rem;font-size:.82rem;font-weight:600;display:grid}.how-list strong{color:var(--text);letter-spacing:-.01em;font-size:1.05rem;font-weight:600;display:block}.how-list p{color:var(--muted);margin:.35rem 0 0;font-size:.95rem;line-height:1.45}.profile-form{gap:1.15rem;display:grid}.field{color:var(--muted);gap:.45rem;font-size:.85rem;font-weight:500;display:grid}.field input,.venmo-input-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;font-size:1.05rem}.field input{padding:.9rem 1rem}.field input:focus,.venmo-input-wrap:focus-within,.tip-input-wrap:focus-within,.chat-composer:focus-within{outline:1px solid var(--accent);outline-offset:1px}.venmo-input-wrap{align-items:center;padding:0 1rem;display:flex}.venmo-at{color:var(--muted);margin-right:.15rem}.venmo-input-wrap input{width:100%;color:var(--text);font:inherit;background:0 0;border:0;padding:.9rem 0;font-size:1.05rem}.venmo-input-wrap input:focus{outline:none}.receipt-preview-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#101010;margin-top:1.25rem;position:relative;overflow:hidden}.receipt-preview-wrap.is-parsing{box-shadow:none;border-color:#d6c69838;overflow:hidden}.receipt-preview{object-fit:contain;width:100%;max-height:min(48vh,380px);animation:.45s both fade-in;display:block}.receipt-change-icon,.receipt-share-icon,.receipt-pause-icon,.receipt-save-roll{z-index:3;appearance:none;color:var(--accent);cursor:pointer;background:#171717e0;border:1px solid #d6c69859;border-radius:8px;transition:background .15s,border-color .15s;position:absolute}.receipt-change-icon,.receipt-share-icon,.receipt-pause-icon{place-items:center;width:2rem;height:2rem;padding:0;display:grid}.receipt-share-icon,.receipt-pause-icon{top:.55rem;right:.55rem}.receipt-change-icon{bottom:.55rem;right:.55rem}.receipt-save-roll{max-width:calc(100% - 3.5rem);height:2rem;font:inherit;white-space:nowrap;text-overflow:ellipsis;padding:0 .65rem;font-size:.72rem;font-weight:500;line-height:1.2;bottom:.55rem;left:.55rem;overflow:hidden}.receipt-change-icon:hover,.receipt-share-icon:hover,.receipt-pause-icon:hover,.receipt-save-roll:hover{border-color:var(--accent);background:#171717f5}.receipt-share-icon:disabled,.receipt-save-roll:disabled{opacity:.55;cursor:default}@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.receipt-border-anim{z-index:2;pointer-events:none;border-radius:inherit;background:conic-gradient(from var(--border-angle), transparent 0deg, transparent 300deg, var(--accent) 328deg, #e8dcb8 348deg, var(--accent) 360deg);-webkit-mask-composite:xor;padding:2px;animation:2.6s linear infinite border-orbit;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.receipt-parsing-label{z-index:3;box-sizing:border-box;width:12.75rem;color:var(--accent);letter-spacing:.02em;white-space:nowrap;text-align:center;background:#171717e0;border:1px solid #d6c69859;border-radius:999px;margin:0;padding:.35rem .5rem;font-size:.78rem;font-weight:600;position:absolute;bottom:.75rem;left:50%;overflow:hidden;transform:translate(-50%)}.receipt-thought{border-radius:var(--radius);background:linear-gradient(#1c1c1ceb,#121212e0);border:1px solid #d6c6982e;margin-top:.85rem;padding:.7rem .85rem;animation:.35s both fade-in}.receipt-thought-text{color:#e8dcb8b8;letter-spacing:.01em;white-space:pre-wrap;scrollbar-width:thin;max-height:6.5rem;margin:0;font-size:.82rem;font-style:italic;line-height:1.45;overflow-y:auto}@keyframes border-orbit{0%{--border-angle:0deg}18%{--border-angle:40deg}42%{--border-angle:155deg}58%{--border-angle:210deg}82%{--border-angle:320deg}to{--border-angle:360deg}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.source-row{flex-wrap:wrap;gap:.75rem;margin-top:.25rem;display:flex}.source-row .btn{flex:10rem}.assign-hint{color:var(--muted);text-align:right;margin:1rem 0 0;font-size:.85rem;line-height:1.4}.action-row{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.text-action{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;margin:1.5rem auto 0;padding:0;font-size:.95rem;display:block}.text-action:hover{color:var(--ink)}.btn{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.85rem 1.35rem;font-weight:600;transition:transform .15s,background .15s,opacity .15s,border-color .15s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.compact{align-self:end;padding:.75rem 1.1rem}.fee-callout{border-radius:var(--radius);background:#d6c69814;border:1px solid #d6c69859;margin:0 0 1.1rem;padding:1rem 1.05rem}.fee-callout-row{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.45rem;font-weight:600;display:flex}.fee-callout p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.4}.tip-included-callout{background:#d6c6981f}.fee-suggest-btn{width:100%;margin-top:.75rem}.tip-summary-combined{background:#d6c69814;margin-top:.55rem}.tip-toggle{background:var(--surface);border:1px solid var(--line);border-radius:16px;grid-template-columns:1fr 1fr;gap:.35rem;padding:.3rem;display:grid}.tip-toggle button{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:.85rem .75rem;font-weight:600;transition:background .15s,color .15s}.tip-toggle button.active{color:var(--text);background:#2a2a2a}.tip-field{color:var(--muted);gap:.45rem;margin-top:1.1rem;font-size:.85rem;font-weight:500;display:grid}.tip-input-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:.35rem;padding:.15rem .9rem;display:flex}.tip-input-wrap input{width:100%;color:var(--text);font:inherit;background:0 0;border:0;padding:.8rem 0;font-size:1.35rem;font-weight:600}.tip-input-wrap input:focus{outline:none}.tip-prefix,.tip-suffix{color:var(--muted);font-size:1.1rem;font-weight:600}.chat-composer{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;position:relative}.chat-composer textarea{border-radius:var(--radius);width:100%;color:var(--text);font:inherit;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;field-sizing:content;background:0 0;border:none;min-height:calc(1.8rem + 2.9em);padding:.9rem 3rem .9rem 1rem;line-height:1.45;overflow:hidden}.chat-composer textarea:focus{outline:none}.chat-send{background:var(--accent);width:2rem;height:2rem;color:var(--accent-ink);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:grid;position:absolute;bottom:.55rem;right:.55rem}.chat-send:disabled{opacity:.45;cursor:not-allowed}.chat-send:not(:disabled):hover{background:var(--accent-hover)}.tip-summary,.grand-total,.totals-breakdown{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);margin-top:1.15rem;padding:.95rem 1rem;font-weight:600}.tip-summary,.grand-total{justify-content:space-between;align-items:baseline;display:flex}.tip-summary.tip-summary-all-in{background:#d6c6981a;margin-top:.55rem}.tip-summary-with-edit{align-items:center}.tip-summary-value{align-items:center;gap:.15rem;display:inline-flex}.tip-summary-value .receipt-edit-icon{margin:0 -.45rem 0 0}.tip-edit-header{justify-content:space-between;align-items:baseline;gap:.75rem;margin:0 0 .55rem;display:flex}.tip-edit-label{color:var(--muted);font-size:.82rem}.totals-breakdown{gap:.55rem;display:grid}.totals-row{color:var(--muted);justify-content:space-between;align-items:baseline;gap:1rem;font-weight:500;display:flex}.totals-row strong{color:var(--text);font-weight:600}.totals-row-sub{opacity:.9;padding-left:.85rem;font-size:.92em}.totals-row-combined{border-top:1px solid var(--line);color:var(--text);margin-top:.25rem;padding-top:.65rem;font-weight:600}.tip-summary strong,.grand-total strong,.totals-row-combined strong{color:var(--text);font-size:1.25rem}.receipt-strip{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);gap:.35rem;margin-bottom:1rem;padding:.85rem 1rem;display:grid}.receipt-line{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.92rem;transition:color .2s,opacity .2s;display:flex}.receipt-line>span:last-child{flex-shrink:0}.receipt-line.assigned{color:var(--accent);opacity:.75;text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:1.5px}.receipt-line-name{min-width:0;color:inherit;font:inherit;text-align:left;white-space:normal;cursor:pointer;background:0 0;border:none;flex:1;padding:0}.receipt-line.assigned .receipt-line-name{text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:1.5px}.receipt-line-name:not(:disabled):hover,.receipt-line-name:focus-visible{color:var(--accent)}.receipt-line-name:disabled{cursor:default}.receipt-line-share{color:var(--accent);font-variant-numeric:tabular-nums;margin-right:.35rem;font-size:.85em}.receipt-strip-footer{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.85rem;margin-top:.25rem;display:flex}.receipt-note{color:var(--muted);margin:0;font-size:.78rem;line-height:1.3}.receipt-edit-icon{appearance:none;width:1.85rem;height:1.85rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin:0 -.35rem 0 0;padding:0;transition:color .15s,background .15s;display:grid}.receipt-edit-icon:hover:not(:disabled){color:var(--accent);background:#d6c6981a}.receipt-edit-icon:disabled{opacity:.4;cursor:not-allowed}.receipt-edit{border-top:1px solid var(--line);gap:.55rem;margin-top:.75rem;padding-top:.75rem;display:grid}.receipt-edit-form{gap:.5rem;display:grid}.receipt-edit-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.receipt-edit-label{color:var(--muted);font-size:.82rem}.receipt-edit-cancel{appearance:none;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.82rem}.receipt-edit-cancel:hover:not(:disabled){color:var(--accent-hover)}.receipt-edit-cancel:disabled{opacity:.45;cursor:not-allowed}.receipt-edit-reply{color:var(--muted);margin:0;font-size:.82rem}.receipt-edit-error{margin:0}.chat-box{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);flex-direction:column;margin-bottom:.85rem;display:flex;overflow:hidden}.chat-box:focus-within{outline:1px solid var(--accent);outline-offset:1px}.chat-panel{border-bottom:1px solid var(--line);gap:.65rem;max-height:170px;padding:.85rem;display:grid;overflow:auto}.chat-box-error{border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:.65rem .85rem}.chat-box .chat-composer{background:0 0;border:none;border-radius:0}.chat-box .chat-composer:focus-within{outline:none}.bubble{overflow-wrap:anywhere;word-break:break-word;border-radius:14px;max-width:85%;padding:.75rem .95rem;line-height:1.4;animation:.28s both bubble-in}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bubble.user{color:var(--text);background:#2a2a2a;border-bottom-right-radius:5px;justify-self:end}.bubble.assistant{background:#d6c6981a;border:1px solid #d6c69838;border-bottom-left-radius:5px;justify-self:start}.bubble.user.queued{white-space:pre-wrap;opacity:.7;align-items:flex-start;gap:.55rem;display:flex}.queued-cancel{width:1.15rem;height:1.15rem;color:var(--text);cursor:pointer;background:#ffffff24;border:none;border-radius:50%;flex-shrink:0;place-items:center;margin-top:.15rem;padding:0;display:grid}.queued-cancel:hover{background:#ffffff42}.bubble.typing{align-items:center;min-height:1.15em;padding-block:.9rem;display:flex}.chat-loader{align-items:center;gap:.3rem;display:inline-flex}.chat-loader span{background:var(--muted);border-radius:50%;width:.42rem;height:.42rem;animation:1.05s ease-in-out infinite chat-loader-bounce}.chat-loader span:nth-child(2){animation-delay:.15s}.chat-loader span:nth-child(3){animation-delay:.3s}@keyframes chat-loader-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-form{display:block}.people-list{gap:.9rem;display:grid}.person-block{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);padding:1rem 1.05rem;animation:.45s both rise}.person-block header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.55rem;display:flex}.person-heading{flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;display:flex}.person-block h3{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;margin:0;font-size:1.2rem;font-weight:600;display:inline-flex}.person-block header strong{color:var(--accent);flex-shrink:0;font-size:1.15rem}.person-block ul{margin:0;padding:0;list-style:none}.person-block li{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.95rem;display:flex}.person-block li.meta{color:var(--muted)}.venmo-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.85rem;display:flex}.venmo-link{color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.55rem .95rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}.venmo-link:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}.venmo-link.clicked{color:var(--accent);background:0 0}.venmo-link.clicked:hover{color:var(--accent-hover);border-color:var(--accent-hover);background:0 0}.venmo-mark-toggle{appearance:none;color:#fff;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;margin:0;padding:0;font-size:.88rem;font-weight:500}.venmo-mark-toggle.unpaid{color:var(--accent)}.venmo-mark-toggle:hover{text-decoration:underline}.venmo-mark-toggle.unpaid:hover{color:var(--accent-hover)}.add-person-btn{appearance:none;color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #d6c6988c;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:.2rem .55rem;font-size:.78rem;font-weight:500;line-height:1.2;transition:background .15s,border-color .15s;display:inline-flex}.add-person-btn-icon{box-sizing:border-box;border-radius:999px;min-height:calc(1.2em + .4rem + 2px);padding:.2rem .55rem;font-size:.78rem;font-weight:500;line-height:1.2}.add-person-btn:hover{border-color:var(--accent);background:#d6c6981a}.contact-suggest-bubble{appearance:none;color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #d6c6988c;border-radius:999px;flex-shrink:0;align-items:center;margin:0;padding:.2rem .55rem;font-size:.78rem;font-weight:500;line-height:1.2;transition:background .15s,border-color .15s;display:inline-flex}.contact-suggest-bubble:hover{border-color:var(--accent);background:#d6c6981a}.contact-confirmed{appearance:none;color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.82rem;font-weight:500;line-height:1.3;display:inline}.contact-confirmed:hover{color:var(--accent-hover);text-decoration:underline}.modal-backdrop{z-index:40;background:#0000008c;place-items:center;padding:1rem;animation:.2s both fade-in;display:grid;position:fixed;inset:0}.modal-sheet{border:1px solid var(--line);background:#1c1c1c;border-radius:18px;width:min(100%,420px);max-height:min(90dvh,640px);padding:1.35rem 1.25rem 1.25rem;animation:.28s both rise;overflow:auto;box-shadow:0 18px 50px #00000073}.modal-sheet h3{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.35rem;font-weight:600}.modal-copy{color:var(--muted);margin:.45rem 0 1.15rem;font-size:.95rem;line-height:1.45}.modal-hint{color:var(--accent);background:#d6c69814;border:1px solid #d6c69833;border-radius:10px;margin:.15rem 0 0;padding:.7rem .8rem;font-size:.88rem;line-height:1.4}.modal-actions{flex-direction:column;align-items:stretch;gap:.75rem;margin-top:.35rem;display:flex}.modal-actions .btn{width:100%}.modal-cancel{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;margin:0 auto;padding:0;font-size:.95rem;display:block}.modal-cancel:hover:not(:disabled){color:var(--ink)}.modal-cancel:disabled{opacity:.4;cursor:not-allowed}.amount-challenge-sheet{text-align:center}.amount-challenge-prompt{margin-bottom:1.35rem}.amount-challenge-mask{letter-spacing:.02em;color:var(--text)}.amount-challenge-choices{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;margin:0 0 1rem;display:flex}.amount-challenge-circle{appearance:none;border:1.5px solid var(--line);width:5.25rem;height:5.25rem;color:var(--text);font:inherit;letter-spacing:-.01em;cursor:pointer;background:#d6c6980f;border-radius:999px;justify-content:center;align-items:center;padding:.4rem;font-size:.95rem;font-weight:600;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.amount-challenge-circle:hover{background:#d6c69824;border-color:#d6c6988c;transform:translateY(-1px)}.amount-challenge-circle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.error-text{color:var(--danger);margin:0;font-size:.9rem}.host-note{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}.unassigned{border-radius:var(--radius);background:#d6c6980f;border:1px dashed #d6c69873;margin:0 0 1rem;padding:1rem}.unassigned-header{justify-content:space-between;align-items:baseline;gap:.75rem;margin:0 0 .55rem;display:flex}.unassigned h3{margin:0;font-size:.95rem}.unassigned-assign{appearance:none;font:inherit;color:var(--accent);cursor:pointer;text-align:right;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.88rem}.unassigned-assign:hover{color:var(--accent-hover);text-decoration:underline}.error-banner{border-radius:var(--radius);color:var(--danger);background:#e070701f;margin:1rem 0 0;padding:.75rem .9rem;font-size:.92rem}.home-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(1.1rem,4vw,1.75rem);display:flex}.home-brand{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.5rem,5vw,1.85rem);font-weight:600}.profile-menu{flex-shrink:0;position:relative}.profile-avatar{appearance:none;border:1.5px solid var(--accent);width:2rem;height:2rem;color:var(--accent);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:600;transition:background .15s;display:inline-flex}.profile-avatar:hover{background:#d6c6981f}.profile-menu-panel{z-index:20;border:1px solid var(--line);background:#1c1c1c;border-radius:14px;min-width:12.5rem;padding:.4rem;animation:.18s both rise;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 16px 40px #00000073}.profile-menu-identity{border-bottom:1px solid var(--line);gap:.1rem;margin-bottom:.3rem;padding:.5rem .65rem .6rem;display:grid}.profile-menu-identity strong{font-size:.95rem;font-weight:600}.profile-menu-identity span{color:var(--muted);font-size:.82rem}.profile-menu-item{appearance:none;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:.6rem .65rem;font-size:.95rem}.profile-menu-item:hover{background:#c9c9c914}.profile-menu-item.danger{color:var(--danger)}.home-section-bar{justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 1.75rem;display:flex}.step h2.home-section-title{color:var(--muted);letter-spacing:.01em;margin:0;font-size:.8rem;font-weight:500;line-height:1.3}.recent-list{gap:.6rem;margin:0 0 clamp(2rem,8vw,3.5rem);padding:0;list-style:none;display:grid}.recent-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .15s;overflow:hidden}.recent-item.expanded{border-color:#d6c69873}.recent-row{align-items:stretch;width:100%;display:flex}.recent-open{appearance:none;min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;flex:1;align-items:center;padding:.95rem .5rem .95rem 1.05rem;display:flex}.recent-open:hover{background:#ffffff05}.recent-toggle{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:0 1.05rem;display:flex}.recent-toggle:hover{color:var(--text);background:#ffffff0a}.recent-body{flex:1;gap:.2rem;min-width:0;display:grid}.recent-name{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.recent-meta{color:var(--muted);font-size:.85rem}.recent-chevron{color:var(--muted);flex-shrink:0;transition:transform .18s}.recent-chevron.open{transform:rotate(90deg)}.recent-collect{border-top:1px solid var(--line);gap:.85rem;padding:0 1.05rem 1rem;display:grid}.recent-collect-status{color:var(--muted);margin:.85rem 0 0;font-size:.88rem}.recent-collect-row{gap:.55rem;padding-top:.85rem;display:grid}.recent-collect-identity{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.recent-collect-identity strong{font-size:.95rem;font-weight:600}.recent-collect-identity span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.92rem}.recent-view-link{appearance:none;color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:.15rem 0 0;font-size:.88rem;font-weight:500}.recent-view-link:hover{color:var(--accent-hover);text-decoration:underline}.recent-delete{appearance:none;color:var(--danger);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-self:start;margin:0;padding:.15rem 0;font-size:.88rem;font-weight:500}.recent-delete:hover:not(:disabled){text-decoration:underline}.recent-delete.danger{font-weight:600}.recent-delete:disabled{opacity:.6;cursor:default}.recent-delete-confirm{gap:.5rem;display:grid}.recent-delete-copy{color:var(--muted);margin:0;font-size:.85rem}.recent-delete-actions{align-items:center;gap:1rem;display:flex}.recent-empty{color:var(--muted);margin:0 0 clamp(2rem,8vw,3.5rem);font-size:.95rem}.home-cta{justify-items:center;gap:.6rem;display:grid}.home-cta .btn.primary{width:100%}.home-cta-note{color:var(--muted);text-align:center;margin:0;font-size:.82rem}.friends-header{justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .15rem;display:flex}.friends-header h2{margin:0}.friends-add{appearance:none;border:1.5px solid var(--accent);color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;margin:0;padding:.4rem .75rem;font-size:.82rem;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.friends-add:hover{border-color:var(--accent-hover);color:var(--accent-hover);background:#d6c6981f}.friend-list{gap:.6rem;margin:0 0 1.35rem;padding:0;list-style:none;display:grid}.friend-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.05rem;display:flex}.friend-identity{gap:.15rem;min-width:0;display:grid}.friend-identity strong{font-size:1rem;font-weight:600}.friend-venmo{color:var(--muted);font-size:.85rem}.friend-nicknames{color:var(--muted);opacity:.85;font-size:.78rem}.friend-edit{appearance:none;width:2.1rem;height:2.1rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex}.friend-edit:hover{color:var(--text);background:#c9c9c914}.friend-saved{color:var(--muted);flex-shrink:0;font-size:.8rem}.field-hint{color:var(--muted);margin:0;font-size:.8rem;font-weight:400;line-height:1.4}.nickname-chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.nickname-chips li{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;align-items:center;gap:.25rem;padding:.3rem .45rem .3rem .65rem;font-size:.88rem;font-weight:400;display:inline-flex}.nickname-chip-remove{appearance:none;width:1.25rem;height:1.25rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.nickname-chip-remove:hover{color:var(--text)}.friend-delete-link{appearance:none;width:100%;color:var(--danger);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;margin-top:.35rem;padding:.55rem 0 0;font-size:.9rem;display:block}.friend-delete-link:hover:not(:disabled){text-decoration:underline}.friend-delete-link:disabled{opacity:.5;cursor:not-allowed}.friend-delete-confirm{background:var(--danger)!important;color:#1a1212!important}.friend-delete-confirm:not(:disabled):hover{filter:brightness(1.05)}.share-link-field{gap:.35rem;margin-top:1.25rem;display:grid}.share-link-row{align-items:stretch;gap:.55rem;display:flex}.share-link-value{appearance:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;font:inherit;color:var(--accent);cursor:pointer;text-align:left;flex:1;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:1rem;display:flex}.share-link-value:hover{border-color:#d6c69873}.share-link-url{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-link-copied{color:var(--muted);flex-shrink:0;font-size:.78rem}.share-link-share{appearance:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:2.85rem;color:var(--text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}.share-link-share:hover{background:#d6c69814;border-color:#d6c69873}.share-link-pending{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);padding:.75rem 1rem;font-size:.92rem}.gate-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem;font-size:.8rem}.gate-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.55rem,6vw,2rem);font-weight:600}.amount-input-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;align-items:center;padding:0 1rem;font-size:1.05rem;display:flex}.amount-input-wrap:focus-within{outline:1px solid var(--accent);outline-offset:1px}.amount-currency{color:var(--muted);margin-right:.2rem}.amount-input-wrap input{width:100%;color:var(--text);font:inherit;background:0 0;border:0;padding:.9rem 0;font-size:1.05rem}.amount-input-wrap input:focus{outline:none}.shared-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.shared-code{color:var(--muted);letter-spacing:.04em;font-size:.85rem}.shared-hero{align-items:center;gap:.9rem;margin-bottom:1.5rem;display:flex}.receipt-photo{appearance:none;aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);cursor:zoom-in;background:#101010;flex-shrink:0;width:4.75rem;height:4.75rem;margin:0;padding:0;display:block;position:relative;overflow:hidden}.receipt-photo img{object-fit:cover;width:100%;height:100%;display:block}.receipt-photo-hint{display:none}.photo-lightbox{z-index:60;cursor:zoom-out;background:#000000eb;place-items:center;padding:1.5rem;animation:.2s both rise;display:grid;position:fixed;inset:0}.photo-lightbox img{object-fit:contain;cursor:default;border-radius:8px;max-width:100%;max-height:100%}.photo-lightbox-close{appearance:none;color:#e8e8e8;cursor:pointer;background:0 0;border:none;font-size:2.25rem;line-height:1;position:absolute;top:.75rem;right:1rem}.shared-meta{flex:1;min-width:0}.shared-meta h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.2rem,4.5vw,1.55rem);font-weight:600;line-height:1.2}.shared-date{font-size:inherit;color:inherit}.shared-paidby{color:var(--muted);margin:.3rem 0 0;font-size:.88rem;line-height:1.35}.person-block-you{background:#d6c6980f;border-color:#d6c69873}.shared-person-identity{gap:.1rem;min-width:0;display:grid}@media (width<=560px){.action-row{flex-direction:column-reverse}.btn,.btn.compact{width:100%}.chat-send{width:2rem}.receipt-photo{width:4.25rem;height:4.25rem}}
