@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-semibold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-bold.woff2)format("woff2");font-weight:700;font-display:swap}:root{color-scheme:light dark;--ink:#171717;--amber:#f5a623;--scrim:#00000030;--bg-canvas:#fafafa;--surface-card:#fff;--surface-muted:#f5f5f5;--border-default:#ebebeb;--border-field:#d4d4d4;--text-body:#171717;--text-secondary:#666;--text-decorative:#8f8f8f;--accent-primary:#171717;--text-on-accent:#fff;--accent-focus:#005fcc;--accent-focus-hover:#004a9f;--accent-success:#1a7f45;--accent-warning-fg:#9a5b00;--accent-error:#cc2e33;--wash-success:#1a7f4515;--wash-primary:#17171715;--wash-hover:#17171710;--wash-focus:#005fcc15;--font-heading:"Avenir Next", "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Inter, Arial, sans-serif;--text-13:.8125rem;--text-15:.9375rem;--text-18:1.125rem;--text-22:1.375rem;--text-28:1.75rem;--text-display:clamp(2.5rem, 5vw, 3.5rem);--text-section:clamp(1.75rem, 3.2vw, 2.5rem);--leading-tight:1.1;--leading-snug:1.4;--leading-relaxed:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--content-max:1120px;--page-gutter:var(--space-5);--section-gap:96px;--radius-chip:6px;--radius-notice:8px;--radius-control:12px;--radius-sheet:16px;--radius-card:20px;--radius-pill:999px;--shadow-card:0 1px 2px 0 #0000000a;--shadow-sheet:0 -4px 16px 0 #0000001f;--ring-focus:0 0 0 2px var(--accent-focus);--ease-out:cubic-bezier(0, 0, .2, 1);--motion-fast:.15s;--motion-base:.2s;--motion-slow:.25s;--motion-money:.4s;--press-scale:.98}@media (width>=900px){:root{--page-gutter:var(--space-12);--section-gap:144px}}@media (prefers-color-scheme:dark){:root{--bg-canvas:#0a0a0a;--surface-card:#111;--surface-muted:#1a1a1a;--border-default:#2e2e2e;--border-field:#3d3d3d;--text-body:#ededed;--text-secondary:#8f8f8f;--text-decorative:#666;--accent-primary:#fff;--text-on-accent:#171717;--accent-focus:#3291ff;--accent-focus-hover:#62aaff;--accent-success:#3dd68c;--accent-warning-fg:#f5a623;--accent-error:#ff6369;--wash-success:#3dd68c1f;--wash-primary:#ffffff1a;--wash-hover:#ffffff10;--wash-focus:#3291ff30;--shadow-sheet:0 -4px 16px 0 #00000080}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-slow:0s;--motion-money:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg-canvas);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-18);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}h1,h2,h3{font-family:var(--font-heading);text-wrap:balance;margin:0;font-weight:700;line-height:1.15}p,ol,ul,dl,dd,figure{margin:0}ol,ul{padding:0;list-style:none}img,svg{display:block}a{color:var(--accent-focus);text-underline-offset:3px}a:hover{color:var(--accent-focus-hover)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px;border-radius:4px}::selection{background:var(--wash-focus)}.page-width{width:100%;max-width:calc(var(--content-max) + 2 * var(--page-gutter));padding-inline:var(--page-gutter);margin-inline:auto}.skip-link{left:var(--space-4);z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--accent-primary);color:var(--text-on-accent);font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:var(--space-4);color:var(--text-on-accent)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:56px;padding:0 var(--space-6);border-radius:var(--radius-control);font-size:var(--text-18);cursor:pointer;transition:transform var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);border:1px solid #0000;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button:active{transform:scale(var(--press-scale))}.button-primary{background:var(--accent-primary);color:var(--text-on-accent)}.button-primary:hover{background:color-mix(in srgb, var(--accent-primary) 86%, var(--bg-canvas));color:var(--text-on-accent)}.button-secondary{border-color:var(--border-field);background:var(--surface-card);min-height:48px;color:var(--text-body);font-size:1rem}.button-secondary:hover{background:var(--wash-hover);color:var(--text-body)}.text-secondary{color:var(--text-secondary)}.fine-print{font-size:var(--text-15);line-height:var(--leading-snug);color:var(--text-secondary)}.step-circle{border:2px solid var(--border-field);width:24px;height:24px;color:var(--text-secondary);font-size:var(--text-13);transition:background-color var(--motion-base) var(--ease-out), border-color var(--motion-base) var(--ease-out);border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid;position:relative}.step-circle svg{opacity:0;transition:opacity var(--motion-base) var(--ease-out);position:absolute}.is-current .step-circle{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--text-on-accent)}.is-done .step-circle{border-color:var(--accent-success);background:var(--accent-success);color:#0000}.is-done .step-circle svg{opacity:1;color:var(--text-on-accent)}@media (prefers-color-scheme:dark){.is-done .step-circle svg{color:#0a0a0a}}.app-screen{--app-ink:#171717;--app-secondary:#666;--app-canvas:#fafafa;--app-card:#fff;--app-muted:#f5f5f5;--app-border:#ebebeb;--app-field:#d4d4d4;--app-green:#1a7f45;--app-green-wash:#1a7f4515;--app-amber:#f5a623;--app-amber-text:#9a5b00;--app-blue:#005fcc;background:var(--app-canvas);width:390px;height:800px;color:var(--app-ink);font-family:var(--font-body);text-align:left;user-select:none;font-size:16px;line-height:1.4;position:relative;overflow:hidden}.app-page{background:var(--app-canvas);flex-direction:column;gap:24px;padding:48px 20px 32px;display:flex;position:absolute;inset:0}.app-page:has(>.app-scroll):before{content:"";z-index:1;background:linear-gradient(var(--app-canvas) 60%, transparent);pointer-events:none;height:44px;position:absolute;top:0;left:0;right:0}.app-status-bar{z-index:5;pointer-events:none;color:#fff;mix-blend-mode:difference;justify-content:space-between;align-items:center;height:36px;padding:0 26px;font-size:13px;font-weight:600;display:flex;position:absolute;top:0;left:0;right:0}.app-battery{border:1.5px solid;border-radius:3px;width:22px;height:11px;padding:1px}.app-battery:after{content:"";background:currentColor;border-radius:1px;width:70%;height:100%;display:block}.app-heading{font-family:var(--font-heading);font-weight:700;line-height:1.15}.app-h1{font-size:28px}.app-h2{font-size:22px}.app-h3{font-size:18px}.app-secondary{color:var(--app-secondary)}.app-small{font-size:15px}.app-tiny{font-size:13px}.app-stack{flex-direction:column;display:flex}.app-row{align-items:center;gap:12px;display:flex}.app-row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-gap-4{gap:4px}.app-gap-8{gap:8px}.app-gap-12{gap:12px}.app-gap-16{gap:16px}.app-gap-24{gap:24px}.app-card{border:1px solid var(--app-border);background:var(--app-card);border-radius:20px;flex-direction:column;gap:16px;padding:16px;display:flex}.app-card-roomy{padding:20px}.app-divider{background:var(--app-border);height:1px}.app-avatar{border:1px solid var(--app-border);background:var(--app-muted);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;font-size:18px;font-weight:700;display:grid}.app-avatar-small{width:44px;height:44px;font-size:15px}.app-money{font-family:var(--font-heading);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:700;line-height:1}.app-owed{color:var(--app-amber-text);align-items:center;gap:8px;font-size:15px;display:flex}.app-owed:before{content:"";background:var(--app-amber);border-radius:50%;width:10px;height:10px}.app-done-line{color:var(--app-green);align-items:center;gap:8px;font-size:15px;display:flex}.app-done-banner{background:var(--app-green-wash);height:48px;color:var(--app-green);border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.app-button{white-space:nowrap;height:56px;transition:transform var(--motion-fast) var(--ease-out);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:18px;font-weight:600;display:flex}.app-button-primary{background:var(--app-ink);color:#fff}.app-button-secondary{border-color:var(--app-field);background:var(--app-card)}.app-button-quiet{height:48px;font-size:16px}.app-button-dismiss{height:48px;color:var(--app-secondary);font-size:15px}.app-button-small{border-color:var(--app-field);background:var(--app-card);height:44px;padding:0 12px;font-size:15px}.app-message{background:var(--app-muted);border-radius:20px;padding:16px;font-size:17px;line-height:1.45}.app-message-on-page{border:1px solid var(--app-border);background:var(--app-card)}.app-badge{background:var(--app-ink);color:#fff;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:600}.app-back{align-items:center;gap:8px;height:44px;font-size:16px;font-weight:600;display:flex}.app-tracker{align-items:center;gap:8px;font-size:15px;display:flex}.app-tracker-step{color:var(--app-secondary);white-space:nowrap;align-items:center;gap:8px;display:flex}.app-tracker-circle{border:2px solid var(--app-field);width:24px;height:24px;transition:background-color var(--motion-base) var(--ease-out), border-color var(--motion-base) var(--ease-out);border-radius:50%;place-items:center;font-size:13px;display:grid;position:relative}.app-tracker-circle svg{opacity:0;transition:opacity var(--motion-base) var(--ease-out);position:absolute}.app-tracker-line{background:var(--app-border);height:2px;transition:background-color var(--motion-base) var(--ease-out);flex:1}.app-tracker-step.is-current{color:var(--app-ink);font-weight:700}.app-tracker-step.is-current .app-tracker-circle{border-color:var(--app-ink);background:var(--app-ink);color:#fff}.app-tracker-step.is-done{color:var(--app-green);font-weight:400}.app-tracker-step.is-done .app-tracker-circle{border-color:var(--app-green);background:var(--app-green);color:#0000}.app-tracker-step.is-done .app-tracker-circle svg{opacity:1}.app-tracker-line.is-done{background:var(--app-green)}.app-scrim{z-index:10;transition:opacity var(--motion-base) var(--ease-out);background:#00000030;position:absolute;inset:0}.app-sheet{z-index:11;transition:transform var(--motion-slow) var(--ease-out);background:#fff;border-radius:16px 16px 4px 4px;flex-direction:column;gap:20px;padding:12px 20px 32px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000001f}.app-sheet-handle{background:var(--app-field);border-radius:999px;align-self:center;width:36px;height:5px}.app-choice{border:1px solid var(--app-border);background:var(--app-card);transition:background-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);border-radius:20px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.app-radio{border:2px solid var(--app-ink);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin-top:2px;display:grid}.app-radio:after{content:"";background:var(--app-ink);width:12px;height:12px;transition:transform var(--motion-base) var(--ease-out);border-radius:50%;transform:scale(0)}.app-choice.is-on{border-color:var(--app-ink);background:var(--app-muted);box-shadow:inset 0 0 0 1px var(--app-ink)}.app-choice.is-on .app-radio:after{transform:scale(1)}.app-tile-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.app-tile{border:1px solid var(--app-field);background:var(--app-card);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:112px;font-size:20px;font-weight:700;display:flex}.show,.rise{transition:opacity var(--motion-base) var(--ease-out), transform var(--motion-slow) var(--ease-out), visibility 0s linear 0s}:is(.show,.rise):is([data-from]:not(.is-on),.is-off){visibility:hidden;pointer-events:none;transition:opacity var(--motion-base) var(--ease-out), transform var(--motion-slow) var(--ease-out), visibility 0s linear var(--motion-slow)}.show:is([data-from]:not(.is-on),.is-off){opacity:0}.rise:is([data-from]:not(.is-on),.is-off){transform:translateY(110%)}.is-resetting,.is-resetting *{transition:none!important}.fold{transition:grid-template-rows var(--motion-slow) var(--ease-out), opacity var(--motion-base) var(--ease-out);grid-template-rows:1fr;display:grid}.fold>*{min-height:0;overflow:hidden}.fold:is([data-from]:not(.is-on),.is-off){opacity:0;grid-template-rows:0fr}.overlay-stack{display:grid}.overlay-stack>*{grid-area:1/1}.app-scroll{transition:transform var(--motion-slow) var(--ease-out)}.demo-tap{z-index:30;opacity:0;pointer-events:none;width:44px;height:44px;transition:opacity var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), translate var(--motion-slow) var(--ease-out);background:#17171747;border-radius:50%;margin:-22px 0 0 -22px;position:absolute;top:0;left:0;box-shadow:0 0 0 2px #ffffffe6}.demo-tap.is-visible{opacity:1}.demo-tap.is-pressing{transform:scale(.8)}.is-pressed{transform:scale(.98)}:where(.demo-focus){border-radius:8px}.demo-focus{transition:background-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out)}.demo-focus.is-on:not(.app-card,.app-message){background-color:#005fcc15;box-shadow:0 0 0 6px #005fcc15}.demo-focus.is-on:is(.app-card,.app-message){box-shadow:0 0 0 3px #005fcc66}.swap:is([data-from]:not(.is-on),.is-off){display:none}.site-footer[data-astro-cid-bddg4lij]{margin-top:var(--section-gap);border-top:1px solid var(--border-default);padding-block:var(--space-12)}.site-footer-inner[data-astro-cid-bddg4lij]{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.site-footer-brand[data-astro-cid-bddg4lij]{align-items:center;gap:var(--space-3);display:flex}.site-footer-brand[data-astro-cid-bddg4lij] img[data-astro-cid-bddg4lij]{border-radius:10px}.site-footer-name[data-astro-cid-bddg4lij]{font-family:var(--font-heading);font-size:var(--text-18);font-weight:700;line-height:1.2}.site-footer-brand[data-astro-cid-bddg4lij] p[data-astro-cid-bddg4lij]:last-child{font-size:var(--text-15)}.site-footer-links[data-astro-cid-bddg4lij]{gap:0 var(--space-4);font-size:var(--text-15);flex-wrap:wrap;font-weight:600;display:flex}.site-footer-links[data-astro-cid-bddg4lij] a[data-astro-cid-bddg4lij]{min-height:44px;color:var(--text-body);align-items:center;text-decoration:none;display:inline-flex}.site-footer-links[data-astro-cid-bddg4lij] a[data-astro-cid-bddg4lij]:hover{color:var(--text-body);text-decoration:underline}.site-header[data-astro-cid-jae56hh5]{z-index:50;border-bottom:1px solid var(--border-default);background:var(--bg-canvas);position:sticky;top:0}.site-header-inner[data-astro-cid-jae56hh5]{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;display:flex}.site-logo[data-astro-cid-jae56hh5]{align-items:center;gap:var(--space-2);min-height:44px;color:var(--text-body);font-family:var(--font-heading);font-size:var(--text-22);letter-spacing:-.01em;font-weight:700;text-decoration:none;display:flex}.site-logo[data-astro-cid-jae56hh5] img[data-astro-cid-jae56hh5]{border-radius:8px}.site-header-actions[data-astro-cid-jae56hh5]{align-items:center;gap:var(--space-2);display:flex}.site-language[data-astro-cid-jae56hh5]{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text-body);font-size:var(--text-15);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.site-language[data-astro-cid-jae56hh5]:hover{background:var(--wash-hover);color:var(--text-body)}.site-header-button[data-astro-cid-jae56hh5]{min-height:44px;padding:0 var(--space-4);font-size:var(--text-15)}
