:root{--bg:#faf6ef;--text:#2b2926;--text-muted:#7b736a;--text-faint:#a89f94;--accent:#b5654a;--accent-strong:#98503a;--accent-soft:#f1e1d7;--border:#e6ddd0;--border-strong:#cfc3b3;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--measure:36rem}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:500;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent-soft)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--text-muted)}.small{font-size:.9rem}.lede{color:var(--text-muted);margin-top:.6rem;font-size:1.15rem}.loading{padding-top:2rem}.header{width:100%;max-width:var(--measure);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 auto;padding:1.25rem 1.25rem 0;display:flex}.page{width:100%;max-width:var(--measure);flex:1;margin:0 auto;padding:1.5rem 1.25rem 4rem}.wordmark{font-family:var(--serif);letter-spacing:-.01em;font-size:1.3rem;font-weight:600;text-decoration:none}.nav{gap:1.25rem;font-size:.95rem;display:flex}.nav a,.nav .link-button{color:var(--text-muted);text-decoration:none}.nav a:hover,.nav .link-button:hover{color:var(--text)}.nav a.active{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.35em}.button{font:inherit;color:#fff;background:var(--accent);cursor:pointer;text-align:center;border:0;border-radius:10px;min-height:48px;padding:.8rem 1.6rem;font-weight:500;text-decoration:none;transition:background-color .15s,transform .15s;display:inline-block}.button:hover:not(:disabled){background:var(--accent-strong)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{background:var(--border);color:var(--text-faint);cursor:default}.link-button{font:inherit;color:var(--text-muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.18em;background:0 0;border:0;padding:0}.link-button:hover:not(:disabled){color:var(--text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.link-button:disabled{cursor:default;opacity:.6}.journal-prompt{font-family:var(--serif);color:var(--text-muted);margin-bottom:.4rem;font-size:1.2rem;font-style:italic}.journal-lines{margin:0;padding:0;list-style:none}.journal-line{border-bottom:1px solid var(--border);grid-template-columns:1.4rem 1fr;align-items:baseline;gap:.5rem;min-height:3.1rem;padding:.75rem 0 .5rem;transition:border-color .15s;display:grid}.journal-line:focus-within{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.journal-number{font-family:var(--serif);color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.85rem}.journal-text,.journal-input{font-family:var(--serif);color:var(--text);min-height:1.4em;font-size:1.3rem;line-height:1.4}.journal-input{appearance:none;resize:none;background:0 0;border:0;border-radius:0;width:100%;margin:0;padding:0;display:block;overflow:hidden}.journal-input:focus,.journal-input:focus-visible{outline:none}.journal-input:disabled{color:var(--text-muted)}.form-actions{align-items:center;gap:1.25rem;margin-top:1.75rem;display:flex}.form-error{color:var(--accent-strong);margin-top:1rem}.home{padding-top:clamp(1.5rem,7vh,4.5rem)}.home-title{max-width:12ch;font-size:clamp(2.5rem,8vw,3.6rem);font-weight:400}.home-lede{color:var(--text-muted);max-width:30rem;margin:1.25rem 0 2.75rem;font-size:1.15rem}.home-cta{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:2rem;display:flex}.home-about{border-top:1px solid var(--border);color:var(--text-muted);flex-direction:column;gap:1rem;max-width:30rem;margin-top:5rem;padding-top:2rem;display:flex}.demo .journal-lines{transition:opacity .9s}.demo .journal-lines.is-fading{opacity:0}.cursor{vertical-align:-.15em;background:var(--accent);width:1px;height:1.05em;margin-left:1px;animation:1.1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{to{visibility:hidden}}.day-header{margin-bottom:2rem}.day-header h1,.page-header h1,.empty h1{font-size:clamp(2rem,6.5vw,2.6rem);font-weight:400}.day-question{margin-top:1.5rem;font-size:1.4rem}.day-header .muted{margin-top:.5rem}.entry-list{font-family:var(--serif);margin:0;padding:0;font-size:1.3rem;line-height:1.4;list-style:none}.entry-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:.6rem 0}.stats{margin-top:1.5rem;font-size:.95rem}.day-actions{align-items:baseline;gap:1.25rem;margin-top:1.25rem;font-size:.95rem;display:flex}.day-nav{color:var(--text-muted);justify-content:space-between;gap:1rem;margin-top:3.5rem;font-size:.9rem;display:flex}.page-header .stats{margin-top:.5rem}.empty{flex-direction:column;align-items:flex-start;padding-top:2rem;display:flex}.empty .button{margin-top:2rem}.calendar{max-width:22rem;margin:2rem 0 3rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.calendar-title{font-size:1.1rem}.calendar-nav{font:inherit;border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;font-size:1.2rem;line-height:1}.calendar-nav:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.calendar-nav:disabled{opacity:.35;cursor:default}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.calendar-weekday{text-align:center;color:var(--text-faint);padding-bottom:.25rem;font-size:.75rem}.calendar-day{font:inherit;font-variant-numeric:tabular-nums;aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:.9rem;transition:background-color .15s}.calendar-day:hover:not(:disabled){background:var(--accent-soft)}.calendar-day:disabled{color:var(--text-faint);cursor:default}.calendar-day.has-entry{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.calendar-day.has-entry:hover{background:#e8d2c4}.calendar-day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent)}.timeline{margin:0;padding:0;list-style:none}.timeline-day{border-top:1px solid var(--border);padding:1.75rem 0}.timeline-date{margin-bottom:.6rem;font-size:1.15rem}.timeline-date a{text-decoration:none}.timeline-date a:hover{color:var(--accent-strong)}.timeline-tag{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);vertical-align:.15em;margin-left:.7rem;font-size:.7rem;font-weight:600}.timeline .entry-list{font-size:1.15rem}.timeline .entry-list li{border-bottom:0;padding:.2rem 0}.load-error{flex-direction:column;align-items:flex-start;gap:.75rem;padding-top:2rem;display:flex}@media (width<=480px){.header{padding-top:1rem}.nav{gap:1rem;font-size:.9rem}.button{width:100%}.form-actions{text-align:center;flex-direction:column;align-items:stretch}.home-cta{text-align:center;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
