:root{--color-paper: #f7f3ec;--color-surface: #fffdf8;--color-surface-sunk: #f0eadf;--color-border: #ded6c8;--color-border-on-cream: #e3d9c7;--color-border-strong: #c9bda8;--color-ink: #23201c;--color-ink-2: #57534b;--color-ink-3: #7a7266;--color-ink-4: #928b7e;--color-ink-5: #8a857c;--color-juniper: #3f6b57;--color-juniper-deep: #2e5040;--color-juniper-tint: #edf3ef;--color-juniper-soft: #c2d6ca;--color-sage: #7c8a6a;--color-sage-soft: #c9d3bc;--color-sage-deep: #6e7b5e;--color-clay: #a0563e;--color-clay-deep: #8a4732;--color-moved-tint: #fbf3ea;--color-moved-border: #dfc9b0;--color-field-trip: #e9d9c9;--color-commitment: #efe9f0;--color-commitment-border: #c9b8ce;--color-cream: #fff8f0;--color-divider: #efe7d9;--color-person-1: #9c5563;--color-person-2: #6b7f92;--color-person-3: #8a7396;--color-person-4: #4e6e79;--color-person-shared: #7c8a6a;--font-sans: "Karla", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-hand: "Caveat", cursive;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 12px;--space-5: 14px;--space-6: 16px;--space-7: 20px;--space-8: 22px;--space-9: 34px;--shadow-card: 0 12px 32px -18px rgba(35, 32, 28, .35);--shadow-popover: 0 22px 44px -16px rgba(35, 32, 28, .45);--shadow-dialog: 0 40px 80px -30px rgba(35, 32, 28, .6);--shadow-held: 0 26px 46px -18px rgba(35, 32, 28, .6);--text-eyebrow: 10.5px;--text-meta: 11px;--text-sm: 12.5px;--text-body: 13.5px;--text-md: 14.5px;--text-title: 23px;--text-display: 30px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-body);line-height:1.5;color:var(--color-ink);background:var(--color-paper);text-wrap:pretty;-webkit-font-smoothing:antialiased}a{color:var(--color-juniper);text-decoration:none}a:hover{color:var(--color-juniper-deep)}button{font-family:inherit}.eyebrow{font-family:var(--font-mono);font-size:var(--text-eyebrow);letter-spacing:.09em;text-transform:uppercase;color:var(--color-ink-2)}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-body);font-weight:600;color:var(--color-cream);background:var(--color-juniper);border:none;border-radius:var(--radius-md);padding:9px 14px;cursor:pointer}.btn-primary:hover{background:var(--color-juniper-deep)}.btn-secondary{display:inline-flex;align-items:center;font-size:var(--text-body);color:var(--color-ink-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 13px;cursor:pointer}.btn-primary:disabled,.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.billing-page{max-width:720px;margin:0 auto;padding:var(--space-9) var(--space-7)}.billing-page__header h1{margin:0 0 var(--space-4);font-size:var(--text-title);letter-spacing:-.02em}.billing-page__lede{margin:0;color:var(--color-ink-2);line-height:1.55;max-width:36rem}.billing-page__current{margin:var(--space-5) 0 0;color:var(--color-ink-2)}.billing-page__error{color:var(--color-clay-deep);background:var(--color-moved-tint);border:1px solid var(--color-moved-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.billing-page__hint,.billing-page__footer{margin-top:var(--space-7);color:var(--color-ink-3);font-size:var(--text-sm)}.billing-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-7)}.interval-toggle{display:inline-flex;margin:var(--space-7) 0;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);padding:3px;gap:2px}.interval-toggle__btn{border:none;background:transparent;color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer}.interval-toggle__btn.is-active{background:var(--color-juniper);color:var(--color-cream)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6)}.plan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-3)}.plan-card h2{margin:0;font-size:var(--text-md)}.plan-card__price{margin:var(--space-3) 0 var(--space-5);font-size:var(--text-title);font-weight:700;letter-spacing:-.02em}.plan-card__per{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-3)}.billing-summary{margin-top:var(--space-7);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.billing-summary__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);justify-content:space-between}.sub-chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--text-eyebrow);letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-sunk);color:var(--color-ink-2)}.sub-chip--past-due{background:var(--color-moved-tint);border-color:var(--color-clay-deep);color:var(--color-clay-deep)}.sub-chip--active{background:var(--color-juniper-tint);border-color:var(--color-juniper-soft);color:var(--color-juniper-deep)}.sub-chip--lapsed{background:var(--color-moved-tint);border-color:var(--color-moved-border);color:var(--color-clay-deep)}.sub-chip--muted{opacity:.7}.sub-chip__days{opacity:.85}a.btn-primary,a.btn-secondary{text-decoration:none}a.btn-primary{color:var(--color-cream)}a.btn-primary:hover{color:var(--color-cream);background:var(--color-juniper-deep)}a.btn-secondary{color:var(--color-ink-2)}a.btn-secondary:hover{color:var(--color-ink)}.waitlist-form{margin-top:var(--space-7);display:flex;flex-direction:column;gap:var(--space-5);max-width:360px}.waitlist-form__field{display:flex;flex-direction:column;gap:var(--space-2)}.waitlist-form__field input{font:inherit;font-size:var(--text-body);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px}.waitlist-form__field input:focus{outline:2px solid var(--color-juniper-soft);border-color:var(--color-juniper)}
