@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 #14261c0d;--shadow:0 6px 18px #14261c14;--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;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}: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}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}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{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb, var(--page) 82%, transparent);border-bottom:1px solid var(--line);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:2px;padding:4px;display:flex}.top-link{border-radius:var(--radius-pill);color:var(--muted);align-items:center;min-height:34px;padding:0 12px;font-size:13px;text-decoration:none;transition:background .14s,color .14s;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);z-index:40;border:1px solid #d4e6db;border-radius:999px;justify-content:space-between;align-items:center;gap:10px;min-width:min(320px,100vw - 32px);max-width:calc(100vw - 32px);min-height:42px;padding:6px 8px 6px 14px;font-size:13px;font-weight:500;display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)}.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 16px 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 h1{max-width:10ch}.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)}}@keyframes screenSlide{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@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-header-actions{align-items:center;gap:8px;display:inline-flex}.room-delete-button{border-color:color-mix(in srgb, var(--warn) 42%, var(--line));color:var(--warn);width:38px;min-height:38px}.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::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,100vh - 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(86vh,720px);overflow:auto}.form-error{color:var(--neg);margin:0 0 12px;font-size:13px}.modal-backdrop{z-index:30;background:#0e1b146b;justify-content:center;align-items:end;padding:16px;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-panel{gap:12px;width:286px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.tweaks-head{color:var(--accent);align-items:center;gap:8px;display:flex}.tweak-choice{gap:7px;display:grid}.tweak-choice>span{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-flow:column;gap:4px;padding:4px;display:grid}.tweak-options button{border-radius:calc(var(--radius-control) - 3px);color:var(--muted);background:0 0;border:0;min-height:34px;padding:0 9px;font-size:12px}.tweak-options button.active{background:var(--ink);color:var(--page)}.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;margin:auto}.profile-modal input:disabled{color:var(--muted);opacity:1}.profile-edit-button{min-width:104px}.brand svg{color:var(--accent)}.topbar{-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);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,transform 80ms,box-shadow .16s}.primary:active,.secondary:active,.warn:active,.icon-text:active{transform:scale(.98)}.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}.balance-note{color:#fbf7ee8c;letter-spacing:.01em;margin-top:8px;font-size:12px;font-weight:500;display:block}.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}.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;align-items:center}.modal{box-shadow:var(--shadow-lg);max-width:480px;max-height:min(80vh,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}.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: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{--liquid-nav-bg:rgba(255, 255, 255, var(--liquid-nav-glass-background-opacity,.2));--liquid-nav-progressive-blur:calc((var(--liquid-nav-blur-level,1.2) + var(--liquid-nav-progressive-blur-strength,.87) * 10) * 1px);background:linear-gradient(180deg, #ffffff3d, #ffffff0f), var(--liquid-nav-bg);-webkit-backdrop-filter:url(#owetell-mobile-liquid-glass) blur(calc(var(--liquid-nav-blur-level,1.2) * 1px)) saturate(1.08);backdrop-filter:url(#owetell-mobile-liquid-glass) blur(calc(var(--liquid-nav-blur-level,1.2) * 1px)) saturate(1.08);contain:layout paint style;isolation:isolate;border:1px solid #ffffff6b;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 #ffffffbd,inset 0 -1px 2px #0e1b141f}.mobile-fab{background:linear-gradient(180deg, #ffffff4d, #ffffff0d), color-mix(in srgb, var(--m3-primary) 82%, transparent);-webkit-backdrop-filter:url(#owetell-mobile-liquid-glass-fab) blur(calc(var(--liquid-nav-blur-level,1.2) * 1px)) saturate(1.1);backdrop-filter:url(#owetell-mobile-liquid-glass-fab) blur(calc(var(--liquid-nav-blur-level,1.2) * 1px)) saturate(1.1);color:#fff;isolation:isolate;height:54px;transition:transform var(--dur-fast) var(--ease-spring), box-shadow 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:after{border-radius:inherit;content:"";mix-blend-mode:screen;opacity:var(--liquid-nav-specular-opacity,.45);pointer-events:none;z-index:1;background:radial-gradient(circle at 26% -18%,#fffffff2,#0000 42%),linear-gradient(112deg,#ffffffb3,#ffffff0f 26%,#0000 52%);position:absolute;inset:0}.mobile-fab>svg{z-index:2;position:relative}.mobile-fab:hover{box-shadow:0 14px 30px #9640e070,inset 0 1px 1px #fff9,inset 0 -1px 2px #14261c2e}.mobile-fab:active{transform:scale(.94)}.bottom-nav:before,.bottom-nav:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.bottom-nav:before{-webkit-backdrop-filter:blur(var(--liquid-nav-progressive-blur));backdrop-filter:blur(var(--liquid-nav-progressive-blur));-webkit-mask-image:linear-gradient(180deg, rgba(0, 0, 0, var(--liquid-nav-progressive-blur-strength,.87)) 0%, #00000085 34%, transparent 86%);-webkit-mask-image:linear-gradient(180deg, rgba(0, 0, 0, var(--liquid-nav-progressive-blur-strength,.87)) 0%, #00000085 34%, transparent 86%);mask-image:linear-gradient(180deg, rgba(0, 0, 0, var(--liquid-nav-progressive-blur-strength,.87)) 0%, #00000085 34%, transparent 86%);opacity:.9;z-index:0}.bottom-nav:after{filter:saturate(var(--liquid-nav-specular-saturation,10));mix-blend-mode:screen;opacity:var(--liquid-nav-specular-opacity,.45);z-index:1;background:radial-gradient(circle at 18% -35%,#ffffffeb,#0000 34%),radial-gradient(circle at 82% 132%,#9640e047,#0000 32%),linear-gradient(112deg,#ffffffd1,#ffffff14 22%,#0000 48%),linear-gradient(#ffffff5c,#0000 46%)}.bottom-nav a{color:var(--muted);z-index:2;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;font-size:11px;text-decoration:none;transition:background .16s,color .16s,transform .12s;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));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(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);background:color-mix(in srgb, var(--page) 84%, transparent);gap:12px;min-height:62px;padding:0 20px}.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)}.room-delete-button{width:44px;min-height:44px}.room-header-actions .invite-button{min-height:44px;padding-inline:20px}}.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}.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}.switch{appearance:none;background:var(--subtle);cursor:pointer;border:0;border-radius:999px;flex:none;width:44px;height:26px;min-height:0;margin:0;transition:background .16s;position:relative}.switch:after{content:"";background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #14261c4d}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.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}.balance-hero-amount{color:var(--subtle);letter-spacing:-.03em;margin:10px 0 0;font-size:clamp(34px,9vw,42px);font-weight:500;line-height:1;display:block}.balance-hero--owed .balance-hero-amount{color:var(--owed-bright,#7fd0a4)}.balance-hero--owe .balance-hero-amount{color:var(--owe-bright,#e2917f)}.balance-hero .balance-note{color:#9fae9f;margin-top:6px}.balance-hero-stats{border-top:1px solid #ffffff17;gap:18px;margin-top:18px;padding-top:16px;display:flex}.balance-hero-stats>div{flex:1}.balance-hero-stats .eyebrow{color:#7e8e7e}.balance-hero-stats strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:4px;font-size:17px;font-weight:500;display:block}.balance-hero-rule{background:#ffffff17;flex:none;width:1px}.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;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--page);overscroll-behavior:contain;max-height:min(88vh,760px);padding:12px 20px calc(24px + env(safe-area-inset-bottom));touch-action:pan-y;transition:transform .22s var(--ease-out,cubic-bezier(.2, 0, 0, 1));border-radius:26px 26px 0 0;width:100%;animation:.22s ease-out sheet-rise;overflow:auto;box-shadow:0 -10px 40px #0000004d}.sheet-panel.is-dragging{transition:none}.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,.14s) ease, width var(--dur-fast,.14s) ease;background:#ddd2bd;border-radius:999px;width:38px;margin:0 auto;display:block}.sheet-grip:active .sheet-handle{background:#c6b79c;width:46px}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.sheet-panel{transition:none;animation:none}}@media (width>=640px){.sheet-panel{border-radius:22px;max-width:520px;margin-bottom:24px}.sheet-grip{margin:-12px -20px 2px;padding:10px 20px 8px}}.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-fast) var(--ease-out);border-radius:14px;gap:3px;margin:-6px 4px;padding:6px 8px 7px}.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(.96)}.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:transform var(--dur-fast) var(--ease-out), 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}.week-card:hover{transform:translateY(var(--hover-lift));box-shadow:0 2px 5px #14261c1f,0 10px 22px #14261c24}.week-card:active{transform:scale(.97)}.week-card--selected{background:var(--m3-primary);border-color:var(--m3-primary);box-shadow:0 2px 6px #14261c24,0 12px 24px #9640e057}.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:88px;display:flex}.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{align-items:center;gap:2px;display:flex;position:absolute;bottom:9px;right:10px}.room-history .row-action{width:32px;height:32px}.room-history .expense-reactions{grid-area:3/2/auto/-1;margin-top:0;padding-right:88px}@media (width<=380px){.room-history .expense-row-meta .avatar-stack{display:none}.room-history .row-action{width:30px;height:30px}.room-history .expense-row-meta,.room-history .expense-reactions{padding-right:84px}}.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);margin-left:auto;transition:transform .15s}.recently-deleted[open] .recently-deleted-chevron{transform:rotate(180deg)}.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}.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}.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}.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{align-items:stretch;gap:16px;padding:18px 20px;display:flex}.balance-hero-primary{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.balance-hero-amount{margin:6px 0 0;font-size:clamp(30px,8vw,40px)}.balance-hero .balance-note{margin-top:4px}.balance-hero-stats{background:#ffffff0d;border-top:0;border-radius:14px;align-content:center;gap:1px;min-width:132px;margin:0;padding:0;display:grid;overflow:hidden}.balance-hero-stats:before{display:none}.balance-hero-stat{background:#ffffff08;gap:4px;padding:10px 14px;display:grid}.balance-hero-stat strong{color:var(--page);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:16px;font-weight:500;display:block}@media (width<=380px){.balance-hero{flex-direction:column}.balance-hero-stats{grid-auto-columns:1fr;grid-auto-flow:column}}.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))}}@media (width<=600px){.mascot-buddy-bubble{display:none}}.card{transition:box-shadow var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out)}button,.icon-text,.icon-button{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-fast) var(--ease-spring)}button:active,.icon-text:active,.icon-button:active{transform:scale(.97)}: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:hover,.icon-button.danger-icon:focus-visible{background:var(--neg-bg);color:var(--neg)}.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}.ds-footer-actions .tweaks-panel{inset:auto auto calc(100% + 8px) 0}.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;border-radius:11px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .14s,color .14s;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;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;text-decoration:none;transition:background .14s;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);flex:none;transition:transform .18s}.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{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.customize-button{min-height:42px}.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}.subs-layout{padding-bottom:120px}.subs-title{grid-template-columns:1fr auto;align-items:center}.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-view{margin-bottom:16px}.subs-lens{margin-bottom:12px}.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}.subs-history-toggle:hover{color:var(--ink)}.subs-history-toggle svg{transition:transform .15s}.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}.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);border-radius:10px;gap:2px;min-height:62px;padding:5px;display:grid}.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-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{min-height:48px}.subs-cal-dot{height:6px;padding:0;font-size:0}}.m3-tonal-button{transition:transform var(--dur-fast) var(--ease-spring);position:relative;overflow:hidden}.m3-tonal-button:active{transform:scale(.96)}.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}.room-card--tinted{transition:transform var(--dur-mid) var(--ease-out), box-shadow var(--dur-mid) var(--ease-out)}.room-card--tinted:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow)}.room-card--tinted .room-glyph{color:var(--m3-on-primary)}.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>=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;background:0 0;border:0;border-radius:999px;padding:4px;font-size:14px;line-height:1;transition:opacity .12s,background .12s}.reaction-toggle:hover{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);border-radius:999px;gap:2px;padding:3px;display:inline-flex;position:absolute;bottom:calc(100% + 6px);right:0}.reaction-rail button{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 6px;font-size:15px;line-height:1;transition:transform .12s,background .12s}.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);flex-direction:column;justify-content:center;align-items:center;gap:12px;animation:.22s ease-out fadeScale;display:flex;position:fixed;inset: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{border-radius:28px;transform:scale(.9)}}.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)}
