:root{--font:-apple-system, system-ui, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--font-display:"Avenir Next Rounded", "Arial Rounded MT Bold", "Trebuchet MS", var(--font);--calc-save-slot-width:88px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:12px;--sp-5:16px;--sp-6:16px;--sp-8:24px;--sp-10:32px;--section-subitem-gap:var(--sp-2);--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:12px;--radius-2xl:12px;--radius-full:9999px;--trans-fast:.15s ease;--trans-med:.25s ease;--brand:#4a83c4;--brand-2:#3a6fad;--brand-gradient:linear-gradient(135deg, #5b93d4 0%, #4a83c4 40%, #3567a3 100%);--brand-glow:0 0 20px #4a83c459, 0 0 40px #4a83c426;--brand-light:#4a83c41f;--danger:#e64646;--danger-light:#e646461f;--success:#4bb34b;--success-light:#4bb34b1f;--warning:#ffa000;--warning-light:#ffa0001f;--glass-blur:blur(18px);--glass-border:#ffffff1a;--glass-bg:#ffffffb3}[data-theme=light]{--glass-bg:#ffffffb8;--glass-border:#ffffff80;--surface:var(--glass-bg);--surface-solid:#fff;--surface-2:#f5f6f8;--surface-hover:#0000000a;--border:#00000014;--border-strong:#00000024;--text:#1a1d23;--text-2:#6b7280;--text-3:#9ca3af;--header-bg:#ffffffd1;--input-bg:#f3f4f7;--overlay:#0f172a73;--shadow-card:0 4px 12px #0000000d, 0 1px 2px #0000000a;--shadow-hover:0 12px 24px #00000014, 0 4px 6px #0000000a;--shadow-float:0 20px 48px #0000001f, 0 8px 16px #0000000f;--expand-arrow:#5b8abf;--aura-1:#4a83c41f;--aura-2:#badeff33;--aura-3:#fff0c826;--purchase-tone-1-bg:linear-gradient(135deg, #4a83c41a, #4a83c408 60%);--purchase-tone-1-hover:linear-gradient(135deg, #4a83c424, #4a83c40d 60%);--purchase-tone-1-border:#4a83c424;--purchase-tone-1-border-hover:#4a83c43d;--purchase-tone-2-bg:linear-gradient(135deg, #4598881a, #45988808 60%);--purchase-tone-2-hover:linear-gradient(135deg, #45988824, #4598880d 60%);--purchase-tone-2-border:#45988824;--purchase-tone-2-border-hover:#4598883d;--purchase-tone-3-bg:linear-gradient(135deg, #d69f441c, #d69f4408 60%);--purchase-tone-3-hover:linear-gradient(135deg, #d69f4426, #d69f440d 60%);--purchase-tone-3-border:#d69f4429;--purchase-tone-3-border-hover:#d69f4442;--purchase-tone-4-bg:linear-gradient(135deg, #c76a551a, #c76a5508 60%);--purchase-tone-4-hover:linear-gradient(135deg, #c76a5524, #c76a550d 60%);--purchase-tone-4-border:#c76a5524;--purchase-tone-4-border-hover:#c76a553d}[data-theme=dark]{--glass-bg:#1a1b1fbd;--glass-border:#ffffff14;--surface:var(--glass-bg);--surface-solid:#1a1b1f;--surface-2:#232428;--surface-hover:#ffffff12;--border:#ffffff0f;--border-strong:#ffffff1f;--text:#f1f3f5;--text-2:#8b919a;--text-3:#5a6170;--header-bg:#1a1b1fd9;--input-bg:#232428;--overlay:#000000bf;--shadow-card:0 4px 12px #0006, 0 0 0 1px #ffffff0a;--shadow-hover:0 12px 24px #0009, 0 0 0 1px #ffffff12;--shadow-float:0 20px 48px #000000bf, 0 0 0 1px #ffffff14;--expand-arrow:#88abd3;--aura-1:#4a83c42e;--aura-2:#2b3e6640;--aura-3:#64469626;--purchase-tone-1-bg:linear-gradient(135deg, #4a83c433, #4a83c414 60%);--purchase-tone-1-hover:linear-gradient(135deg, #4a83c442, #4a83c41a 60%);--purchase-tone-1-border:#77a7dd2e;--purchase-tone-1-border-hover:#77a7dd4d;--purchase-tone-2-bg:linear-gradient(135deg, #45988833, #45988814 60%);--purchase-tone-2-hover:linear-gradient(135deg, #45988842, #4598881a 60%);--purchase-tone-2-border:#6ebfaf2e;--purchase-tone-2-border-hover:#6ebfaf4d;--purchase-tone-3-bg:linear-gradient(135deg, #d69f4438, #d69f4414 60%);--purchase-tone-3-hover:linear-gradient(135deg, #d69f4447, #d69f441a 60%);--purchase-tone-3-border:#e7bc7333;--purchase-tone-3-border-hover:#e7bc7357;--purchase-tone-4-bg:linear-gradient(135deg, #c76a5533, #c76a5514 60%);--purchase-tone-4-hover:linear-gradient(135deg, #c76a5542, #c76a551a 60%);--purchase-tone-4-border:#e28f7c2e;--purchase-tone-4-border-hover:#e28f7c4d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior-x:none;scroll-behavior:smooth;font-size:16px;overflow-x:hidden}html.scroll-locked{overscroll-behavior:none}body{font-family:var(--font);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-x:none;min-height:100vh;line-height:1.5;position:relative;overflow-x:hidden}body.scroll-locked{overscroll-behavior:none}body:before{content:"";z-index:-1;background:radial-gradient(circle at 10% 20%, var(--aura-1) 0%, transparent 40%), radial-gradient(circle at 80% 10%, var(--aura-2) 0%, transparent 50%), radial-gradient(circle at 40% 90%, var(--aura-3) 0%, transparent 40%);filter:blur(80px);transition:background 1s;position:fixed;inset:-50%}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,a,[role=button],summary,input[type=button],input[type=submit],input[type=reset]{-webkit-tap-highlight-color:transparent}h1{letter-spacing:-.03em;font-size:1.375rem;font-weight:800}h2{letter-spacing:-.02em;font-size:1rem;font-weight:700}h3{font-size:.875rem;font-weight:600}.app-wrapper{max-width:960px;padding:0 var(--sp-4) var(--sp-6);width:100%;margin:0 auto}.section-loading-card{padding:14px 16px 16px}.section-loading-body{flex-direction:column;gap:10px;display:flex}.loading-skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, color-mix(in srgb, var(--surface-2) 74%, #fff) 50%, var(--surface-2) 100%);background-size:200% 100%;border-radius:999px;width:100%;animation:1.35s ease-in-out infinite skeletonShimmer;display:block}.loading-skeleton-title{width:42%;height:14px}.loading-skeleton-line{height:12px}.loading-skeleton-line.is-short{width:62%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=767px){.app-wrapper{padding-bottom:var(--sp-6)}.has-results-pinned-footer .app-wrapper{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.main-layout,.layout-column{gap:12px}.section-body{padding:10px}.section-header{padding:8px 12px}.section-card:hover{transform:none}}.header-loading-strip{top:env(safe-area-inset-top,0px);z-index:140;opacity:0;pointer-events:none;width:100%;height:6px;animation:.22s forwards loadingStripIn;position:fixed;left:0;right:0;overflow:hidden;transform:translateY(-100%)}.header-loading-strip.is-closing{animation:.22s forwards loadingStripOut}.header-loading-rail{background:var(--surface-2);border-bottom:1px solid var(--border);width:100%;height:100%;position:relative}.header-loading-indicator{background:linear-gradient(90deg, transparent 0%, var(--brand) 45%, transparent 100%);width:40%;min-width:120px;animation:1s linear infinite loadingStripSweep;position:absolute;top:0;bottom:0}.calc-opening-shell{flex-direction:column;gap:18px;padding-top:24px;display:flex}.calc-opening-hero{border:1px solid color-mix(in srgb, var(--brand) 18%, var(--glass-border));background:radial-gradient(circle at top right, color-mix(in srgb, var(--brand-light) 88%, transparent), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--surface) 90%, white 10%), var(--surface));align-items:flex-start;gap:14px;width:min(100%,640px);margin:0 auto;padding:18px 20px;display:flex;box-shadow:0 16px 38px #447bba14}.calc-opening-spinner{border:2px solid color-mix(in srgb, var(--brand) 18%, transparent);border-top-color:var(--brand);border-radius:999px;flex-shrink:0;width:20px;height:20px;margin-top:2px;animation:.82s linear infinite calcLoadingSpin}.calc-opening-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.calc-opening-title{color:var(--text);font-size:1rem;font-weight:750;line-height:1.2}.calc-opening-name{color:var(--brand);overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.calc-opening-description{color:var(--text-2);font-size:.9rem;line-height:1.5}.calc-opening-grid{grid-template-columns:minmax(0,1fr);gap:16px;width:min(100%,640px);margin:0 auto;display:grid}.calc-opening-grid.is-desktop{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;width:100%;max-width:none}.calc-opening-grid.is-desktop>:first-child{grid-column:1}.calc-opening-grid.is-desktop>:nth-child(2){grid-column:2}@media (width<=767px){.calc-opening-shell{gap:14px;padding-top:14px}.calc-opening-hero{border-radius:20px;width:100%;padding:16px;box-shadow:0 18px 42px #09101d1f}.calc-opening-title{font-size:.96rem}.calc-opening-name{font-size:.9rem}.calc-opening-description{font-size:.84rem}.calc-opening-grid{gap:12px;width:100%}}.calc-loading-banner{margin-bottom:16px}.calc-loading-banner-card{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--brand) 22%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--brand-light) 72%, var(--surface-solid)), color-mix(in srgb, var(--surface) 88%, var(--brand-light)));align-items:flex-start;gap:12px;padding:14px 16px;display:flex;box-shadow:0 10px 26px #447bba14}@media (width<=767px){.calc-loading-banner{z-index:180;padding:calc(env(safe-area-inset-top,0px) + 92px) var(--sp-4) calc(env(safe-area-inset-bottom,0px) + var(--sp-6));-webkit-backdrop-filter:blur(10px)saturate(.95);overscroll-behavior:none;touch-action:none;background:#09101d6b;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0}.calc-loading-banner-card{width:min(100%,420px);box-shadow:0 20px 48px #09101d33}}.calc-loading-spinner{border:2px solid color-mix(in srgb, var(--brand) 18%, transparent);border-top-color:var(--brand);border-radius:999px;flex-shrink:0;width:18px;height:18px;margin-top:2px;animation:.82s linear infinite calcLoadingSpin}.calc-loading-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.calc-loading-title{color:var(--text);font-size:.95rem;font-weight:700}.calc-loading-name{color:var(--brand);overflow-wrap:anywhere;font-size:.9375rem;font-weight:700}.calc-loading-description{color:var(--text-2);font-size:.875rem;line-height:1.4}.bot-check-overlay{-webkit-backdrop-filter:blur(8px)saturate(.9);background:#09101d9e}.bot-check-modal{width:min(460px,100vw - 32px);max-width:460px;padding:clamp(var(--sp-4), 4vw, var(--sp-6));background:radial-gradient(circle at top right, #3a7cf524, transparent 38%), var(--surface-solid)}.bot-check-card{gap:var(--sp-3);flex-direction:column;display:flex}.bot-check-kicker-row{justify-content:center;align-items:center;gap:10px;display:flex}.bot-check-pulse{background:var(--brand);border-radius:999px;width:10px;height:10px;animation:1.8s ease-out infinite botCheckPulse;box-shadow:0 0 #4a83c466}.bot-check-pulse.is-error{background:var(--danger);box-shadow:0 0 #e058584d}.bot-check-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:.75rem;font-weight:700}.bot-check-title{letter-spacing:-.03em;text-align:center;margin:0;font-size:clamp(1.25rem,4vw,1.75rem);line-height:1.1}.bot-check-text,.bot-check-status{color:var(--text-2);text-align:center;margin:0}.bot-check-status{font-size:.9375rem;font-weight:600}.bot-check-widget-host{min-height:76px;padding:var(--sp-3);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);transition:border-color var(--trans-fast), background var(--trans-fast), box-shadow var(--trans-fast);justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #ffffff05}.bot-check-widget-host.is-loading:empty:after{content:attr(data-placeholder);color:var(--text-3);text-align:center;font-size:.875rem}.bot-check-widget-host.is-error{border-color:color-mix(in srgb, var(--danger) 48%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--surface-2))}.bot-check-modal .modal-actions{margin-top:var(--sp-4);flex-wrap:wrap}@keyframes botCheckPulse{0%{transform:scale(.95);box-shadow:0 0 #4a83c452}70%{transform:scale(1);box-shadow:0 0 0 12px #4a83c400}to{transform:scale(.95);box-shadow:0 0 #4a83c400}}@keyframes loadingStripIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes loadingStripOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes loadingStripSweep{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes calcLoadingSpin{to{transform:rotate(360deg)}}.main-layout{padding:var(--sp-4) 0;flex-direction:column;gap:16px;display:flex}.main-layout.is-calc-loading{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.58;filter:saturate(.85)}.layout-column{flex-direction:column;gap:16px;display:flex}.desktop-left-stack{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width>=768px){.main-layout-desktop{flex-direction:row;align-items:flex-start}.main-layout-desktop>.layout-column{flex:1;min-width:0}.main-layout-desktop--single>.layout-column{max-width:520px}.layout-column{min-width:0}}.section-card{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--glass-border);transition:box-shadow var(--trans-med), transform var(--trans-med), border-color var(--trans-fast), background var(--trans-med);overflow:hidden}.section-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-strong)}.section-card.allow-overflow{z-index:10;position:relative;overflow:visible}.section-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.workflow-stepper{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:0;padding:10px 14px;display:flex}.workflow-stepper-item{flex:1;align-items:center;min-width:0;display:flex}.workflow-stepper-connector{background:var(--border);flex:1 0;width:16px;min-width:8px;height:1px;margin:0 4px}.workflow-step{font:inherit;cursor:pointer;text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:1;align-items:center;gap:6px;min-width:0;padding:4px 0;display:flex}.workflow-step:disabled{cursor:default}.workflow-step:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.workflow-step-circle{border-radius:var(--radius-full);width:20px;height:20px;transition:background var(--trans-fast), border-color var(--trans-fast), color var(--trans-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.workflow-step-label{white-space:nowrap;text-overflow:ellipsis;transition:color var(--trans-fast);font-size:.8125rem;font-weight:600;overflow:hidden}.workflow-step--done .workflow-step-circle{background:var(--success);color:#fff;border:1.5px solid var(--success)}.workflow-step--done .workflow-step-label{color:var(--text-2)}.workflow-step--active .workflow-step-circle{background:var(--brand);color:#fff;border:1.5px solid var(--brand)}.workflow-step--active .workflow-step-label{color:var(--brand);font-weight:700}.workflow-step--upcoming .workflow-step-circle{color:var(--text-2);border:1.5px solid var(--border-strong);background:0 0}.workflow-step--upcoming .workflow-step-label{color:var(--text-2)}.workflow-step--locked .workflow-step-circle{color:var(--text-3);border:1.5px solid var(--border);background:0 0}.workflow-step--locked .workflow-step-label{color:var(--text-3)}.section-card.step-status-active{border-color:var(--brand);box-shadow:var(--shadow-card), 0 0 0 1px var(--brand), 0 0 12px #4a83c41f}.section-card.step-status-active .section-header .section-title{color:var(--brand)}.section-info-body{gap:var(--sp-4);flex-wrap:nowrap;align-items:flex-start;padding:0;display:flex}.section-info-item{flex:1;min-width:0}.section-info-item-label{color:var(--text-2);margin-bottom:var(--sp-2);font-size:14px}.calc-name-input{resize:none;overflow-wrap:anywhere;word-break:break-word;text-align:center;height:44px;min-height:44px;padding:0 14px;line-height:42px;overflow:hidden}.calc-name-input.is-multiline{height:44px;padding:4px 14px;line-height:1.2}.calc-name-input::placeholder{text-align:center}.calc-name-char-counter{color:var(--text-3);text-align:right;transition:color var(--trans-fast);margin-top:2px;font-size:.75rem}.calc-name-char-counter.is-near-limit{color:var(--warning)}.calc-name-char-counter.is-at-limit{color:var(--danger)}@media (width<=640px){.section-info-body{flex-wrap:wrap}.section-info>.section-header{align-items:flex-start}.section-info-header-actions .section-info-fast-scan-btn-header{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.section-info-header-actions{justify-content:stretch;width:100%}.section-info-header-actions .btn{flex:1 1 0;min-width:0}.section-info-item{width:100%}}.section-header{justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.results-section>.section-header{flex-wrap:wrap;align-items:flex-start;gap:12px}.section-header-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.section-title-inline{align-items:center;gap:6px;min-width:0;display:inline-flex}.section-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn-scan-receipt{gap:6px;padding:0 12px}.scan-receipt-btn-text{white-space:nowrap}.section-info>.section-header{align-items:center;gap:10px}.section-info-header{align-items:stretch;gap:10px}.section-info-header-top{justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;display:flex}.section-info-header-top .section-title{flex:auto;min-width:0}.section-info-header-rail{flex:none;justify-content:flex-end;align-items:center;min-height:44px;display:inline-flex}.section-info-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.section-info>.section-header .section-title{flex:auto;min-width:0}.section-card>.section-header{border-bottom:1px solid var(--border)}.section-card>.section-header.history-toggle{border-bottom:none}.section-card>.section-header.history-toggle.open{border-bottom:1px solid var(--border)}.history-toggle-rail{flex:none;justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:inline-flex}.section-title{color:var(--text);letter-spacing:-.015em;font-size:.9375rem;font-weight:650;line-height:1.2}.section-header-info{flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2;display:flex}.calc-save-btn{min-width:var(--calc-save-slot-width);width:var(--calc-save-slot-width);justify-content:center}.fast-scan-hero{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);padding:var(--sp-5) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.fast-scan-hero-btn{justify-content:center;width:100%;min-height:44px;font-size:1rem}.fast-scan-hero-divider{align-items:center;gap:var(--sp-3);width:100%;color:var(--text-3);font-size:.8125rem;display:flex}.fast-scan-hero-divider:before,.fast-scan-hero-divider:after{content:"";background:var(--border);flex:1;height:1px}.fast-scan-hero-manual{width:100%;color:var(--text-2);justify-content:center}.section-info-fast-scan-btn-header{max-width:100%}.calc-version-meta{color:var(--text-3);opacity:.85;flex-shrink:0;justify-content:flex-end;align-self:center;align-items:center;gap:8px;min-width:0;max-width:100%;margin-left:auto;font-size:.625rem;line-height:1;display:inline-flex;overflow:visible}.calc-version-meta>span{white-space:nowrap;text-overflow:clip;display:block;overflow:visible}.calc-version-time{align-items:center;gap:6px;display:inline-flex}.calc-version-time.is-syncing{border-radius:var(--radius-full);color:color-mix(in srgb, var(--text-2) 78%, var(--brand));background:linear-gradient(115deg,#447bba05 0%,#447bba12 45%,#447bba08 100%) 0 0/180% 100%;border:1px solid #447bba38;padding:3px 8px;animation:2.8s linear infinite calcSyncShimmer,2.6s ease-in-out infinite calcSyncPulse;position:relative}@keyframes calcSyncShimmer{0%{background-position:180% 0}to{background-position:-40% 0}}@keyframes calcSyncPulse{0%,to{box-shadow:0 0 #447bba05}50%{box-shadow:0 0 0 2px #447bba0f}}.total-label{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:4px;font-size:.875rem;font-weight:700;display:inline-flex}.result-summary-currency-code{color:var(--text-3);margin-left:6px;font-size:.625rem;line-height:1}.per-person-label{color:var(--text-3);font-size:.75rem;font-weight:500}.results-header-main{flex:auto;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.results-header-main .section-title{min-width:0}.results-header-actions{flex:300px;justify-content:flex-end;align-items:stretch;min-width:0;display:flex}.results-currency-panel{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:minmax(0,1fr) 152px;align-items:center;gap:12px;width:100%;min-width:0;padding:8px 10px;display:grid}.results-currency-copy{flex-direction:column;flex:auto;align-items:flex-start;gap:2px;min-width:0;display:flex}.results-currency-label{color:var(--text);font-size:.75rem;font-weight:700}.results-currency-panel .currency-select-container{flex:none;width:152px}.results-currency-select .select-trigger{min-height:42px}.section-body{padding:16px}.site-footer{padding:var(--sp-4) var(--sp-2) var(--sp-8)}.site-footer-links{justify-content:center;align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;display:flex}.site-footer-btn,.site-footer-link{color:var(--text-3);cursor:pointer;transition:color var(--trans-fast);background:0 0;border:none;padding:2px 0;font-size:.8125rem;text-decoration:none}.site-footer-btn:hover,.site-footer-link:hover{color:var(--text-2)}.site-footer-sep{color:var(--border-strong);-webkit-user-select:none;user-select:none;font-size:.8125rem}.header{z-index:100;background:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(1.8);border-bottom:1px solid var(--border);position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.history-list{gap:var(--section-subitem-gap);flex-direction:column;padding-top:0;display:flex}.history-item{align-items:center;gap:var(--sp-3);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);transition:all var(--trans-fast);padding:7px 10px;display:flex}.history-icon{background:var(--surface-2);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.history-action-name{color:var(--text);font-size:.8125rem;font-weight:600}.history-target-name{color:var(--text-3);overflow-wrap:anywhere;word-break:break-word;font-size:.75rem;font-weight:500}.history-by{opacity:.7;font-style:italic}.history-extra-lines{opacity:.8;overflow-wrap:anywhere;word-break:break-word;flex-direction:column;gap:1px;margin-top:2px;display:flex}.btn-sm{height:auto;padding:4px 10px;font-size:.75rem}.header-inner{align-items:center;gap:var(--sp-3);max-width:960px;padding:10px var(--sp-4);flex-wrap:wrap;margin:0 auto;display:flex}.header-brand{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.header-brand-btn{appearance:none;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:8px;align-items:center;margin:0;padding:0;display:inline-flex}.header-brand-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.header-brand-btn:disabled{cursor:progress;opacity:.56}.header-title-text{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand);-webkit-user-select:none;user-select:none;align-items:center;gap:0;font-size:1.2rem;font-weight:900;line-height:1;display:inline-flex}.header-title-text.is-party{text-shadow:0 0 14px #ffd27aa6,0 0 26px #61dbff85;animation:1.8s ease-in-out logo-wordmark-party}.wordmark-a,.wordmark-b{font-weight:900}.wordmark-sep{opacity:.45;margin:0 .12em;font-weight:300}.logo-easter-egg{pointer-events:none;z-index:460;position:fixed;inset:0;overflow:hidden}.logo-easter-cat-runner{left:auto;right:-360px;bottom:max(8px, env(safe-area-inset-bottom,0px));isolation:isolate;align-items:center;gap:10px;padding:8px 14px 8px 10px;animation:8.6s linear forwards logo-easter-cat-run;display:inline-flex;position:fixed;overflow:visible}.logo-easter-cat-visual{z-index:1;transform-origin:bottom;justify-content:center;align-items:flex-end;min-width:50px;min-height:40px;animation:.36s cubic-bezier(.25,1,.5,1) infinite logo-easter-cat-bob;display:inline-flex;position:relative}.logo-easter-cat-gif{object-fit:contain;filter:drop-shadow(0 3px 9px #02060e73);width:46px;height:38px}.logo-easter-cat{filter:drop-shadow(0 3px 9px #02060e73);font-size:2rem;line-height:1;display:none}.logo-easter-cat.is-visible{display:inline-flex}.logo-easter-message{z-index:1;color:#e2edf8;letter-spacing:.015em;white-space:nowrap;align-items:center;padding-right:4px;font-size:.72rem;font-weight:700;display:inline-flex;position:relative}@keyframes logo-wordmark-party{0%{transform:translate(0)rotate(0)scale(1)}18%{transform:translate(-2px)rotate(-2deg)scale(1.04)}36%{transform:translate(2px)rotate(2deg)scale(1.06)}60%{transform:translate(-1px)rotate(-1deg)scale(1.02)}to{transform:translate(0)rotate(0)scale(1)}}@keyframes logo-easter-cat-run{0%{animation-timing-function:cubic-bezier(.34,1.56,.64,1);transform:translate(0)scale(1)translateY(0)}10%{transform:translate(-10vw)scaleX(1.1)scaleY(.9)translateY(-10px)}50%{transform:translate(calc(-50vw - 100px))scaleX(1.05)scaleY(.95)translateY(0)}80%{transform:translate(calc(-80vw - 300px))scaleX(1.1)scaleY(.9)translateY(-5px)}to{transform:translate(calc(-100vw - 520px))scale(1)translateY(0)}}@keyframes logo-easter-cat-bob{0%,to{transform:translateY(0)rotate(0)scaleY(1)}25%{transform:translateY(-8px)rotate(-6deg)scaleY(1.05)}50%{transform:translateY(0)rotate(0)scaleY(.9)}75%{transform:translateY(-6px)rotate(4deg)scaleY(1.02)}}@media (prefers-reduced-motion:reduce){.header-title-text.is-party,.logo-easter-cat-visual,.logo-easter-cat-runner{animation:none!important}.logo-easter-cat-runner{left:auto;right:12px;bottom:max(8px, env(safe-area-inset-bottom,0px))}.logo-easter-cat-gif{display:none}.logo-easter-cat{display:inline-flex}}.header-controls{align-items:center;gap:var(--sp-1);flex-wrap:wrap;margin-left:auto;display:flex}.header-action-btn{width:32px;height:32px;font-size:1.1rem}.header-action-btn.active{background:var(--brand-light);color:var(--brand)}.header-action-btn:disabled{opacity:.42;cursor:progress;pointer-events:none}.header-share-btn{isolation:isolate;position:relative;overflow:visible}.header-share-btn:after{content:"";border-radius:calc(var(--radius-md) + 4px);pointer-events:none;opacity:0;z-index:-1;background:radial-gradient(circle,#447bba33 0%,#447bba00 72%);position:absolute;inset:-4px;transform:scale(.92)}.header-share-btn svg{transform-origin:50% 55%}.header-share-btn.is-attention:after{animation:1.25s ease-out share-attention-glow}.header-share-btn.is-attention svg{animation:.85s ease-in-out share-attention-nudge}.header-share-btn.is-open:after,.header-share-btn.is-open svg{animation:none}@keyframes share-attention-glow{0%{opacity:0;transform:scale(.92)}24%{opacity:.26;transform:scale(1.08)}62%{opacity:.16;transform:scale(1.14)}to{opacity:0;transform:scale(1.2)}}@keyframes share-attention-nudge{0%{transform:rotate(0)}20%{transform:rotate(-10deg)translateY(-.5px)}40%{transform:rotate(8deg)translateY(-1px)}60%{transform:rotate(-5deg)translateY(0)}82%{transform:rotate(3deg)translateY(0)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.header-share-btn:after,.header-share-btn svg{animation:none}.loading-skeleton{background:var(--surface-2);animation:none}.empty-state:before,.results-empty:before{animation:none}.section-card:hover,.btn-primary:active,.result-row:hover,.result-row:active,.person-row:hover .person-avatar{transform:none}}.header-dev-api-btn{position:relative;overflow:visible}.header-dev-api-dot{border:1px solid var(--surface-solid);background:var(--text-3);border-radius:999px;width:8px;height:8px;position:absolute;top:2px;right:2px}.header-dev-api-dot.is-mock{background:#22a85d}.header-dev-api-dot.is-http{background:var(--brand)}.header-lang-wrap{margin-left:var(--sp-1);position:relative}.header-lang-trigger{border:1px solid var(--border);background:var(--surface-hover);min-width:54px;min-height:40px;color:var(--text);cursor:pointer;transition:border-color var(--trans-fast), background var(--trans-fast), color var(--trans-fast);border-radius:10px;align-items:center;gap:4px;padding:0 8px 0 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.header-lang-trigger:hover{border-color:var(--border-strong)}.header-lang-trigger.active,.header-lang-trigger:focus-visible{border-color:var(--brand);background:var(--surface-solid);outline:none}.header-lang-trigger:disabled{opacity:.52;cursor:progress;pointer-events:none}.header-lang-code{letter-spacing:.02em}.header-lang-caret{color:var(--text-2);font-size:.68rem}.header-lang-menu{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-md);width:min(220px,100vw - 24px);box-shadow:var(--shadow-float);z-index:550;padding:4px;animation:.14s fadeIn;position:absolute;top:calc(100% + 6px);right:0}.header-lang-item{align-items:center;gap:var(--sp-2);width:100%;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--trans-fast), color var(--trans-fast);background:0 0;border:none;padding:8px 10px;display:flex}.header-lang-item:hover{background:var(--surface-hover)}.header-lang-item.active{background:var(--brand-light)}.header-lang-item-short{width:28px;color:var(--text-2);letter-spacing:.03em;font-size:.75rem;font-weight:700}.header-lang-item-name{flex:1;min-width:0;font-size:.8125rem;font-weight:600}.header-lang-item-check{color:var(--brand);font-size:.8rem;font-weight:700}.lang-sheet-list{flex-direction:column;gap:4px;padding:4px 0;display:flex}.lang-sheet-item{align-items:center;gap:var(--sp-3);width:100%;color:var(--text);border-radius:var(--radius-md);cursor:pointer;text-align:left;font:inherit;transition:background var(--trans-fast), border-color var(--trans-fast);background:0 0;border:1px solid #0000;padding:12px 14px;display:flex}.lang-sheet-item:hover{background:var(--surface-2)}.lang-sheet-item.is-active{background:var(--brand-light);border-color:#4a83c433}.lang-sheet-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.lang-sheet-item-short{width:32px;color:var(--text-2);letter-spacing:.03em;flex-shrink:0;font-size:.8125rem;font-weight:700}.lang-sheet-item-name{flex:1;min-width:0;font-size:.9375rem;font-weight:600}.lang-sheet-item-check{color:var(--brand);flex-shrink:0;font-size:1rem;font-weight:700}.overflow-sheet-theme{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.overflow-sheet-theme-row{justify-content:space-between;align-items:center;padding:10px 14px 0;display:flex}.overflow-sheet-theme-label{color:var(--text);font-size:.9375rem;font-weight:600}.overflow-sheet-theme-current{color:var(--brand);font-size:.8125rem;font-weight:700}.overflow-sheet-theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.overflow-sheet-theme-option{border:1px solid var(--border);background:var(--surface-2);min-height:56px;color:var(--text);cursor:pointer;transition:border-color var(--trans-fast), background var(--trans-fast), color var(--trans-fast), box-shadow var(--trans-fast);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 8px;display:flex}.overflow-sheet-theme-option:hover{border-color:var(--border-strong);background:var(--surface-hover)}.overflow-sheet-theme-option:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.overflow-sheet-theme-option.is-active{border-color:color-mix(in srgb, var(--brand) 62%, transparent);background:color-mix(in srgb, var(--brand-light) 52%, var(--surface-solid));color:var(--brand);box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 18%, transparent)}.overflow-sheet-theme-option-icon{font-size:1.1rem;line-height:1}.overflow-sheet-theme-option-label{font-size:.8125rem;font-weight:700}.btn{justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;min-height:36px;transition:all var(--trans-fast);white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:0 16px;font-family:inherit;font-size:.9375rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 1px 2px #4a83c44d}.btn-primary:hover:not(:disabled){background:var(--brand-2);box-shadow:0 2px 6px #4a83c438}.btn-primary:active{transform:scale(.97)translateY(0);box-shadow:0 1px 2px #4a83c433}.btn-ghost{background:var(--surface-2);color:var(--text-2);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-danger{background:var(--danger-light);color:var(--danger);border-color:#0000}.btn-danger:hover{background:var(--danger);color:#fff}.btn-icon{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-2);cursor:pointer;transition:all var(--trans-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;display:inline-flex}.btn-icon:hover{background:var(--surface-hover);color:var(--text)}.btn-icon.danger:hover{background:var(--danger-light);color:var(--danger)}.btn-sm{min-height:32px;padding:0 var(--sp-3);font-size:.8125rem}@media (width<=640px){.section-purchases .section-header{gap:8px}.section-purchases .section-title-toggle{min-width:0}.section-purchases .btn-scan-receipt{width:44px;min-width:44px;padding:0}.section-purchases .scan-receipt-btn-text{display:none}}.btn-xs{min-height:24px;padding:0 var(--sp-2);border-radius:var(--radius-sm);font-size:.75rem}.input{background:var(--input-bg);width:100%;min-height:44px;color:var(--text);box-sizing:border-box;border:1px solid #0000001f;border-radius:8px;outline:none;padding:0 14px;font-family:inherit;font-size:15px;font-weight:400;transition:border-color .15s,background-color .15s}[data-theme=dark] .input{border:1px solid #ffffff1f}.input-sm{border-radius:var(--radius-sm);padding:6px 10px;font-size:.8125rem}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--brand);background:var(--surface-solid);box-shadow:0 0 0 3px #4a83c426}.input.error{border-color:var(--danger)}.input.error:focus,.select.error:focus{box-shadow:0 0 0 3px #f43f5e26}.input-error-msg{color:var(--danger);align-items:center;gap:4px;margin-top:5px;font-size:.75rem;font-weight:500;display:flex}.input-hint{color:var(--text-3);margin-top:4px;font-size:.75rem}.input-row{gap:var(--sp-2);margin-bottom:var(--sp-3);align-items:flex-start;display:flex}.select{appearance:none;background:var(--input-bg);min-height:44px;color:var(--text);cursor:pointer;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23818C99' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;border:1px solid #0000001f;border-radius:8px;outline:none;padding:0 32px 0 14px;font-family:inherit;font-size:15px;transition:border-color .15s,background-color .15s}[data-theme=dark] .select{border:1px solid #ffffff1f}.select:focus{border-color:var(--brand);background:var(--surface-solid);box-shadow:0 0 0 3px #4a83c426}.select:hover{border-color:var(--border-strong)}.select-sm{border-radius:var(--radius-sm);background-position:right 8px center;padding:6px 28px 6px 10px;font-size:.8125rem}.select-compact{width:auto;color:var(--text-2);appearance:none;background:0 0;border:none;padding:6px 10px;font-size:.75rem;font-weight:600}.select-compact:hover{background:var(--surface-hover);color:var(--text)}.select-compact:focus{background:var(--surface-solid)}.select-compact:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-radius:var(--radius-sm)}.person-list{gap:var(--section-subitem-gap);flex-direction:column;display:flex}.person-row{align-items:flex-start;gap:var(--sp-3);border-radius:var(--radius-md);transition:all var(--trans-fast);background:var(--surface-2);border:1px solid var(--border);padding:7px 10px;display:flex}.person-row.person-row-compact{align-items:center}.person-row:hover{background:var(--surface-hover);border-color:var(--border-strong)}.person-row.is-me{background:linear-gradient(135deg,#6c63ff1a,#a855f70f);border-color:#6c63ff40}.person-avatar{--avatar-glyph-box:76%;--avatar-glyph-scale:.88;--avatar-glyph-shift-y:-.01em;border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;letter-spacing:-.02em;width:38px;height:38px;transition:transform var(--trans-fast);border:2px solid var(--surface-solid);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:.8125rem;font-weight:800;line-height:1;display:flex;overflow:hidden;box-shadow:0 4px 12px #6c63ff40}.person-avatar-emoji{background:var(--avatar-bg,var(--surface-2));box-shadow:none;border-color:var(--border);letter-spacing:0;font-size:1.14rem}.person-avatar-glyph-frame{width:var(--avatar-glyph-box);height:var(--avatar-glyph-box);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.person-avatar-glyph{transform:translateY(var(--avatar-glyph-shift-y)) scale(var(--avatar-glyph-scale));transform-origin:50%;-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:1em;line-height:1;display:inline-flex}.person-row:hover .person-avatar{transform:scale(1.08)}.person-row.person-row-compact .person-avatar{margin-top:0}.person-info{flex:1;min-width:0;padding-right:0}.edit-person-form{align-items:center;gap:var(--sp-2);width:100%;display:flex}.edit-person-form .input{flex:1;min-width:0;height:32px;min-height:32px;padding:0 10px;line-height:30px}.btn-icon-confirm{border-radius:var(--radius-md);background:var(--brand);color:#fff;cursor:pointer;width:30px;height:30px;transition:opacity var(--trans-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.btn-icon-confirm:hover{opacity:.85}.btn-icon-confirm:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-icon-cancel{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface-2);width:30px;height:30px;color:var(--text-2);cursor:pointer;transition:background var(--trans-fast), border-color var(--trans-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.btn-icon-cancel:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn-icon-cancel:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.person-name{color:var(--text);letter-spacing:-.01em;overflow-wrap:anywhere;word-break:break-word;font-size:.875rem;font-weight:600;line-height:1.3;display:block}.person-badge{color:var(--text-3);word-break:normal;overflow-wrap:break-word;white-space:normal;font-size:.6875rem;font-weight:500;line-height:1.5}.person-badge-wrapper{margin-top:2px;position:relative}.person-badge-wrapper.is-clamped:not(.expanded){cursor:pointer}.person-badge-label{color:var(--text-3);font-size:.6875rem;font-weight:500;line-height:1.5}.person-badge-list-text{color:var(--text-3);opacity:.6;white-space:normal;word-break:break-word;overflow-wrap:break-word;font-size:.6875rem;font-weight:500;line-height:1.5}.person-badge-name-tail{white-space:nowrap}.person-badge-list-text-measure{visibility:hidden;pointer-events:none;z-index:-1;display:block;position:absolute;inset:0;overflow:visible}.person-badge-list-text.clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:18px;display:-webkit-box;overflow:hidden}.person-badge-wrapper.is-clamped.expanded{cursor:default}.badge-expand-hint{min-width:36px;height:1.03125rem;color:var(--expand-arrow);-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;padding-left:2px;font-size:.75rem;font-weight:700;display:flex;position:absolute;bottom:0;right:0}.person-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.person-actions-secondary{align-items:center;gap:4px;display:inline-flex}.person-row.person-row-editing{align-items:center}.person-row.person-row-editing .person-info{padding-right:0}.person-row.person-row-editing .person-avatar{margin-top:0}.person-action-me{justify-content:center;width:32px;min-width:32px;padding:0}.person-action-me .me-icon{width:14px;height:14px}.person-action-dependents{text-overflow:ellipsis;justify-content:center;width:36px;min-width:36px;padding:0 2px;overflow:hidden}.person-action-dependents.has-count{width:36px;min-width:36px;padding:0 2px}.person-action-dependents-content{align-items:center;gap:1px;line-height:1;display:inline-flex}.person-action-dependents-content svg{flex-shrink:0}.person-action-dependents-empty{justify-content:center;align-items:center;line-height:1;display:inline-flex}.person-action-dependents-empty svg{flex-shrink:0}.person-action-edit,.person-action-delete{width:30px;min-width:30px;height:30px}.person-mobile-actions-list{gap:var(--sp-2);flex-direction:column;display:flex}.person-mobile-action-btn{justify-content:flex-start}@media (width<=767px){.person-actions-secondary{display:none}}.me-badge{border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;vertical-align:baseline;align-items:center;margin-left:6px;padding:2px 7px;font-size:.625rem;font-weight:700;display:inline-flex}.purchase-list{gap:var(--section-subitem-gap);flex-direction:column;display:flex}.purchase-group-list{flex-direction:column;gap:12px;display:flex}.purchase-group-card{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-2) 88%, transparent);flex-direction:column;gap:10px;padding:10px;display:flex}.purchase-group-card.is-drop-target{border-color:color-mix(in srgb, var(--brand) 55%, var(--border));background:color-mix(in srgb, var(--brand-light) 42%, var(--surface-2));box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 18%, transparent)}.purchase-group-card.is-group-reorder-target{border-color:color-mix(in srgb, var(--brand) 65%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 18%, transparent)}.purchase-group-card.is-group-dragging{opacity:.55;box-shadow:var(--shadow-float);border-color:var(--brand);z-index:10;position:relative}.purchase-group-card.is-ungrouped{border-style:dashed}.purchase-group-ungrouped{flex-direction:column;gap:8px;padding:2px 0 0;display:flex}.purchase-group-ungrouped.is-drop-target{border:1px dashed color-mix(in srgb, var(--brand) 45%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--brand-light) 22%, transparent);padding:10px}.purchase-group-create-card{text-align:left;width:100%;position:relative;overflow:hidden}button.purchase-group-create-card{appearance:none;cursor:pointer;transition:transform .18s ease, border-color var(--trans-fast), background var(--trans-fast), box-shadow .18s ease;transform-origin:top;will-change:transform}button.purchase-group-create-card:not(.is-editing){border-style:dashed;border-color:color-mix(in srgb, var(--brand) 24%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--brand-light) 26%, transparent), transparent 72%), linear-gradient(180deg, color-mix(in srgb, var(--surface) 48%, transparent), transparent 100%);justify-content:center;align-self:stretch;align-items:flex-start;gap:8px;width:100%;max-width:none;min-height:74px;margin-top:0;padding:16px;transform:translateY(0);box-shadow:inset 0 1px #ffffff14}button.purchase-group-create-card:hover{border-color:color-mix(in srgb, var(--brand) 36%, var(--border-strong));background:linear-gradient(135deg, color-mix(in srgb, var(--brand-light) 36%, transparent), transparent 74%), linear-gradient(180deg, color-mix(in srgb, var(--surface-hover) 56%, transparent), transparent 100%);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff24,0 10px 24px #0000000a}button.purchase-group-create-card:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff14}.purchase-group-create-title{width:100%;color:var(--text);letter-spacing:.01em;justify-content:flex-start;align-items:center;gap:10px;font-size:.84rem;font-weight:800;line-height:1.2;display:inline-flex}.purchase-group-create-plus{border-radius:var(--radius-full);border:1px solid color-mix(in srgb, var(--brand) 24%, transparent);background:color-mix(in srgb, var(--brand-light) 34%, transparent);width:24px;height:24px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;font-size:.98rem;font-weight:900;display:inline-flex;box-shadow:inset 0 1px #ffffff24}.purchase-group-create-card.is-editing{border-style:dashed}.purchase-group-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.purchase-group-copy{flex:auto;min-width:0;display:flex}.purchase-group-title{min-width:0;color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;font-weight:800;display:flex}.purchase-group-ungrouped-header{align-items:center;gap:8px;min-width:0;display:inline-flex}.purchase-group-ungrouped-label{min-width:0;color:var(--text-3);letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;font-weight:700}.purchase-group-name{overflow-wrap:anywhere;min-width:0}.purchase-group-count{border-radius:var(--radius-full);background:var(--brand-light);min-width:22px;height:22px;color:var(--brand);justify-content:center;align-items:center;padding:0 8px;font-size:.72rem;font-weight:800;display:inline-flex}.purchase-group-empty-state{border-radius:var(--radius-md);border:1px dashed color-mix(in srgb, var(--border) 82%, transparent);color:var(--text-3);background:color-mix(in srgb, var(--surface) 76%, transparent);padding:10px 12px;font-size:.74rem;line-height:1.4}.purchase-group-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.purchase-group-drag-handle{cursor:grab}.purchase-group-drag-handle:active{cursor:grabbing}@media (width<=767px){.purchase-group-header{align-items:center}.purchase-group-actions{justify-content:flex-end}button.purchase-group-create-card:not(.is-editing){align-self:stretch;width:100%;max-width:none;min-height:70px;margin-top:0;padding:15px 14px}}.purchase-group-scope-list{gap:10px}.purchase-group-tabs{border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px;margin-bottom:4px;padding-bottom:8px;display:flex}.purchase-group-tab{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-2);cursor:pointer;transition:background var(--trans-fast), border-color var(--trans-fast), color var(--trans-fast);align-items:center;gap:5px;padding:6px 10px;font-size:13px;font-weight:500;display:flex}.purchase-group-tab:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-1)}.purchase-group-tab.is-active{background:color-mix(in srgb, var(--brand) 12%, var(--surface-2));border-color:color-mix(in srgb, var(--brand) 45%, var(--border));color:var(--text-1)}.purchase-group-tab-count{background:color-mix(in srgb, var(--text-3) 18%, transparent);min-width:18px;height:16px;color:var(--text-3);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}.purchase-group-tab.is-active .purchase-group-tab-count{background:color-mix(in srgb, var(--brand) 22%, transparent);color:var(--brand)}.purchase-group-tab-item{align-items:center;gap:2px;display:flex}.purchase-group-tab-item .purchase-group-tab{flex:1}.purchase-group-tab-options{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-3);cursor:pointer;letter-spacing:1px;transition:background var(--trans-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.purchase-group-tab-options:hover{background:var(--surface-hover);color:var(--text-1)}.purchase-group-tab-new{border-radius:var(--radius-sm);border:1px dashed var(--border);width:100%;color:var(--text-3);cursor:pointer;transition:background var(--trans-fast), border-color var(--trans-fast), color var(--trans-fast);background:0 0;justify-content:center;align-items:center;padding:5px 8px;font-size:16px;display:flex}.purchase-group-tab-new:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-1)}.purchase-group-tab-new.is-drop-target{background:color-mix(in srgb, var(--brand) 14%, transparent);border-color:var(--brand);color:var(--brand-strong)}.purchase-group-tab-new--inline{width:auto;margin-top:8px;padding:6px 12px;font-size:13px;display:inline-flex}.sheet-action-list{flex-direction:column;gap:2px;display:flex}.sheet-action-item{border-radius:var(--radius-md);width:100%;color:var(--text-1);text-align:left;cursor:pointer;transition:background var(--trans-fast);background:0 0;border:none;align-items:center;padding:13px 14px;font-size:15px;display:flex}.sheet-action-item:hover{background:var(--surface-hover)}.sheet-action-item--danger{color:var(--danger)}.list-load-sentinel{pointer-events:none;width:100%;height:1px}.purchase-row{--purchase-row-bg:var(--surface-2);--purchase-row-hover-bg:var(--surface-hover);--purchase-row-border:var(--border);--purchase-row-border-hover:var(--border-strong);border-radius:var(--radius-md);transition:background var(--trans-fast), border-color var(--trans-fast), box-shadow var(--trans-fast), opacity var(--trans-fast), transform var(--trans-fast);background:var(--purchase-row-bg);border:1px solid var(--purchase-row-border);cursor:grab;-webkit-user-select:none;user-select:none;padding:10px;box-shadow:inset 0 1px #ffffff1a}.purchase-row:hover{background:var(--purchase-row-hover-bg);border-color:var(--purchase-row-border-hover);box-shadow:inset 0 1px #ffffff2e,0 10px 18px #0000000d}.purchase-row.highlighted{background:linear-gradient(135deg,#447bba14,#447bba0a);border-color:#447bba33}.purchase-row.dragging{opacity:.45;cursor:grabbing;box-shadow:var(--shadow-float);border-color:var(--brand);z-index:10;position:relative}.purchase-row.drop-target{box-shadow:0 -3px 0 0 var(--brand), 0 0 0 2px #447bba33, var(--shadow-card);background:color-mix(in srgb, var(--purchase-row-bg,var(--surface-2)) 90%, var(--brand-light) 10%);border-color:#4a83c466}.purchase-list .purchase-row:nth-child(4n+1){--purchase-row-bg:var(--purchase-tone-1-bg);--purchase-row-hover-bg:var(--purchase-tone-1-hover);--purchase-row-border:var(--purchase-tone-1-border);--purchase-row-border-hover:var(--purchase-tone-1-border-hover)}.purchase-list .purchase-row:nth-child(4n+2){--purchase-row-bg:var(--purchase-tone-2-bg);--purchase-row-hover-bg:var(--purchase-tone-2-hover);--purchase-row-border:var(--purchase-tone-2-border);--purchase-row-border-hover:var(--purchase-tone-2-border-hover)}.purchase-list .purchase-row:nth-child(4n+3){--purchase-row-bg:var(--purchase-tone-3-bg);--purchase-row-hover-bg:var(--purchase-tone-3-hover);--purchase-row-border:var(--purchase-tone-3-border);--purchase-row-border-hover:var(--purchase-tone-3-border-hover)}.purchase-list .purchase-row:nth-child(4n+4){--purchase-row-bg:var(--purchase-tone-4-bg);--purchase-row-hover-bg:var(--purchase-tone-4-hover);--purchase-row-border:var(--purchase-tone-4-border);--purchase-row-border-hover:var(--purchase-tone-4-border-hover)}.purchase-header{align-items:flex-start;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.purchase-name-wrap{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.purchase-name{min-width:0;color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:flex}.purchase-name-emoji{width:1.35rem;height:1.35rem}.purchase-name-emoji .emoji-glyph-char{font-size:1.2rem}.purchase-name-text{overflow-wrap:break-word;word-break:break-word;flex:1;min-width:0}.purchase-price{background:var(--brand-gradient);-webkit-text-fill-color:transparent;white-space:nowrap;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;flex-shrink:0;order:9;margin-left:auto;font-size:.9375rem;font-weight:800}.purchase-meta.wrap-participants.force-wrap .purchase-price{grid-area:price;align-self:center;margin-left:0}.purchase-meta{align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:5px;line-height:1.3;display:flex}.purchase-meta.wrap-participants{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.purchase-meta.wrap-participants.force-wrap{align-items:center;column-gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"payer price""participants participants";row-gap:6px;display:grid}.purchase-meta-dot{color:var(--border-strong)}.purchase-payer-tag{background:var(--brand-light);color:var(--brand);word-break:break-word;overflow-wrap:break-word;border-radius:8px;flex-shrink:0;align-items:flex-start;gap:4px;max-width:56%;padding:2px 8px 2px 5px;font-size:.6875rem;font-weight:600;display:inline-flex}.purchase-meta.wrap-participants.force-wrap .purchase-payer-tag{grid-area:payer;justify-self:start;width:fit-content;max-width:100%}.purchase-payer-tag svg{flex-shrink:0;margin-top:2px}.purchase-payer-tag.is-me-payer{color:var(--brand-2);background:#447bba33;box-shadow:inset 0 0 0 1px #447bba4d}[data-theme=dark] .purchase-payer-tag.is-me-payer{color:#9dc3ed;background:#447bba47;box-shadow:inset 0 0 0 1px #9dc3ed47}.purchase-participants{color:var(--text-3);flex:auto;align-items:center;gap:4px;min-width:0;font-size:.6875rem;font-weight:500;display:flex;position:relative;overflow:hidden}.purchase-participants.force-wrap{flex-basis:100%;order:10;overflow:visible}.purchase-meta.wrap-participants .purchase-participants{flex-basis:100%;order:10;min-width:0;overflow:hidden}.purchase-meta.wrap-participants.force-wrap .purchase-participants{grid-area:participants;min-width:0;overflow:visible}.purchase-meta.wrap-participants.force-wrap .purchase-participants.force-wrap{flex-basis:auto;order:0}.purchase-participants.is-clamped:not(.expanded),.purchase-participants.can-expand-inline{cursor:pointer}.purchase-participants-icon{flex-shrink:0;align-items:center;display:flex}.purchase-split-text{white-space:normal;word-break:break-word;overflow-wrap:break-word;min-width:0;display:block}.purchase-meta.wrap-participants:not(.force-wrap) .purchase-split-text:not(.purchase-split-text-measure):not(.purchase-split-inline-measure){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.purchase-split-text-measure{visibility:hidden;pointer-events:none;z-index:-1;display:block;position:absolute;top:0;left:15px;right:0;overflow:hidden}.purchase-split-inline-measure{visibility:hidden;pointer-events:none;white-space:nowrap;z-index:-1;width:max-content;position:absolute;top:0;left:15px}.purchase-split-text.clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:18px;display:-webkit-box;overflow:hidden}.participants-expand-hint{min-width:16px;height:1.03125rem;color:var(--expand-arrow);-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;padding-left:2px;font-size:.9rem;font-weight:700;line-height:1;display:flex;position:absolute;bottom:0;right:0}.purchase-actions{place-self:flex-start end;align-items:flex-start;gap:2px;display:flex}.purchase-reorder-controls{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);border-radius:10px;align-items:center;gap:2px;padding:2px;display:inline-flex}.purchase-reorder-btn{width:28px;height:28px;color:var(--text-2);cursor:pointer;transition:background var(--trans-fast), color var(--trans-fast), opacity var(--trans-fast);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.purchase-reorder-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.purchase-reorder-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.purchase-reorder-btn:disabled{opacity:.36;cursor:not-allowed}.person-item,.purchase-item,.owed-to-me-item,.who-owes-whom-item,.activity-item{animation:.5s cubic-bezier(.34,1.56,.64,1) both item-reveal}@keyframes item-reveal{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.wishlist-all-ok-badge{border-radius:var(--radius-full);background:var(--success-light,#22c55e1f);color:var(--success,#16a34a);white-space:nowrap;flex-shrink:0;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.wishlist-body{gap:var(--sp-4);flex-direction:column;display:flex}.wishlist-section{gap:var(--sp-2);flex-direction:column;display:flex}.wishlist-subsection-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:0 2px;font-size:.75rem;font-weight:600}.wishlist-items-list{gap:var(--sp-2);flex-direction:column;display:flex}.wishlist-item{align-items:flex-start;gap:var(--sp-2);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);transition:all var(--trans-fast);padding:8px 10px;animation:.5s cubic-bezier(.34,1.56,.64,1) both item-reveal;display:flex}.wishlist-item:hover{background:var(--surface-hover);border-color:var(--border-strong)}.wishlist-item-done{opacity:.55}.wishlist-item-check{border-radius:var(--radius-full);width:28px;height:28px;color:var(--text-3);cursor:pointer;transition:color var(--trans-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:0;display:flex}.wishlist-item-check:hover{color:var(--brand)}.wishlist-item-done .wishlist-item-check{color:var(--success,#16a34a)}.wishlist-item-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.wishlist-item-title-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.wishlist-item-emoji{flex-shrink:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:1.1rem;line-height:1}.wishlist-item-name{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9375rem;font-weight:500;overflow:hidden}.wishlist-item-done .wishlist-item-name{color:var(--text-3);text-decoration:line-through}.wishlist-item-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wishlist-item-meta-qty{color:var(--brand);background:var(--brand-light);border-radius:var(--radius-sm);padding:1px 6px;font-size:.75rem;font-weight:600}.wishlist-item-meta-assignee{color:var(--text-2);background:var(--surface-3,var(--surface-hover));border-radius:var(--radius-sm);padding:1px 6px;font-size:.75rem}.wishlist-item-meta-desc{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.75rem;overflow:hidden}.wishlist-item-menu-btn{color:var(--text-3);flex-shrink:0;align-self:flex-start;margin-top:1px}.wishlist-done-toggle{width:100%;color:var(--text-3);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-top:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;padding:6px 2px;font-size:.8125rem;font-weight:600;display:flex}.wishlist-done-toggle:hover{color:var(--text-2)}.wishlist-empty-hint{text-align:center;padding:24px var(--sp-4);color:var(--text-3);font-size:.875rem}.wishlist-emoji-row{align-items:flex-start;gap:var(--sp-3);display:flex;flex-direction:row!important}.wishlist-name-group{flex:1;min-width:0}.wishlist-emoji-trigger{border-radius:var(--radius-md);background:var(--input-bg);cursor:pointer;width:44px;height:44px;transition:border-color var(--trans-fast);-webkit-tap-highlight-color:transparent;border:1px solid #0000001f;flex-shrink:0;justify-content:center;align-items:center;margin-top:22px;font-size:1.5rem;display:flex}.wishlist-emoji-trigger:hover{border-color:var(--brand)}.wishlist-emoji-trigger.has-emoji{border-color:var(--brand);background:var(--brand-light)}.wishlist-emoji-selected,.wishlist-emoji-placeholder{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;line-height:1}.wishlist-emoji-placeholder{opacity:.4}.wishlist-emoji-picker{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-2);flex-direction:column;gap:4px;margin-top:-8px;display:flex}.wishlist-emoji-grid-row{flex-wrap:wrap;gap:2px;display:flex}.wishlist-emoji-btn{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:background var(--trans-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:1.25rem;display:flex}.wishlist-emoji-btn:hover{background:var(--surface-hover)}.wishlist-emoji-btn.selected{background:var(--brand-light);border-color:var(--brand)}.wishlist-emoji-clear{align-self:flex-end;margin-top:2px}.wishlist-convert-item-name{align-items:center;gap:var(--sp-2);color:var(--text-1);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 2px 12px;font-size:1rem;font-weight:600;display:flex}.results-section{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(1.6);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);transition:box-shadow var(--trans-med), border-color var(--trans-med);isolation:isolate;scroll-margin-top:72px;position:relative;overflow:hidden}.results-section.step-status-active{border-color:var(--border);box-shadow:var(--shadow-hover)}.results-header-pinned{z-index:90;padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface-solid);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);cursor:pointer;color:inherit;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;transition:background var(--trans-fast);border-bottom:none;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:12px;right:12px}.results-header-pinned--hidden{opacity:0;pointer-events:none;transform:translateY(110%)}.results-header-pinned:active{background:var(--surface-hover)}.results-list{gap:var(--section-subitem-gap);flex-direction:column;padding:16px;display:flex}.result-row{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:var(--sp-3);transition:all var(--trans-fast);padding:10px;font-size:.875rem;display:flex}.result-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.result-row:active{transition-duration:80ms;transform:scale(.99)}.result-row-me{background:linear-gradient(135deg,#447bba1f,#447bba0d);border-color:#447bba61}.results-section-divider{color:var(--text-2);letter-spacing:.02em;text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0 4px;font-size:12px;font-weight:500;display:flex}.results-section-label{flex:auto;min-width:0;line-height:1.3}.results-all-paid-msg{padding-bottom:4px}.result-amount-group{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.result-amount-meta-group{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.results-currency-hint{color:var(--text-3);padding:4px var(--sp-4) 8px;align-items:center;gap:4px;font-size:.75rem;display:flex}.result-partial-hint{color:var(--text-3);white-space:nowrap;font-size:11px;line-height:1.2}.result-partial-hint-remaining{color:var(--brand)}.result-row-settled{opacity:.72}.result-row-settled .result-amount{-webkit-text-fill-color:currentColor;color:var(--text-2);background:0 0;text-decoration:line-through}.result-names{align-items:center;gap:var(--sp-2);flex-flow:wrap;flex:1;min-width:0;display:flex}.result-person-line{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.result-person-line-from,.result-person-line-to{min-width:0}.result-person-line-to{flex:0 auto}.result-from{color:var(--text);overflow-wrap:break-word;word-break:normal;font-weight:600}.result-arrow{color:var(--text-3);flex-shrink:0;justify-content:center;align-items:center;width:auto;margin-top:0;font-size:.75rem;line-height:1;display:inline-flex}.result-to{color:var(--text);overflow-wrap:break-word;word-break:normal;font-weight:600}.result-person{align-items:center;gap:6px;min-width:0;display:flex}.result-person-avatar{--avatar-glyph-box:82%;--avatar-glyph-scale:.84;--avatar-glyph-shift-y:-.005em;background:var(--avatar-bg,linear-gradient(135deg, #447bba3d, #447bba1a));border:1px solid #447bba59;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;line-height:1;display:inline-flex;overflow:hidden}.result-person-name{overflow-wrap:break-word;word-break:normal;min-width:0;line-height:1.2;display:block}.result-person-name-me{color:var(--brand-2);font-weight:700}.result-breakdown{color:var(--text-2);overflow-wrap:anywhere;word-break:break-word;cursor:pointer;flex-direction:column;flex-basis:100%;gap:4px;font-size:.75rem;line-height:1.35;display:flex}.result-breakdown-columns{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.result-breakdown-section{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-solid) 72%, transparent);border:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.result-breakdown-head{align-items:center;gap:6px;display:flex}.result-breakdown-toggle{border:1px solid var(--border);width:22px;min-width:22px;height:22px;min-height:22px;color:var(--text-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}.result-breakdown-toggle:hover{color:var(--brand-2);border-color:var(--brand-2)}.result-breakdown-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.result-breakdown-toggle.is-active{color:var(--brand-2);border-color:var(--brand-2);background:#447bba1f}.result-breakdown-label{color:var(--text-3);font-weight:600}.result-breakdown-list{flex-direction:column;gap:2px;display:flex}.result-breakdown-item{color:var(--text-2);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:8px;display:grid}.result-breakdown-item-person{overflow-wrap:anywhere;min-width:0}.result-breakdown-item-amount{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}.result-breakdown-item.is-self .result-breakdown-item-person{color:var(--text);font-weight:600}.result-breakdown-item.is-self .result-breakdown-item-amount{color:var(--brand-2)}@media (width>=768px){.result-person-line{align-items:center;gap:var(--sp-2);display:inline-flex}.result-person-line-from,.result-person-line-to{min-width:0}.result-person-line-to{flex:0 auto;min-width:10ch}.result-person{align-items:center}.result-arrow{width:auto;margin-top:0;font-size:.75rem}}.result-amount{background:var(--brand-gradient);-webkit-text-fill-color:transparent;white-space:nowrap;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;flex-shrink:0;max-width:100%;font-size:1rem;font-weight:800}.result-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;min-width:min(100%,188px);display:flex}.result-settlement-btn{border:1px solid var(--border);background:var(--surface-solid);min-height:32px;color:var(--text-2);font:inherit;cursor:pointer;transition:border-color var(--trans-fast), background var(--trans-fast), color var(--trans-fast);white-space:normal;text-align:center;border-radius:999px;padding:0 10px;font-size:.75rem;font-weight:700}.result-settlement-btn:hover{border-color:var(--brand);color:var(--brand)}.result-settlement-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.result-settlement-btn.is-settled{background:var(--success-light);color:var(--success);border-color:#4bb34b40}.result-settlement-btn.is-settled:hover{background:var(--danger-light);color:var(--danger);border-color:#c83c3c59}.results-returned-block{margin-top:var(--sp-4);border-top:1px solid var(--border);padding-top:10px}.results-returned-toggle{background:color-mix(in srgb, var(--surface-2) 92%, transparent);border:1px solid color-mix(in srgb, var(--brand-light) 28%, var(--border));border-radius:var(--radius-md);width:100%;color:var(--text-2);cursor:pointer;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;transition:border-color var(--trans-fast), background var(--trans-fast), box-shadow var(--trans-fast);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffff14}.results-returned-toggle:hover{border-color:color-mix(in srgb, var(--brand) 22%, var(--border-strong));background:color-mix(in srgb, var(--surface-hover) 82%, transparent)}.results-returned-toggle.is-open{margin-bottom:10px}.results-returned-toggle:focus{outline:none}.results-returned-toggle:focus-visible{outline-offset:2px;border-radius:var(--radius-sm);outline:2px solid #447bba73}.results-returned-toggle-main{flex:auto;align-items:center;min-width:0;display:flex}.results-section-label-returned{color:var(--text);letter-spacing:.04em;text-transform:uppercase;padding-left:0;font-size:.78rem;font-weight:800}.results-returned-toggle-end{flex-shrink:0;align-self:center;align-items:center;gap:8px;display:inline-flex}.results-list-returned{padding:0}.results-empty{text-align:center;padding:48px var(--sp-4);color:var(--text-2);align-items:center;gap:var(--sp-3);flex-direction:column;font-size:.9375rem;font-weight:500;display:flex}.results-empty:before{content:"📊";font-size:2rem;animation:2.5s ease-in-out infinite emptyPulse;display:block}@keyframes emptyPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.form-actions{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;justify-content:flex-end;display:flex}.sheet-details-toggle{width:100%;padding:var(--sp-2) 0;color:var(--text-3);cursor:pointer;border:none;border-top:1px solid var(--border);margin-top:var(--sp-1);transition:color var(--trans-fast);background:0 0;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:500;display:flex}.sheet-details-toggle:hover{color:var(--text-2)}.sheet-details-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.sheet-details-toggle-arrow{transition:transform var(--trans-fast);font-size:1rem;display:inline-block}.sheet-details-toggle-arrow.is-open{transform:rotate(90deg)}.checkbox-all-participants{border-bottom:1px solid var(--border);padding-bottom:var(--sp-2);margin-bottom:var(--sp-1);font-style:italic}.participants-search{margin-bottom:var(--sp-2);width:100%}.purchase-meta-list{opacity:.7;font-size:.75rem;line-height:1.3}.purchase-form-note{border-radius:var(--radius-sm);color:var(--text-2);background:#447bba14;border:1px solid #447bba2e;margin-top:8px;padding:8px 10px;font-size:.75rem;line-height:1.4}.person-badge-info{opacity:.6;overflow-wrap:break-word;word-break:break-word}.flex-1{flex:1}.flex-col{flex-direction:column;display:flex}.flex-items-start{align-items:flex-start;display:flex}.gap-1{gap:var(--sp-1)}.opacity-8{opacity:.8}.w-full{width:100%}.qr-container{align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;flex-direction:column;display:flex}.qr-code-wrapper{padding:var(--sp-4);border-radius:var(--radius-lg);transition:transform var(--trans-fast);background:#fff;box-shadow:0 4px 16px #0000001f,0 0 0 1px #0000000f}.qr-code-wrapper:active{transform:scale(.97)}.qr-loading{justify-content:center;align-items:center;width:200px;height:200px;display:flex}.qr-spinner{border:3px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite qrSpinnerRotate}@keyframes qrSpinnerRotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.qr-spinner{border-color:var(--brand);animation:none}}.share-link-text{color:var(--brand);text-align:center;word-break:break-all;text-underline-offset:3px;border-radius:var(--radius-sm);max-width:100%;padding:var(--sp-2) var(--sp-3);transition:background var(--trans-fast);font-size:.875rem;-webkit-text-decoration:underline #4a83c466;text-decoration:underline #4a83c466}.share-link-text:hover{background:var(--brand-light)}.calc-history-list{gap:var(--sp-2);flex-direction:column;display:flex}.calc-history-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text);transition:all var(--trans-fast);cursor:pointer;flex-direction:row;text-decoration:none;display:flex;position:relative;overflow:hidden}.calc-history-item:hover{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.calc-history-item:active{box-shadow:none;transform:scale(.98)}.calc-history-item:focus-visible{outline-offset:2px;outline:2px solid #447bba73}.calc-history-item.current{border-color:color-mix(in srgb, var(--brand) 52%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--brand-light) 88%, transparent), var(--brand-light));box-shadow:inset 0 2px 0 0 var(--brand)}.calc-history-item.current:hover{border-color:color-mix(in srgb, var(--brand) 62%, var(--border-strong));background:linear-gradient(180deg, color-mix(in srgb, var(--brand-light) 96%, transparent), color-mix(in srgb, var(--brand-light) 88%, var(--surface-hover)));box-shadow:inset 0 2px 0 0 var(--brand), 0 8px 18px #0000000d;transform:none}.calc-history-item.current:active{box-shadow:inset 0 2px 0 0 var(--brand), 0 4px 12px #0000000a;transform:none}.calc-history-item-icon{border-radius:var(--radius-md);background:var(--surface-solid);border:1px solid var(--border);width:36px;height:36px;color:var(--text-2);cursor:pointer;appearance:none;transition:all var(--trans-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex}.calc-history-item-icon-pin:hover,.calc-history-item-icon-pin.is-pinned{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.calc-history-item.current .calc-history-item-icon{background:var(--brand-light);border-color:var(--brand)}.calc-history-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.calc-history-item-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:.875rem;font-weight:600;overflow:hidden}.calc-history-item-date{color:var(--text-3);font-size:.75rem}.calc-history-item-badge{border-radius:var(--radius-full);background:var(--brand);color:#fff;white-space:nowrap;flex-shrink:0;padding:2px 8px;font-size:.6875rem;font-weight:600}.calc-history-item-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.calc-history-item-delete{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-solid);width:24px;height:24px;color:var(--text-2);cursor:pointer;transition:all var(--trans-fast);justify-content:center;align-items:center;font-size:.75rem;line-height:1;display:inline-flex}.calc-history-item-delete:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-light)}.calc-history-empty{text-align:center;color:var(--text-2);padding:var(--sp-8) 0;font-size:.875rem}.toast-container{top:calc(var(--sp-4) + env(safe-area-inset-top,0px));right:var(--sp-4);z-index:9999;align-items:flex-end;gap:var(--sp-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:auto;left:auto;transform:none}.toast{padding:12px var(--sp-4) 12px calc(var(--sp-4) + 4px);border-radius:var(--radius-md);white-space:nowrap;background:var(--surface-solid);color:var(--text);border:1px solid var(--border);font-size:.875rem;font-weight:500;animation:.22s forwards toastIn;position:relative;overflow:hidden;box-shadow:0 8px 30px #0000002e,0 2px 8px #00000014}.toast:before{content:"";background:var(--brand-gradient);border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.toast-success{background:var(--surface-solid);color:var(--text);border:1px solid var(--border);box-shadow:0 8px 30px #0000002e}.toast-success:before{background:linear-gradient(#22c55e,#16a34a)}.toast-error{background:var(--surface-solid);color:var(--text);border:1px solid var(--border);box-shadow:0 8px 30px #0000002e}.toast-error:before{background:linear-gradient(#ef4444,#dc2626)}.toast-info{background:var(--surface-solid);color:var(--text);border:1px solid var(--border);box-shadow:0 8px 30px #0000002e}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-has-undo{pointer-events:auto;align-items:center;gap:var(--sp-3);padding-right:var(--sp-3);display:flex}.toast-message{flex:auto}.toast-undo-btn{border-radius:var(--radius-sm);color:inherit;cursor:pointer;opacity:.8;transition:opacity var(--trans-fast);white-space:nowrap;background:0 0;border:1px solid;flex:none;padding:3px 10px;font-size:.8125rem;font-weight:600}.toast-undo-btn:hover{opacity:1}.modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(4px);z-index:500;padding:var(--sp-4);overscroll-behavior:none;touch-action:none;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface-solid);border-radius:var(--radius-lg);padding:var(--sp-6);width:100%;max-width:400px;box-shadow:var(--shadow-float);border:1px solid var(--border);animation:.22s popIn}.modal-title{margin-bottom:var(--sp-4);letter-spacing:-.02em;font-size:1rem;font-weight:700}.modal-actions{gap:var(--sp-3);margin-top:var(--sp-5);justify-content:flex-end;display:flex}.confirm-context{flex-direction:column;gap:4px;display:flex}.confirm-context-value{color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-size:.9375rem;font-weight:700}.confirm-context-meta{color:var(--text-2);font-size:.8125rem;font-weight:500}.sheet-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(4px);z-index:400;overscroll-behavior:none;touch-action:none;animation:.15s fadeIn;position:fixed;inset:0}.sheet.sheet-mobile{left:var(--vv-offset-x,0px);right:calc(-1 * var(--vv-offset-x,0px))}.sheet{background:var(--surface-solid);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--sp-5) var(--sp-4) 0;z-index:410;max-height:85vh;box-shadow:var(--shadow-float);border:1px solid var(--border);overscroll-behavior:contain;border-bottom:none;flex-direction:column;width:min(100vw,100%);max-width:100vw;animation:.3s sheetUp;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.sheet:before{content:"";background:var(--border-strong);opacity:.5;z-index:1;border-radius:2px;width:36px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.sheet-header{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-shrink:0;display:flex}.sheet-title{letter-spacing:-.02em;color:var(--text);flex:1;font-size:1rem;font-weight:700}.sheet-close-btn{border-radius:var(--radius-md);background:var(--surface-2);width:32px;height:32px;color:var(--text-2);cursor:pointer;transition:all var(--trans-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;display:none}.sheet-close-btn:hover{background:var(--surface-hover);color:var(--text)}.sheet.sheet-share .sheet-close-btn{display:flex}.sheet-body{min-height:0;padding-bottom:var(--sp-3);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-width:0;overflow:hidden auto}.sheet-footer{padding:var(--sp-3) 0 var(--sp-5);border-top:1px solid var(--border);background:var(--surface-solid);flex-shrink:0}.sheet-footer .form-actions{border:none;margin-top:0;padding:0}.bottom-sheet-content-scroll{max-height:none;margin:0 calc(-1 * var(--sp-4));padding:0 var(--sp-4);overflow-y:visible}.faq-sheet{gap:var(--sp-3);flex-direction:column;display:flex}.faq-hero{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);align-items:center;gap:10px;padding:10px;display:flex}.faq-hero-logo{object-fit:contain;border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-shrink:0;width:42px;height:42px}.faq-hero-cover{border-radius:var(--radius-sm);background:linear-gradient(135deg,#447bba29,#447bba0f);border:1px solid #447bba40;flex:1;min-width:0;padding:8px 10px}.faq-hero-title{color:var(--text);font-size:.875rem;font-weight:700;line-height:1.25}.faq-hero-subtitle{color:var(--brand);margin-top:2px;font-size:.75rem;font-weight:600;line-height:1.25}.faq-index-title{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:.75rem;font-weight:700}.faq-index-list{flex-wrap:wrap;gap:6px;display:flex}.faq-index-item{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:all var(--trans-fast);padding:6px 8px;font-size:.75rem;font-weight:500}.faq-index-item:hover{color:var(--text);border-color:var(--brand);background:var(--brand-light)}.faq-index-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.faq-list{gap:var(--sp-2);flex-direction:column;display:flex}.faq-item{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-md);overflow:hidden}.faq-item.open{border-color:var(--border-strong)}.faq-question-btn{width:100%;color:var(--text);justify-content:space-between;align-items:flex-start;gap:var(--sp-2);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:.875rem;font-weight:600;display:flex}.faq-question-btn:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-sm)}.faq-question-arrow{color:var(--text-3);transition:transform var(--trans-fast);flex-shrink:0}.faq-question-arrow.open{transform:rotate(180deg)}.faq-answer{color:var(--text-2);padding:0 12px 12px;font-size:.8125rem;line-height:1.45}.faq-answer p+p{margin-top:8px}.sheet-header-extra{flex-shrink:0}.sheet-me-toggle{border-radius:var(--radius-full);border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-2);white-space:nowrap;transition:background var(--trans-fast), color var(--trans-fast), border-color var(--trans-fast);align-items:center;gap:5px;padding:5px 12px;font-size:.8125rem;font-weight:500;display:inline-flex}.sheet-me-toggle-icon{justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.sheet-me-toggle input{display:none}.sheet-me-toggle:has(input:checked){background:var(--brand);color:#fff;border-color:var(--brand)}.dev-api-sheet{gap:var(--sp-3);flex-direction:column;display:flex}.dev-api-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dev-api-meta-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:4px;min-width:0;padding:8px 10px;display:flex}.dev-api-meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:.6875rem;font-weight:700}.dev-api-meta-value,.dev-api-meta-code{color:var(--text);font-size:.8125rem;font-weight:600}.dev-api-meta-code{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dev-api-mode-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface-solid);min-width:54px;min-height:24px;color:var(--text-2);letter-spacing:.05em;justify-content:center;align-self:flex-start;align-items:center;padding:0 8px;font-size:.75rem;font-weight:700;display:inline-flex}.dev-api-mode-chip.is-http{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));background:color-mix(in srgb, var(--brand-light) 70%, transparent);color:var(--brand)}.dev-api-mode-chip.is-mock{border-color:color-mix(in srgb, #22a85d 40%, var(--border));color:#22a85d;background:#22a85d2e}.dev-api-mode-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dev-api-footer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dev-api-hint{color:var(--text-3);margin:0;font-size:.75rem;line-height:1.45}.dev-api-hint code{font-size:.75rem}@media (width<=520px){.dev-api-meta-grid{grid-template-columns:1fr}}.btn-full-width{width:100%}.sheet.sheet-desktop{border-radius:var(--radius-lg);border:1px solid var(--border);width:calc(100% - 32px);max-width:520px;max-height:82vh;animation:.2s sheetModalIn;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.sheet.sheet-desktop .sheet-footer{padding-bottom:var(--sp-4)}.sheet.sheet-desktop .sheet-close-btn,.sheet.sheet-mobile .sheet-close-btn{display:flex}.sheet.sheet-blocked-close-a:not(.sheet-desktop),.sheet.sheet-blocked-close-b:not(.sheet-desktop){animation:.24s sheetBlockedCloseMobile}.sheet.sheet-desktop.sheet-blocked-close-a,.sheet.sheet-desktop.sheet-blocked-close-b{animation:.24s sheetBlockedCloseDesktop}@keyframes sheetModalIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes sheetBlockedCloseDesktop{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 10px),-50%)}55%{transform:translate(calc(8px - 50%),-50%)}80%{transform:translate(calc(-50% - 4px),-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheetBlockedCloseMobile{0%,to{transform:translate(0)}25%{transform:translate(-10px)}55%{transform:translate(8px)}80%{transform:translate(-4px)}}.checkbox-item{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--trans-fast);color:var(--text);font-size:.875rem;font-weight:500;display:flex}.checkbox-item:hover{background:var(--surface-2)}.checkbox-item input[type=checkbox],.checkbox-item input[type=radio]{width:18px;height:18px;accent-color:var(--brand);cursor:pointer;flex-shrink:0}.person-choice-card-list{gap:var(--section-subitem-gap);flex-direction:column;display:flex}.person-choice-card{align-items:flex-start;gap:var(--sp-3);cursor:pointer;width:100%;display:flex}.person-choice-card input[type=radio]{width:18px;height:18px;accent-color:var(--brand);cursor:pointer;flex-shrink:0;margin-top:12px}.person-choice-card-body{flex:1;min-width:0}.person-choice-card.is-selected .person-choice-card-body{background:color-mix(in srgb, var(--surface-2) 72%, var(--brand-light) 28%);border-color:color-mix(in srgb, var(--border-strong) 72%, var(--brand) 28%);box-shadow:0 0 0 1px #4a83c414}.add-person-purchases-list{width:100%;min-width:0}.add-person-purchases-item{align-items:flex-start;width:100%;min-width:0}.add-person-purchases-item-body{width:100%;min-width:0}.add-person-purchases-item-body>span{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-2);letter-spacing:.01em;font-size:.8125rem;font-weight:600}.form-grid{gap:var(--sp-4);flex-direction:column;display:flex}.scan-receipt-step{gap:var(--sp-3);flex-direction:column;display:flex}.fast-scan-steps{align-items:center;gap:6px;padding:2px 0 4px;display:flex}.fast-scan-step-dot{background:var(--border);width:8px;height:8px;transition:background var(--trans-med), transform var(--trans-med);border-radius:50%}.fast-scan-step-dot.is-done{background:var(--brand);opacity:.5}.fast-scan-step-dot.is-active{background:var(--brand);transform:scale(1.35)}.scan-receipt-note{color:var(--text-2);font-size:.8125rem;line-height:1.45}.payer-for-hint{color:var(--text-2);background:var(--surface-2);border-radius:var(--radius-md);border-left:3px solid var(--brand);margin-bottom:var(--sp-2);padding:10px 12px;font-size:.8125rem;line-height:1.5}.quick-fill-card{border:1px solid var(--border);border-radius:calc(var(--radius-lg) - 6px);background:color-mix(in srgb, var(--surface-2) 78%, white 22%);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.quick-fill-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 12px;display:flex}.quick-fill-card-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.quick-fill-card-title{color:var(--text);font-size:.9rem;font-weight:700;line-height:1.35}.quick-fill-card-subtitle{color:var(--text-2);font-size:.78rem;line-height:1.45}.quick-fill-action{white-space:nowrap;align-self:flex-start;width:auto;min-height:31px;padding:6px 12px;font-size:.875rem}.quick-fill-preview{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 10px;display:grid}.quick-fill-preview-item{gap:2px;min-width:0;display:grid}.quick-fill-preview-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.quick-fill-preview-value{color:var(--text);overflow-wrap:anywhere;font-size:.9rem;line-height:1.4}.quick-fill-card.is-compact{gap:6px;padding:8px 10px}.quick-fill-card.is-compact .quick-fill-card-head{align-items:center;gap:6px 10px}.quick-fill-card.is-compact .quick-fill-card-copy{gap:2px}.quick-fill-card.is-compact .quick-fill-card-title{font-size:.84rem;line-height:1.25}.quick-fill-card.is-compact .quick-fill-card-subtitle{font-size:.75rem}.quick-fill-card.is-compact .quick-fill-action{min-height:28px;padding:4px 10px;font-size:.8125rem}.quick-fill-preview.is-compact{grid-template-columns:minmax(0,1fr);gap:2px}.quick-fill-preview.is-compact .quick-fill-preview-item{align-items:baseline;gap:6px;display:flex}.quick-fill-preview.is-compact .quick-fill-preview-label{flex-shrink:0;font-size:.7rem}.quick-fill-preview.is-compact .quick-fill-preview-value{min-width:0;font-size:.85rem;line-height:1.3}.scan-receipt-list{flex-direction:column;gap:6px;display:flex}.scan-receipt-file-input{display:none}.scan-receipt-scanning-block{text-align:center;flex-direction:column;align-items:center;display:flex}.scan-receipt-spinner{border:2.5px solid var(--brand-light);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:28px;height:28px;animation:.8s linear infinite scanSpinnerRotate}@keyframes scanSpinnerRotate{to{transform:rotate(360deg)}}.scan-receipt-scanning-stage{color:var(--text);text-align:center;min-height:1.4em;font-size:.95rem;font-weight:700}.scan-receipt-scanning-sub{color:var(--text-2);text-align:center;font-size:.78rem;line-height:1.45}.scan-receipt-hint{color:var(--text-3);font-size:.6875rem;line-height:1.4}.scan-receipt-hint-danger{color:var(--danger)}.scan-receipt-progress{color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;display:flex}.scan-receipt-current-inline-wrap{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.scan-receipt-current-inline{min-width:0;color:var(--text);overflow-wrap:anywhere;font-weight:600;line-height:1.35}.scan-receipt-original-name{min-width:0;color:var(--text-3);overflow-wrap:anywhere;font-size:.6875rem;line-height:1.35}.scan-receipt-review-badge{min-width:18px;height:18px;color:var(--danger);background:#e6464624;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.scan-receipt-progress-right{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.scan-receipt-step-label{white-space:nowrap}.scan-receipt-item-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.scan-receipt-summary{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.6875rem;display:flex}.scan-receipt-summary-flagged{color:var(--danger)}.scan-receipt-review-note{color:var(--text-2);margin-top:8px;font-size:.85rem;line-height:1.4}.scan-receipt-summary.is-final{border-top:1px solid var(--border);padding-top:8px}.scan-receipt-totals{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.scan-receipt-totals-row{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:12px;font-size:.75rem;display:flex}.scan-receipt-totals-row strong{color:var(--text-1)}.scan-receipt-finish{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:8px;display:flex}.scan-receipt-form-wrap{flex-direction:column;gap:10px;display:flex}.scan-receipt-form-wrap .form-actions{flex-wrap:nowrap}.scan-receipt-form-wrap .form-actions .btn{flex:1 1 0;min-width:0}.scan-receipt-form-wrap .form-actions .btn.btn-danger{background:var(--danger-light);color:var(--danger);border-color:#0000}.scan-receipt-selected-preview{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.scan-receipt-selected-preview-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.scan-receipt-selected-preview-name-wrap{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.scan-receipt-selected-preview-name{overflow-wrap:anywhere;min-width:0;line-height:1.35}.scan-receipt-selected-preview-original{min-width:0;color:var(--text-3);overflow-wrap:anywhere;font-size:.75rem;line-height:1.35}.scan-receipt-selected-preview-amount{color:var(--text-2);white-space:nowrap;flex-shrink:0}.scan-receipt-selected-preview-more{color:var(--text-3);text-align:right;font-size:.75rem}.scan-receipt-selected-preview-item.is-skipped{border-style:dashed;border-color:color-mix(in srgb, var(--danger) 36%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.scan-receipt-selected-preview-item.is-skipped .scan-receipt-selected-preview-name{color:var(--text-2);text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 45%, transparent)}.scan-receipt-selected-preview-item.is-skipped .scan-receipt-selected-preview-original,.scan-receipt-selected-preview-item.is-skipped .scan-receipt-selected-preview-amount{color:var(--text-3)}.scan-receipt-item-actions .btn{width:100%;min-width:0}.scan-receipt-item-actions .btn.is-skipped{color:#dc2626;background:#dc26261f;border-color:#dc262673}.scan-receipt-finish .form-actions{grid-template-columns:1fr;gap:8px;margin-top:0;display:grid}.scan-receipt-finish .form-actions .btn{width:100%;min-width:0}@media (width>=480px){.scan-receipt-finish .form-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}}@media (width<=640px){.scan-receipt-form-wrap .form-actions{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.scan-receipt-form-wrap .form-actions .btn{white-space:normal;text-align:center;width:100%;line-height:1.25}}.badge{border-radius:var(--radius-full);align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--brand-light);color:var(--brand);border:1px solid #6c63ff33}.badge-muted{background:var(--surface-2);color:var(--text-3);border:1px solid var(--border)}.empty-state{text-align:center;padding:48px var(--sp-4);color:var(--text-2);align-items:center;gap:var(--sp-3);flex-direction:column;font-size:.9375rem;font-weight:500;display:flex}.empty-state:before{content:"📦";font-size:2rem;animation:2.5s ease-in-out infinite emptyPulse;display:block}.results-empty-state{padding:32px var(--sp-4)}.results-empty-state:before{content:"💸"}.add-form{gap:var(--sp-3);padding:var(--sp-2) 0;flex-direction:column;display:flex}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.header-name-input.error{border-bottom-color:var(--danger)!important}.currency-select-container{width:100%;min-width:0;position:relative}.currency-select-container.is-align-end .currency-dropdown{left:auto;right:0}.person-select-container{z-index:2}.select-trigger{background:var(--input-bg);cursor:pointer;min-height:44px;transition:all var(--trans-fast);text-align:left;color:var(--text);border:1px solid #0000001f;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;padding:0 14px;display:flex}[data-theme=dark] .select-trigger{border:1px solid #ffffff1f}.select-trigger:hover,.select-trigger.active{border-color:var(--brand);background:var(--surface-solid)}.select-trigger.error{border-color:var(--danger)}.select-trigger-content{align-items:center;gap:var(--sp-2);flex:auto;min-width:0;display:flex;overflow:hidden}.select-arrow{opacity:0;transition:opacity var(--trans-fast)}.select-trigger:hover .select-arrow,.select-trigger:focus-visible .select-arrow,.select-trigger.active .select-arrow{opacity:1}.currency-symbol{color:var(--text);flex:none;font-size:1.05rem;font-weight:500;line-height:1.2}.currency-code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);font-size:.78rem;font-weight:700;overflow:hidden}.currency-dropdown{background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:max(100%,240px);max-width:min(320px,100vw - 24px);box-shadow:var(--shadow-float);z-index:1000;flex-direction:column;max-height:300px;animation:.2s slideDown;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:auto}.currency-dropdown-search{padding:var(--sp-2);border-bottom:1px solid var(--border)}.search-input-inline{width:100%;padding:8px 10px;font-size:.8125rem}.currency-dropdown-list{flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}.currency-dropdown-option{align-items:center;gap:var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--trans-fast);text-align:left;color:var(--text);background:0 0;border:none;width:100%;padding:8px 12px;display:flex}.currency-dropdown-option:hover{background:var(--surface-2)}.currency-dropdown-option.selected{background:var(--brand-light)}.currency-option-symbol{color:var(--text);text-align:center;width:34px;font-size:1.15rem;font-weight:500;line-height:1.2}.currency-option-text{flex-direction:column;flex:1;min-width:0;display:flex}.currency-option-code{font-size:.875rem;font-weight:600}.currency-option-name{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.person-select-summary,.person-option-text{flex-direction:column;min-width:0;display:flex}.person-select-name{color:var(--text);font-weight:600}.person-select-helper,.person-select-placeholder{color:var(--text-3);font-size:.75rem;line-height:1.25}.person-select-placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.person-dropdown-option{align-items:flex-start}.person-select-trigger-content{min-width:0}@media (width<=767px){.fast-scan-hero{margin-bottom:0}.header-inner{gap:10px;padding:8px 12px}.header-brand{gap:6px}.header-title-text{font-size:1.08rem}.btn{min-height:44px}.btn-sm{min-height:40px}.btn-xs{min-height:32px}.btn-icon,.header-action-btn,.sheet-close-btn{width:44px;min-width:44px;height:44px}.header-lang-trigger,.fast-scan-hero-btn,.section-purchases .btn-scan-receipt{min-height:44px}.header-lang-trigger{min-width:50px;padding:0 7px 0 8px;font-size:.78rem}.section-purchases .btn-scan-receipt{width:44px;min-width:44px;padding:0}.section-header{align-items:center;gap:8px;padding-top:8px;padding-bottom:8px}.section-header-actions{flex-wrap:wrap;row-gap:6px}.person-list,.purchase-list{gap:6px}.purchase-group-list{gap:10px}.person-row{gap:10px;padding:6px 8px}.person-avatar{width:36px;height:36px}.purchase-row,.purchase-group-card{padding:8px}.purchase-header{align-items:center}.purchase-actions{align-self:center;align-items:center;margin-block:-4px}.purchase-reorder-btn{width:40px;min-width:40px;height:40px}.purchase-group-card{gap:8px}button.purchase-group-create-card:not(.is-editing){min-height:64px;padding:13px 12px}.purchase-meta,.purchase-meta.wrap-participants{gap:6px;margin-top:4px}.empty-state{gap:10px;padding:36px 10px}.results-section>.section-header{align-items:stretch;gap:10px}.results-header-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;width:100%;display:grid}.results-header-main .section-title{flex:0 auto;width:auto;min-width:0}.results-header-main .section-header-info{justify-self:end;align-items:flex-end;gap:4px;width:auto;min-width:0}.results-header-actions{flex:100%;width:100%}.results-currency-panel{grid-template-columns:minmax(0,1fr) minmax(108px,128px);align-items:start;width:100%;padding:10px 12px}.results-currency-panel .currency-select-container{justify-self:end;width:min(100%,128px)}.results-currency-select .select-trigger{min-height:40px;padding:0 12px}.results-currency-select .currency-symbol{font-size:1rem}.results-currency-select .currency-code{font-size:.75rem}.header-controls{gap:4px}.header-brand-btn{min-height:44px;padding:0 4px}.calc-version-meta{overflow-wrap:normal;justify-content:flex-end;width:auto;max-width:max-content}.history-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 10px;padding:10px 12px;display:grid}.history-icon{display:none}.history-action-name{font-size:.875rem}.history-target-name,.history-extra-lines{font-size:.8125rem}.history-time{color:var(--text-3);white-space:nowrap;font-size:.75rem}.result-row{flex-wrap:wrap;gap:10px}.result-actions{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:6px 10px;width:100%;min-width:0;display:grid}.result-amount-group,.result-amount-meta-group{align-items:flex-start}.result-settlement-btn{justify-self:end;min-width:min(100%,164px)}.result-breakdown-columns{grid-template-columns:1fr}.person-actions,.purchase-actions,.purchase-reorder-controls{gap:4px}.person-action-me,.person-action-dependents,.person-action-dependents.has-count,.person-action-edit,.person-action-delete,.person-action-more{width:44px;min-width:44px;height:44px}.person-action-dependents,.person-action-dependents.has-count{padding:0 4px}.btn-icon-confirm,.btn-icon-cancel{width:40px;height:40px}.result-settlement-btn{min-height:40px}.result-breakdown-toggle{width:28px;min-width:28px;height:28px;min-height:28px}.header-lang-menu{width:min(220px,100vw - 16px);max-width:calc(100vw - 16px)}.bot-check-modal{width:min(100%,100vw - 24px)}.bot-check-modal .modal-actions{justify-content:center}.bot-check-modal .modal-actions .btn{flex:160px}.form-actions .btn{flex:140px;min-width:0}.toast-container{top:auto;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));align-items:stretch;left:12px}body.has-mobile-sheet .toast-container{top:calc(12px + env(safe-area-inset-top,0px));bottom:auto;left:12px;right:12px}.toast{white-space:normal;width:100%}.sheet.sheet-mobile{width:100vw;max-width:100vw;left:0;right:0}.sheet-footer{padding-bottom:calc(var(--sp-5) + env(safe-area-inset-bottom,0px))}}.no-results-inline{padding:var(--sp-4);text-align:center;color:var(--text-3);font-size:.75rem}@media (width<=520px){.results-header-main{gap:6px}.results-header-main .section-header-info{gap:3px}.total-label{font-size:.8125rem}.per-person-label{font-size:.6875rem}.results-currency-panel{grid-template-columns:1fr;gap:10px}.results-currency-panel .currency-select-container{justify-self:stretch;width:100%}.result-row{padding:10px 9px}.result-person-line{width:100%}.result-person-line-to{flex-basis:100%}.result-actions{grid-template-columns:1fr;align-items:stretch}.result-amount{font-size:clamp(.82rem,4.5vw,.98rem);line-height:1.1}.result-partial-hint{white-space:normal;font-size:.6875rem}.result-settlement-btn{justify-self:stretch;width:100%;min-width:0;min-height:36px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes blockEnter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes itemEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.section-card{animation:.22s cubic-bezier(.25,.46,.45,.94) both blockEnter}.person-list .person-row,.purchase-list .purchase-row,.results-list .result-row{animation:.18s cubic-bezier(.25,.46,.45,.94) both itemEnter}.history-list .history-item{content-visibility:auto;contain-intrinsic-size:90px;animation:.18s cubic-bezier(.25,.46,.45,.94) both itemEnter}.person-list .person-row:first-child,.purchase-list .purchase-row:first-child,.results-list .result-row:first-child,.history-list .history-item:first-child{animation-delay:60ms}.person-list .person-row:nth-child(2),.purchase-list .purchase-row:nth-child(2),.results-list .result-row:nth-child(2),.history-list .history-item:nth-child(2){animation-delay:.1s}.person-list .person-row:nth-child(3),.purchase-list .purchase-row:nth-child(3),.results-list .result-row:nth-child(3),.history-list .history-item:nth-child(3){animation-delay:.14s}.person-list .person-row:nth-child(4),.purchase-list .purchase-row:nth-child(4),.results-list .result-row:nth-child(4),.history-list .history-item:nth-child(4){animation-delay:.18s}.person-list .person-row:nth-child(5),.purchase-list .purchase-row:nth-child(5),.results-list .result-row:nth-child(5),.history-list .history-item:nth-child(5){animation-delay:.22s}.person-list .person-row:nth-child(n+6),.purchase-list .purchase-row:nth-child(n+6),.results-list .result-row:nth-child(n+6),.history-list .history-item:nth-child(n+6){animation-delay:.26s}.person-list .person-row:nth-child(n+13),.purchase-list .purchase-row:nth-child(n+13),.results-list .result-row:nth-child(n+13),.history-list .history-item:nth-child(n+13){opacity:1;animation:none;transform:none}.no-entrance-anim .section-card,.no-entrance-anim .person-list .person-row,.no-entrance-anim .purchase-list .purchase-row,.no-entrance-anim .results-list .result-row,.no-entrance-anim .history-list .history-item{opacity:1!important;animation:none!important;transform:none!important}.no-entrance-anim .history-list .history-item{content-visibility:visible!important;contain-intrinsic-size:auto!important}.section-title-toggle{cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:0;display:flex}.section-title-toggle:focus{outline:none}.section-title-toggle:focus-visible{outline-offset:2px;border-radius:var(--radius-sm);outline:2px solid #447bba73}.history-toggle{box-sizing:border-box;width:100%;min-height:52px;font:inherit;cursor:pointer;color:var(--text);border-radius:var(--radius-lg);transition:background var(--trans-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.history-toggle.open{border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.history-toggle:hover{background:0 0}.history-toggle:focus{outline:none}.history-toggle:focus-visible{outline-offset:-2px;outline:2px solid #447bba73}.history-count-badge{border-radius:var(--radius-full);background:var(--brand-light);min-width:20px;height:20px;color:var(--brand);vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;margin-left:0;padding:0 6px;font-size:.6875rem;font-weight:700;display:inline-flex}.history-time{color:var(--text-3);white-space:nowrap;flex-shrink:0;align-self:flex-start;margin-left:auto;font-size:.6875rem}.history-details{flex:1;min-width:0}.purchase-right{align-items:center;gap:var(--sp-1);flex-shrink:0;align-self:flex-start;display:flex}.purchase-payer-name{color:var(--text-2)}.purchase-meta-sep{color:var(--border-strong)}.purchase-participants-text{color:var(--text-3)}@supports (-webkit-touch-callout:none){.input,.input-sm,.select,.select-sm,.select-compact,input,textarea,select{font-size:16px!important}}@media (width<=480px){#toggle-theme-btn{display:none}}@media (width>=768px){.app-wrapper{zoom:.82;max-width:840px}}
