:root{--bg:var(--tg-theme-secondary-bg-color,#efeff4);--section-bg:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--text:var(--tg-theme-text-color,#000);--hint:var(--tg-theme-hint-color,#8e8e93);--subtitle:var(--tg-theme-subtitle-text-color,var(--hint));--link:var(--tg-theme-link-color,#2481cc);--accent:var(--tg-theme-accent-text-color,var(--link));--button:var(--tg-theme-button-color,#2481cc);--button-text:var(--tg-theme-button-text-color,#fff);--section-header:var(--tg-theme-section-header-text-color,#6d6d72);--destructive:var(--tg-theme-destructive-text-color,#e53935);--separator:var(--tg-theme-section-separator-color,#80808033);--pos:#31a24c;--neg:var(--destructive);--radius:12px}@media (prefers-color-scheme:dark){:root:not([style*=--tg-theme]){--bg:#000;--section-bg:#1c1c1d;--text:#fff;--hint:#98989e;--section-header:#8d8e93;--link:#3e88f7;--button:#3e88f7}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.35 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{opacity:.4;cursor:default}.page{max-width:640px;padding:12px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.page-title{margin:8px 4px 16px;font-size:24px}.page-subtitle{margin:-8px 4px 16px}.hint{color:var(--hint)}.small{font-size:13px}.pos{color:var(--pos)}.neg{color:var(--neg)}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.center{text-align:center;padding:48px 16px}.hero{text-align:center;padding:16px 0 20px}.hero h1{margin:4px 0;font-size:26px}.hero p{margin:0}.hero-emoji,.empty-emoji{font-size:56px;line-height:1.1}.empty{text-align:center;padding:24px 16px}.empty p{margin:6px 0}.group-header{text-align:center;padding:8px 0 16px;position:relative}.group-header h2{margin:0 0 4px;padding:0 44px;font-size:24px}.my-balance{background:var(--section-bg);border-radius:20px;margin:12px auto 0;padding:8px 16px;font-weight:600;display:inline-block}.header-gear{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;line-height:1;display:flex;position:absolute;top:0;right:-8px}.header-gear:active{background:var(--section-bg)}.header-actions{gap:8px;margin-top:14px;display:flex}.header-actions button{background:var(--section-bg);min-width:0;height:56px;color:var(--link);white-space:nowrap;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px;font-size:13px;line-height:1.2;display:flex;position:relative}.tile-icon{font-size:20px;line-height:1}.tile-badge{color:var(--hint);font-size:10px;line-height:1;position:absolute;top:3px;right:4px}.dev-back{color:var(--link);padding:4px 0 8px}.section{margin-bottom:20px}.section-title{color:var(--section-header);text-transform:uppercase;letter-spacing:.02em;padding:0 16px 6px;font-size:13px}.section-title-row{justify-content:space-between;align-items:baseline;display:flex}.section-body{background:var(--section-bg);border-radius:var(--radius);overflow:hidden}.section-footer{color:var(--hint);padding:6px 16px 0;font-size:13px}.row{text-align:left;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 16px;display:flex;position:relative}.row+.row:before,.segmented+.row:before{content:"";border-top:.5px solid var(--separator);position:absolute;top:0;left:16px;right:0}.row.clickable:active{background:#8080801f}.row.link{color:var(--link)}.row-left{flex:none;display:flex}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-subtitle{color:var(--subtitle);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.row-right{text-align:right;flex:none}.row.split{gap:0;padding:0 16px 0 0}.row-hit{text-align:left;flex:1;align-self:stretch;align-items:center;gap:12px;min-width:0;padding:8px 0 8px 16px;display:flex}.stack-right{flex-direction:column;align-items:flex-end;display:flex}.expense-icon{background:var(--bg);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.bar{background:var(--bg);border-radius:2px;height:4px;margin-top:6px;display:block;overflow:hidden}.bar span{background:currentColor;border-radius:2px;height:100%;display:block}.invite-link{word-break:break-all;font-family:ui-monospace,Menlo,monospace;font-size:13px}.row.buttons{justify-content:flex-end}.field{appearance:none;background:0 0;border:none;outline:none;width:100%;min-height:48px;padding:14px 16px;display:block}.field::placeholder{color:var(--hint)}.amount-field{align-items:center;padding-right:16px;display:flex}.field+.field,.field+.amount-field{border-top:.5px solid var(--separator)}select.field{background-image:linear-gradient(45deg, transparent 50%, var(--hint) 50%), linear-gradient(135deg, var(--hint) 50%, transparent 50%);background-position:calc(100% - 22px),calc(100% - 17px);background-repeat:no-repeat;background-size:5px 5px}.field.inline{flex:1;min-height:32px;padding:0}.field.amount{font-size:28px;font-weight:600}.currency{color:var(--hint);font-weight:600}.currency-select{appearance:none;background:var(--bg);color:var(--text);font:inherit;border:0;border-radius:8px;padding:6px 10px;font-weight:600}.rate-field{border-top:.5px solid var(--separator)}.rate-label{color:var(--hint);padding-left:16px}.field.rate{text-align:right}.rate-hint{padding:0 16px 10px;font-size:13px}.field.exact{text-align:right;background:var(--bg);border-radius:8px;width:110px;min-height:36px;padding:6px 10px}.field.invalid,.field-error{color:var(--neg)}.field-error{padding:0 16px 10px;font-size:13px}.segmented{background:var(--bg);border-radius:9px;gap:2px;margin:10px 12px;padding:2px;display:flex}.page>.segmented{background:#80808026;margin:0 0 16px}.segmented button{border-radius:7px;flex:1;padding:7px 0;font-size:14px;font-weight:500}.segmented button.active{background:var(--section-bg);box-shadow:0 1px 3px #0000001f}.check,.radio{border:2px solid var(--hint);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.check.on,.radio.on{border-color:var(--button);background:var(--button)}.check.on:after{content:"✓";color:var(--button-text);font-size:13px;font-weight:700}.radio.on{background:var(--section-bg);box-shadow:inset 0 0 0 4px var(--section-bg), inset 0 0 0 12px var(--button)}.stepper{background:var(--bg);border-radius:8px;align-items:center;gap:4px;display:inline-flex}.stepper button{width:34px;height:32px;color:var(--link);font-size:20px}.stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:20px}.switch{background:#8080804d;border-radius:14px;width:46px;height:28px;transition:background .2s;display:inline-block;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--pos)}.switch.on:after{transform:translate(18px)}.small-btn{background:var(--bg);color:var(--link);white-space:nowrap;border-radius:8px;padding:6px 12px;font-size:14px;font-weight:500}.small-btn.primary{background:var(--button);color:var(--button-text)}.row.buttons .small-btn+.small-btn{margin-left:8px}.icon-btn{color:var(--hint);cursor:pointer;padding:4px 8px}.row.split>.small-btn{flex:none;min-height:44px;margin-left:12px;padding:0 14px}.row.split>.icon-btn{flex:none;margin-left:12px}.text-btn{color:var(--link);margin:0 auto 16px;padding:8px;display:block}.text-btn.small{text-transform:none;letter-spacing:0;margin:0;padding:0;font-size:13px;display:inline}.danger-btn{border-radius:var(--radius);background:var(--section-bg);width:100%;color:var(--destructive);margin-bottom:20px;padding:14px;display:block}.main-button-bar{padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--section-bg);border-top:.5px solid var(--separator);position:fixed;bottom:0;left:0;right:0}.main-button{background:var(--button);width:100%;max-width:608px;color:var(--button-text);border-radius:10px;margin:0 auto;padding:14px;font-weight:600;display:block}.section-body>.danger-btn{margin-bottom:0}.policy h2{margin:24px 0 8px;font-size:17px}.policy ul{padding-left:20px}.policy li{margin:6px 0}.footer-link{color:var(--hint);margin:16px auto 0;font-size:13px;text-decoration:underline;display:block}.footer-link-next{margin-top:8px}.app-version{color:var(--hint);text-align:center;margin:24px 0 8px;font-size:12px}.chips-caption{color:var(--hint);border-top:.5px solid var(--separator);padding:8px 16px 4px;font-size:12px}.chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding:0 16px 10px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;background:var(--bg);border:1px solid #0000;border-radius:16px;flex:none;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:14px;display:inline-flex}.chip.active{border-color:var(--button);background:color-mix(in srgb, var(--button) 15%, transparent)}.bar span.accent{background:var(--button)}.payment-line{color:var(--hint);word-break:break-word;font-size:13px;display:block}.row.payment{display:block}.row.payment .buttons-wrap{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.row.activity .row-title{white-space:normal;overflow:visible}.row.buttons-wrap-row{align-items:center;gap:12px;display:flex}.small-btn:disabled{opacity:.5}.row.wrap .row-subtitle{white-space:normal}.celebration{z-index:2000;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out celebration-in;display:flex;position:fixed;inset:0}.celebration-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.celebration-card{background:var(--section-bg);max-width:320px;color:var(--text);text-align:center;border-radius:20px;padding:28px 24px 20px;position:relative}.celebration-card h2{margin:8px 0 6px;font-size:22px}.celebration-card p{color:var(--hint);margin:0 0 16px}.celebration-emoji{font-size:72px;line-height:1}@keyframes celebration-in{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.celebration-emoji{animation:.5s ease-out celebration-pop}}@keyframes celebration-pop{0%{transform:scale(.4)}60%{transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.celebration{animation:none}}.summary-card{background:var(--section-bg);border-radius:var(--radius);text-align:center;margin-bottom:12px;padding:16px}.summary-hero{background:var(--button);color:var(--button-text)}.summary-big{overflow-wrap:anywhere;margin:4px 0;font-size:36px;font-weight:700;line-height:1.2}.summary-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.summary-grid .summary-card{margin-bottom:0}.summary-grid+.summary-card{margin-top:12px}.summary-emoji{font-size:32px;line-height:1.2}.summary-label{color:var(--hint);font-size:13px}.summary-value{overflow-wrap:anywhere;margin:2px 0;font-size:20px;font-weight:700}.title-chip{white-space:normal;width:fit-content;max-width:100%;color:var(--accent);background:#80808026;border-radius:10px;margin-bottom:4px;padding:1px 8px;font-size:12px;font-weight:600;display:block}.summary-hero .summary-label{color:inherit;opacity:.85}.welcome-title{text-align:center;margin:0 4px 12px;font-size:20px}.steps{margin:0 0 12px;padding:0;list-style:none}.step{border-radius:var(--radius);background:var(--section-bg);align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.step-icon{flex:none;font-size:28px;line-height:1}.banner{border-radius:var(--radius);background:var(--section-bg);border:1px dashed var(--accent);margin:0 0 8px;padding:10px 14px;font-size:14px}.finish-banner{border-style:solid}.banner-actions{gap:8px;margin-top:8px;display:flex}.chip.finish-yes{background:var(--button);color:var(--button-text);font-weight:600}.link-btn{color:var(--destructive);font-size:inherit;text-decoration:underline}.badge{background:var(--bg);color:var(--accent);vertical-align:middle;border-radius:10px;margin-left:4px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-block}.achievement{align-items:center;gap:12px;padding:10px 16px;display:flex}.achievement+.achievement{border-top:1px solid #80808026}.achievement-emoji{font-size:28px;line-height:1}.achievement-body{flex:1;min-width:0}.achievement-title{font-weight:600}.achievement-progress{white-space:nowrap}.achievement.locked .achievement-emoji{filter:grayscale();opacity:.45}.achievement.locked .achievement-title{color:var(--hint)}.achievement.unlocked .achievement-title{color:var(--accent)}.receipt-pick{cursor:pointer}.receipt-pick input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.receipt-reading .spinner{border:3px solid var(--separator);border-top-color:var(--button);border-radius:50%;width:32px;height:32px;margin:0 auto 16px;animation:.9s linear infinite receipt-spin}@keyframes receipt-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.receipt-reading .spinner{animation-duration:3s}}.receipt-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.receipt-consent{margin:0;display:block}.receipt-warn{margin-bottom:16px}.receipt-line{gap:8px;padding-right:8px}.receipt-main{flex-direction:column;flex:1;min-width:0;display:flex}.receipt-name{min-height:36px;padding:6px 0}.receipt-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-sum{font-weight:600}.receipt-line .field.exact,.row .field.exact{flex:none}.receipt-check{font-size:14px}.receipt-fix{flex-wrap:wrap;gap:8px}.row.clickable.link{width:100%}.quick-add{margin:12px 0}.quick-input{border:.5px solid var(--separator);border-radius:var(--radius);background:var(--section-bg);width:100%;min-height:44px;color:var(--text);font:inherit;outline:none;padding:10px 14px;display:block}.quick-input::placeholder{color:var(--hint)}.quick-input:focus{border-color:var(--button)}.quick-preview{flex-direction:column;gap:8px;margin-top:8px;display:flex}.quick-chip{background:color-mix(in srgb, var(--button) 15%, transparent);overflow-wrap:anywhere;border-radius:16px;align-self:flex-start;max-width:100%;padding:6px 10px;font-size:14px}.quick-actions{gap:8px;display:flex}.quick-hint{margin-top:6px}.chips.wrap{flex-wrap:wrap;padding:0;overflow:visible}.chip.dashed{border:1px dashed var(--hint)}.row.assign-item{flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;padding-bottom:10px}.assign-head{justify-content:space-between;gap:12px;display:flex}.assign-amount{flex:none;font-weight:600}.row.assign-item.unassigned .assign-head{color:var(--destructive,#e53935)}
