: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)}.auth-page{min-height:100%;min-height:100dvh;display:flex;background:var(--color-paper)}.auth-card{width:100%;min-height:100%;min-height:100dvh;display:flex;border:none;border-radius:0;overflow:hidden;box-shadow:none;background:var(--color-paper)}.auth-card__brand{flex:0 0 42%;width:42%;min-width:17.5rem;max-width:50%;background:var(--color-juniper);padding:clamp(1.75rem,3.8vw,3rem) clamp(1.65rem,3.4vw,2.75rem);display:flex;flex-direction:column;gap:clamp(1.1rem,2vw,1.6rem);color:var(--color-cream)}.auth-card__logo{display:flex;align-items:center;gap:.75rem;font-size:clamp(1.1rem,1.45vw,1.3rem);font-weight:700;letter-spacing:-.02em}.auth-card__mark{width:clamp(2.25rem,2.9vw,2.65rem);height:clamp(2.25rem,2.9vw,2.65rem);border-radius:.75rem;background:#fff8f029;display:flex;align-items:center;justify-content:center;color:var(--color-cream);flex-shrink:0}.auth-card__mark .pencil-mark{display:block;width:1.2em;height:1.2em}.auth-card__headline{font-size:clamp(2rem,4vw,3.15rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:.55rem 0 0;max-width:none}.auth-card__tag{font-family:var(--font-hand);font-size:clamp(1.65rem,2.75vw,2.35rem);color:var(--color-juniper-soft);margin:.25rem 0 0;line-height:1.2}.auth-card__bullets{margin-top:auto;display:flex;flex-direction:column;gap:.9rem;list-style:none;padding:0}.auth-card__bullets li{display:flex;align-items:center;gap:.75rem;font-size:clamp(.95rem,1.3vw,1.125rem);color:#fff8f0e0;line-height:1.35}.auth-card__bullets li:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--color-juniper-soft);flex-shrink:0}.auth-card__form{flex:1 1 auto;background:var(--color-paper);padding:clamp(1.75rem,4.5vw,3.5rem) clamp(1.5rem,5vw,4rem);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.auth-card__form-inner{width:100%;max-width:min(100%,32rem);display:flex;flex-direction:column;gap:clamp(.9rem,1.5vw,1.15rem)}.auth-card__form-inner form{display:flex;flex-direction:column;gap:.85rem}.auth-tabs{display:flex;background:var(--color-surface-sunk);border-radius:.7rem;padding:.25rem}.auth-tabs a,.auth-tabs button{flex:1;text-align:center;font-size:clamp(.8125rem,1vw,.9rem);font-weight:600;color:var(--color-ink-2);border:none;background:transparent;border-radius:.55rem;padding:.65rem .5rem;cursor:pointer;text-decoration:none;font-family:inherit}.auth-tabs .is-active{color:var(--color-ink);background:var(--color-surface);box-shadow:0 1px 2px #23201c0f}.auth-form-title{margin:0;font-size:clamp(1.35rem,1.9vw,1.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}.auth-form-sub{margin:.2rem 0 0;font-size:clamp(.8125rem,1vw,.9rem);color:var(--color-ink-3);line-height:1.4}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label,.auth-field__label{font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);display:flex;align-items:baseline;gap:8px}.auth-field__label-link{margin-left:auto;font-size:var(--text-sm);font-weight:500;color:var(--color-juniper);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.auth-field input,.auth-field select{border:1px solid var(--color-border);border-radius:.7rem;background:var(--color-surface);padding:.8rem .9rem;font-size:clamp(.875rem,1.05vw,.95rem);font-family:inherit;color:var(--color-ink);width:100%;box-sizing:border-box}.auth-field input:focus,.auth-field select:focus{outline:2px solid var(--color-juniper-soft);outline-offset:1px}.auth-check{display:flex;align-items:center;gap:9px;font-size:var(--text-body);color:var(--color-ink-2);cursor:pointer}.auth-check input{width:17px;height:17px;accent-color:var(--color-juniper)}.auth-submit{font-size:clamp(.9rem,1.1vw,1rem);font-weight:600;color:var(--color-cream);background:var(--color-juniper);border:none;border-radius:.75rem;padding:.9rem 1rem;text-align:center;cursor:pointer;font-family:inherit;width:100%}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-submit--ink{background:var(--color-ink)}.auth-divider{display:flex;align-items:center;gap:10px;color:#a79e90;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border-on-cream)}.auth-social{display:flex;gap:9px}.auth-social button{flex:1;font-size:clamp(.8125rem,1vw,.9rem);color:var(--color-ink-2);border:1px solid var(--color-border);border-radius:.75rem;padding:.8rem .65rem;text-align:center;background:var(--color-surface);cursor:pointer;font-family:inherit}.auth-social button:disabled{opacity:.55;cursor:not-allowed}.auth-footer-link{font-size:13px;color:var(--color-ink-3);text-align:center;line-height:1.5;margin:0}.auth-footer-link a{color:var(--color-juniper);font-weight:500;text-decoration:none}.auth-banner{display:flex;align-items:flex-start;gap:10px;border-radius:10px;padding:11px 13px;font-size:var(--text-body);font-weight:500;line-height:1.4}.auth-banner--bad{background:#fbf3ea;border:1px solid #dfc9b0;color:var(--color-clay-deep)}.auth-banner--good{background:var(--color-juniper-tint);border:1px solid var(--color-juniper-soft);color:var(--color-juniper-deep)}.auth-banner button{margin-left:auto;background:none;border:none;color:inherit;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;font-family:inherit;padding:0}.signup-page{min-height:100%;background:var(--color-paper);padding:var(--space-9) var(--space-7);display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.signup-page__eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--color-ink-5);margin:0}.signup-wizard{width:min(420px,100%);background:var(--color-paper);border:1px solid var(--color-border);border-radius:14px;overflow:hidden;box-shadow:0 12px 30px -20px #23201c4d}.signup-wizard__head{padding:13px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border-on-cream);display:flex;align-items:center;gap:10px}.signup-wizard__step{width:22px;height:22px;border-radius:50%;background:var(--color-juniper);color:var(--color-cream);font-family:var(--font-mono);font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center}.signup-wizard__title{font-size:var(--text-md);font-weight:700;margin:0}.signup-wizard__hint{margin-left:auto;font-size:var(--text-sm);color:var(--color-ink-4)}.signup-wizard__body{padding:16px;display:flex;flex-direction:column;gap:11px}.signup-wizard__note{font-size:var(--text-sm);color:var(--color-ink-3);line-height:1.45;border-top:1px solid var(--color-divider);padding-top:10px;margin:0}.signup-chips{display:flex;gap:6px;flex-wrap:wrap}.signup-chips button{font-size:var(--text-sm);border-radius:var(--radius-pill);padding:6px 12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink-2);cursor:pointer;font-family:inherit}.signup-chips button.is-active{background:var(--color-ink);color:var(--color-cream);border-color:var(--color-ink)}.signup-child{border:1px solid var(--color-border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--color-surface)}.signup-child__row{display:flex;gap:8px}.signup-child__row>*{flex:1;min-width:0}.signup-colors{display:flex;gap:6px;flex-wrap:wrap}.signup-colors button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.signup-colors button.is-active{border-color:var(--color-ink);box-shadow:0 0 0 2px var(--color-surface)}.signout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#23201c59;display:flex;align-items:center;justify-content:center;padding:var(--space-7);z-index:50}.signout-dialog{width:min(400px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow-dialog);display:flex;flex-direction:column;gap:14px}.signout-dialog h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.015em}.signout-dialog p{margin:0;font-size:var(--text-body);color:var(--color-ink-2);line-height:1.5}.signout-dialog__sync{font-size:var(--text-sm);color:var(--color-ink-3);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.signout-dialog__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.app-loading{min-height:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--color-paper);color:var(--color-ink-3);font-size:var(--text-body);padding:var(--space-7)}.app-loading--error{color:var(--color-ink-2)}.today-stub{min-height:100%;min-height:100dvh;background:var(--color-paper);padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:28px}.today-stub__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.today-stub__brand{display:flex;align-items:center;gap:14px}.today-stub__mark{width:44px;height:44px;border-radius:13px;background:var(--color-juniper);color:var(--color-cream);display:flex;align-items:center;justify-content:center}.today-stub__mark .pencil-mark{display:block}.today-stub__title{margin:2px 0 0;font-size:var(--text-display);font-weight:700;letter-spacing:-.025em}.today-stub__meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.today-stub__email{font-size:var(--text-sm);color:var(--color-ink-3)}.today-stub__main{max-width:520px;display:flex;flex-direction:column;gap:16px}.today-stub__lede{margin:0;font-size:var(--text-md);color:var(--color-ink-2);line-height:1.55}.today-stub__note{margin:0;color:var(--color-clay-deep);line-height:1.5}.today-stub__actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:900px){.auth-card__brand{flex-basis:38%;width:38%;min-width:15rem}.auth-card__headline{font-size:clamp(1.75rem,4.6vw,2.45rem)}}@media(max-width:720px){.auth-card{flex-direction:column;min-height:100dvh}.auth-card__brand{flex:0 0 auto;width:100%;max-width:none;min-width:0;padding:1.65rem 1.4rem}.auth-card__headline{font-size:clamp(1.75rem,7vw,2.15rem)}.auth-card__tag{font-size:clamp(1.5rem,5.5vw,1.9rem)}.auth-card__bullets{display:none}.auth-card__form{flex:1 1 auto;width:100%;align-items:stretch;justify-content:flex-start;padding:1.75rem 1.35rem 2rem}.auth-card__form-inner{max-width:none}}
