@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,30,1;9..144,700,30,1&display=swap');
:root{--ink:#24342f;--muted:#6e7b74;--cream:#f8f6f1;--card:#fff;--green:#256c55;--green-dark:#194e3f;--green-soft:#e5f0e8;--line:#e2e7e0;--orange:#f2a972;--red:#af514a;--shadow:0 20px 60px rgba(36,52,47,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em}h1{font-family:Fraunces,Georgia,serif}h2{font-family:Fraunces,Georgia,serif}small{font-size:.8rem}.site-header{background:rgba(248,246,241,.96);border-bottom:1px solid rgba(36,52,47,.07)}.header-inner{max-width:1240px;margin:auto;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:10px;font-size:1.23rem;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--green);color:white;font-size:1.2rem}.brand-accent{color:var(--green)}nav{display:flex;align-items:center;gap:24px}nav a,.nav-link{text-decoration:none;color:var(--ink);font-weight:700;font-size:.9rem}nav a:hover,.nav-link:hover{text-decoration:underline}.nav-link{background:none;border:0;padding:0}.nav-cta{background:var(--green);color:white!important;padding:10px 17px;border-radius:10px}.nav-cta:hover{text-decoration:none;background:var(--green-dark)}.inline-form{display:inline}.flash{max-width:1180px;margin:20px auto -12px;padding:13px 18px;border-radius:12px;font-weight:700}.flash-success{background:#e1f1e6;color:#19583d}.flash-error{background:#fff0e9;color:#9a4235}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:12px;padding:13px 20px;text-decoration:none;font-weight:800;min-height:47px;transition:transform .15s ease,background .15s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:white}.button-primary:hover{background:var(--green-dark)}.button-secondary{background:white;border-color:var(--line);color:var(--ink)}.button-secondary:hover{background:#f1f5ef}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--green);font-size:.72rem;font-weight:800}.hero{max-width:1240px;margin:auto;padding:82px 28px 94px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.hero-copy h1{font-size:clamp(3.1rem,5.3vw,5.8rem);line-height:1.05;margin:20px 0 23px}.hero-copy h1 em{color:var(--green);font-style:normal}.hero-copy>p{font-size:1.13rem;max-width:530px;color:#596860;line-height:1.8}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:33px 0}.hero-points{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;font-weight:700}.hero-preview{background:white;border:1px solid #e4e8e1;border-radius:23px;padding:28px;box-shadow:0 36px 90px rgba(39,69,53,.14);transform:rotate(1deg)}.preview-top{display:flex;align-items:center;gap:14px;background:#e6f2e7;padding:17px;border-radius:14px}.preview-top strong,.preview-top small{display:block}.preview-top small{color:#688075}.preview-sun{font-size:1.8rem}.preview-date{margin-left:auto;color:var(--green);font-size:.67rem;font-weight:800;letter-spacing:.1em}.preview-title{font-family:Fraunces,Georgia,serif;font-size:1.37rem;font-weight:700;margin:28px 0 11px;display:flex;justify-content:space-between;gap:10px;align-items:center}.preview-title span{font:700 .68rem 'DM Sans',sans-serif;color:var(--muted);white-space:nowrap}.progress-track{height:7px;border-radius:10px;background:#e9eee8;overflow:hidden;margin-bottom:16px}.progress-track span{display:block;width:60%;height:100%;background:#68ad82;border-radius:10px}.preview-row{display:flex;align-items:center;gap:13px;padding:17px 4px;border-bottom:1px solid #edf0eb}.preview-row strong,.preview-row small{display:block}.preview-row strong{font-size:.9rem}.preview-row small{color:var(--muted);margin-top:2px}.preview-row.checked strong{color:#77877e;text-decoration:line-through}.check-circle{flex:none;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#dcf2e4;color:#28835c;font-size:.95rem;font-weight:800}.check-circle.empty{background:white;border:2px solid #cad5cc}.preview-pill{margin-left:auto;background:#eaf4ec;color:var(--green);font-size:.67rem;padding:5px 9px;border-radius:20px;font-weight:800}.preview-arrow{margin-left:auto;font-size:1.3rem;color:#b0c0b6}.preview-note{text-align:center;padding:22px 0 0;color:#798a7f;font-size:.8rem}.feature-band{background:#eaf0e9;padding:55px max(28px,calc((100vw - 1184px)/2));display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.feature-number{font-weight:800;color:#62a77f;font-size:.82rem}.feature-band h2{font-size:1.55rem;margin:8px 0}.feature-band p{color:#69796e;font-size:.91rem;line-height:1.7}.site-footer{max-width:1240px;margin:auto;padding:30px 28px 42px;color:#849088;font-size:.8rem;display:flex;justify-content:space-between;gap:15px}.auth-layout{max-width:1100px;margin:85px auto 100px;padding:0 28px;display:grid;grid-template-columns:1fr 450px;gap:85px;align-items:center}.auth-intro h1{font-size:clamp(2.9rem,5vw,4.8rem);line-height:1.1;margin:17px 0 20px}.auth-intro p{color:var(--muted);font-size:1.1rem;line-height:1.7;max-width:460px}.auth-doodle{color:#e6ad7b;font-size:4rem;margin-top:32px}.auth-doodle span{display:inline-grid;place-items:center;width:73px;height:73px;border-radius:50%;background:#e2eee3;color:var(--green);font-size:2.5rem;transform:rotate(-12deg)}.auth-card,.board-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.auth-card{padding:38px}.auth-card h2{font-size:1.9rem;margin:0 0 5px}.auth-card>p{color:var(--muted);font-size:.91rem;margin-bottom:25px}.stack-form{display:flex;flex-direction:column;gap:9px}.stack-form label,.add-member-form label{font-size:.79rem;font-weight:800;color:#475b50;margin-top:7px}.stack-form input,.stack-form select,.stack-form textarea,.add-member-form input,.filters select{width:100%;border:1px solid #d8e0d8;background:#fbfcfa;border-radius:9px;padding:12px 13px;color:var(--ink);outline:none}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.add-member-form input:focus,.filters select:focus{border-color:#60a880;box-shadow:0 0 0 3px #e3f1e6}.field-help,.optional{color:var(--muted);font-weight:500}.stack-form .button{margin-top:14px}.full-width{width:100%}.auth-switch{margin:23px 0 0!important;text-align:center}.auth-switch a{color:var(--green);font-weight:800}.dashboard-wrap{max-width:1240px;margin:0 auto;padding:40px 28px 75px}.dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.dashboard-heading h1{font-size:clamp(2.6rem,4vw,3.8rem);margin:5px 0}.dashboard-heading p{color:var(--muted);margin:0}.wave{font-family:'DM Sans',sans-serif;color:#e2aa70;font-size:.65em}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat-card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;min-height:130px}.stat-card span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.stat-card strong{font-family:Fraunces,Georgia,serif;font-size:2.35rem;line-height:1.3}.stat-card small{color:#89958b}.stat-done{background:#e4f0e7;border-color:#d5e9da}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:20px;align-items:start}.board-card{padding:26px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px}.section-heading h2,.side-column h2{font-size:1.6rem;margin:4px 0 0}.count-badge{font-size:.72rem;color:#427154;background:#e9f4ea;border-radius:20px;padding:5px 10px;font-weight:800}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#f7f9f5;border-radius:12px;padding:10px;margin:22px 0 10px}.filters label{font-size:.75rem;font-weight:800;color:#67776d}.filters select{width:auto;min-width:125px;padding:8px 10px;font-size:.8rem;background:white}.filter-button{min-height:37px;padding:6px 13px;font-size:.8rem;margin-left:auto}.chore-list{margin-top:10px}.chore-row{display:flex;align-items:flex-start;gap:14px;border-bottom:1px solid #edf0eb;padding:19px 0}.chore-row:last-child{border-bottom:0}.complete-form{flex:none;padding-top:2px}.complete-button{height:26px;width:26px;border:2px solid #b9c9bb;background:white;border-radius:8px;color:white;font-weight:800;line-height:1}.complete-button:hover{border-color:var(--green)}.is-done .complete-button{background:var(--green);border-color:var(--green)}.chore-main{flex:1;min-width:0}.chore-main h3{font-size:.97rem;margin:0 0 4px;overflow-wrap:anywhere}.is-done .chore-main h3{text-decoration:line-through;color:#819188}.chore-main>p{color:#748078;font-size:.82rem;margin:4px 0 7px;overflow-wrap:anywhere}.chore-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chore-meta span{border-radius:20px;padding:4px 8px;font-size:.68rem;font-weight:700;background:#f2f5f1;color:#6e7d73}.chore-meta .priority-high{background:#fff0e6;color:#a8683a}.chore-meta .priority-low{background:#eef4fa;color:#51768e}.chore-actions{display:flex;flex-direction:column;align-items:end;gap:5px;white-space:nowrap}.chore-actions a,.chore-actions button,.remove-member{border:0;background:none;padding:0;text-decoration:none;color:var(--green);font-size:.73rem;font-weight:800}.chore-actions button,.remove-member{color:#a46b65}.chore-actions a:hover,.chore-actions button:hover,.remove-member:hover{text-decoration:underline}.empty-state{text-align:center;padding:60px 20px}.empty-state>span{font-size:3rem;color:#e4ad78}.empty-state h3{font-family:Fraunces,Georgia,serif;font-size:1.4rem;margin:10px 0 5px}.empty-state p{color:var(--muted)}.empty-state a{color:var(--green);font-weight:800}.side-column{display:flex;flex-direction:column;gap:20px}.form-card h2,.member-card h2{margin-bottom:16px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-two>div{min-width:0}.form-two label{display:block;margin-bottom:9px}.optional{font-weight:500}.cancel-link{display:block;text-align:center;color:var(--muted);font-size:.8rem}.member-list{margin:12px 0 20px}.member-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf0eb}.member-avatar{display:grid;place-items:center;background:#e6f0e6;color:var(--green);height:32px;width:32px;border-radius:50%;font-weight:800}.member-row>div{flex:1;min-width:0}.member-row strong,.member-row small{display:block}.member-row strong{font-size:.82rem;overflow-wrap:anywhere}.member-row small{color:var(--muted);font-size:.68rem}.add-member-form>div{display:flex;gap:7px;margin-top:8px}.add-member-form .button{min-width:44px;padding:0;font-size:1.3rem}.side-note{font-size:.74rem;color:var(--muted);line-height:1.5;margin:13px 0 0}
@media(max-width:1000px){.hero{gap:35px}.dashboard-grid{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr}.auth-layout{gap:40px}}
.member-edit{color:var(--green);font-size:.72rem;font-weight:800;text-decoration:none;border:0;background:none;padding:0;white-space:nowrap}.member-edit:hover{text-decoration:underline}.rename-member-form{background:#f6f9f5;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:14px}.rename-member-form label{font-size:.78rem;font-weight:800}.rename-member-form>div{display:flex;gap:7px;margin:7px 0}.rename-member-form input{min-width:0;flex:1;border:1px solid #d8e0d8;border-radius:9px;padding:9px}.rename-member-form .button{min-height:40px;padding:8px 13px}.rename-member-form .cancel-link{text-align:left}.member-row{flex-wrap:wrap}.member-dashboard{display:block}.invite-callout{background:#e7f3e9;border:1px solid #bfdcc7;border-radius:12px;padding:14px;margin:16px 0}.invite-callout strong{display:block;color:var(--green-dark);font-size:.9rem}.invite-callout p{font-size:.76rem;color:#52715d;margin:5px 0 11px}.invite-callout label{display:block;font-size:.72rem;font-weight:800;margin-bottom:5px}.invite-callout input{width:100%;border:1px solid #b8d3bf;border-radius:8px;padding:10px;background:white;color:var(--ink);font-size:.75rem}
.member-invite-form{flex:0 0 100%;padding-left:42px}.member-invite-form label{display:block;font-size:.7rem;font-weight:800;color:var(--muted);margin-bottom:5px}.member-invite-form>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.member-invite-form input,.add-member-form>input{min-width:0;flex:1;border:1px solid #d8e0d8;border-radius:9px;padding:9px;background:white}.member-invite-form .member-edit{padding:8px 0}.add-member-form>input{display:block;width:100%;margin:6px 0 11px}.add-member-form>label{display:block;margin-top:10px}.add-member-form>.button{width:100%;margin-top:3px}
@media(max-width:750px){.hero{grid-template-columns:1fr;padding-top:55px}.hero-preview{transform:none;max-width:580px;width:100%;margin:auto}.feature-band{grid-template-columns:1fr;gap:12px}.auth-layout{grid-template-columns:1fr;margin:60px auto}.auth-intro{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.side-column{grid-template-columns:1fr}.dashboard-heading{align-items:start;flex-direction:column}.dashboard-heading .button{align-self:start}}
@media(max-width:500px){.header-inner{padding:14px 16px}.brand{font-size:1.05rem}.brand-mark{height:29px;width:29px}nav{gap:11px}nav a,.nav-link{font-size:.78rem}.nav-cta{padding:8px 10px}.hero{padding:48px 18px 60px}.hero-copy h1{font-size:3rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-preview{padding:17px}.preview-title{font-size:1.1rem}.feature-band{padding:42px 20px}.dashboard-wrap{padding:28px 14px 55px}.board-card{padding:19px}.stat-grid{gap:9px}.stat-card{min-height:108px;padding:14px}.stat-card strong{font-size:1.9rem}.filters{align-items:stretch}.filters select{flex:1;min-width:100px}.filter-button{margin-left:0}.chore-row{gap:9px}.chore-actions{gap:9px}.auth-layout{padding:0 16px}.auth-card{padding:24px}.site-footer{padding:25px 16px;flex-direction:column}}
