:root{--cb-bg: #0a0b0e;--cb-surface-1: #13151a;--cb-surface-2: #1a1d24;--cb-surface-3: #232731;--cb-hairline: rgba(255, 255, 255, .06);--cb-hairline-strong: rgba(255, 255, 255, .1);--cb-text-1: #f3f5f8;--cb-text-2: #a3aab8;--cb-text-3: #6b7280;--cb-accent: #3d6bff;--cb-accent-press: #3359d9;--cb-accent-text: #8ea9ff;--cb-accent-soft: rgba(61, 107, 255, .14);--cb-accent-glow: 0 8px 28px -8px rgba(61, 107, 255, .55);--cb-pos: #5dd39e;--cb-neg: #f2787a;--cb-neg-soft: rgba(242, 120, 122, .12);--cb-danger-text: #e5666a;--cb-avatar-a-bg: #1e2c57;--cb-avatar-a-fg: #a9beff;--cb-avatar-b-bg: #262b36;--cb-avatar-b-fg: #c9cfdb;--cb-r-sm: 10px;--cb-r-md: 14px;--cb-r-lg: 20px;--cb-r-xl: 28px;--cb-r-pill: 999px;--cb-gutter: 20px;--cb-row-h: 64px;--cb-font: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--cb-t-hero: 600 52px/1 var(--cb-font);--cb-t-hero-sm: 600 40px/1 var(--cb-font);--cb-t-title: 600 22px/1.2 var(--cb-font);--cb-t-body-strong: 550 15px/1.3 var(--cb-font);--cb-t-body: 400 15px/1.35 var(--cb-font);--cb-t-caption: 400 13px/1.35 var(--cb-font);--cb-t-label: 500 13px/1 var(--cb-font);--cb-t-chip: 550 12px/1 var(--cb-font);--cb-track-tight: -.035em;--cb-ease-out: cubic-bezier(.23, 1, .32, 1);--cb-ease-in-out: cubic-bezier(.77, 0, .175, 1);--cb-ease-drawer: cubic-bezier(.32, .72, 0, 1);--cb-d-press: .14s;--cb-d-state: .22s;--cb-d-sheet: .42s;--cb-tabbar-h: 60px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--cb-bg)}body{background:var(--cb-bg);color:var(--cb-text-1);font:var(--cb-t-body);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss03"}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:0;cursor:pointer;text-align:inherit}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--cb-accent);outline-offset:2px}svg.icon{display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.screen{position:relative;max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;padding:calc(var(--safe-top) + 4px) var(--cb-gutter) calc(var(--safe-bottom) + 48px)}.screen.has-tabbar{padding-bottom:calc(var(--safe-bottom) + var(--cb-tabbar-h) + 64px)}.center-screen{display:grid;place-items:center;min-height:100vh;min-height:100dvh;color:var(--cb-text-3)}.pressable{cursor:pointer;transition:transform var(--cb-d-press) var(--cb-ease-out),background-color var(--cb-d-state) ease,opacity var(--cb-d-state) ease}.pressable:active:not(:disabled){transform:scale(.97)}.money{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}.money.pos,.pos{color:var(--cb-pos)}.money.neg,.neg{color:var(--cb-neg)}.muted{color:var(--cb-text-2)}.hero-amount{font:var(--cb-t-hero);letter-spacing:var(--cb-track-tight);font-variant-numeric:tabular-nums;display:flex;align-items:flex-start}.hero-amount .cur{font-size:.56em;color:var(--cb-text-2);font-weight:500;margin:.12em .06em 0 0}.hero-amount .cents{color:var(--cb-text-2);font-weight:500}.hero-amount.sm{font:var(--cb-t-hero-sm);letter-spacing:var(--cb-track-tight)}.hero-amount.pos .whole{color:var(--cb-pos)}.hero-amount.neg .whole{color:var(--cb-neg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border:0;border-radius:var(--cb-r-pill);font:600 15px/1 var(--cb-font);letter-spacing:-.01em;white-space:nowrap}.btn svg{width:18px;height:18px}.btn:disabled{opacity:.4}.btn-primary{background:var(--cb-accent);color:#fff;box-shadow:var(--cb-accent-glow),0 0 0 1px #ffffff1a inset}.btn-primary:active:not(:disabled){background:var(--cb-accent-press)}.btn-primary:disabled{box-shadow:none}.btn-secondary{background:var(--cb-surface-3);color:var(--cb-text-1)}.btn-sm{height:34px;padding:0 14px;font-size:13.5px}.btn-block{width:100%}.icon-btn{width:40px;height:40px;border-radius:var(--cb-r-pill);border:0;display:grid;place-items:center;background:var(--cb-surface-2);color:var(--cb-text-1);flex:none}.icon-btn svg{width:20px;height:20px}.icon-btn.sm{width:34px;height:34px}.icon-btn.sm svg{width:16px;height:16px}.icon-btn.ghost{background:transparent;color:var(--cb-text-2)}.icon-btn.danger{width:26px;height:26px;background:var(--cb-neg-soft);color:var(--cb-danger-text)}.icon-btn.danger svg{width:14px;height:14px;stroke-width:2.4}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--cb-r-pill);font:var(--cb-t-chip);letter-spacing:0;white-space:nowrap;background:var(--cb-surface-2);color:var(--cb-text-2)}.chip svg{width:13px;height:13px;stroke-width:2.2}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.chip-accent{background:var(--cb-accent-soft);color:var(--cb-accent-text)}.chip-neg{background:var(--cb-neg-soft);color:var(--cb-neg)}.chip-quiet{background:transparent;color:var(--cb-text-3);padding:0}.avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font:600 14px/1 var(--cb-font);letter-spacing:-.01em;background:var(--cb-avatar-b-bg);color:var(--cb-avatar-b-fg)}.avatar.a{background:var(--cb-avatar-a-bg);color:var(--cb-avatar-a-fg)}.avatar.xs{width:18px;height:18px;font-size:8.5px}.avatar.sm{width:32px;height:32px;font-size:12px}.avatar.lg{width:56px;height:56px;font-size:19px}.avatar.xl{width:72px;height:72px;font-size:24px}.avatars{display:inline-flex}.avatars .avatar+.avatar{margin-left:-5px;box-shadow:0 0 0 2px var(--cb-bg)}.tile{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--cb-surface-2);color:var(--cb-text-2)}.tile svg{width:19px;height:19px}.tile.accent{background:var(--cb-accent-soft);color:var(--cb-accent-text)}.tile.round{border-radius:50%}.section-label{display:flex;align-items:center;justify-content:space-between;font:var(--cb-t-label);color:var(--cb-text-3);letter-spacing:0;margin:28px 0 4px}.section-label button{color:var(--cb-text-2);font:500 13px/1 var(--cb-font);padding:6px 0 6px 8px}.hint{font:var(--cb-t-caption);color:var(--cb-text-3);margin-top:8px}.hint.accent{color:var(--cb-accent-text)}.warn{color:var(--cb-neg)}.list{display:flex;flex-direction:column}.row{position:relative;display:flex;align-items:center;gap:14px;min-height:var(--cb-row-h);padding:10px 0;width:100%;text-align:left}.row+.row:before{content:"";position:absolute;top:0;right:0;left:54px;height:1px;background:var(--cb-hairline)}.row.flush+.row.flush:before,.row.flush+.row:before{left:0}.row.pressable{margin:0 -10px;padding:10px;width:calc(100% + 20px);border-radius:var(--cb-r-md)}.row.pressable+.row.pressable:before{left:64px;right:10px}.row.pressable.flush+.row.pressable.flush:before{left:10px}.row.pressable:active:not(:disabled){transform:scale(.985);background:var(--cb-surface-1)}.row.compact{min-height:52px;padding-block:6px}.row .main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.row .t{font:var(--cb-t-body-strong);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .s{font:var(--cb-t-caption);color:var(--cb-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.row .end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.row .end .money,.row>.money{font:var(--cb-t-body-strong);font-variant-numeric:tabular-nums}.row .kv{font:var(--cb-t-body);color:var(--cb-text-2);display:flex;align-items:center;gap:6px}.chev{width:16px;height:16px;color:var(--cb-text-3)}.add-row .t{color:var(--cb-accent-text)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px}.topbar-actions{display:flex;gap:8px;align-items:center}.backlink{display:inline-flex;align-items:center;gap:2px;margin-left:-6px;font:500 16px/1 var(--cb-font);color:var(--cb-text-2);height:40px;padding:0 6px;border-radius:var(--cb-r-pill)}.backlink svg{width:22px;height:22px}.bucket-switch{display:inline-flex;align-items:center;gap:10px;font:600 15px/1 var(--cb-font);letter-spacing:-.01em;min-width:0}.bucket-switch .mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--cb-accent-soft);color:var(--cb-accent-text);flex:none}.bucket-switch .mark svg{width:16px;height:16px}.bucket-switch small{display:block;font:500 12px/1 var(--cb-font);color:var(--cb-text-3);margin-top:4px}.page-title{font:600 28px/1.1 var(--cb-font);letter-spacing:-.03em}.form-title{font:600 17px/1 var(--cb-font);letter-spacing:-.015em}.hero{padding:22px 0 6px}.hero .eyebrow{font:500 14px/1 var(--cb-font);color:var(--cb-text-2);margin-bottom:14px;display:flex;align-items:center;gap:8px}.hero .sub{font:var(--cb-t-body);color:var(--cb-text-2);margin-top:14px}.hero .sub b{color:var(--cb-text-1);font-weight:550}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-actions .btn{flex:1}.rd-head{display:flex;align-items:center;gap:12px;margin-top:10px}.rd-head .t{font:600 17px/1.2 var(--cb-font);letter-spacing:-.015em}.rd-head .s{font:var(--cb-t-caption);color:var(--cb-text-2);margin-top:3px}.rd-thumb{width:40px;height:52px;border-radius:10px;overflow:hidden;flex:none;background:var(--cb-surface-2);box-shadow:0 0 0 1px var(--cb-hairline-strong) inset}.rd-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}.progress{margin-top:18px}.progress .bar{height:6px;border-radius:3px;background:var(--cb-surface-2);overflow:hidden}.progress .bar i{display:block;height:100%;width:100%;border-radius:inherit;background:var(--cb-accent);transform-origin:left;transform:scaleX(var(--p, 0));transition:transform .6s var(--cb-ease-out);box-shadow:0 0 12px #3d6bffb3}.progress .meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font:var(--cb-t-caption);color:var(--cb-text-2)}.progress .meta b{color:var(--cb-text-1);font-weight:550}.check{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;box-shadow:0 0 0 1.6px var(--cb-text-3) inset;color:#fff;background:transparent;transition:background-color var(--cb-d-state) ease,box-shadow var(--cb-d-state) ease}.check svg{width:14px;height:14px;stroke-width:2.6;opacity:0;transform:scale(.6);transition:opacity .16s ease,transform var(--cb-d-state) var(--cb-ease-out)}.check.on{background:var(--cb-accent);box-shadow:0 0 0 0 transparent inset}.check.on svg{opacity:1;transform:scale(1)}.item-row{gap:14px}.item-claim{display:flex;align-items:center;gap:14px;flex:1;min-width:0;text-align:left;padding:2px 0}.item-row .tag-btn{margin-right:-8px}.unclaimed{color:var(--cb-accent-text)}.paid-toggle{position:relative;display:inline-grid;height:34px;border:0;border-radius:var(--cb-r-pill);padding:0 14px;font:600 13.5px/1 var(--cb-font);color:#fff;background:var(--cb-accent);box-shadow:var(--cb-accent-glow);white-space:nowrap;transition:background-color var(--cb-d-state) ease,color var(--cb-d-state) ease,box-shadow var(--cb-d-state) ease,transform var(--cb-d-press) var(--cb-ease-out)}.paid-toggle>span{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:opacity .2s ease,filter .2s ease,transform var(--cb-d-state) var(--cb-ease-out)}.paid-toggle svg{width:14px;height:14px;stroke-width:2.4}.paid-toggle .is-paid{opacity:0;filter:blur(3px);transform:translateY(4px)}.paid-toggle.paid{background:var(--cb-surface-2);color:var(--cb-text-2);box-shadow:none}.paid-toggle.paid .is-open{opacity:0;filter:blur(3px);transform:translateY(-4px)}.paid-toggle.paid .is-paid{opacity:1;filter:none;transform:none}.paid-toggle.lg{height:48px;padding:0 22px;font-size:15px;flex:1}.split-amt{transition:color var(--cb-d-state) ease,opacity var(--cb-d-state) ease}.is-settled .split-amt{color:var(--cb-text-3);text-decoration:line-through;text-decoration-color:#ffffff2e}.danger-link{display:block;margin:28px auto 0;font:500 14px/1 var(--cb-font);color:var(--cb-danger-text);padding:10px 14px;border-radius:var(--cb-r-pill)}.totals .row{min-height:44px;padding-block:6px}.totals .row .t{font:var(--cb-t-body);color:var(--cb-text-2)}.totals .row.total .t,.totals .row.total .money{color:var(--cb-text-1);font-weight:600}.menu-scrim{position:fixed;inset:0;z-index:24}.menu{position:absolute;z-index:25;top:calc(var(--safe-top) + 52px);right:var(--cb-gutter);width:200px;padding:6px;border-radius:16px;background:var(--cb-surface-1);box-shadow:0 0 0 1px var(--cb-hairline-strong) inset,0 20px 40px -12px #000c;transform-origin:top right;animation:pop .2s var(--cb-ease-out)}.menu button{width:100%;display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;border-radius:10px;font:500 15px/1 var(--cb-font);color:var(--cb-text-1)}.menu button:active{background:var(--cb-surface-2)}.menu button svg{width:18px;height:18px;color:var(--cb-text-2)}.menu .del,.menu .del svg{color:var(--cb-danger-text)}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.split-summary{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border-top:1px solid var(--cb-hairline);border-bottom:1px solid var(--cb-hairline)}.split-summary>div{padding:14px 0}.split-summary>div+div{padding-left:18px;border-left:1px solid var(--cb-hairline)}.split-summary span{display:block;font:var(--cb-t-caption);color:var(--cb-text-2);margin-bottom:6px}.split-summary strong{font:600 19px/1 var(--cb-font);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.person-focus{padding:18px 0 4px}.person-focus+.person-focus{border-top:1px solid var(--cb-hairline);margin-top:14px}.person-focus .who{display:flex;align-items:center;gap:14px}.person-focus .who .t{font:600 16px/1.2 var(--cb-font);letter-spacing:-.01em}.person-focus .who .s{font:var(--cb-t-caption);color:var(--cb-text-2);margin-top:3px}.person-focus .who .money{margin-left:auto;font:600 20px/1 var(--cb-font);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.person-focus .acts{display:flex;gap:10px;margin-top:16px}.person-focus .acts .btn{flex:1;height:44px}.person-head{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 0}.person-head .t{font:var(--cb-t-title);letter-spacing:-.025em;margin-top:12px}.person-head .hero{display:flex;flex-direction:column;align-items:center;padding-top:18px}.group-head{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0 0}.group-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(160deg,#2a4bd8,#1a2f86);color:#fff;box-shadow:0 14px 34px -12px #3d6bffb3,0 0 0 1px #ffffff1f inset;flex:none}.group-mark svg{width:26px;height:26px}.group-mark.lg{width:76px;height:76px;border-radius:24px}.group-mark.lg svg{width:34px;height:34px}.group-head h2{font:var(--cb-t-title);letter-spacing:-.025em;margin-top:12px}.group-head p{font:var(--cb-t-caption);color:var(--cb-text-2);margin-top:4px;display:flex;align-items:center;gap:6px}.morph{display:inline-grid}.morph>span{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s ease,filter .2s ease,transform var(--cb-d-state) var(--cb-ease-out)}.morph .done{opacity:0;filter:blur(3px);transform:translateY(4px)}.morph.on .idle{opacity:0;filter:blur(3px);transform:translateY(-4px)}.morph.on .done{opacity:1;filter:none;transform:none}.select-overlay{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.field{display:block;width:100%;height:52px;padding:0 16px;border-radius:var(--cb-r-md);border:0;background:var(--cb-surface-1);box-shadow:0 0 0 1px var(--cb-hairline) inset;font:var(--cb-t-body);font-size:16px;color:var(--cb-text-1);outline:none;transition:box-shadow var(--cb-d-state) ease}.field:focus{box-shadow:0 0 0 1.5px var(--cb-accent) inset}.field::placeholder,.inline-input::placeholder{color:var(--cb-text-3)}.fields{display:grid;gap:10px}.inline-input{flex:1;min-width:0;border:0;background:transparent;outline:none;font:var(--cb-t-body-strong);font-size:16px;letter-spacing:-.01em;color:var(--cb-text-1);height:28px}.inline-input.end{text-align:right;font-variant-numeric:tabular-nums}.inline-input.price{flex:0 0 88px}input[type=date].inline-input{color:var(--cb-text-2);text-align:right}input[type=date].inline-input::-webkit-calendar-picker-indicator{filter:invert(.7)}.field-row .label{color:var(--cb-text-2);font:var(--cb-t-body);flex:none;min-width:84px}.amount-input{display:flex;align-items:flex-start;justify-content:center;gap:2px;padding:18px 0 8px}.amount-input .cur{font:500 29px/1 var(--cb-font);color:var(--cb-text-2);margin-top:6px}.amount-input input{width:6ch;min-width:2ch;max-width:100%;border:0;background:transparent;outline:none;font:var(--cb-t-hero);letter-spacing:var(--cb-track-tight);font-variant-numeric:tabular-nums;color:var(--cb-text-1);text-align:left;height:56px}.amount-input input::placeholder{color:var(--cb-text-3)}.scan-card{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:18px;border:0;border-radius:22px;text-align:left;color:var(--cb-text-1);background:radial-gradient(120% 140% at 0% 0%,#3d6bff4d,#3d6bff0f 55%,#3d6bff08),var(--cb-surface-2);box-shadow:0 0 0 1px #6e91ff38 inset}.scan-card .big{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--cb-accent);color:#fff;box-shadow:var(--cb-accent-glow);flex:none}.scan-card .big svg{width:24px;height:24px}.scan-card .t{display:block;font:600 17px/1.2 var(--cb-font);letter-spacing:-.015em}.scan-card .s{display:block;font:var(--cb-t-caption);color:var(--cb-text-2);margin-top:4px}.scan-card .chev{margin-left:auto}.photo-card{display:flex;gap:14px;align-items:center;margin-top:14px;padding:12px;border-radius:var(--cb-r-lg);background:var(--cb-surface-1);box-shadow:0 0 0 1px var(--cb-hairline) inset}.photo-card .rd-thumb{width:56px;height:72px}.photo-status{flex:1;min-width:0;display:grid;gap:8px;font:var(--cb-t-caption);color:var(--cb-text-2)}.photo-status .reading{display:inline-flex;align-items:center;gap:8px;color:var(--cb-text-1);font:var(--cb-t-body-strong)}.photo-status.is-error>span{color:var(--cb-neg)}.photo-actions{display:flex;gap:16px}.photo-actions button{color:var(--cb-accent-text);font:550 13px/1 var(--cb-font)}.bottom-cta{margin-top:28px}.fade{position:fixed;left:0;right:0;bottom:0;height:calc(var(--safe-bottom) + 120px);z-index:9;pointer-events:none;background:linear-gradient(180deg,rgba(10,11,14,0) 0%,rgba(10,11,14,.86) 55%,var(--cb-bg) 100%)}.tabbar{position:fixed;z-index:10;left:50%;bottom:calc(var(--safe-bottom) + 12px);transform:translate(-50%);display:flex;gap:2px;padding:5px;border-radius:var(--cb-r-pill);background:#1a1d24db;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 0 0 1px var(--cb-hairline-strong) inset,0 12px 30px -10px #000000b3}.tab{display:flex;align-items:center;gap:7px;height:46px;padding:0 16px;border-radius:var(--cb-r-pill);font:550 14px/1 var(--cb-font);color:var(--cb-text-3);letter-spacing:-.01em;transition:background-color var(--cb-d-state) ease,color var(--cb-d-state) ease,transform var(--cb-d-press) var(--cb-ease-out)}.tab svg{width:20px;height:20px}.tab.is-active{background:var(--cb-surface-3);color:var(--cb-text-1)}.tab.is-active svg{color:var(--cb-accent-text)}.scrim{position:fixed;inset:0;z-index:40;background:#0405079e;animation:fade-in .3s ease}.sheet{position:fixed;z-index:41;left:8px;right:8px;bottom:calc(var(--safe-bottom) + 8px);max-width:504px;margin:0 auto;max-height:calc(100dvh - var(--safe-top) - 40px);overflow:auto;padding:8px 18px 18px;border-radius:32px;background:var(--cb-surface-1);box-shadow:0 0 0 1px var(--cb-hairline-strong) inset,0 -20px 60px -20px #000000e6;animation:sheet-in var(--cb-d-sheet) var(--cb-ease-drawer)}.grabber{width:36px;height:5px;border-radius:3px;background:#ffffff29;margin:0 auto 14px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.sheet-head h3{font:600 19px/1.2 var(--cb-font);letter-spacing:-.02em}.sheet-head p{font:var(--cb-t-caption);color:var(--cb-text-2);margin-top:3px}.sheet .list{margin-top:6px}.sheet .row .tile{background:var(--cb-surface-3);color:var(--cb-text-1)}.sheet .row.pressable:active:not(:disabled){background:var(--cb-surface-2)}.sheet .btn-block+.btn-block{margin-top:10px}@keyframes sheet-in{0%{transform:translateY(calc(100% + 40px))}}@keyframes fade-in{0%{opacity:0}}.welcome{max-width:440px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--safe-top) + 32px) var(--cb-gutter) calc(var(--safe-bottom) + 32px)}.welcome-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:8px}.welcome-head h1{font:600 30px/1.1 var(--cb-font);letter-spacing:-.03em;margin-top:8px}.welcome-head p{color:var(--cb-text-2);max-width:32ch}.welcome .btn-block{margin-top:12px}.setup ol{padding-left:20px;display:grid;gap:10px;color:var(--cb-text-2);margin-top:8px}.setup code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--cb-text-1);background:var(--cb-surface-2);padding:1px 6px;border-radius:6px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:48px 24px;color:var(--cb-text-2)}.empty .t{color:var(--cb-text-1);font:600 17px/1.2 var(--cb-font);letter-spacing:-.015em;margin-top:8px}.toast{position:fixed;left:50%;top:calc(var(--safe-top) + 12px);transform:translate(-50%);z-index:60;width:max-content;max-width:calc(100% - 32px);padding:12px 18px;border-radius:var(--cb-r-pill);background:var(--cb-surface-2);box-shadow:0 0 0 1px var(--cb-hairline-strong) inset,0 16px 40px -12px #000c;font:550 14px/1.3 var(--cb-font);animation:drop .26s var(--cb-ease-out)}@keyframes drop{0%{opacity:0;transform:translate(-50%,-10px)}}.spinner{animation:spin .9s steps(8) infinite;color:var(--cb-text-3)}.btn .spinner{color:currentColor}@keyframes spin{to{transform:rotate(360deg)}}.viewer{position:fixed;inset:0;z-index:70;background:#000;display:flex;flex-direction:column;animation:fade-in .2s ease}.viewer-bar{display:flex;justify-content:flex-end;padding:calc(var(--safe-top) + 8px) 12px 8px}.viewer-scroll{flex:1;overflow:auto;padding-bottom:calc(var(--safe-bottom) + 16px)}.viewer-scroll img{display:block;width:100%;max-width:900px;margin:0 auto}@media(hover:hover)and (pointer:fine){.row.pressable:hover{background:#ffffff06}.btn-secondary:hover{background:#2a2f3a}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}.pressable:active,.row.pressable:active{transform:none!important}.paid-toggle>span,.morph>span{transform:none!important;filter:none!important}}.items .row+.row:before{left:38px}
