@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-400-normal-CjyVwvJV.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-500-normal-DrDcrrxK.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-500-normal-Bo-NxEKf.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-600-normal-NEn2C4Q3.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-700-normal-CeQ8H3UY.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-700-normal-6IGCzoPh.woff)format("woff")}:root{--font-ui:"Hanken Grotesk", -apple-system, system-ui, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--page:#faf6ec;--surface:#fff;--surface-warm:#fff8e8;--surface-raised:#fffaf0;--subtle:#f0e8d0;--muted-green:#5a6b56;--muted:#6c6252;--faint:#b0a690;--warn:#e8765a;--pos:#2f7d5b;--pos-bg:#e3f0e8;--neg:#bb4a3b;--neg-bg:#f7e3de;--owed-bright:#7fd0a4;--owe-bright:#e2917f;--label:#a89c83;--text-soft:#8a8069;--radius-card:18px;--radius-control:12px;--s1:4px;--s2:8px;--s3:12px;--s4:18px;--s5:24px;--gap:18px;--pad:18px;--row:68px;--hover-lift:-2px;--amount-weight:500;color:var(--ink);background:var(--page);font-family:var(--font-ui);font-synthesis:none;font-variant-numeric:tabular-nums;text-rendering:optimizelegibility;--cat-food-tint:#ffe3c7;--cat-food-accent:#e8672e;--cat-housing-tint:#fff1bf;--cat-housing-accent:#d89b0a;--cat-transport-tint:#d8f5ef;--cat-transport-accent:#0fa98e;--cat-fun-tint:#f2e1fc;--cat-fun-accent:#9640e0;--cat-other-tint:#ece8de;--cat-other-accent:#8a8069;--cat-travel-tint:#e8dffc;--cat-travel-accent:#7c4deb;--m3-primary:#9640e0;--m3-primary-hover:#8231cc;--m3-on-primary:#fff;--m3-primary-container:#f3e5fc;--m3-on-primary-container:#4a0b78;--m3-surface-container-low:#fffaf0;--m3-surface-container:#fdf6e6;--m3-surface-container-high:#f6eeda;--m3-outline-variant:#ece2d0;--m3-elevation-tint:#14261c12;--accent:var(--m3-primary);--accent-hover:var(--m3-primary-hover);--accent-light:var(--m3-primary-container);--line:var(--m3-outline-variant);--hairline:#f0e7d6;--ink:#16261c;--shadow-sm:0 1px 2px #14261c0f, 0 2px 6px #14261c0d;--shadow:0 1px 3px #14261c12, 0 4px 14px #14261c12;--shadow-lg:0 16px 40px #14261c1f;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.3, .64, 1);--dur-fast:.13s;--dur-mid:.22s;--dur-slow:.34s;--press-scale:.97;--press-scale-lg:.95;--dur-press-in:90ms;--dur-press-out:.26s;font-weight:400}:root[data-density=cozy]{--gap:12px;--pad:12px;--row:54px}:root[data-density=roomy]{--gap:28px;--pad:28px;--row:84px}:root[data-motion=still]{--hover-lift:0;--dur-fast:0s;--dur-mid:0s;--dur-slow:0s;--dur-press-in:0s;--dur-press-out:0s}:root[data-motion=still] *,:root[data-motion=still] :before,:root[data-motion=still] :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){:root{--hover-lift:0;--dur-fast:0s;--dur-mid:0s;--dur-slow:0s;--dur-press-in:0s;--dur-press-out:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.modal-backdrop,.modal,.subs-day-pop,.reaction-rail,.sync-banner{transition-property:opacity!important;transition-duration:.13s!important;transition-timing-function:linear!important}}:root[data-motion=still] .modal-backdrop,:root[data-motion=still] .modal,:root[data-motion=still] .subs-day-pop,:root[data-motion=still] .reaction-rail,:root[data-motion=still] .sync-banner{transition-property:opacity!important;transition-duration:.13s!important;transition-timing-function:linear!important}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}button,[role=button],.icon-text,.icon-button,.week-card,.bottom-nav a{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}body{background:radial-gradient(circle at 8% 0%, #f4e5c299, transparent 36rem), var(--page);-webkit-font-smoothing:antialiased;min-width:320px;min-height:100vh;margin:0;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}strong,b{font-weight:500}.amount,.display-balance,.balance-pill,.room-totals dd,.ledger-strip strong,.amount-field input,.amount-field span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-weight:var(--amount-weight)}.amount.negative,.balance-pill.negative{color:var(--neg)}.amount.positive,.balance-pill.positive{color:var(--pos)}.amount.neutral,.balance-pill.neutral{color:var(--muted)}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:500;line-height:1.3;display:block}.topbar{z-index:10;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:0 22px;display:flex;position:sticky;top:0}.brand,.topbar-actions{align-items:center;gap:8px;display:flex}.brand{color:var(--ink);background:0 0;border:0;min-height:46px;padding:0;font-size:17px;font-weight:500}.nav-pills{border:1px solid var(--line);border-radius:var(--radius-pill);background:#ffffff80;align-items:center;gap:4px;padding:6px 8px;display:flex}.top-link{border-radius:var(--radius-pill);color:var(--muted);min-height:34px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}.top-link.active{background:var(--ink);color:var(--page)}.bottom-nav,.mobile-bar{display:none}.liquid-glass-defs{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.sync-banner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--pos-bg) 90%, transparent);box-shadow:var(--shadow);color:var(--pos);min-width:min(320px,100vw - 32px);max-width:calc(100vw - 32px);min-height:42px;transition:opacity var(--dur-mid) var(--ease-out), translate var(--dur-mid) var(--ease-out), background var(--dur-mid) var(--ease-out), color var(--dur-mid) var(--ease-out);--sync-from:-12px;z-index:40;border:1px solid #d4e6db;border-radius:999px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:13px;font-weight:500;display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)}@starting-style{.sync-banner{opacity:0;translate:0 var(--sync-from)}}.sync-banner[data-tone=warn]{background:color-mix(in srgb, var(--surface-warm) 92%, transparent);border-color:color-mix(in srgb, var(--warn) 35%, transparent);color:color-mix(in srgb, var(--warn) 70%, var(--ink))}.sync-banner[data-tone=warn] .icon-button{color:inherit}.sync-banner-text{align-items:center;gap:8px;display:inline-flex}.sync-banner .icon-button{color:var(--pos)}.layout,.auth-layout{max-width:1120px;margin:0 auto;padding:28px 20px 56px}.auth-layout{align-items:stretch;gap:var(--gap);grid-template-columns:minmax(280px,.9fr) minmax(320px,1fr);min-height:calc(100vh - 64px);display:grid}.auth-art{background:radial-gradient(circle at 24% 24%, #f4e5c233, transparent 16rem), radial-gradient(circle at 76% 72%, #1f4d3a5c, transparent 18rem), var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow);color:var(--page);flex-direction:column;justify-content:space-between;min-height:520px;padding:clamp(24px,4vw,44px);display:flex;overflow:hidden}.auth-art p{letter-spacing:-.03em;max-width:10ch;margin:0;font-size:clamp(34px,5vw,58px);font-weight:500;line-height:.96}.auth-legal{color:var(--muted);margin:18px 0 0;font-size:12px}.auth-legal a,.legal-title a,.legal-document a,.legal-meta a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 36%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 36%, transparent);text-underline-offset:3px}.page-title,.room-header,.section-heading{margin-bottom:var(--gap);align-items:start;gap:6px;display:grid}.legal-layout{max-width:860px;padding-bottom:72px}.legal-title{margin-bottom:22px}.legal-title p{color:var(--muted);max-width:68ch;margin:8px 0 0;font-size:16px}.legal-meta{flex-wrap:wrap;gap:10px;margin:22px 0 0;display:flex}.legal-meta div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);min-width:min(100%,230px);padding:12px 14px}.legal-meta dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:11px}.legal-meta dd{margin:0}.legal-notice{background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);margin-bottom:18px;padding:14px 16px}.legal-notice p{margin:0}.legal-document{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:clamp(20px,4vw,34px)}.legal-document section+section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.legal-document h2{text-transform:lowercase;margin-bottom:10px}.legal-document p{color:var(--muted);margin:0}.legal-document p+p{margin-top:12px}.mcp-layout{max-width:980px}.mcp-document{overflow:auto}.mcp-document p{margin-top:14px}.mcp-document>p:first-child{margin-top:0}.mcp-document h2{margin-top:30px}.mcp-document h3{text-transform:lowercase;margin:22px 0 10px}.mcp-document ul,.mcp-document ol{color:var(--muted);margin:12px 0 0;padding-left:22px}.mcp-document li+li{margin-top:6px}.mcp-document code{background:var(--surface-warm);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font:.88em/1.4 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.mcp-document pre{background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0;padding:12px 14px;font:14px/1.65 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.mcp-document pre code{background:0 0;border:0;padding:0}.mcp-document table{border-collapse:collapse;width:100%;margin:14px 0 0;font-size:14px}.mcp-document th,.mcp-document td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.mcp-document th{background:var(--surface-warm);color:var(--ink);font-weight:600}.mcp-document td{color:var(--muted)}.mcp-document hr{border:0;border-top:1px solid var(--line);margin:30px 0}.legal-switcher{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.marketing-layout{gap:22px;max-width:1120px;margin:0 auto;padding:28px 16px 72px;display:grid}.marketing-layout.narrow{max-width:860px}.topbar-public .brand,.topbar-public a{text-decoration:none}.marketing-hero{align-items:stretch;gap:var(--gap);grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);min-height:min(720px,100vh - 116px);display:grid}.hero-copy{align-content:center;gap:22px;display:grid}.hero-copy p,.marketing-title p,.feature-card p,.marketing-band p{color:var(--muted);margin:0}.hero-copy p{max-width:58ch;font-size:17px}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-primary,.hero-secondary,.not-found-action{width:auto;text-decoration:none}.hero-receipt{background:linear-gradient(180deg, #ffffffc7, #fff8e8eb), var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);color:var(--ink);align-content:start;align-self:center;gap:14px;min-height:430px;padding:clamp(24px,4vw,38px);display:grid;position:relative;overflow:hidden}.hero-receipt:before{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);content:"";opacity:.28;pointer-events:none;background-size:32px 32px;position:absolute;inset:0}.receipt-face,.receipt-line,.hero-receipt dl{z-index:1;position:relative}.receipt-face{background:var(--ink);color:var(--muted-green);border-radius:18px;justify-content:center;align-items:center;width:112px;height:112px;display:inline-flex}.receipt-line{background:var(--line);border-radius:999px;width:74%;height:12px;display:block}.receipt-line.wide{width:92%;margin-top:18px}.receipt-line.short{width:48%}.hero-receipt dl{border-top:1px dashed var(--line);gap:12px;margin:28px 0 0;padding-top:22px;display:grid}.hero-receipt dl div,.marketing-facts{gap:1px;display:grid}.hero-receipt dl div{grid-template-columns:1fr auto}.hero-receipt dt,.hero-receipt dd{margin:0}.hero-receipt dt{color:var(--muted);text-transform:lowercase}.hero-receipt dd{font-weight:500}.marketing-facts{background:var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow);color:var(--page);grid-template-columns:repeat(4,1fr);overflow:hidden}.marketing-facts div{background:color-mix(in srgb, var(--ink) 92%, var(--subtle));padding:clamp(16px,3vw,24px)}.marketing-facts strong{margin-top:8px;font-size:clamp(20px,3vw,30px);display:block}.marketing-section,.feature-grid{gap:var(--gap);display:grid}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-grid.full{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);min-height:210px;padding:var(--pad);gap:12px;display:grid}.feature-card svg{color:var(--accent)}.feature-card h2{margin:0}.marketing-band{background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:16px 18px;display:grid}.marketing-band svg{color:var(--accent)}.marketing-title p{max-width:72ch;font-size:16px}.site-footer{border-top:1px solid var(--line);background:var(--surface-warm)}.site-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;max-width:1120px;margin:0 auto;padding:40px 16px 28px;display:grid}.site-footer-brand{align-content:start;gap:12px;display:grid}.site-footer-brand .brand{align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.site-footer-brand p{color:var(--muted);max-width:28ch;margin:0}.site-footer-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;display:grid}.site-footer-col{align-content:start;gap:10px;display:grid}.site-footer-col ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.site-footer-col a{color:var(--muted);text-decoration:none}.site-footer-col a:hover{color:var(--accent)}.site-footer-base{border-top:1px solid var(--line);color:var(--muted);max-width:1120px;margin:0 auto;padding:16px;font-size:13px}@media (width<=720px){.site-footer-inner{grid-template-columns:1fr;gap:28px}}.marketing-document{margin-top:6px}.blog-layout{max-width:980px}.blog-article{gap:28px;display:grid}.blog-header{margin-bottom:0}.blog-header h1{max-width:12ch}.blog-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:13px;display:flex}.blog-meta span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 10px}.workflow-demo,.visual-explainer,.ledger-snapshot{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow)}.workflow-demo{grid-template-columns:minmax(220px,.95fr) minmax(120px,.42fr) minmax(220px,.8fr);align-items:center;gap:16px;padding:clamp(18px,4vw,28px);display:grid;overflow:hidden}.phone-demo{background:var(--ink);color:var(--page);border-radius:28px;gap:12px;min-height:330px;padding:18px;display:grid;position:relative}.phone-top{align-items:center;gap:10px;display:flex}.phone-top span{background:var(--pos);box-shadow:0 0 0 5px color-mix(in srgb, var(--pos) 24%, transparent);border-radius:999px;width:9px;height:9px}.expense-card-demo{background:color-mix(in srgb, var(--page) 94%, var(--accent));color:var(--ink);opacity:0;border-radius:14px;gap:2px;padding:14px;animation:5.6s ease-in-out infinite localEntry;display:grid;transform:translateY(18px)}.expense-card-demo.second{animation-delay:1.1s}.expense-card-demo small,.expense-card-demo span,.cloud-demo span,.sync-steps span,.ledger-snapshot dt,.blog-section p,.visual-explainer p{color:var(--muted)}.sync-path{color:var(--accent);place-items:center;gap:10px;min-height:180px;display:grid;position:relative}.sync-path:before{background:var(--line);content:"";height:2px;position:absolute;top:50%;left:0;right:0}.sync-dot{background:var(--accent);box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 15%, transparent);z-index:1;border-radius:999px;justify-self:start;width:12px;height:12px;animation:2.8s ease-in-out infinite syncTravel;position:relative}.sync-path svg,.sync-icon{background:var(--surface);border:1px solid var(--line);color:var(--accent);z-index:1;border-radius:999px;padding:8px;position:relative}.sync-icon{font-size:12px;line-height:1;display:inline-flex}.sync-label{background:var(--surface);color:var(--muted);z-index:1;font-size:12px;position:relative}.cloud-demo{background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-card);align-content:center;gap:10px;min-height:260px;padding:22px;display:grid}.cloud-demo svg{color:var(--accent)}.blog-section{gap:12px;display:grid}.blog-section h2,.visual-explainer h2,.ledger-snapshot h2{margin-bottom:0;font-size:26px}.blog-section p,.visual-explainer p{margin:0;font-size:16px;line-height:1.75}.visual-explainer{grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);align-items:start;gap:22px;padding:clamp(20px,4vw,30px);display:grid}.visual-explainer>div{gap:12px;display:grid}.sync-steps{counter-reset:sync-step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.sync-steps li{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);counter-increment:sync-step;gap:2px;padding:13px 14px 13px 48px;display:grid;position:relative}.sync-steps li:before{background:var(--accent);color:var(--surface);content:counter(sync-step);border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex;position:absolute;top:16px;left:14px}.ledger-snapshot{grid-template-columns:.7fr 1fr;gap:18px;padding:clamp(20px,4vw,30px);display:grid}.ledger-snapshot dl{border-radius:var(--radius-control);gap:1px;margin:0;display:grid;overflow:hidden}.ledger-snapshot dl div{background:var(--surface-raised);grid-template-columns:1fr auto;padding:12px 14px;display:grid}.ledger-snapshot dt,.ledger-snapshot dd{margin:0}.ledger-snapshot dd{font-weight:500}.blog-cta{grid-template-columns:auto 1fr auto}.blog-cta .primary{white-space:nowrap}.blog-screens{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=680px){.blog-screens{grid-template-columns:1fr}}@keyframes mascotBob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-2deg)}}@keyframes fadeScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes confA{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-58px,-96px)rotate(-50deg)}}@keyframes confB{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(46px,-104px)rotate(60deg)}}@keyframes confC{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-92px,-38px)rotate(-30deg)}}@keyframes confD{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(88px,-46px)rotate(40deg)}}@keyframes confE{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-28px,-116px)rotate(-70deg)}}@keyframes confF{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(66px,-16px)rotate(80deg)}}@media (prefers-reduced-motion:reduce){.mascot-buddy-mascot,.celebration-mascot,.celebration-confetti span{animation:none!important}}.blog-appshot{gap:10px;margin:0;display:grid}.blog-appshot figcaption,.blog-walkthrough figcaption{color:var(--muted);font-size:13px;line-height:1.6}.blog-walkthrough{gap:10px;margin:0;display:grid}.blog-walkthrough-stage,.blog-walkthrough-hold{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--page);overflow:hidden}.blog-walkthrough-steps{color:var(--muted);margin:0;padding-left:20px;font-size:14px;line-height:1.7}.bshot-window{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden}.bshot-bar{background:var(--surface-warm);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:11px 15px;display:flex}.bshot-bar span{background:var(--line);border-radius:999px;width:9px;height:9px}.bshot-bar span:first-child{background:var(--warn)}.bshot-bar span:nth-child(2){background:#e8c45a}.bshot-bar span:nth-child(3){background:var(--pos)}.bshot-body{gap:14px;padding:clamp(16px,3vw,22px);display:grid}.bshot-eyebrow{color:var(--label);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.bshot-title{letter-spacing:-.03em;font-size:clamp(24px,5vw,36px);font-weight:600;line-height:1}.bshot-position{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;display:flex}.bshot-k{color:var(--label);letter-spacing:.12em;text-transform:uppercase;font-size:11px;display:block}.bshot-sub{color:var(--muted);font-size:13px}.bshot-amt{text-align:right}.bshot-amt strong{color:var(--pos);font-family:var(--font-mono);font-size:clamp(20px,4vw,28px);font-weight:500}.bshot-amt.is-neg strong{color:var(--neg)}.bshot-cats{gap:10px;display:grid}.bshot-cat{grid-template-columns:76px 1fr auto;align-items:center;gap:12px;display:grid}.bshot-cat>span:first-child{font-size:14px}.bshot-track{background:var(--subtle);border-radius:999px;height:9px;overflow:hidden}.bshot-track>i{background:var(--accent);border-radius:999px;height:100%;display:block}.bshot-num{color:var(--muted);font-family:var(--font-mono);font-size:14px}.bshot-desktop{grid-template-columns:124px 1fr;min-height:230px;display:grid}.bshot-side{background:var(--ink);color:var(--page);align-content:start;gap:14px;padding:16px 12px;display:grid}.bshot-brand{align-items:center;gap:8px;font-weight:600;display:flex}.bshot-nav{gap:6px;display:grid}.bshot-nav span{color:color-mix(in srgb, var(--page) 72%, transparent);border-radius:8px;padding:6px 9px;font-size:13px}.bshot-nav span.is-active{background:color-mix(in srgb, var(--page) 14%, transparent);color:var(--page)}.bshot-side-rooms{color:color-mix(in srgb, var(--page) 45%, transparent);letter-spacing:.14em;text-transform:uppercase;padding:0 9px;font-size:10px}.bshot-phone{background:var(--surface);border:8px solid var(--ink);border-radius:34px;max-width:232px;margin:0 auto;overflow:hidden}.bshot-phone .bshot-body{gap:10px;padding:14px}.bshot-phone .bshot-title{font-size:24px}.bshot-bottomnav{background:var(--surface-warm);border-top:1px solid var(--line);justify-content:space-around;align-items:center;gap:6px;padding:10px 12px;display:flex}.bshot-bottomnav span{color:var(--muted);font-size:11px}.bshot-fab{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}@media (width<=680px){.bshot-desktop{grid-template-columns:96px 1fr}.bshot-cat{grid-template-columns:64px 1fr auto}}.not-found-panel{margin-top:24px}.not-found-action{margin-top:8px}.room-header{grid-template-columns:1fr auto;justify-content:space-between;align-items:center;display:grid}.room-title-line{gap:8px;display:grid}.desktop-back{justify-self:start;min-height:36px}.room-metrics{grid-column:1/-1}h1,h2{letter-spacing:-.03em;margin:0}h1{font-size:clamp(36px,7vw,74px);font-weight:500;line-height:.95}h2{margin-bottom:16px;font-size:20px;font-weight:500}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:var(--pad)}label,fieldset{color:var(--muted);text-transform:lowercase;gap:8px;margin:0 0 16px;font-size:12px;font-weight:500;display:grid}fieldset{border:0;padding:0}legend{margin-bottom:8px}input,select{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);width:100%;min-height:46px;padding:0 12px;font-size:15px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);background:0 0;border:0;width:17px;height:17px;min-height:0;padding:0}input::placeholder{color:var(--faint)}input:focus,select:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 16%, transparent)}.primary,.secondary,.icon-text,.icon-button{border-radius:var(--radius-control);text-transform:lowercase;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.primary{background:var(--accent);color:var(--surface);width:100%}.primary:hover,.icon-text.strong:hover{background:var(--accent-hover)}.hero-primary,.hero-secondary,.not-found-action{width:auto}.secondary,.icon-text{background:var(--surface-warm);border-color:var(--line);color:var(--ink)}.warn{background:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 70%, #000);border-radius:var(--radius-control);color:var(--surface);text-transform:lowercase;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.icon-text.strong{background:var(--accent);color:var(--surface)}.icon-button{aspect-ratio:1;color:var(--muted);background:0 0;width:46px;padding:0}.topbar-actions .icon-button{min-height:unset;width:30px}.user-chip,.avatar,.balance-pill{border-radius:999px}.user-chip{background:var(--subtle);color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:0;max-width:180px;padding:9px 12px;font-size:12px;overflow:hidden}.avatar-stack{display:inline-flex}.avatar{background:var(--avatar-fill,var(--subtle));border:1.5px solid var(--surface);color:#f4ecda;justify-content:center;align-items:center;width:30px;height:30px;margin-left:-7px;font-size:11px;font-weight:600;display:inline-flex}.avatar[data-fill="3"]{color:#fff}.avatar-stack .avatar:first-child{margin-left:0}.avatar-more{background:var(--subtle);color:var(--muted)}.glyph-tile{background:var(--accent-light);border-radius:12px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;line-height:1;display:inline-flex}.status-pill{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.status-pill--owed{background:var(--pos-bg);color:var(--pos)}.status-pill--owe{background:var(--neg-bg);color:var(--neg)}.status-pill--settled{color:var(--text-soft,#8a8069);font-family:var(--font-ui);background:#f2ece0;font-weight:500}.ledger-strip{background:var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow);color:var(--page);margin-bottom:var(--gap);grid-template-columns:1.35fr 1fr .7fr;gap:1px;display:grid;overflow:hidden}.ledger-strip strong{margin-top:10px;font-size:clamp(24px,4vw,42px);font-weight:500;display:block}.currency-extras{opacity:.75;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:clamp(13px,1.6vw,16px);display:flex}.show-older-weeks{width:100%;margin-top:12px}.currency-tabs{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.currency-tab{border:1px solid var(--line,currentColor);cursor:pointer;font:inherit;letter-spacing:.08em;opacity:.65;background:0 0;border-radius:999px;padding:4px 14px;font-size:13px}.currency-tab.active{background:var(--ink);border-color:var(--ink);color:var(--page);opacity:1}.home-grid{gap:var(--gap);grid-template-columns:minmax(260px,.45fr) minmax(0,1fr);display:grid}.rooms-panel{min-width:0}.room-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.room-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);color:var(--ink);text-align:left;align-items:center;gap:14px;width:100%;padding:16px;display:flex}.room-glyph{border-radius:14px;width:46px;height:46px;font-size:22px}.room-card-main{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.room-card-title{align-items:center;gap:8px;min-width:0;display:flex}.room-card .room-card-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.25;display:block;overflow:hidden}.room-currency-badge{border:1px solid var(--line);color:var(--label,#a89c83);letter-spacing:.1em;text-transform:uppercase;border-radius:5px;flex:none;padding:1px 5px;font-size:9px;font-weight:600}.room-card strong,.week-header strong,.expense-row strong{font-size:17px;font-weight:500;line-height:1.25;display:block}.room-card small,.week-header small,.expense-row small,.activity-line{color:var(--muted);font-size:12px;display:block}.room-card>svg{color:var(--faint);flex:none;align-self:center}.room-card .activity-line{margin-top:3px}.room-card-footer{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-top:9px;display:flex}.room-card-footer .status-pill{white-space:normal;min-width:0;max-width:100%}.balance-pill{white-space:nowrap;padding:6px 9px;font-size:11px;font-weight:500;display:inline-block}.balance-pill.negative{background:var(--neg-bg)}.balance-pill.positive{background:var(--pos-bg)}.balance-pill.neutral{background:#f2eee3}.placeholder{background:color-mix(in srgb, var(--subtle) 36%, transparent);border:1px dashed var(--line);border-radius:var(--radius-card);color:var(--muted);text-align:center;place-items:center;gap:8px;min-height:260px;padding:28px;display:grid}.placeholder svg{fill:none;height:96px;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;width:96px}.placeholder strong{color:var(--ink)}.two-column{gap:var(--gap);grid-template-columns:minmax(280px,.78fr) minmax(320px,1.22fr);display:grid}.two-column.wide-left{grid-template-columns:minmax(290px,.74fr) minmax(360px,1.26fr)}.stack,.room-list,.week-list,.expense-list,.settlements{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.room-totals{flex-wrap:wrap;gap:14px;margin:16px 0 0;display:flex}.room-totals div,.member-card{background:color-mix(in srgb, var(--surface) 68%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);min-width:160px;padding:12px}.member-card{color:inherit;cursor:pointer;font:inherit;text-align:left;display:grid}.room-totals dt{color:var(--muted);letter-spacing:.1em;margin-bottom:8px;font-size:11px;font-weight:500}.room-totals dd{color:var(--ink);margin:0;font-size:26px;font-weight:500}.amount-field{position:relative}.amount-field span{color:var(--muted);position:absolute;top:36px;left:13px}.amount-field input{letter-spacing:-.03em;min-height:64px;padding-left:70px;font-size:28px;font-weight:500}.check{background:var(--surface-warm);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;min-height:42px;margin:0;padding:8px 12px;display:inline-flex}.check input{width:auto;min-height:auto}.checks{flex-wrap:wrap;gap:8px;display:flex}.week-header,.expense-row,.settlement-row{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);min-height:var(--row);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.week-header .amount,.expense-row .amount,.settlement-row .amount{white-space:nowrap;margin-left:auto;font-size:16px;font-weight:500}.settlement-card{position:relative;overflow:hidden}.settlement-row{flex-wrap:wrap;justify-content:start}.settlement-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:inline-flex}.settle-button{min-height:36px}.settlement-line{text-overflow:ellipsis;min-width:0;overflow:hidden}.expense-actions{gap:8px;display:inline-flex}.expense-actions .secondary,.expense-actions .warn,.settle-button{min-height:34px;padding-inline:10px}.settlement-history{gap:10px;margin-top:16px;display:grid}.settlement-payment-row small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.percentage-grid,.member-list,.recently-deleted{gap:10px;display:grid}.deleted-row,.member-detail{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px;display:grid}.member-detail{grid-template-columns:auto 1fr auto}.danger-zone .warn{width:100%}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions .primary{width:auto}.sheet-modal{max-height:min(760px,100dvh - 32px);overflow:auto}.confetti-burst{background:radial-gradient(circle, var(--warn) 0 3px, transparent 4px), radial-gradient(circle, var(--accent) 0 3px, transparent 4px), radial-gradient(circle, var(--subtle) 0 3px, transparent 4px);pointer-events:none;background-position:10% 70%,50%,88% 72%;background-repeat:no-repeat;animation:.76s ease-out forwards burst;position:absolute;inset:0}@keyframes burst{0%{opacity:0;transform:scale(.8)}20%{opacity:1}to{opacity:0;transform:scale(1.16)}}.empty{color:var(--muted);margin:0;font-size:14px}.danger-icon{border-color:color-mix(in srgb, var(--warn) 34%, var(--line));color:var(--warn);width:34px;min-height:34px}.drag-handle{color:var(--faint);background:0 0;border:0;justify-content:center;align-items:center;min-height:42px;padding:0;display:inline-flex}.column-add{grid-column:2;justify-self:start;min-height:36px;margin-top:12px}.sheet{max-height:min(86dvh,720px);overflow:auto}.form-error{color:var(--neg);margin:0 0 12px;font-size:13px}.modal-backdrop{height:100dvh;padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));padding-top:max(16px, env(safe-area-inset-top));z-index:30;background:#0e1b146b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);width:100%;max-width:380px;margin:0;padding:24px;position:relative}.close{position:absolute;top:12px;right:12px}.qr{width:100%;max-width:280px;height:auto;margin:16px auto;display:block}.qr.loading{aspect-ratio:1;background:var(--subtle);border-radius:var(--radius-control)}.copy-link{width:100%}.invite-link-input{min-height:42px;margin-bottom:10px;font-size:12px}.tweaks{z-index:45;position:relative}.tweaks-toggle{background:var(--ink);box-shadow:var(--shadow);color:var(--page)}.tweaks-group{gap:12px;display:grid}.tweak-choice{gap:7px;display:grid}.tweak-choice-label{color:var(--muted);text-transform:lowercase;font-size:12px;font-weight:500}.tweak-options{background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-control);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid;position:relative}.tweak-options:before{background:var(--accent);border-radius:calc(var(--radius-control) - 3px);content:"";transform:translateX(calc(var(--active,0) * (100% + 4px)));transition:transform var(--dur-mid) var(--ease-out);width:calc((100% - 8px - (var(--count,1) - 1) * 4px) / var(--count,1));position:absolute;top:4px;bottom:4px;left:4px}.tweak-options[data-unset]:before{display:none}.tweak-options button{border-radius:calc(var(--radius-control) - 3px);min-width:0;color:var(--muted);z-index:1;background:0 0;border:0;min-height:38px;padding:0 9px;font-size:12px;position:relative}.tweak-options button.active{color:var(--m3-on-primary);font-weight:500}.toggle-row{justify-content:space-between;align-items:center;display:flex}.toggle-row input{width:auto;min-height:auto}.deleted-rooms-button{gap:10px;margin-top:18px}.deleted-rooms-button strong{background:var(--ink);color:var(--page);border-radius:999px;padding:2px 8px;font-size:11px}.modal-list{margin-top:0}.field-note{color:var(--muted);margin:-8px 0 14px;font-size:12px;display:block}.profile-modal-backdrop{justify-content:center;align-items:center}.profile-modal{align-self:center;max-width:420px}.profile-modal input:disabled{color:var(--muted);opacity:1}.profile-edit-button{min-width:104px}.brand svg{color:var(--accent)}.topbar{z-index:20;min-height:62px}.top-link:hover,.icon-button:hover{color:var(--ink)}.topbar-actions .icon-button{width:34px;min-height:34px}.user-chip{color:var(--muted);padding:7px 11px}.auth-layout{grid-template-columns:minmax(280px,.85fr) minmax(320px,1fr);gap:20px;max-width:1020px;padding:28px 20px 48px}.auth-art{background:radial-gradient(circle at 22% 18%, #f4e5c22e, transparent 18rem), radial-gradient(circle at 80% 78%, #1f4d3a6b, transparent 22rem), var(--ink);box-shadow:var(--shadow-lg);min-height:480px;position:relative}.art-grid{background-image:linear-gradient(var(--page) 1px, transparent 1px), linear-gradient(90deg, var(--page) 1px, transparent 1px);opacity:.06;background-size:40px 40px;position:absolute;inset:0}.art-logo{z-index:1;align-items:center;gap:10px;font-size:18px;font-weight:500;display:flex;position:relative}.art-logo svg{color:#f4e5c2b3}.auth-art p,.art-tagline{z-index:1;position:relative}.art-tagline{color:#fbf7ee8c;max-width:36ch;margin-top:16px;font-size:13px;display:block}.auth-panel{width:min(100%,420px)}.auth-panel h1{margin-bottom:6px;font-size:32px;line-height:1.05}.auth-sub{color:var(--muted);margin:0 0 28px;font-size:13px}.auth-divider{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:16px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{background:var(--line);content:"";flex:1;height:1px}.auth-google{width:100%}.card,.panel{box-shadow:var(--shadow)}.primary,.secondary,.warn,.icon-text,.icon-button{transition:background .14s,border-color .14s,color .14s,box-shadow .16s}.secondary:hover,.icon-text:hover{background:var(--subtle)}.warn:hover{background:color-mix(in srgb, var(--warn) 88%, #000)}input,select{transition:border-color .14s,box-shadow .14s}input:focus,select:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);outline:none}.ledger-strip{box-shadow:var(--shadow-lg);grid-template-columns:1.4fr 1fr .7fr}.ledger-strip>div{background:color-mix(in srgb, var(--ink) 90%, var(--subtle));padding:clamp(20px,3.5vw,36px) clamp(16px,3vw,32px)}.ledger-strip .eyebrow{color:#fbf7ee73;margin-bottom:10px}.ledger-strip strong{color:var(--page);margin-top:0;font-size:clamp(22px,4vw,44px);line-height:1}.display-balance{color:#fbf7eeeb}.home-grid{grid-template-columns:minmax(260px,.42fr) minmax(0,1fr)}.room-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.room-card{transition:box-shadow .16s,transform .16s}@media (hover:hover) and (pointer:fine){.room-card:hover{box-shadow:var(--shadow);transform:translateY(var(--hover-lift))}}.room-totals{gap:12px;margin:0}.room-totals div,.member-card{background:color-mix(in srgb, var(--surface) 72%, transparent);min-width:150px;padding:14px 16px}.member-card:hover{background:var(--subtle)}.room-totals dt{margin-bottom:10px;font-size:10px}.two-column,.two-column.wide-left{grid-template-columns:minmax(280px,.72fr) minmax(320px,1.28fr)}.amount-field span{font-size:13px;top:43px}.amount-field input{letter-spacing:-.04em;padding-left:56px;font-size:26px}.chip-check{min-height:38px;padding:0 13px}.chip-check.checked{background:var(--accent-light);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.history-card h2,.settlement-card h2,.danger-zone h2,.expense-form h2{margin-bottom:16px}.week-header,.expense-row,.settlement-row{min-height:62px;padding:12px 14px}.week-header:hover{background:var(--subtle)}.week-header .chevron{color:var(--faint);flex-shrink:0}.week-header.open .chevron{transform:rotate(90deg)}.week-header-text,.expense-row-text{flex:1;min-width:0}.expense-row-text strong,.week-header-text strong{font-size:15px}.expense-amount{letter-spacing:-.02em;font-size:15px}.expense-actions .secondary,.expense-actions .warn,.settle-button,.deleted-row .secondary,.deleted-row .warn{width:auto;min-height:32px;font-size:12px}.settlement-line{white-space:nowrap}.deleted-row,.member-detail{padding:10px 14px}.column-add{grid-column:1/-1;width:calc(100% - 24px);min-height:34px;margin:4px 12px 12px;font-size:12px;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0e1b1461}.modal{box-shadow:var(--shadow-lg);max-width:480px;max-height:min(80dvh,720px);padding:28px;overflow:auto}.modal h2{margin-bottom:20px}.sheet,.sheet-modal{max-width:460px}.qr{max-width:240px}.session-loading{min-height:100vh}.session-loading .loading-moment{animation:session-loading-appear var(--dur-mid) var(--ease-out) .4s both}@keyframes session-loading-appear{0%{opacity:0}to{opacity:1}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.marketing-hero{grid-template-columns:1fr;min-height:auto}.hero-copy h1{max-width:12ch}.hero-receipt{min-height:360px}.marketing-facts{grid-template-columns:repeat(2,1fr)}.feature-grid,.auth-layout,.home-grid,.two-column,.two-column.wide-left{grid-template-columns:1fr}.auth-art{min-height:260px}.ledger-strip{grid-template-columns:1fr}}@media (width<=680px){.marketing-layout{padding:22px 12px 96px}.hero-copy{gap:16px}.hero-copy p{font-size:15px}.hero-actions{display:grid}.hero-primary,.hero-secondary{width:100%}.marketing-facts,.marketing-band{grid-template-columns:1fr}.topbar{padding:0 14px}.nav-pills .top-link,.topbar-actions .icon-text span,.user-chip{display:none}.topbar-public .top-link-auth{display:inline-flex}.layout{padding:22px 12px 100px}.auth-layout{padding:18px 12px 96px}.auth-art{min-height:160px;padding:24px;display:flex}.auth-art p{font-size:28px}.art-tagline{display:none}.room-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.desktop-back{display:none}.room-totals{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.room-totals div,.member-card{min-width:0}.room-totals dd{font-size:clamp(17px,5vw,24px)}.expense-row{grid-template-columns:1fr auto;align-items:start;display:grid}.expense-actions{grid-column:1/-1}.deleted-row{grid-template-columns:1fr}.mobile-bar{bottom:max(10px, env(safe-area-inset-bottom));z-index:20;align-items:center;gap:12px;display:flex;position:fixed;left:14px;right:14px}.bottom-nav{background:var(--lg-specular,none) 0 0 / 100% 100% no-repeat, color-mix(in srgb, #fff var(--lg-tint,42%), transparent);-webkit-backdrop-filter:var(--lg-filter,blur(18px) saturate(1.2));backdrop-filter:var(--lg-filter,blur(18px) saturate(1.2));contain:layout paint style;isolation:isolate;border:1px solid #fff6;border-radius:999px;flex:1;grid-template-columns:repeat(3,1fr);min-width:0;padding:5px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #0e1b142e,inset 0 1px 1px #ffffffb3,inset 0 -1px 2px #0e1b141f}.mobile-fab{background:var(--lg-specular,none) 0 0 / 100% 100% no-repeat, color-mix(in srgb, var(--m3-primary) var(--lg-tint,82%), transparent);-webkit-backdrop-filter:var(--lg-filter,blur(14px) saturate(1.2));backdrop-filter:var(--lg-filter,blur(14px) saturate(1.2));color:#fff;isolation:isolate;height:54px;transition:transform var(--dur-press-out) var(--ease-out), border-radius var(--dur-press-out) var(--ease-out), box-shadow var(--dur-mid) var(--ease-out), opacity var(--dur-mid) var(--ease-out), scale var(--dur-mid) var(--ease-out);border:1px solid #fff6;border-radius:999px;flex:none;justify-content:center;align-items:center;width:54px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #9640e05c,inset 0 1px 1px #fff9,inset 0 -1px 2px #14261c2e}.mobile-fab[data-hidden]{opacity:0;pointer-events:none;scale:.8}.mobile-fab>svg{z-index:2;position:relative}.mobile-fab:active{transform:scale(var(--press-scale-lg))}.bottom-nav a{color:color-mix(in srgb, var(--ink) 78%, var(--page));min-height:48px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);z-index:2;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.bottom-nav a.active{background:color-mix(in srgb, var(--ink) 88%, transparent);color:var(--page);box-shadow:inset 0 1px 1px #ffffff2e,0 10px 24px #0e1b1429}.sync-banner{bottom:calc(76px + env(safe-area-inset-bottom));--sync-from:12px;min-width:0;max-width:none;top:auto;left:12px;right:12px;transform:none}.tweaks{position:relative}}:root{--warn-hover:#d4623e;--pos-bg:#e3f0e8;--radius-pill:999px;--pad:20px}h1{letter-spacing:-.04em;font-size:clamp(36px,7vw,72px);line-height:.93}h2{letter-spacing:-.02em;font-size:20px;line-height:1.2}.eyebrow{letter-spacing:.12em;font-size:10px;line-height:1}.topbar{-webkit-backdrop-filter:blur(40px)saturate(1.6);backdrop-filter:blur(40px)saturate(1.6);background:linear-gradient(180deg, #ffffff4d, #ffffff0d), color-mix(in srgb, var(--page) 70%, transparent);box-shadow:inset 0 1px 0 #ffffff8c, inset 0 -1px 0 color-mix(in srgb, var(--ink) 8%, transparent);gap:12px;min-height:62px;padding:0 20px;position:sticky}.topbar:after{background:linear-gradient(to bottom, color-mix(in srgb, var(--page) 46%, transparent), transparent);content:"";pointer-events:none;height:14px;position:absolute;top:100%;left:0;right:0}.topbar .top-link,.topbar .icon-button,.topbar .icon-text{color:color-mix(in srgb, var(--ink) 85%, var(--page));letter-spacing:.005em;font-weight:500}@media (prefers-reduced-transparency:reduce){.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page);border-bottom:1px solid var(--line);box-shadow:none}.topbar:after{display:none}:root .bottom-nav,:root .sync-banner{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page);border-color:var(--line)}:root .mobile-fab{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--m3-primary)}:root .modal-backdrop,:root .sheet-backdrop,:root .celebration-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}.brand{letter-spacing:-.01em;min-height:auto;font-size:16px}.brand svg{width:20px;height:20px}.topbar-simple .brand svg{width:22px;height:22px}.user-chip{border-radius:var(--radius-pill);color:var(--muted);max-width:160px;padding:7px 11px}.icon-button{border-radius:var(--radius-control);width:34px;min-height:34px}.layout{padding:32px 20px 80px}.page-title{margin-bottom:24px}.page-title .eyebrow{margin-bottom:8px}.section-heading{margin-bottom:16px}.section-heading .eyebrow{margin-bottom:4px}.auth-layout{grid-template-columns:minmax(280px,.85fr) minmax(320px,1fr);align-items:stretch;gap:20px;max-width:1020px;min-height:calc(100vh - 62px);padding:28px 20px 48px}.auth-art{border-radius:var(--radius-card);min-height:480px;padding:clamp(24px,4vw,48px)}.art-top{z-index:1;position:relative}.art-headline{letter-spacing:-.04em;z-index:1;max-width:9ch;font-size:clamp(32px,5.5vw,60px);font-weight:500;line-height:.93;position:relative}.auth-panel{place-self:center;width:min(100%,420px)}.auth-panel h1{margin-bottom:6px;font-size:32px}.art-deco{opacity:.12;z-index:0;position:absolute;bottom:48px;right:32px}.auth-tabs{background:color-mix(in srgb, var(--subtle) 55%, transparent);border:1px solid var(--line);border-radius:var(--radius-pill);gap:4px;margin-bottom:28px;padding:4px;display:flex}.auth-tab{border-radius:var(--radius-pill);color:var(--muted);flex:1;justify-content:center;align-items:center;min-height:34px;font-size:13px;text-decoration:none;transition:background .14s,color .14s;display:inline-flex}.auth-tab.active{background:var(--ink);color:var(--page)}.form-pane{display:block}.auth-sub{margin:0 0 28px}.auth-google{background:var(--surface);gap:10px;width:100%}.auth-footer{color:var(--muted);text-align:center;margin:20px 0 0;font-size:12px}.auth-footer a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:2px}.card,.panel{padding:var(--pad)}.primary,.secondary{min-height:46px;padding:0 18px}.invite-button,.column-add{width:auto}.create-room-form h2{margin-bottom:20px}.create-room-form label{margin-bottom:14px}.rooms-panel h2{margin-bottom:4px}.rooms-panel .eyebrow{margin-bottom:12px}.ledger-strip{grid-template-columns:1.4fr 1fr .7fr}.activity-line{margin-top:2px;font-size:11px}.balance-pill{border-radius:var(--radius-pill);padding:5px 10px;font-size:11px}.room-header{align-items:start;gap:12px;margin-bottom:28px}.room-title-line{gap:6px}.room-title-line .eyebrow{margin-bottom:0}.room-title-line h1{margin:4px 0 0}.desktop-back{color:var(--muted);background:0 0;border:0;min-height:34px;padding:0;font-size:13px}.room-totals div,.member-card{border-radius:var(--radius-control);min-width:150px;padding:14px 16px}.room-totals dd{letter-spacing:-.04em;font-size:26px;line-height:1}@media (width>=901px){.room-header{grid-template-columns:minmax(300px,.9fr) minmax(520px,1.1fr);align-items:stretch;gap:12px 28px}.room-title-line{grid-area:1/1/span 2;align-content:start}.room-header-actions{grid-area:1/2;justify-self:end}.room-metrics{grid-area:2/2;align-self:end}.room-totals{grid-template-columns:minmax(240px,1.2fr) minmax(180px,.8fr);width:100%;margin:0;display:grid}.room-totals div,.member-card{min-width:0;min-height:86px}.room-totals dd{font-size:clamp(24px,2vw,34px)}}.expense-form h2{margin-bottom:18px}.percentage-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.settlement-row{min-height:58px}.history-card{min-width:0}.week-list{gap:8px}.week-header{min-height:64px}.week-header-text .eyebrow{margin-bottom:2px}.week-header-text small{margin-top:2px}.expense-list{gap:6px;padding:4px 0 8px}.expense-actions{gap:6px}.recently-deleted{margin-top:20px}.recently-deleted .eyebrow{margin-bottom:10px;display:block}.analytics-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.analytics-metric{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-sm);padding:14px 16px}.analytics-metric svg{color:var(--accent);margin-bottom:8px}.analytics-metric strong{margin-top:4px;font-size:22px;line-height:1.1;display:block}.seg-wrap{margin-bottom:24px}.drag-handle{cursor:grab;min-height:auto;padding-top:2px}.compact-icon{width:30px;min-height:30px}.column-add-btn{flex:none;margin:4px 12px 12px;display:flex}.column-add-btn button{width:100%}.category-pills{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.category-pill,.category-badge{border:1px solid var(--line);border-radius:var(--radius-pill);font-size:12px}.category-pill{background:var(--surface-warm);color:var(--muted);min-height:34px;padding:0 12px}.category-pill.active{background:color-mix(in srgb, var(--pill-accent,var(--accent)) 14%, var(--surface));border-color:color-mix(in srgb, var(--pill-accent,var(--accent)) 34%, var(--line));color:var(--pill-accent,var(--accent))}.category-badge{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:color-mix(in srgb, var(--accent) 28%, var(--line));color:var(--accent);margin-right:6px;padding:4px 7px;line-height:1;display:inline-flex}.duplicate-warning{background:var(--surface-warm);border:1px solid color-mix(in srgb, var(--warn) 34%, var(--line));border-radius:var(--radius-control);margin-bottom:14px;padding:12px}.duplicate-warning p{color:var(--muted);margin:4px 0 12px;font-size:13px}.full-width{width:100%;display:grid}.sheet-modal .field,.sheet-modal label{margin-bottom:12px}.modal{max-width:480px;padding:28px}.analytics-layout{padding-bottom:120px}.room-analytics{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:var(--pad);gap:16px;margin-bottom:28px;display:grid}.room-analytics-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.room-analytics-head h2{margin:2px 0 0;font-size:22px}.room-analytics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.room-analytics-grid>div{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 14px}.room-analytics-grid strong{margin-top:4px;font-size:20px;line-height:1.1;display:block}.room-analytics-detail{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.compact-panel{box-shadow:none;background:0 0;border:0;padding:0}.member-balance-row{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:10px 12px;display:grid}.member-balance-row small{color:var(--muted);grid-column:1;font-size:12px}.member-balance-row .amount{white-space:nowrap;grid-area:1/2/span 2}.analytics-grid{align-items:start;gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-panel{gap:12px;display:grid}.analytics-panel.wide{grid-column:1/-1}.analytics-panel header h2{margin:2px 0 0;font-size:20px}.analytics-bar-row,.analytics-list-row{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:minmax(0,.9fr) minmax(90px,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:10px 12px;display:grid}.analytics-list-row{grid-template-columns:minmax(0,1fr) auto}.analytics-bar-text{min-width:0}.analytics-bar-text strong,.analytics-list-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.analytics-bar-text small,.analytics-list-row small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.analytics-bar-track{background:color-mix(in srgb, var(--subtle) 45%, transparent);border-radius:999px;height:9px;overflow:hidden}.analytics-bar-track span{background:var(--accent);border-radius:inherit;height:100%;display:block}.trend-bars{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px;min-height:190px;display:grid}.trend-item{grid-template-rows:140px auto auto;place-items:center;gap:8px;min-width:0;display:grid}.trend-item span{background:linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 45%, var(--subtle)));height:var(--bar-height);border-radius:999px 999px 4px 4px;align-self:end;width:min(42px,65%);display:block}.trend-item small,.trend-item strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-self:stretch;min-width:0;max-width:100%;font-size:12px;overflow:hidden}.trend-bars-wide{grid-template-columns:repeat(8,minmax(0,1fr))}.trend-bars-wide .trend-item small,.trend-bars-wide .trend-item strong{font-size:11px}.trend-bars-mini{grid-template-columns:repeat(8,minmax(0,1fr));min-height:96px}.trend-bars-mini .trend-item{grid-template-rows:64px auto}.expense-form-card{gap:0;display:grid}.expense-form-card.open{gap:18px}.expense-form-toggle{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:0;display:flex}.expense-form-toggle-text{gap:4px;display:grid}.expense-form-toggle-text strong{font-size:22px;line-height:1.1}.expense-form-toggle-cta{background:var(--accent-light);color:var(--accent);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.expense-form-toggle .chevron{color:var(--muted)}.room-your-position{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);gap:8px;padding:12px 14px;display:grid}.room-your-position-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.room-your-position-body small{color:var(--muted);font-size:13px}@media (width<=820px){.two-column,.two-column.wide-left,.workflow-demo,.visual-explainer,.ledger-snapshot{grid-template-columns:1fr}.sync-path{min-height:90px}.sync-path:before{width:2px;height:auto;inset:0 auto 0 50%}.sync-dot{justify-self:center;animation-name:syncTravelMobile}.blog-cta{grid-template-columns:auto 1fr}.blog-cta .primary{grid-column:1/-1;justify-self:start}}@media (width<=780px){.home-grid,.analytics-grid,.room-analytics-detail{grid-template-columns:1fr}.analytics-metric-grid,.ledger-strip,.room-analytics-grid{grid-template-columns:1fr 1fr}.ledger-strip>div:last-child{display:none}}@media (width<=660px){.auth-layout{grid-template-columns:1fr;padding:28px 20px 48px}.auth-art{min-height:160px;padding:24px}.art-headline{font-size:28px}}@media (width<=500px){.ledger-strip{grid-template-columns:1fr}.phone-demo{min-height:290px}.blog-header h1{max-width:none}}@keyframes localEntry{0%,18%{opacity:0;transform:translateY(18px)}28%,82%{opacity:1;transform:translateY(0)}to{opacity:.6;transform:translateY(-4px)}}@keyframes syncTravel{0%,25%{transform:translate(0)}70%,to{transform:translate(calc(100% - 12px))}}@keyframes syncTravelMobile{0%,25%{transform:translateY(0)}70%,to{transform:translateY(78px)}}.faq-list{flex-direction:column;gap:.5rem;display:flex}.faq-item{background:#ffffff05;border:1px solid #78716c40;border-radius:12px;padding:.25rem 1rem}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;padding:.85rem 0;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";opacity:.6;font-size:1.25rem;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item summary h3{margin:0;font-size:1rem;font-weight:600}.faq-item p{opacity:.85;margin:0 0 .9rem;line-height:1.55}.marketing-prose{gap:22px;max-width:68ch;display:grid}.marketing-prose h2,.marketing-prose h3{color:var(--ink);margin:0 0 6px;font-size:1rem;font-weight:600}.marketing-prose p{color:var(--muted);margin:0;line-height:1.6}.marketing-faq .faq-list{gap:18px;max-width:68ch;display:grid}.marketing-faq .faq-list dt{color:var(--ink);margin-bottom:5px;font-weight:600}.marketing-faq .faq-list dd{color:var(--muted);margin:0;line-height:1.6}.member-detail{grid-template-columns:auto 1fr auto;grid-auto-rows:auto}.member-name{align-items:center;gap:8px;display:inline-flex}.role-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:9px;font-weight:600}.role-badge--owner{background:var(--accent-light);color:var(--accent)}.role-badge--admin{color:#3f6b55;background:#e7eef0}.role-badge--viewer{color:var(--text-soft);background:#f2ece0}.member-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex}.member-actions button,.role-toggle button{padding:4px 10px;font-size:.78rem}.role-toggle{gap:0;display:inline-flex}.role-toggle button:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.role-toggle button:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.leave-room-row{gap:6px;margin-top:14px;display:grid}.roles-toggle-row{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);text-transform:none;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 14px;padding:12px 14px;display:flex}.roles-toggle-label{gap:2px;display:grid}.roles-toggle-label strong{font-size:14px;font-weight:600}.roles-toggle-label small{color:var(--muted);font-size:12px}input.switch{appearance:none;background:var(--subtle);cursor:pointer;height:26px;min-height:0;transition:background var(--dur-fast) var(--ease-out);border:0;border-radius:999px;flex:none;width:44px;margin:0;position:relative}input.switch:after{content:"";height:20px;transition:transform var(--dur-fast) var(--ease-out);background:#fff;border-radius:999px;width:20px;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #14261c4d}input.switch:checked{background:var(--accent)}input.switch:checked:after{transform:translate(18px)}input.switch:disabled{opacity:.6}.access-notice{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-control);box-shadow:var(--shadow-sm);margin-bottom:var(--gap);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.access-notice span{font-size:13px}.removed-room-notices{gap:10px;margin-bottom:18px;display:grid}.removed-room-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--neg);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.removed-room-card p{margin:4px 0 0;font-size:13px}.expense-locked{opacity:.55;align-items:center;display:inline-flex}.balance-hero{background:var(--ink);color:#eee6d3;margin-bottom:var(--gap);border-radius:22px;padding:22px 24px 20px;display:block;box-shadow:0 14px 30px #14261c29}.balance-hero .eyebrow{color:#8fa394}.rooms-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.new-room-button{flex:none;width:auto;min-height:38px}.placeholder-action{margin-top:4px}.ghost-action{border-radius:var(--radius-control);color:var(--accent);background:0 0;border:1px dashed #d4cab5;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(22, 38, 28, calc(.5 * var(--sheet-dismiss,1)));z-index:50;justify-content:center;align-items:flex-end;height:100dvh;display:flex;position:fixed;inset:0}.sheet-backdrop[data-closing]{pointer-events:none}.sheet-panel{background:var(--page);overscroll-behavior:contain;max-height:min(88dvh,760px);padding:12px 20px calc(24px + env(safe-area-inset-bottom));touch-action:pan-y;border-radius:26px 26px 0 0;width:100%;overflow:auto;box-shadow:0 -10px 40px #0000004d}.sheet-panel.is-dragging{cursor:grabbing}.sheet-grip{cursor:grab;touch-action:none;margin:-12px -20px 4px;padding:14px 20px 10px;display:block}.sheet-grip:active{cursor:grabbing}.sheet-handle{height:5px;transition:background var(--dur-fast) var(--ease-out), scale var(--dur-fast) var(--ease-out);background:#ddd2bd;border-radius:999px;width:38px;margin:0 auto;display:block}.sheet-grip:active .sheet-handle{background:#c6b79c;scale:1.21 1}@media (width>=640px){.sheet-panel{border-radius:22px;max-width:520px;margin-bottom:24px}.sheet-grip{margin:-12px -20px 2px;padding:10px 20px 8px}}.balance-deck{touch-action:pan-y;-webkit-user-select:none;user-select:none;padding-bottom:20px;display:grid}.balance-deck-slot{filter:blur(4px);opacity:0;transform-origin:top;transition:transform var(--dur-slow) var(--ease-spring), opacity var(--dur-mid) var(--ease-out), filter var(--dur-mid) var(--ease-out);will-change:transform;z-index:0;grid-area:1/1}.balance-deck-slot .balance-hero{margin-bottom:0}.balance-deck-slot[data-depth="0"]{cursor:grab;filter:none;opacity:1;z-index:3}.balance-deck-slot[data-depth="1"]{filter:blur(1.6px);opacity:.5;z-index:2}.balance-deck-slot[data-depth="2"]{filter:blur(3.4px);opacity:.26;z-index:1}.balance-deck-slot:not([data-depth="0"]){pointer-events:none}.balance-deck.is-dragging .balance-deck-slot{transition:none}.balance-deck.is-dragging .balance-deck-slot[data-depth="0"]{cursor:grabbing}.balance-deck-dots{margin-bottom:var(--gap);justify-content:center;gap:6px;display:flex}.balance-deck-dot{background:0 0;border:0;width:24px;height:20px;padding:0 3px}.balance-deck-dot i{background:var(--label);opacity:.4;height:4px;transition:background var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border-radius:999px;width:100%;display:block}.balance-deck-dot[aria-current=true] i{background:var(--ink);opacity:1}.your-data{border-top:1px solid var(--line);gap:10px;margin-top:18px;padding-top:14px;display:grid}.your-data-actions{flex-wrap:wrap;gap:8px;display:flex}.your-data-actions .secondary,.your-data-actions .warn{width:auto}.delete-account{gap:10px;display:grid}.profile-legal{color:var(--text-soft);text-align:center;margin:14px 0 0;font-size:12px}.balance-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.balance-split>div{gap:2px;display:grid}.balance-split-end{text-align:right;justify-items:end}.balance-split .eyebrow{color:#9fae9f}.balance-split-amount{color:#faf6ec73;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(20px,6vw,26px);font-weight:500}.balance-split-amount.is-owed{color:var(--owed-bright)}.balance-split-amount.is-owe{color:var(--owe-bright)}.balance-split small{color:#9fae9f;font-size:12px}.balance-split-bar{gap:3px;height:10px;margin-top:12px;display:flex}.balance-split-bar span{border-radius:999px;min-width:6px}.balance-split-bar .is-owed{background:var(--owed-bright)}.balance-split-bar .is-owe{background:var(--owe-bright)}.balance-month{background:#ffffff0a;border-radius:14px;gap:10px;margin-top:16px;padding:12px 14px;display:grid}.balance-month .eyebrow{color:#7e8e7e;font-size:10px}.balance-month-head,.balance-month-foot{color:#9fae9f;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.balance-month-parts{color:#7e8e7e;margin:0;font-size:11px}.balance-month b{color:#c9d3c7;font-family:var(--font-mono);font-weight:500}.balance-month-head b{color:var(--page)}.balance-month-bar{background:#ffffff14;border-radius:999px;height:8px;position:relative}.balance-month-bar span{position:absolute;top:0;bottom:0}.balance-month-bar .is-spent{background:var(--page);border-radius:999px;left:0}.balance-month-bar .is-range{background:#faf6ec4d;border-radius:999px}.balance-month-bar .is-last{background:#c9d3c7;width:2px;top:-4px;bottom:-4px}.balance-month--share{grid-template-columns:minmax(0,1fr) 110px;align-items:end}.balance-month--share>div:first-child{gap:2px;display:grid}.balance-month--share strong{color:var(--page);font-family:var(--font-mono);font-size:18px;font-weight:500}.balance-month--share small{color:#9fae9f;font-size:12px}.balance-month-weeks{align-items:end;gap:3px;height:34px;display:flex}.balance-month-weeks span{background:#faf6ec47;border-radius:2px;flex:1}.balance-month-weeks .is-now{background:var(--owed-bright)}.up-next{margin-bottom:var(--gap);gap:12px;padding:14px 16px;display:grid}.up-next-head{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.up-next-body{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;display:grid}.up-next-body .room-glyph{border-radius:11px;width:40px;height:40px;font-size:19px}.up-next-body strong{font-size:15px;font-weight:600;display:block}.up-next-body .amount{font-family:var(--font-mono)}.up-next-body small{color:var(--muted);font-size:12px;display:block}.up-next-actions{gap:8px;display:flex}.up-next-actions .primary{flex:1}.up-next-actions .secondary{width:auto}.home-layout .room-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.room-grid .room-card{box-shadow:var(--shadow);transition:background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;align-items:stretch;gap:10px;padding:12px;display:flex}.room-grid .room-card:active{background:var(--subtle);transform:scale(.98)}.room-card-top{justify-content:space-between;align-items:flex-start;display:flex}.room-card-top small{color:var(--muted);font-size:11px}.room-grid .room-glyph{border-radius:10px;width:36px;height:36px;font-size:17px}.room-card .room-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.room-card-balance{gap:2px;display:grid}.room-card-balance b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:15px;font-weight:600}.room-card .room-card-balance small{color:var(--muted);font-size:11px}@media (width<=680px){.home-layout .new-room-button{display:none}.home-layout .room-grid{gap:8px}}.up-next-row{margin-bottom:var(--gap);gap:8px;display:grid}.up-next-row-head{justify-content:space-between;align-items:center;display:flex}.up-next-plan-link{width:auto;min-height:36px}.up-next-scroller{margin:0 calc(var(--pad) * -1) -14px;padding:2px var(--pad) 18px;scroll-padding-left:var(--pad);scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;display:flex;overflow-x:auto}.up-next-scroller::-webkit-scrollbar{display:none}.up-next-scroller>.up-next{scroll-snap-align:start;flex:none;width:min(300px,82%);margin-bottom:0}.up-next-scroller>.up-next:only-child{width:100%}.plan-layout h1{margin:4px 0 6px}.plan-instead{color:#9fae9f;margin-top:10px;font-size:12px;display:block}.plan-step{margin-top:var(--gap);gap:10px;display:grid}.plan-step-head{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.plan-step-head h2{margin:0;font-size:16px}.plan-step-num{background:var(--accent-light);color:var(--m3-on-primary-container);border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.plan-leg{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;min-height:36px;font-size:14px;display:flex}.plan-layout .balance-hero{margin-top:var(--gap)}.room-metrics .room-totals{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-wrap:nowrap;gap:0;margin:0;padding:16px 4px;display:flex}.room-metrics .room-totals>div,.room-metrics .room-totals .member-card{cursor:inherit;text-align:center;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;padding:0 6px;display:flex}.room-metrics .room-totals .member-card{background:var(--m3-primary-container);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-press-out) var(--ease-out);border-radius:14px;gap:3px;margin:-6px 4px;padding:6px 8px 7px}@media (hover:hover) and (pointer:fine){.room-metrics .room-totals .member-card:hover{background:color-mix(in srgb, var(--m3-primary) 18%, var(--m3-primary-container))}}.room-metrics .room-totals .member-card:active{transform:scale(var(--press-scale));transition-duration:var(--dur-press-in)}.room-metrics .room-totals .member-card dt{color:var(--m3-on-primary-container);align-items:center;gap:1px;display:inline-flex}.member-card-action{color:var(--m3-on-primary-container);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1}.room-metrics .room-totals>.member-card{border-left:0}.room-metrics .room-totals>*+*{border-left:1px solid var(--hairline)}.room-metrics .room-totals dt{color:var(--label);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:9px;font-weight:600}.room-metrics .room-totals dd{font-size:16px;font-family:var(--font-mono);letter-spacing:-.02em;margin:0;font-size:15px}.position-hero{background:linear-gradient(135deg, var(--ink), #20372a);color:#eee6d3;margin-bottom:var(--gap);border-radius:22px;padding:18px 18px 16px}.position-hero-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.position-hero .eyebrow{color:#8fa394}.position-hero-amount{color:var(--owed-bright);font-family:var(--font-mono);letter-spacing:-.03em;margin:6px 0 2px;font-size:32px;font-weight:500;display:block}.position-hero--owe .position-hero-amount{color:var(--owe-bright)}.position-hero--settled .position-hero-amount{color:#eee6d3}.position-hero-sub{color:#9fae9f;font-size:12px;display:block}.position-hero-streak{white-space:nowrap;background:#ffffff1a;border-radius:999px;flex:none;padding:5px 10px;font-size:11px;font-weight:700}.position-hero-members{border-top:1px solid #ffffff1a;align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.position-hero-members .avatar{border-color:var(--ink)}.position-hero-summary{color:#9fae9f;flex:1;min-width:0;font-size:12px}.room-actions{margin-bottom:var(--gap);gap:10px;display:flex}.room-action{cursor:pointer;border:0;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:7px;padding:13px;font-size:13px;font-weight:700;display:flex}.room-action--ghost{background:var(--surface);border:1.5px solid var(--line);color:var(--ink)}.room-action--primary{background:var(--m3-primary);color:var(--m3-on-primary);box-shadow:0 8px 18px #9640e04d}.room-action--primary:disabled{box-shadow:none;cursor:default;opacity:.45}.week-scroll-header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.week-scroll-header h2{margin:0;font-size:15px;font-weight:600}.week-scroll-header span{color:var(--text-soft);font-size:11px}.week-scroll{margin:0 calc(var(--pad) * -1) 20px;padding:4px var(--pad) 16px;scroll-padding-left:var(--pad);scroll-snap-type:x proximity;scrollbar-width:none;gap:12px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%)}.week-scroll::-webkit-scrollbar{display:none}.week-card{background:var(--surface);border:1px solid var(--m3-outline-variant);box-sizing:border-box;cursor:pointer;scroll-snap-align:start;text-align:left;transition:box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:18px;flex-direction:column;flex:none;gap:5px;min-width:126px;padding:12px 13px 13px;display:flex;box-shadow:0 1px 3px #14261c17,0 6px 16px #14261c1a}@media (hover:hover) and (pointer:fine){.week-card:hover{transform:translateY(var(--hover-lift));transition-duration:var(--dur-fast);box-shadow:0 2px 5px #14261c1f,0 10px 22px #14261c24}}.week-card--selected{background:var(--m3-primary);border-color:var(--m3-primary);box-shadow:0 2px 6px #14261c24,0 12px 24px #9640e057}@media (hover:hover) and (pointer:fine){.week-card--selected:hover{box-shadow:0 3px 8px #14261c29,0 14px 28px #9640e061}}.week-card-eyebrow{color:var(--label);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.week-card-tag{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:999px;padding:2px 6px;font-style:normal}.week-card--selected .week-card-eyebrow{color:#ffffffb8}.week-card--selected .week-card-tag{color:#fff;background:#ffffff38}.week-card-bar{background:var(--m3-outline-variant);border-radius:999px;height:3px;margin-top:3px;display:block;overflow:hidden}.week-card-bar>span{background:var(--m3-primary);border-radius:999px;height:100%;display:block}.week-card--selected .week-card-bar{background:#ffffff47}.week-card--selected .week-card-bar>span{background:#fff}.week-card-label{color:var(--ink);font-size:13px;font-weight:600;line-height:1.2}.week-card--selected .week-card-label{color:#fff}.week-card-total{color:var(--ink);font-family:var(--font-mono);letter-spacing:-.02em;margin-top:2px;font-size:15px;font-weight:600}.week-card--selected .week-card-total{color:#fff}.room-history .expense-list{flex-direction:column;gap:8px;display:flex}.room-history .expense-row{background:var(--surface);border:1px solid var(--line);border-radius:16px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-height:64px;padding:12px 13px;display:grid;position:relative}.room-history .expense-glyph{border-radius:11px;flex:none;grid-area:1/1/span 2;align-self:start;width:40px;height:40px}.room-history .expense-row-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;grid-area:1/2;font-size:15px;line-height:1.3;display:-webkit-box;overflow:hidden}.room-history .expense-amount{white-space:nowrap;grid-area:1/3;align-self:start}.room-history .expense-row-meta{grid-area:2/2/auto/-1;align-items:center;gap:7px;min-width:0;padding-right:36px;display:flex}.room-history .expense-row-open{border-radius:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:0;position:absolute;inset:0}.room-history .expense-row-open:active{background:var(--subtle)}@media (hover:hover) and (pointer:fine){.room-history .expense-row-open:hover{background:color-mix(in srgb, var(--subtle) 60%, transparent)}}.room-history .expense-row>:not(.expense-row-open):not(.expense-row-controls){pointer-events:none;position:relative}.room-history .expense-row-change{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;grid-area:3/2/auto/-1;padding-right:36px;font-size:11px;overflow:hidden}.room-history .expense-row-meta small{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.room-history .expense-row-controls{z-index:1;align-items:center;gap:2px;display:flex;position:absolute;bottom:4px;right:6px}.room-history .reaction-toggle{justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.room-history .expense-reactions{grid-area:4/2/auto/-1;margin-top:0;padding-right:36px}@media (width<=380px){.room-history .expense-row-meta .avatar-stack{display:none}}.avatar-stack--sm .avatar{border-width:1.5px;width:18px;height:18px;margin-left:-6px;font-size:8px}.avatar-stack--sm .avatar:first-child{margin-left:0}.expense-glyph{border-radius:11px}.recently-deleted>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.recently-deleted>summary::-webkit-details-marker{display:none}.recently-deleted>summary .eyebrow{margin-bottom:0}.recently-deleted-count{background:var(--subtle);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.recently-deleted-chevron{color:var(--faint);transition:transform var(--dur-fast) var(--ease-out);margin-left:auto}.recently-deleted[open] .recently-deleted-chevron{transform:rotate(180deg)}@media (width<=900px){.room-metrics .room-totals{flex-wrap:wrap;row-gap:4px;padding:8px}.room-metrics .room-totals>div,.room-metrics .room-totals .member-card{flex:calc(50% - 4px);padding:10px 8px}.room-metrics .room-totals>*+*{border-left:0}.room-metrics .room-totals .member-card{margin:0}.room-metrics .room-totals dt{font-size:10px}.room-metrics .room-totals dd{font-size:20px}}.skeleton-list{gap:8px}.skeleton-row{border-radius:var(--radius-m,14px);background:var(--surface-2,#00000008);grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.skeleton-glyph{border-radius:12px;width:38px;height:38px}.skeleton-lines{gap:7px;display:grid}.skeleton-line{border-radius:6px;width:62%;height:11px}.skeleton-line.short{width:36%}.skeleton-amount{border-radius:6px;width:64px;height:13px}.skeleton-glyph,.skeleton-line,.skeleton-amount{background:linear-gradient(90deg,#0000000f 25%,#0000001c 37%,#0000000f 63%) 0 0/400% 100%;animation:1.4s ease-in-out infinite skeleton-sweep}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-glyph,.skeleton-line,.skeleton-amount{animation:none}}.modal-actions .modal-actions-delete{margin-right:auto}.deleted-row-meta{color:var(--text-soft);font-size:11px;display:block}.invite-nudge{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.invite-nudge p{flex:260px;margin:0}.invite-nudge .primary{width:auto}.roles-explainer{margin:4px 0 12px;display:block}.room-tabs{background:var(--subtle);margin-bottom:var(--gap);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.room-tab{color:var(--muted);min-height:40px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:500;text-decoration:none;display:flex}.room-tab--active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #14261c1f}.room-layout>.room-tabs{-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);background:color-mix(in srgb, var(--subtle) 80%, transparent);top:var(--room-tabs-top,12px);z-index:9;position:sticky;box-shadow:0 6px 16px -12px #14261c59}.room-layout>.room-metrics{margin-bottom:var(--gap)}.room-layout>.room-header{margin-bottom:16px}@media (prefers-reduced-transparency:reduce){.room-layout>.room-tabs{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--subtle)}}@media (width<=900px){.room-layout{--room-tabs-top:62px;padding-top:12px}.room-layout>.room-header{margin-bottom:12px}}.history-filters{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.history-filter{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;min-height:34px;padding:0 14px;font-family:inherit;font-size:13px}.history-filter.is-on{background:var(--ink);border-color:var(--ink);color:var(--page);font-weight:600}.history-day+.history-day{margin-top:14px}.history-day-label{color:var(--text-soft);letter-spacing:.06em;padding:4px 0 6px;font-size:12px;font-weight:600;display:block}.expense-settled{color:var(--pos);font-weight:600}.settle-layout{max-width:640px}.settle-header{margin-bottom:var(--gap);gap:6px;display:grid}.settle-back{justify-self:start;min-height:36px;margin-bottom:6px}.settle-lede{color:var(--muted);margin:2px 0 0;font-size:14px}.settle-view{gap:22px;display:grid;position:relative}.settle-section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.settle-section-meta{color:var(--label);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.transfer-list{gap:12px;display:grid}.transfer-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:16px 18px}.transfer-card-main{align-items:center;gap:12px;display:flex}.transfer-card .avatar{width:38px;height:38px;margin-left:0;font-size:13px}.transfer-card-text{flex:1;min-width:0}.transfer-card-text strong{font-size:14px;font-weight:600;display:block}.transfer-verb{color:var(--text-soft);font-weight:500}.transfer-card-text small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.transfer-amount{font-size:18px;font-weight:600}.transfer-actions{gap:9px;margin-top:14px;display:flex}.transfer-actions .secondary{flex:none}.transfer-actions .primary{flex:1;width:auto}.payment-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);margin-top:10px;display:block;overflow:hidden}.payment-row{align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.payment-row+.payment-row:before{background:var(--hairline);content:"";height:1px;position:absolute;top:0;left:16px;right:16px}.payment-check{background:var(--pos-bg);color:var(--pos);border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.payment-text{flex:1;min-width:0}.payment-text strong{font-size:14px;font-weight:600;display:block}.payment-text small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.payment-amount{white-space:nowrap;margin-left:auto;font-size:14px}.payment-actions{flex:none;gap:8px;display:inline-flex}.settle-preview-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.settle-preview-head strong{margin-top:2px;font-size:16px;font-weight:600;display:block}.settle-preview-link{flex:none;width:auto;min-height:36px}.settle-preview-row{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);text-align:left;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.settle-preview-line{flex:1;min-width:0;font-size:14px;font-weight:600}.settle-preview-row .amount{font-size:15px;font-weight:500}.settle-preview-row>svg{color:var(--faint);flex:none}.settle-items-head{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.settle-items-head .secondary{width:auto;min-height:36px}.settle-items-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:0 14px}.settle-item{border:0;border-bottom:1px solid var(--hairline);color:inherit;cursor:pointer;text-align:left;background:0 0;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:64px;padding:0;font-family:inherit;display:grid}.settle-item:last-child{border-bottom:0}.settle-item-check{border:2px solid var(--line);box-sizing:border-box;color:#fff;height:24px;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;width:24px;display:flex}.settle-item[aria-pressed=true] .settle-item-check{background:var(--accent);border-color:var(--accent)}.settle-item.is-done{cursor:default;opacity:.55}.settle-item.is-done .settle-item-check{background:var(--pos-bg);border-color:var(--pos-bg);color:var(--pos)}.settle-item-text{gap:2px;min-width:0;display:grid}.settle-item-text small{color:var(--text-soft);font-size:12px}.settle-items-bar{-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:color-mix(in srgb, var(--page) 85%, transparent);justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px 0;display:flex;position:sticky;bottom:0}.settle-items-bar>span{display:grid}.settle-items-bar small{color:var(--muted)}.settle-items-bar .amount{font-size:22px}.settle-items-bar .primary{width:auto}.settle-items-total{letter-spacing:-.02em;text-align:center;margin:4px 0 12px;font-size:40px;display:block}.settle-items-summary{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:4px 14px}.settle-items-summary>div{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;min-height:40px;font-size:14px;display:flex}.settle-items-summary>div:last-child{border-bottom:0}.settle-items-summary .is-muted{color:var(--muted);font-size:13px}.settle-plan-link{color:inherit;gap:4px;margin-top:12px;text-decoration:none;display:grid}.settle-plan-link small{color:var(--muted)}@media (prefers-reduced-transparency:reduce){.settle-items-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page)}}.add-expense-launch{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);color:var(--ink);text-align:left;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;display:flex}.add-expense-launch-text{gap:2px;display:grid}.add-expense-launch-text strong{font-size:16px;font-weight:600}.add-expense-launch-cta{background:var(--accent);color:#f4ecda;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.view-only-card{gap:6px;display:grid}.expense-sheet-form{gap:16px;display:grid}.expense-sheet-form fieldset{margin:0}.ae-hint{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:14px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.ae-hint svg{fill:none;stroke:var(--m3-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:6px;flex:none;margin-top:1px}.amount-entry{border-radius:18px;justify-items:center;gap:6px;padding:8px 0 4px;display:grid}.amount-entry-input{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;text-align:center;background:0 0;border:0;width:100%;min-height:0;padding:0;font-size:46px;font-weight:600}.amount-entry-input:focus{box-shadow:none;outline:none}.amount-entry-input::placeholder{color:var(--label)}.amount-entry-currency{color:var(--label);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.sheet-field{text-transform:none;gap:7px;margin:0;display:grid}.field-label{color:var(--label);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.paid-each-row{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.each-block{justify-items:start;gap:7px;display:grid}.each-amount{background:var(--accent-light);border-radius:var(--radius-control);color:var(--accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #d4e6db;min-width:96px;padding:11px 14px;font-size:16px;font-weight:600}.category-pill-emoji{font-size:14px}.split-chips{flex-wrap:wrap;gap:8px;display:flex}.split-chip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:4px 13px 4px 5px;font-size:13px;font-weight:600;display:inline-flex}.split-chip .avatar{width:24px;height:24px;margin-left:0;font-size:9px}.split-chip.checked{background:var(--accent-light);color:var(--accent);border-color:#cfe2d7}.split-advanced>summary{color:var(--muted);cursor:pointer;padding:4px 0;font-size:13px;font-weight:600;list-style:none}.split-advanced>summary::-webkit-details-marker{display:none}.split-advanced[open]>summary{margin-bottom:10px}.expense-sheet-form .percentage-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.analytics-title{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.period-toggle{background:var(--surface);border:1px solid var(--line);border-radius:11px;gap:2px;padding:4px;display:inline-flex}.period-toggle button{color:var(--text-soft);background:0 0;border:0;border-radius:8px;min-height:34px;padding:0 13px;font-size:13px;font-weight:500}.period-toggle button.active{background:var(--accent);color:#f4ecda;font-weight:600}.analytics-metric strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.bar-emoji{margin-right:6px}.trend-plot{padding-top:4px;position:relative}.trend-cols{grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:6px;margin:0;padding:0;list-style:none;display:grid}.trend-avg-note{color:var(--m3-on-primary-container);margin:0 0 12px;font-size:12px;font-weight:500}.trend-col{grid-template-rows:108px auto;justify-items:center;gap:6px;min-width:0;display:grid}.trend-value{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;margin-bottom:3px;font-size:11px;font-weight:600}.trend-bar-track{flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex}.trend-bar{background:var(--m3-primary-container);max-width:30px;transition:height var(--dur-slow) var(--ease-out);border-radius:7px 7px 3px 3px;width:100%;margin:0 auto}.trend-bar.is-above{background:var(--m3-primary)}.trend-bar.is-partial{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--m3-primary) 22%, transparent) 0 4px, transparent 4px 8px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--m3-primary) 45%, transparent)}.trend-key.is-partial{color:var(--label);font-style:italic}.trend-key{color:var(--text-soft);letter-spacing:.02em;white-space:nowrap;font-size:10px}.trend-average{border-top:1px dashed color-mix(in srgb, var(--m3-primary) 60%, transparent);bottom:calc(18px + 108px * var(--avg-ratio,0));pointer-events:none;z-index:3;position:absolute;left:0;right:0}.trend-cols{z-index:2;position:relative}.weekday-chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:4px;margin:0;padding:0;list-style:none;display:grid}.weekday-col{grid-template-rows:64px auto auto;justify-items:center;gap:4px;min-width:0;display:grid}.weekday-track{align-items:end;width:100%;height:100%;display:flex}.weekday-bar{background:var(--m3-primary);transition:height var(--dur-slow) var(--ease-out);border-radius:5px 5px 2px 2px;width:100%}.weekday-col.is-empty .weekday-bar{background:var(--m3-outline-variant)}.weekday-key{color:var(--text-soft);font-size:10px}.weekday-value{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.chart-note{color:var(--text-soft);margin:10px 0 0;font-size:12px;line-height:1.45}.share-bar{border-radius:999px;gap:2px;height:12px;margin-bottom:12px;display:flex;overflow:hidden}.share-seg{transition:width var(--dur-slow) var(--ease-out)}.share-legend{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.share-legend li{grid-template-columns:10px 1fr auto 34px auto;align-items:baseline;gap:8px;font-size:13px;display:grid}.share-legend li.is-hidden .share-name,.share-legend li.is-hidden b{color:var(--faint);text-decoration:line-through}.share-legend li.is-hidden .share-dot{opacity:.35}.share-rest{grid-template-columns:10px 1fr auto 34px}.share-eye{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-self:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.share-eye:hover{background:var(--subtle);color:var(--ink)}}.share-hidden-note{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;font-size:11px;display:flex}.share-reset{color:var(--m3-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:600;text-decoration:underline}.share-dot{border-radius:50%;width:10px;height:10px}.share-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-legend b{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.share-legend i{color:var(--text-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-size:11px;font-style:normal}.share-dot{align-self:center}.room-compare-row{grid-template-columns:1fr auto auto;align-items:center;column-gap:10px;padding:8px 0;display:grid}.room-compare-text{min-width:0}.room-compare-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.room-compare-text small{color:var(--text-soft);font-size:11px}.room-compare-track{background:var(--m3-outline-variant);border-radius:999px;grid-column:1/-1;height:5px;margin-top:6px;overflow:hidden}.room-compare-track span{background:var(--m3-primary);min-width:2px;height:100%;transition:width var(--dur-slow) var(--ease-out);border-radius:999px;display:block}.sparkline{stroke:var(--m3-primary);display:block}.sparkline.is-falling{stroke:color-mix(in srgb, var(--m3-primary) 45%, var(--m3-outline-variant))}.history-card .expense-row{align-items:center}.history-card .expense-row .expense-row-text{flex:1;min-width:0}.history-card .expense-row-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.history-card .expense-amount{margin-left:auto}.expense-actions{flex:none;align-items:center;gap:2px;margin-left:4px;display:inline-flex}.row-action{color:var(--faint);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}@media (hover:hover) and (pointer:fine){.row-action:hover{background:var(--subtle);color:var(--ink)}.row-action--danger:hover{background:var(--neg-bg);color:var(--neg)}}.member-list{gap:10px}.member-detail{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:none;gap:12px;padding:12px 14px;display:grid}.member-detail-head{align-items:center;gap:12px;display:flex}.member-detail-head .avatar{width:34px;height:34px;margin-left:0;font-size:12px}.member-name{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:600;display:flex}.member-detail-head .amount{flex:none;font-size:14px}.role-badge--you{background:var(--subtle);color:var(--muted)}.member-actions{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;padding-top:10px;display:flex}.member-action-btn{width:auto;min-height:34px;padding:0 12px;font-size:12px}.role-toggle{background:var(--surface-warm);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.role-toggle button{color:var(--muted);background:0 0;border:0;border-radius:999px;min-height:30px;padding:0 12px;font-size:12px;font-weight:500}.role-toggle button.active{background:var(--accent);color:#f4ecda;font-weight:600}.role-toggle button:disabled,.role-toggle button.active:disabled{opacity:1}.balance-hero{padding:18px 20px;display:block}.split-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.split-head legend{margin:0}.split-mode{background:var(--surface-warm);border:1px solid var(--line);border-radius:999px;flex:none;gap:2px;padding:3px;display:inline-flex}.split-mode button{color:var(--muted);background:0 0;border:0;border-radius:999px;min-height:28px;padding:0 12px;font-size:12px;font-weight:500}.split-mode button.active{background:var(--accent);color:#f4ecda;font-weight:600}.uneven-split{gap:8px;display:grid}.uneven-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);text-transform:none;align-items:center;gap:10px;margin:0;padding:8px 12px;display:flex}.uneven-row .avatar{width:28px;height:28px;margin-left:0;font-size:10px}.uneven-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.uneven-pct{background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;flex:none;align-items:center;gap:2px;padding:0 10px 0 4px;display:inline-flex}.uneven-pct input{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;width:46px;min-height:38px;padding:0}.uneven-pct input:focus{box-shadow:none;outline:none}.uneven-pct>span{color:var(--muted);font-size:13px}.uneven-amount{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:64px;font-size:13px}.uneven-total{border-radius:var(--radius-control);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.uneven-total.is-balanced{background:var(--pos-bg);color:var(--pos)}.uneven-total.is-off{background:var(--neg-bg);color:var(--neg)}.uneven-total span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.amount-entry-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.amount-entry-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-entry-input{appearance:textfield}.analytics-metric{padding:14px 16px}.analytics-metric strong{font-size:20px}.analytics-metric--primary{background:var(--ink);border-color:var(--ink);color:var(--page);box-shadow:0 10px 26px #14261c24}.analytics-metric--primary .eyebrow{color:#8fa394}.analytics-metric--primary strong{color:#eee6d3}.analytics-metric--owed strong{color:var(--pos)}.analytics-metric--owe strong{color:var(--neg)}.member-action-btn{min-height:32px}.history-card .week-header,.history-card .expense-row{flex-wrap:nowrap;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.history-card .expense-glyph{flex:none}.history-card .week-header-text,.history-card .expense-row-text{flex:auto;min-width:0;overflow:hidden}.history-card .week-header-text>*,.history-card .expense-row-text>*{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.history-card .week-header .amount,.history-card .expense-row .amount{white-space:nowrap;flex:none;margin-left:auto}.history-card .expense-actions,.history-card .week-header .chevron{flex:none}@media (width<=900px){.layout{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))}}.card{transition:box-shadow var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out)}button,.icon-text,.icon-button,.week-card{transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-press-out) var(--ease-out)}button:active,.icon-text:active,.icon-button:active,.week-card:active{transform:scale(var(--press-scale));transition-duration:var(--dur-press-in);transition-timing-function:var(--ease-out)}button:disabled:active,button[aria-disabled=true]:active{transform:none}:where(a,button,select,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--m3-primary);outline-offset:2px}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.analytics-panel{animation:riseIn var(--dur-mid) var(--ease-out) both}.icon-button.danger-icon{color:var(--text-soft)}.icon-button.danger-icon:focus-visible{background:var(--neg-bg);color:var(--neg)}@media (hover:hover) and (pointer:fine){.icon-button.danger-icon:hover{background:var(--neg-bg);color:var(--neg)}}.modal-backdrop{opacity:1;transition:opacity var(--dur-mid) var(--ease-out)}@starting-style{.modal-backdrop{opacity:0}}.modal{opacity:1;transition:opacity var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out);transform:scale(1)}@starting-style{.modal{opacity:0;transform:scale(.96)}}.modal-backdrop[data-closing]{opacity:0;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out)}.modal-backdrop[data-closing] .modal{opacity:0;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out);transform:scale(.96)}.modal-backdrop[data-closing]{pointer-events:none}.modal-actions .primary,.modal-actions .secondary,form .primary[type=submit]{min-width:14ch}.modal-actions .primary,.modal-actions .secondary{text-align:center;justify-content:center}.members-modal .member-list{gap:10px;margin-top:6px;display:grid}.members-modal .member-balance{flex:none;justify-items:end;line-height:1.2;display:grid}.members-modal .member-balance small{color:var(--muted);font-size:11px}.members-modal .member-actions{flex-wrap:wrap;align-items:center;gap:8px}.members-modal .member-remove{color:var(--neg);background:0 0;border:0;width:auto;min-height:34px;margin-left:auto;padding:0 6px;font-size:13px;font-weight:600}@media (hover:hover) and (pointer:fine){.members-modal .member-remove:hover{text-decoration:underline}}.members-modal .member-role-note{color:var(--muted);margin-top:-4px;font-size:12px;line-height:1.4;display:block}.members-modal .member-invite-row{border:1px dashed var(--line);border-radius:var(--radius-control);color:var(--accent);background:0 0;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-size:14px;font-weight:600;display:flex}.members-modal .member-invite-row:active{background:var(--subtle)}.members-modal .roles-toggle-row{margin:18px 0 0}.members-modal .leave-room-row{justify-items:start;margin-top:16px}.members-modal .leave-room-row .member-remove{margin-left:0;padding:0}.members-modal .members-done{width:100%;margin-top:20px}.members-modal .members-settings{gap:8px;margin-top:18px;display:grid}.members-modal .members-settings .roles-toggle-row{margin:0}.members-modal .owner-select{flex:none;align-items:center;display:inline-flex;position:relative}.members-modal .owner-select select{appearance:none;text-overflow:ellipsis;width:auto;max-width:150px;min-height:36px;padding:0 30px 0 12px;font-size:13px;font-weight:600}.members-modal .owner-select svg{color:var(--muted);pointer-events:none;position:absolute;right:10px}.modal:focus,.sheet-panel:focus{outline:none}.desktop-shell{display:contents}.desktop-sidebar{display:none}@media (width>=1024px){.desktop-sidebar{box-sizing:border-box;color:#cdd8cf;z-index:30;background:#16261c;flex-direction:column;gap:2px;width:248px;padding:22px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:visible}.ds-rooms{max-height:40vh;overflow-y:auto}.desktop-canvas{padding-left:248px}.desktop-canvas .topbar{display:none}.ds-brand{color:#f4ecda;letter-spacing:-.01em;align-items:center;gap:10px;padding:4px 8px 20px;font-size:17px;font-weight:600;display:flex}.ds-brand :is(svg,span){color:#f4ecda}.ds-section-label{color:#5f7565;letter-spacing:.14em;text-transform:uppercase;padding:16px 8px 10px;font-size:10px;font-weight:600}.ds-section-label:first-of-type{padding-top:0}.ds-nav{flex-direction:column;gap:3px;display:flex}.ds-nav-link{color:#9fb0a3;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:11px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.ds-nav-link:hover{color:#e7ecde;background:#1d2f24}.ds-nav-link.active{color:#f4ecda;background:#22382a;font-weight:600}.ds-rooms{flex-direction:column;gap:2px;display:flex}.ds-room{color:#cdd8cf;transition:background var(--dur-fast) var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;text-decoration:none;display:flex}.ds-room:hover{background:#1d2f24}.ds-room.is-active{color:#f4ecda;background:#22382a;font-weight:600}.ds-room-emoji{background:#22382a;border-radius:7px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.ds-room-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ds-room-bal{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.tone-owed{color:#7fd0a4}.tone-owe{color:#e2917f}.tone-settled{color:#5f7565}.ds-footer{border-top:1px solid #22382a;flex-direction:column;gap:4px;margin-top:auto;padding-top:10px;display:flex}.ds-user{color:inherit;text-align:left;background:0 0;border:none;border-radius:11px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.ds-user:hover{background:#1d2f24}.ds-avatar{color:#f4ecda;background:#2f7d5b;border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.ds-user-meta{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.ds-user-name{color:#f4ecda;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ds-user-sub{color:#7f9286;font-size:11px}.ds-user-net{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.ds-footer-actions{align-items:center;gap:4px;padding:0 4px;display:flex}.ds-footer-actions .icon-button{color:#9fb0a3;width:40px;min-height:40px}.ds-footer-actions .icon-button:hover{color:#f4ecda;background:#1d2f24}}.invite-preview{text-align:center;flex-direction:column;align-items:center;max-width:430px;padding-top:40px;display:flex}.invite-preview>svg{fill:none;height:86px;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;width:86px;margin-bottom:18px}.invite-preview h1{letter-spacing:-.04em;margin:8px 0 0;font-size:36px;font-weight:500;line-height:.93}.invite-preview-meta{align-items:center;gap:10px;margin-top:16px;display:flex}.invite-preview-copy{color:var(--muted);max-width:32ch;margin:14px 0 0;font-size:13px;line-height:1.55}.invite-preview-actions{flex-direction:column;gap:10px;width:100%;margin-top:26px;display:flex}.invite-preview-actions .primary,.invite-preview-actions .secondary{justify-content:center;width:100%;min-height:46px}.invite-preview-caption{color:var(--muted);margin:16px 0 0;font-size:12px}.loading-moment{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 20px 40px;display:flex}.loading-moment svg{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.loading-moment strong{color:var(--ink);font-size:15px;font-weight:600}.loading-moment span{color:var(--muted);max-width:26ch;font-size:13px}.settle-progress{gap:5px;margin-top:4px;display:flex}.settle-progress span{border-radius:var(--radius-pill);background:#e3dac4;width:22px;height:5px}.settle-progress span.filled{background:var(--pos)}.art-domain{color:color-mix(in srgb, currentColor 45%, transparent)}.confirm-dialog{max-width:360px}.confirm-body{color:var(--muted);margin:10px 0 4px;font-size:14px;line-height:1.55}.room-analytics-toggle{color:inherit;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:0;display:flex}.room-analytics-chevron{color:var(--faint);transition:transform var(--dur-mid) var(--ease-out);flex:none}.room-analytics-chevron.is-open{transform:rotate(180deg)}.uneven-amount-entry input{width:64px}.uneven-amount-entry>span{letter-spacing:.06em;padding-left:6px;font-size:10px;font-weight:600}.page-lede{color:var(--muted);max-width:44ch;margin:6px 0 0;font-size:13px}.analytics-controls{margin-inline:calc(var(--pad,20px) * -1);padding-inline:var(--pad,20px);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:center;gap:8px;display:flex;overflow-x:auto}.analytics-controls::-webkit-scrollbar{display:none}.analytics-controls>*{flex:none}.customize-button{min-height:42px}@media (width<=680px){.analytics-title{grid-template-columns:1fr auto;grid-template-areas:"title title""lens charts""period currency";align-items:center;gap:10px 8px;display:grid}.analytics-title>div:first-child{grid-area:title;min-width:0}.analytics-controls{display:contents}.analytics-lens{grid-area:lens;padding:3px;display:flex}.analytics-lens button{flex:1;min-height:34px}.analytics-title .analytics-period{background:0 0;border:0;grid-area:period;gap:2px;padding:0;display:flex}.analytics-title:not(:has(.analytics-currency)) .analytics-period{grid-column:1/-1}.analytics-title .analytics-period button{color:var(--text-soft);border-radius:999px;flex:1;min-width:0;min-height:30px;padding:0 6px;font-size:13px}.analytics-title .analytics-period button.active{background:var(--m3-primary-container);color:var(--m3-on-primary-container);font-weight:600}.analytics-title .analytics-currency{background:0 0;border:0;grid-area:currency;align-self:center;height:30px;min-height:30px;margin:0}.analytics-title .analytics-currency select{height:30px;min-height:30px;padding:0 24px 0 6px;line-height:30px}.analytics-title .analytics-currency svg{right:4px}.customize-button{grid-area:charts;place-self:stretch end;width:44px;min-height:0;padding:0}.customize-button span{display:none}}.insight-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.insight-card{background:var(--surface-warm);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:12px 14px}.insight-card strong{margin-bottom:4px;font-size:14px;display:block}.insight-card p{color:var(--text-soft);margin:0;font-size:13px;line-height:1.45}.insight-warn{border-left-color:var(--warn)}.insight-info{border-left-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.customize-sheet .sheet-header{padding:4px 4px 12px}.customize-sheet .sheet-header h2{margin:2px 0 0}.panel-manage-list{gap:6px;max-height:60vh;padding:0 2px 8px;display:grid;overflow-y:auto}.panel-manage-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.panel-manage-toggle{flex:1;align-items:center;gap:10px;display:flex}.panel-manage-toggle input{accent-color:var(--accent);width:18px;height:18px}.panel-manage-toggle strong{font-size:14px;display:block}.panel-manage-toggle small{color:var(--text-soft);font-size:12px}.panel-manage-actions{gap:4px;display:inline-flex}.panel-manage-actions button{background:var(--surface-warm);border:1px solid var(--line);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.panel-manage-actions button:disabled{opacity:.35}.analytics-currency{background:var(--m3-surface-container);border:1px solid var(--m3-outline-variant);border-radius:11px;align-items:center;min-height:44px;display:inline-flex;position:relative}.analytics-currency select{appearance:none;color:var(--m3-on-primary-container);cursor:pointer;font:inherit;background:0 0;border:0;height:100%;min-height:42px;padding:0 32px 0 14px;font-size:13px;font-weight:600}.analytics-currency svg{color:var(--m3-on-primary-container);pointer-events:none;position:absolute;right:11px}.trend-bar{position:relative;overflow:hidden}.trend.is-stacked .trend-bar:not(.is-partial),.trend-flex-key{background:color-mix(in srgb, var(--m3-primary) 32%, transparent)}.trend-bar-fixed,.trend-fixed-key{background:var(--m3-primary)}.trend-flex-key{margin-left:6px}.trend-bar-fixed{position:absolute;bottom:0;left:0;right:0}.trend-fixed-key,.trend-flex-key{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.share-detail{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;grid-column:2/-1;margin-top:-6px;font-size:11px;overflow:hidden}.forecast{gap:12px;display:grid}.forecast-headline{color:var(--text-soft);margin:0;font-size:14px}.forecast-headline b{color:var(--text);font-family:var(--font-mono);letter-spacing:-.02em;font-size:22px;font-weight:600}.forecast-bar{background:var(--m3-outline-variant);border-radius:999px;height:10px;position:relative}.forecast-bar span{border-radius:999px;position:absolute;top:0;bottom:0}.forecast-bar .is-spent{background:var(--m3-primary);left:0}.forecast-bar .is-range{background:color-mix(in srgb, var(--m3-primary) 30%, transparent)}.forecast-bar .is-usual{background:var(--text);border-radius:1px;width:2px;top:-3px;bottom:-3px}.forecast-parts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.forecast-parts dt{color:var(--text-soft);font-size:11px}.forecast-parts dd{font-family:var(--font-mono);margin:2px 0 0;font-size:14px}.insight-action{color:var(--m3-primary);cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0 0;font-size:12px;font-weight:600}.insight-card p{margin:2px 0 0}.recurring-totals{color:var(--text-soft);gap:16px;margin-bottom:8px;font-size:13px;display:flex}.recurring-totals b{color:var(--text);font-family:var(--font-mono)}.paid-share{gap:14px;margin:0;padding:0;list-style:none;display:grid}.paid-share-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.paid-share-head small{color:var(--text-soft);font-size:12px}.paid-share-head small.positive{color:var(--pos)}.paid-share-head small.negative{color:var(--neg)}.paid-share-bar{grid-template-columns:1fr 88px;align-items:center;gap:8px;margin-top:4px;display:grid}.paid-share-bar span{border-radius:999px;min-width:2px;height:8px;display:block}.paid-share-bar.is-paid span{background:var(--m3-primary)}.paid-share-bar.is-share span{background:var(--m3-outline-variant)}.paid-share-bar i{color:var(--text-soft);font-family:var(--font-mono);font-size:11px;font-style:normal}.people-bars{gap:4px;margin:0;padding:0;list-style:none;display:grid}.people-row{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(64px,120px) 1fr 76px;align-items:center;gap:10px;width:100%;padding:8px 6px;display:grid}.people-row:active{background:var(--m3-surface-container-high)}.people-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.people-track{background:linear-gradient(var(--m3-outline-variant), var(--m3-outline-variant)) center / 1px 100% no-repeat;height:14px;position:relative}.people-track span{border-radius:999px;min-width:2px;position:absolute;top:3px;bottom:3px}.people-track .is-owed{background:var(--pos)}.people-track .is-owe{background:var(--neg)}.people-row b{font-family:var(--font-mono);text-align:right;font-size:13px}.subs-layout{padding-bottom:120px}.subs-title{grid-template-columns:1fr auto;align-items:center}.subs-title-actions{align-items:center;gap:8px;display:flex}.subs-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.subs-attention{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);border-radius:var(--radius-card,16px);gap:10px;margin-bottom:20px;padding:14px 16px;display:grid}.subs-attention-row{grid-template-columns:1fr auto;align-items:center;gap:8px 12px;display:grid}.subs-attention-head{min-width:0}.subs-attention-row.is-backlog{background:color-mix(in srgb, var(--warn-ink,#b3541e) 7%, transparent);border:1px solid color-mix(in srgb, var(--warn-ink,#b3541e) 22%, transparent);border-radius:14px;margin:0 -8px;padding:10px 10px 6px}.subs-attention-row.is-backlog .subs-attention-head small{color:var(--warn-ink,#b3541e);font-weight:500}.subs-missed-list{grid-column:1/-1;gap:4px;margin:2px 0 0;padding:0;list-style:none;display:grid}.subs-missed-list li{align-items:center;gap:8px;display:flex}.subs-missed-date{color:var(--ink);flex:1;min-width:0;font-size:12px}.subs-missed-list .amount{font-size:12px}.subs-missed-list button.secondary{min-height:30px;padding:0 10px;font-size:12px}.subs-attention-row strong{font-size:15px;font-weight:500;display:block}.subs-attention-row small{color:var(--muted);font-size:12px;display:block}.subs-attention-row.is-trial small{color:var(--warn-ink,#b3541e);font-weight:500}.subs-attention-actions{gap:8px;display:flex}.subs-attention-actions .primary,.subs-attention-actions .secondary{width:auto;min-height:38px}.subs-toggles{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px;display:flex}.subs-list{gap:8px;display:grid}.subs-item{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);border-radius:var(--radius-control)}.subs-item .subs-row{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-height:64px;padding:12px 14px;display:grid;position:relative}.subs-row.is-cancelled{opacity:.55}.subs-glyph{border-radius:11px;grid-area:1/1/span 2;align-self:start;width:40px;height:40px}.subs-row-title{overflow-wrap:anywhere;flex-wrap:wrap;grid-area:1/2;align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:500;display:flex}.subs-row-amount{white-space:nowrap;grid-area:1/3;align-self:start;justify-items:end;display:grid}.subs-row-amount small{color:var(--label);font-size:10px}.subs-row-meta{grid-area:2/2/auto/-1;min-width:0;padding-right:84px}.subs-row-meta small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.subs-price-change{color:var(--warn-ink,#b3541e)}.subs-tag{background:var(--m3-surface-container,var(--line));letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:500}.subs-tag.trial{background:color-mix(in srgb, var(--cat-fun-accent,#a05bd6) 18%, transparent)}.subs-row-actions{align-items:center;gap:2px;display:flex;position:absolute;bottom:9px;right:10px}.subs-row-actions .icon-button{width:32px;height:32px;min-height:32px;padding:0}.subs-lens-note{color:var(--muted);margin:-8px 0 16px;font-size:12px}.subs-history-toggle{border:0;border-top:1px solid var(--hairline,var(--line));color:var(--muted);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:6px;width:100%;padding:9px 14px;font-size:12px;display:flex}@media (hover:hover) and (pointer:fine){.subs-history-toggle:hover{color:var(--ink)}}.subs-history-toggle svg{transition:transform var(--dur-fast) var(--ease-out)}.subs-item.is-open .subs-history-toggle svg{transform:rotate(180deg)}.subs-history{gap:2px;margin:0;padding:0 14px 12px;list-style:none;display:grid}.subs-history li{align-items:center;gap:10px;padding:4px 0;display:flex}.subs-history-date{white-space:nowrap;font-size:12px}.subs-history-where{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.subs-history .amount{font-size:12px}.subs-history .icon-button{width:30px;height:30px;min-height:30px;padding:0}.subs-history-price .subs-history-date,.subs-history-price .subs-history-where{color:var(--warn-ink,#b3541e)}.subs-calendar header{margin-bottom:12px}.subs-calendar h2{font-size:17px;font-weight:500}.subs-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid;position:relative}.subs-cal-head{color:var(--muted);text-align:center;text-transform:uppercase;padding-bottom:4px;font-size:11px}.subs-cal-cell{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);min-height:62px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press-out) var(--ease-out);border-radius:10px;align-content:start;gap:2px;padding:5px;display:grid}button.subs-cal-cell{color:inherit;cursor:pointer;font:inherit;text-align:left}.subs-cal-cell{-webkit-user-select:none;user-select:none;touch-action:manipulation}.subs-cal-cell:active{transform:scale(var(--press-scale));transition-duration:var(--dur-press-in);transition-timing-function:var(--ease-out)}.subs-cal-cell.is-selected{border-color:var(--m3-primary,var(--accent));box-shadow:0 0 0 1px var(--m3-primary,var(--accent))}.subs-cal-entry{align-items:center;gap:3px;min-width:0;display:flex}.subs-cal-glyph{flex:none;font-size:11px;line-height:1;display:none}.subs-cal-entry .subs-cal-dot{flex:1;min-width:0}.subs-cal-cell.is-out{opacity:.4}.subs-cal-cell.is-today{border-color:var(--m3-primary,var(--accent))}.subs-cal-day{color:var(--muted);font-size:11px}.subs-cal-dot{background:color-mix(in srgb, var(--m3-primary,var(--accent)) 16%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:1px 4px;font-size:10px;overflow:hidden}.subs-cal-legend{color:var(--muted);align-items:center;gap:6px;margin:0 0 10px;font-size:11px;display:flex}.subs-cal-legend .subs-cal-dot{width:16px;height:10px;padding:0}.subs-calendar{--split-mask:linear-gradient(to right, #000 calc(50% - 1.5px), transparent calc(50% - 1.5px), transparent calc(50% + 1.5px), #000 calc(50% + 1.5px))}.subs-cal-legend .subs-cal-dot.is-shared{-webkit-mask:var(--split-mask);-webkit-mask:var(--split-mask);mask:var(--split-mask)}.subs-day-pop{background:var(--surface);border:1px solid var(--line);opacity:1;transform-origin:var(--caret-x) 0;transition:opacity var(--dur-mid) var(--ease-out), scale var(--dur-mid) var(--ease-out);z-index:3;border-radius:14px;padding:10px 12px 8px;position:absolute;top:0;left:0;scale:1;box-shadow:0 1px 2px #0000000f,0 12px 32px #00000029}.subs-day-pop.is-above{transform-origin:var(--caret-x) 100%}.subs-day-pop.is-moving{transition:opacity var(--dur-mid) var(--ease-out), scale var(--dur-mid) var(--ease-out), translate var(--dur-mid) var(--ease-out)}@starting-style{.subs-day-pop{opacity:0;scale:.92}}.subs-day-pop[data-closing]{opacity:0;pointer-events:none;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out);scale:.96}.subs-day-pop:before{background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);content:"";height:10px;left:var(--caret-x);width:10px;position:absolute;top:-6px;transform:translate(-50%)rotate(45deg)}.subs-day-pop.is-above:before{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);top:auto;bottom:-6px}.subs-day-pop-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:13px;display:flex}.subs-day-pop-head small{color:var(--muted);font-size:12px}.subs-day-pop-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.subs-day-pop-list li{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:4px 0;display:grid}.subs-day-pop-glyph{border-radius:9px;width:28px;height:28px;font-size:14px}.subs-day-pop-name{min-width:0;display:grid}.subs-day-pop-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.subs-day-pop-name small{color:var(--muted);font-size:11px}.subs-day-pop-list .amount{font-size:13px}.subs-day-pop-list .amount.is-paid{color:var(--pos)}.subs-cal-more{color:var(--muted);padding-left:4px;font-size:10px}.subs-field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.subs-check{flex-direction:row;align-items:center;gap:8px;display:flex}.subs-check input{width:auto}.subs-member-toggles{flex-wrap:wrap;gap:6px;display:flex}@media (width<=680px){.subs-metrics{grid-template-columns:1fr 1fr}.subs-metrics .analytics-metric:last-child{display:none}.subs-title h1{font-size:24px}.subs-attention{padding:12px 14px}.subs-attention-row{grid-template-columns:1fr}.subs-attention-actions{justify-content:flex-end}.subs-field-pair{grid-template-columns:1fr}.subs-cal-cell{gap:3px;min-height:52px;padding:5px 4px}.subs-cal-glyph{display:block}.subs-cal-dot{border-radius:6px;height:11px;padding:0;font-size:0}.subs-cal-entry .subs-cal-dot.is-shared{-webkit-mask:var(--split-mask);-webkit-mask:var(--split-mask);mask:var(--split-mask)}.subs-cal-legend .subs-cal-dot{height:11px}.subs-cal-more{padding-left:0;font-size:9px}}.m3-tonal-button{transition:transform var(--dur-press-out) var(--ease-out);position:relative;overflow:hidden}.m3-tonal-button:active{transform:scale(var(--press-scale));transition-duration:var(--dur-press-in)}.m3-tonal-button:after{content:"";opacity:0;transition:opacity var(--dur-fast) var(--ease-out);background:#ffffff40;position:absolute;inset:0}.m3-tonal-button:active:after{opacity:1}.mascot-buddy{z-index:30;pointer-events:none;align-items:center;gap:8px;display:flex;position:fixed;bottom:96px;right:16px}.mascot-buddy-bubble{background:var(--m3-surface-container);max-width:190px;color:var(--m3-on-primary-container);box-shadow:0 4px 14px var(--m3-elevation-tint);border-radius:14px 14px 4px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.25}.mascot-buddy-mascot{color:var(--m3-primary);flex:none;place-items:center;animation:3.6s ease-in-out infinite mascotBob;display:grid}@media (width<=680px){.mascot-buddy{display:none}}@media (width>=901px){.mascot-buddy{bottom:24px}}.expense-reactions{flex-wrap:wrap;gap:4px;margin-top:4px;display:inline-flex}.reaction-badge{background:var(--m3-surface-container);border-radius:999px;align-items:center;gap:2px;padding:1px 7px;font-size:12px;line-height:1.4;display:inline-flex}.reaction-cell{align-items:center;display:inline-flex;position:relative}.reaction-toggle{cursor:pointer;opacity:.55;transition:opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:4px;font-size:14px;line-height:1}@media (hover:hover) and (pointer:fine){.reaction-toggle:hover{opacity:1;background:var(--m3-primary-container)}}.reaction-toggle[aria-expanded=true]{opacity:1;background:var(--m3-primary-container)}.reaction-rail{z-index:5;background:var(--surface);border:1px solid var(--m3-outline-variant);box-shadow:var(--shadow);transform-origin:calc(100% - 12px) 100%;transition:opacity var(--dur-fast) var(--ease-out), scale var(--dur-fast) var(--ease-out);border-radius:999px;gap:2px;padding:3px;display:inline-flex;position:absolute;bottom:calc(100% + 6px);right:0}@starting-style{.reaction-rail{opacity:0;scale:.92}}.reaction-rail button{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:4px 6px;font-size:15px;line-height:1}@media (hover:hover) and (pointer:fine){.reaction-rail button:hover{background:var(--m3-primary-container);transform:scale(1.15)}}.reaction-rail button[aria-pressed=true]{background:var(--m3-primary-container)}.celebration-overlay{z-index:60;text-align:center;background:color-mix(in srgb, var(--page) 82%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;animation:fadeScale var(--dur-mid) var(--ease-out), celebrate-out var(--dur-mid) var(--ease-out) 1.66s forwards;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}@keyframes celebrate-out{to{opacity:0}}.celebration-overlay strong{color:var(--m3-on-primary-container);font-size:20px}.celebration-mascot{color:var(--m3-primary);animation:1.2s ease-in-out infinite mascotBob}.celebration-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebration-confetti span{border-radius:2px;width:10px;height:14px;animation:1.6s ease-out forwards confA;position:absolute;top:50%;left:50%}@media (width<=680px){.bottom-nav a .nav-icon-wrap{width:46px;height:26px;transition:background var(--dur-mid) var(--ease-out);border-radius:13px;place-items:center;display:grid}.bottom-nav a.active{box-shadow:none;color:var(--m3-on-primary-container);background:0 0}.bottom-nav a.active .nav-icon-wrap{background:var(--m3-primary-container)}.mobile-fab:active{transform:scale(var(--press-scale-lg));border-radius:28px}}.auth-art{background:radial-gradient(circle at 22% 20%, #9640e047, transparent 15rem), linear-gradient(160deg, #2b1150, var(--ink) 62%)}.auth-art .auth-art-mascot{animation:4.2s ease-in-out infinite mascotBob}.auth-tabs .auth-tab.active,.icon-text.strong{background:var(--m3-primary);color:var(--m3-on-primary)}.category-badge{background:var(--m3-surface-container);border-color:var(--m3-outline-variant);color:var(--m3-on-primary-container)}.room-metrics .room-totals{background:var(--m3-surface-container-low);border-color:var(--m3-outline-variant);box-shadow:0 2px 10px var(--m3-elevation-tint)}.room-metrics .room-totals>*+*{border-left-color:var(--m3-outline-variant)}.history-card .week-group+.week-group,.history-card .expense-row+.expense-row:before{border-top-color:var(--m3-outline-variant);background:var(--m3-outline-variant)}.add-expense-launch{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-color:#0000}.add-expense-launch-cta{background:var(--m3-primary);color:var(--m3-on-primary)}.card,.analytics-panel{background:var(--m3-surface-container-low);border-color:var(--m3-outline-variant)}.analytics-metric{background:var(--m3-surface-container);border-color:var(--m3-outline-variant)}.analytics-metric--primary{background:var(--ink);border-color:var(--ink)}.period-toggle{background:var(--m3-surface-container);border-color:var(--m3-outline-variant)}.period-toggle button{color:var(--m3-on-primary-container)}.period-toggle button.active{background:var(--m3-primary);color:var(--m3-on-primary)}.trend-item span,.analytics-bar-track{background:var(--m3-outline-variant)}.trend-item span.peak,.analytics-bar-track span{background:var(--m3-primary);min-width:2px}.insight-card{background:var(--surface);border-color:var(--m3-outline-variant)}.subs-row,.subs-attention,.subs-cal-cell{background:var(--m3-surface-container-low);border-color:var(--m3-outline-variant)}.subs-tag{background:var(--m3-surface-container-high);color:var(--m3-on-primary-container)}.subs-attention{border-left:3px solid var(--m3-primary)}.subs-cal-cell.is-today{background:var(--m3-primary-container);border-color:var(--m3-primary)}.subs-cal-dot{background:var(--m3-primary);color:var(--m3-on-primary)}.subs-cal-dot.is-confirmed{background:var(--pos);color:#fff}.ask-ai{align-items:center;display:inline-flex}.ask-ai-go{white-space:nowrap}.ai-modal{max-width:460px}.ai-modal .eyebrow{display:block}.ai-modal h2{margin-bottom:4px}.ai-modal .page-lede{margin:0 0 var(--s4)}.ai-rows{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.ai-rows li{background:var(--surface-raised);border:1px solid var(--subtle);border-radius:var(--radius-control);align-items:center;gap:var(--s3);padding:var(--s3);justify-content:space-between;display:flex}.ai-rows strong{display:block}.ai-rows small{color:var(--text-soft);display:block}.ai-rows .icon-text{white-space:nowrap;flex:none;text-decoration:none}.ai-url{color:var(--faint);font-family:var(--font-mono);margin-top:var(--s1);word-break:break-all;font-size:11px;display:block}.ai-tasks{gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ai-task{background:var(--surface-raised);border:1px solid var(--subtle);border-radius:var(--radius-control);min-height:58px;padding:var(--s3);text-align:left;justify-items:start;gap:2px;display:grid}.ai-task strong{font-size:13px;font-weight:600;line-height:1.25}.ai-task small{color:var(--text-soft);font-size:11px}.ai-task.is-active{background:var(--ink);border-color:var(--ink);color:var(--page)}.ai-task.is-active small{color:inherit;opacity:.72}.ai-prompt{margin-top:var(--s4);display:block}.ai-prompt-head{color:var(--text-soft);margin-bottom:var(--s2);justify-content:space-between;align-items:center;font-size:12px;display:flex}.ai-reset{color:var(--muted);background:0 0;border:0;align-items:center;gap:5px;padding:2px 4px;font-size:12px;display:inline-flex}.ai-prompt textarea{background:var(--surface);border:1px solid var(--subtle);border-radius:var(--radius-control);font:inherit;padding:var(--s3);resize:vertical;width:100%;font-size:13px;line-height:1.5}.ai-note{color:var(--text-soft);margin:var(--s3) 0 0;font-size:12px}.ai-note summary{color:var(--ink);cursor:pointer;font-weight:600}.ai-note p{margin:6px 0;line-height:1.5}.ai-open{margin-top:var(--s4);text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;text-decoration:none;display:flex}.ai-open:disabled{cursor:not-allowed;opacity:.45}.mcp-connect{margin-top:var(--s3);align-self:flex-start;text-decoration:none}.tweak-links{border-top:1px solid var(--line);gap:2px;margin-top:2px;padding-top:10px;display:grid}.tweak-link{border-radius:var(--radius-control);color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;min-height:36px;padding:0 8px;font-size:13px;display:flex}@media (hover:hover) and (pointer:fine){.tweak-link:hover{background:var(--surface-warm);color:var(--ink)}}@media (width>=901px){.tweak-link-profile{display:none}}.ai-project-toggle{background:var(--surface-raised);border:1px solid var(--subtle);border-radius:var(--radius-control);cursor:pointer;align-items:flex-start;gap:var(--s3);margin-top:var(--s4);padding:var(--s3);display:flex}.ai-project-toggle input{flex:none;margin-top:3px}.ai-project-toggle strong{font-size:13px;display:block}.ai-project-toggle small{color:var(--text-soft);margin-top:2px;line-height:1.45;display:block}.ai-rows li{align-items:flex-start}.ai-rows small{line-height:1.45}.ai-rows .icon-text{margin-top:2px}.ai-project-input{background:var(--surface);border:1px solid var(--subtle);border-radius:var(--radius-control);font:inherit;margin-top:var(--s2);padding:var(--s3);width:100%;font-size:13px}.room-header-actions{justify-content:flex-end;min-width:0;display:inline-flex}@media (width<=900px){.room-title-line h1,.room-title-line .eyebrow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.room-head-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.room-head-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:44px;height:44px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.room-head-btn.is-glass{background:var(--lg-specular,none) 0 0 / 100% 100% no-repeat, color-mix(in srgb, #fff var(--lg-tint,42%), transparent);-webkit-backdrop-filter:var(--lg-filter,blur(18px) saturate(1.2));backdrop-filter:var(--lg-filter,blur(18px) saturate(1.2));isolation:isolate;transition:transform var(--dur-press-out) var(--ease-out);border:1px solid #ffffff73;position:relative;overflow:hidden;box-shadow:0 8px 20px #0e1b1424,inset 0 1px 1px #ffffffb3,inset 0 -1px 2px #0e1b141f}.room-head-btn.is-glass>*{z-index:2;position:relative}.room-head-btn.is-glass:active{transform:scale(var(--press-scale-lg,.94))}@media (prefers-reduced-transparency:reduce){.room-head-btn.is-glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}}.room-head-btn span{display:none}:root[data-room-actions=labelled] .room-head-btn span{display:inline}@media (hover:hover) and (pointer:fine){.room-head-btn:not(.is-glass):hover{background:var(--surface-raised)}}.room-menu{background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:200px;margin:0;padding:6px;position:fixed;inset:auto;box-shadow:0 12px 32px #14261c29}.room-menu:popover-open{gap:2px;display:grid}.room-menu .ask-ai{display:contents}.room-menu-item{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;font-family:inherit;font-size:14px;display:flex}.room-menu-item:hover,.room-menu-item:focus-visible{background:var(--subtle)}.room-menu-item--danger{color:var(--neg)}.room-title-line .room-back,.plan-layout .room-back{display:inline-flex}.blog-layout{grid-template-columns:minmax(0,236px) minmax(0,1fr);align-items:start;column-gap:34px;max-width:1180px}.blog-layout>.blog-article,.blog-layout>.blog-index{min-width:0;max-width:760px}.blog-index{gap:22px;display:grid}.blog-rail{min-width:0;position:sticky;top:18px}.blog-rail-inner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);gap:4px;padding:8px;display:grid}.blog-rail-head{border-radius:calc(var(--radius-card) - 6px);gap:2px;padding:10px 12px 12px;text-decoration:none;display:grid}.blog-rail-head strong{color:var(--ink);font-size:15px}.blog-rail-head:hover,.blog-rail-head.is-current{background:var(--surface-warm)}.blog-rail-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.blog-rail-link{border-radius:calc(var(--radius-card) - 6px);border-left:2px solid #0000;gap:3px;padding:10px 12px;text-decoration:none;transition:background .14s,border-color .14s;display:grid}.blog-rail-link:hover{background:var(--surface-warm)}.blog-rail-link.is-current{background:var(--accent-light,var(--surface-warm));border-left-color:var(--accent)}.blog-rail-tag{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;font-size:10px}.blog-rail-title{color:var(--muted);font-size:13.5px;line-height:1.4}.blog-rail-link.is-current .blog-rail-title{color:var(--ink);font-weight:600}.blog-rail-date{color:var(--faint);font-size:11.5px}.blog-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.blog-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);gap:8px;padding:20px;text-decoration:none;transition:transform .16s,border-color .16s;display:grid}@media (hover:hover) and (pointer:fine){.blog-card:hover{border-color:var(--accent);transform:translateY(-2px)}}.blog-card h2{color:var(--ink);margin:0;font-size:21px}.blog-card p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.65}.blog-card.is-featured{padding:26px}.blog-card.is-featured h2{font-size:30px;line-height:1.15}.blog-card.is-featured p{max-width:58ch;font-size:16px}.blog-card-tag{background:var(--accent-light,var(--surface-warm));color:var(--accent);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;justify-self:start;padding:4px 10px;font-size:10.5px}.blog-card-meta{color:var(--faint);font-size:12.5px}.blog-video-figure{gap:10px;margin:0;display:grid}.blog-video{aspect-ratio:16/9;background:var(--page);border:1px solid var(--line);border-radius:var(--radius-card);width:100%;height:auto;display:block}.blog-video-figure figcaption{color:var(--muted);font-size:13px;line-height:1.6}.blog-figures{gap:2px;margin:4px 0 0;display:grid}.blog-figures div{border-bottom:1px solid var(--hairline);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.blog-figures div:last-child{border-bottom:0;font-weight:600}.blog-figures dt{color:var(--muted);font-size:14px}.blog-figures dd{color:var(--ink);font-family:var(--font-mono,ui-monospace, monospace);margin:0;font-size:14px}@media (width<=1080px){.blog-layout{grid-template-columns:minmax(0,1fr)}.blog-rail{position:static}.blog-rail-inner{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;grid-auto-columns:186px;grid-auto-flow:column;gap:8px;padding:8px;overflow-x:auto}.blog-rail-inner::-webkit-scrollbar{display:none}.blog-rail-inner{scrollbar-width:none}.blog-rail-head{scroll-snap-align:start;grid-column:1;align-content:center;width:104px}.blog-rail-list{grid-auto-columns:186px;grid-auto-flow:column}.blog-rail-title{overflow-wrap:anywhere}.blog-rail-link{scroll-snap-align:start;border-bottom:2px solid #0000;border-left:0;height:100%}.blog-rail-link.is-current{border-bottom-color:var(--accent);border-left-color:#0000}.blog-layout>.blog-article,.blog-layout>.blog-index{max-width:none}}@media (width<=640px){.blog-card.is-featured h2{font-size:25px}.blog-card.is-featured{padding:20px}}body{isolation:isolate}.page-grid{color:var(--ink);height:100lvh;opacity:var(--grid-weight,.15);pointer-events:none;z-index:-1;position:fixed;top:0;left:0;right:0;overflow:hidden}.page-grid[data-pattern=tunnel]{--grid-weight:.12}.page-grid[data-pattern=curve]{--grid-weight:.1}@media (width>=1024px){.page-grid[data-rail]{left:248px}}.page-grid-art{animation:page-grid-in var(--dur-slow) var(--ease-out) both;display:block;position:absolute;inset:0}@keyframes page-grid-in{0%{opacity:0}}.page-grid[data-pattern=dot],.page-grid[data-pattern=grid],.page-grid[data-pattern=plus]{-webkit-mask-image:radial-gradient(118% 96% at 38% 6%,#0006 0%,#0000009e 40%,#000 100%);mask-image:radial-gradient(118% 96% at 38% 6%,#0006 0%,#0000009e 40%,#000 100%)}.page-grid[data-pattern=dot]{--grid-weight:.26}.page-grid[data-pattern=plus]{--grid-weight:.22}.page-grid[data-pattern=grid]{--grid-weight:.15}.page-grid[data-pattern=dot] .page-grid-art,.page-grid[data-pattern=plus] .page-grid-art,.page-grid[data-pattern=grid] .page-grid-art{-webkit-mask-position:var(--grid-x,0) var(--grid-y,0);-webkit-mask-position:var(--grid-x,0) var(--grid-y,0);mask-position:var(--grid-x,0) var(--grid-y,0);background-color:currentColor;-webkit-mask-size:20px 20px;mask-size:20px 20px;-webkit-mask-repeat:repeat;mask-repeat:repeat}.page-grid[data-pattern=dot] .page-grid-art{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='1.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='1.1'/%3E%3C/svg%3E")}.page-grid[data-pattern=grid] .page-grid-art{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M0 0h20v1H0zM0 0h1v20H0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M0 0h20v1H0zM0 0h1v20H0z'/%3E%3C/svg%3E")}.page-grid[data-pattern=plus] .page-grid-art{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M9 6h1v3h3v1h-3v3H9v-3H6V9h3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M9 6h1v3h3v1h-3v3H9v-3H6V9h3z'/%3E%3C/svg%3E")}.page-grid-art path{fill:none;stroke:currentColor;stroke-width:1px}.page-grid[data-pattern=tunnel]{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(#000 0% 4%,#0009 12%,#00000040 19%,#0000 25% 75%,#00000040 81%,#0009 88%,#000 96% 100%),linear-gradient(90deg,#0000 0%,#0000008c 9%,#000 20% 80%,#0000008c 91%,#0000 100%);mask-image:linear-gradient(#000 0% 4%,#0009 12%,#00000040 19%,#0000 25% 75%,#00000040 81%,#0009 88%,#000 96% 100%),linear-gradient(90deg,#0000 0%,#0000008c 9%,#000 20% 80%,#0000008c 91%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.page-grid[data-pattern=curve]{-webkit-mask-image:linear-gradient(#0000 0%,#0000002e 16%,#0000009e 34%,#000 52%,#000000b8 78%,#00000073 100%);mask-image:linear-gradient(#0000 0%,#0000002e 16%,#0000009e 34%,#000 52%,#000000b8 78%,#00000073 100%)}@media print{.page-grid{display:none}}.tweak-swatches{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width>=640px){.tweak-swatches{grid-template-columns:repeat(6,1fr)}}.tweak-swatch{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);justify-items:center;gap:6px;padding:10px 6px 8px;font-size:12px;display:grid}.tweak-swatch-frame{background:var(--page);border:1px solid var(--hairline);border-radius:7px;place-items:center;width:100%;padding:5px 4px;display:grid;overflow:hidden}.tweak-swatch-glyph{fill:none;opacity:.6;stroke:currentColor;stroke-linecap:round;stroke-width:1.2px;width:100%;height:28px;display:block}.tweak-swatch.active{background:var(--m3-primary-container);border-color:var(--m3-primary);color:var(--m3-on-primary-container);font-weight:500}.tweak-swatch.active .tweak-swatch-frame{border-color:color-mix(in srgb, var(--m3-primary) 40%, transparent)}.tweak-swatch.active .tweak-swatch-glyph{opacity:.9}.tweaks-sheet .tweaks-group{gap:16px;margin-top:4px;display:grid}.tweaks-sheet h2{margin-bottom:14px}.tweaks-sheet .tweak-links{gap:6px;margin-top:8px;padding-top:14px;display:flex}.tweaks-sheet .tweak-link{background:var(--surface-warm);border:1px solid var(--line);flex:1;justify-content:center;min-height:42px;padding:0 12px}.top-link[aria-current=page]{color:var(--ink);font-weight:600}.topbar-public .top-link-cta{background:var(--m3-primary);color:var(--m3-on-primary);font-weight:600}.topbar-public .top-link-cta:hover{background:var(--m3-primary-hover);color:var(--m3-on-primary)}@media (width<=720px){.topbar-public .top-link-cta{display:inline-flex}}.marketing-hero{min-height:0;padding:clamp(24px,6vw,72px) 0 clamp(8px,3vw,24px)}.hero-copy h1{max-width:14ch}.hero-ledger{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);align-self:center;gap:16px;padding:clamp(20px,3vw,28px);display:grid}.hero-ledger-head{justify-content:space-between;align-items:baseline;display:flex}.hero-ledger-head strong{font-size:20px}.hero-ledger-head span{color:var(--muted);font-family:var(--font-mono);font-size:13px}.hero-ledger dl{border-top:1px dashed var(--line);gap:10px;margin:0;padding-top:16px;display:grid}.hero-ledger dl div{justify-content:space-between;display:flex}.hero-ledger dt,.hero-ledger dd{margin:0}.hero-ledger dd{font-family:var(--font-mono)}.hero-ledger-owed{background:var(--pos-bg);border-radius:var(--radius-control);color:var(--pos);justify-content:space-between;align-items:center;padding:14px 16px;font-weight:600;display:flex}.hero-ledger-owed strong{font-family:var(--font-mono);font-size:20px;font-weight:var(--amount-weight)}.marketing-facts strong{margin-top:0}.marketing-facts span{color:color-mix(in srgb, var(--page) 70%, transparent);font-size:14px}.section-title{letter-spacing:-.01em;margin:0;font-size:clamp(26px,4vw,36px)}.marketing-section{padding-top:clamp(24px,5vw,56px);scroll-margin-top:80px}.marketing-steps{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.marketing-steps li{align-content:start;gap:6px;display:grid}.marketing-steps strong{font-size:19px}.marketing-steps span:last-child{color:var(--muted);line-height:1.5}.step-num{color:var(--m3-primary);font-family:var(--font-mono);font-size:14px}.feature-group{align-content:start;min-height:0}.feature-group h3{margin:0;font-size:20px}.feature-group ul{color:var(--muted);gap:6px;margin:0;padding-left:18px;line-height:1.45;display:grid}.section-more{color:var(--ink);justify-self:start;align-items:center;gap:6px;font-weight:600;display:inline-flex}.marketing-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.marketing-split p{color:var(--muted);margin:10px 0 0}.marketing-limits{margin:0;padding:0;list-style:none}.marketing-limits li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.marketing-limits li span:last-child{color:var(--muted);text-align:right}.marketing-faq .faq-list{margin:0}@media (width<=720px){.marketing-hero,.marketing-steps,.marketing-split,.feature-grid{grid-template-columns:1fr}.marketing-limits li{flex-direction:column;gap:2px}.marketing-limits li span:last-child{text-align:left}}.site-footer-base{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;display:flex}.site-footer-base a{color:var(--muted)}.legal-shell{grid-template-columns:180px minmax(0,720px);align-items:start;gap:clamp(24px,6vw,72px)}.legal-nav{gap:2px;display:grid;position:sticky;top:88px}.legal-nav a{color:var(--ink);border-radius:10px;padding:10px 14px;text-decoration:none}.legal-nav a[aria-current=page]{background:var(--subtle);font-weight:700}.legal-shell .legal-document{margin:0}.legal-shell .legal-title{gap:6px;margin-bottom:8px;display:grid}.legal-shell .legal-title h1{margin:0}.legal-date{color:var(--muted);margin:0;font-size:14px}.legal-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px 24px}.legal-summary ul{gap:6px;margin:0;padding-left:20px;display:grid}@media (width<=720px){.legal-shell{grid-template-columns:1fr}.legal-nav{display:flex;position:static}}.blog-chips{flex-wrap:wrap;gap:8px;display:flex}.blog-chips a{border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:9px 16px;font-size:14px;text-decoration:none}.blog-chips a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--page);font-weight:600}.blog-card{gap:0;padding:0;overflow:hidden}.blog-card.is-featured{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.blog-card-body{align-content:center;gap:8px;padding:20px 22px 22px;display:grid}.blog-card.is-featured .blog-card-body{padding:28px 32px}.blog-crumbs{color:var(--muted);gap:8px;font-size:14px;display:flex}.blog-crumbs a{color:var(--muted);text-decoration:none}.blog-crumbs a:hover{color:var(--accent)}.blog-cover{justify-content:center;align-items:center;gap:18px;min-height:190px;display:flex;overflow:hidden}.blog-card.is-featured .blog-cover{min-height:300px}.blog-cover-ai{background:var(--m3-primary-container);color:var(--m3-on-primary-container)}.blog-cover-walkthrough{background:var(--cat-transport-tint);color:#0b5a4b;align-items:flex-end;padding-top:28px}.blog-cover-guide{background:var(--cat-housing-tint);color:#6b4c05}.cover-receipt{font-family:var(--font-mono);background:#fff;border-radius:6px;gap:7px;width:130px;padding:14px;font-size:11px;display:grid;box-shadow:0 16px 32px -20px #4a0b7880}.cover-receipt span{justify-content:space-between;display:flex}.cover-receipt i{font-style:normal}.cover-total{border-top:1px dashed;padding-top:6px}.cover-chips{gap:7px;display:grid}.cover-chips span{white-space:nowrap;background:#fff;border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:600}.cover-chips .is-done{background:var(--ink);color:var(--page)}.cover-laptop,.cover-phone{box-sizing:border-box;background:#fff;border:2px solid;border-bottom:0}.cover-laptop{border-radius:10px 10px 0 0;width:230px;height:150px;display:flex;overflow:hidden}.cover-laptop>i{background:color-mix(in srgb, var(--cat-transport-tint) 50%, #fff);border-right:1px solid var(--cat-transport-tint);width:56px}.cover-laptop>div,.cover-phone{align-content:start;gap:7px;padding:12px;display:grid}.cover-laptop>div{flex:1}.cover-phone{border-radius:16px 16px 0 0;width:78px;height:130px;padding:14px 9px}.cover-laptop b,.cover-phone b{font-size:11px}.cover-laptop span,.cover-phone span{background:var(--cat-transport-tint);border-radius:4px;height:7px}.cover-laptop span:last-child,.cover-phone span:last-child{width:65%}.blog-video-wrap{position:relative}.blog-video{background:var(--page)}.blog-video-toggle{background:color-mix(in srgb, var(--page) 92%, transparent);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:absolute;bottom:12px;right:12px}.blog-figures-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);margin:0;padding:8px 20px 16px}.blog-figures-wrap figcaption{color:var(--muted);margin-top:10px;font-size:13px}.blog-figures dd{font-family:var(--font-mono);margin:0}.blog-figures dt{margin:0}.blog-next{gap:12px;margin-top:24px;display:grid}.blog-next-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.blog-next-grid a{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:14px;gap:4px;padding:16px 18px;text-decoration:none;display:grid}.blog-next-grid a:hover{border-color:var(--accent)}.blog-next-grid span{color:var(--muted);font-size:13px}@media (width<=720px){.blog-card.is-featured{grid-template-columns:1fr}.blog-card.is-featured .blog-cover{min-height:200px}}.topbar-public~main :not(.eyebrow),.site-footer :not(.eyebrow){text-transform:none}
