:root{--bg:#f5f6f8;--card:#fff;--text:#1d2129;--muted:#6b7280;--border:#dcdfe4;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#b91c1c;color:var(--text);background:var(--bg);font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{margin:0}.landing{--lp-warm:#fff8ea;--lp-finch:#f2b33d;background:var(--card);min-height:100vh}.lp-wrap{max-width:1040px;margin:0 auto;padding-left:16px;padding-right:16px}.lp-muted{color:var(--muted)}.lp-header{justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;display:flex}.lp-login{padding:8px 0}.landing h1{letter-spacing:-.02em;margin:0 0 16px;font-size:2.1rem;line-height:1.15}.landing h2{letter-spacing:-.01em;margin:0 0 20px;font-size:1.5rem}.landing h3{margin:0 0 6px;font-size:1.05rem}.landing p{margin:0;line-height:1.55}.lp-primary{border-radius:10px;width:100%;padding:14px 22px;font-size:1.05rem}.lp-hero{gap:32px;padding-top:24px;padding-bottom:48px;display:grid}.lp-lead{color:#374151;font-size:1.1rem}.lp-cta{flex-direction:column;gap:10px;margin-top:24px;display:flex}.lp-fineprint{color:var(--muted);font-size:.9rem}.lp-email{background:var(--lp-warm);border:1px solid #f1e2bf;border-radius:14px;flex-direction:column;gap:12px;margin:0;padding:20px;font-size:.95rem;display:flex}.lp-email figcaption{text-transform:uppercase;letter-spacing:.05em;color:#92400e;font-size:.75rem;font-weight:600}.lp-email .lp-email-subject{font-weight:600}.lp-email-button{background:var(--accent);color:#fff;border-radius:6px;align-self:flex-start;padding:10px 20px;font-weight:600}.lp-section{border-top:1px solid var(--border);padding-top:40px;padding-bottom:40px}.lp-steps,.lp-features{gap:16px;margin:0;padding:0;list-style:none;display:grid}.lp-steps li{padding-left:48px;position:relative}.lp-step-num{background:var(--lp-finch);color:#3b2a07;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid;position:absolute;top:-2px;left:0}.lp-steps p,.lp-features p{color:#4b5563}.lp-features li{border:1px solid var(--border);border-radius:12px;padding:16px}.lp-price-card{border:2px solid var(--lp-finch);background:var(--lp-warm);border-radius:16px;flex-direction:column;gap:12px;max-width:420px;padding:24px;display:flex}.lp-plan{font-weight:600}.lp-price{align-items:baseline;gap:4px;display:flex}.lp-amount{letter-spacing:-.02em;font-size:2.6rem;font-weight:700}.lp-per{color:var(--muted)}.lp-free{color:#166534;font-weight:600}.lp-price-notes{color:#374151;margin:0 0 8px;padding-left:20px;line-height:1.6}.lp-faq{flex-direction:column;max-width:720px;display:flex}.lp-faq details{border-bottom:1px solid var(--border)}.lp-faq details:first-child{border-top:1px solid var(--border)}.lp-faq summary{cursor:pointer;padding:16px 28px 16px 0;font-weight:600;list-style:none;position:relative}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";color:var(--muted);font-size:1.2rem;position:absolute;top:14px;right:4px}.lp-faq details[open] summary:after{content:"–"}.lp-faq details p{color:#4b5563;padding:0 0 16px}.lp-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lp-footer{border-top:1px solid var(--border);background:var(--bg)}.lp-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:20px;padding-bottom:20px;font-size:.9rem;display:flex}@media (width>=720px){.landing h1{font-size:2.8rem}.lp-primary{align-self:flex-start;width:auto}.lp-steps{grid-template-columns:repeat(3,1fr);gap:24px}.lp-steps li{padding-top:48px;padding-left:0}.lp-features{grid-template-columns:repeat(2,1fr)}.lp-section{padding-top:56px;padding-bottom:56px}}@media (width>=960px){.lp-hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:56px;padding-top:48px;padding-bottom:72px}.lp-features{grid-template-columns:repeat(3,1fr)}}.app{flex-direction:column;gap:16px;max-width:640px;margin:0 auto;padding:16px;display:flex}h1{margin:0;font-size:1.4rem}h2{margin:0 0 12px;font-size:1.1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px}.auth{margin-top:10vh}.auth h1{margin-bottom:16px}.auth-back{padding:0 0 12px}.wordmark{letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;font-size:1.25rem;font-weight:700;display:inline-flex}.wordmark svg{flex:none}form{flex-direction:column;gap:12px;display:flex}label{flex-direction:column;flex:1;gap:4px;min-width:0;font-size:.9rem;font-weight:500;display:flex}input{font:inherit;border:1px solid var(--border);border-radius:8px;width:100%;padding:10px 12px}input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.row{flex-wrap:wrap;gap:12px;display:flex}.row>label{flex:140px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);background:#fff}button.secondary:hover:not(:disabled){background:#eff4ff}button.link{color:var(--accent);background:0 0;border:none;padding:8px 0 0;font-weight:500}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.error{color:var(--danger);margin:0;font-size:.9rem}.notice{color:#166534;margin:0;font-size:.9rem}.muted{color:var(--muted);font-size:.9rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.user{align-items:center;gap:10px;min-width:0;display:flex}.user .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user button{padding:6px 12px}.invoices{margin:0;padding:0;list-style:none}.invoices li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;display:flex}.invoices li:first-child{border-top:none;padding-top:0}.inv-main{flex-direction:column;flex:180px;min-width:0;display:flex}.inv-main .muted{overflow-wrap:anywhere}.inv-main .inv-reminders{font-size:.8rem}.inv-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.amount{font-variant-numeric:tabular-nums;font-weight:600}.invoices button{padding:6px 12px;font-size:.9rem}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.badge.unpaid{color:#92400e;background:#fef3c7}.badge.paid{color:#166534;background:#dcfce7}.badge.overdue{color:#991b1b;background:#fee2e2}.badge.opted-out{color:#374151;background:#e5e7eb}.unsubscribe{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.unsubscribe h2,.unsubscribe p{overflow-wrap:anywhere;margin:0}.topbar .full{flex-basis:100%}.user{flex-wrap:wrap;justify-content:flex-end}.paywall{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.paywall h2,.paywall p{margin:0}
