@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff)format("woff")}:root{--paper:#f3eee4;--linen:#e6dfd2;--linen-glow:#efe8db;--linen-shade:#dcd3c3;--ink:#1c1712;--ink-soft:color-mix(in srgb, var(--ink) 52%, var(--paper));--ink-faint:color-mix(in srgb, var(--ink) 18%, var(--paper));--oxblood:#6b2e2e;--page-width:26rem;color:var(--ink);background:var(--linen);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Times New Roman,serif;font-weight:500;line-height:1.45}:root[data-theme=dark]{--paper:#1c1814;--linen:#12100d;--linen-glow:#242017;--linen-shade:#0c0b09;--ink:#f0e9dc;--oxblood:#c46a6a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--linen);margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:1px solid var(--oxblood);outline-offset:3px}.linen{background:radial-gradient(120% 80% at 50% 0%, var(--linen-glow) 0%, var(--linen) 55%, var(--linen-shade) 100%);min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));justify-content:center;display:flex}.page{width:min(100%, var(--page-width));background:var(--paper);min-height:calc(100dvh - 3rem);color:var(--ink);padding:1.75rem 1.6rem 2.4rem;position:relative;overflow:hidden}.page:before{content:"";pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}:root[data-theme=dark] .page:before{mix-blend-mode:overlay;opacity:.14}.page>*{position:relative}.topbar{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.4rem;display:flex}.topbar-actions{gap:1rem;display:flex}.today-date{margin:-1.4rem 0 2rem}.smallcaps{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:600}.linkish{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem;font-weight:600}.linkish:hover,.textual:hover{color:var(--oxblood)}.habit-name{text-align:left;letter-spacing:-.02em;background:0 0;border:0;width:100%;margin:0 0 1.6rem;padding:0;font-size:2.15rem;font-style:italic;font-weight:500;line-height:1.15;display:block}.habit-name:hover{color:var(--oxblood)}.streak-block{text-align:center;margin:.5rem 0 1.75rem}.streak-number{color:var(--oxblood);letter-spacing:-.04em;font-size:clamp(5rem,22vw,6.4rem);font-weight:500;line-height:.9;display:block}.aim-line{color:var(--ink-soft);margin:.85rem 0 0;font-size:1.12rem;font-style:italic}.drive-line{max-width:20rem;color:var(--oxblood);margin:.45rem auto 0;font-size:1.15rem;font-style:italic;line-height:1.35}.seal-wrap{justify-items:center;gap:.85rem;margin:.4rem 0 1.8rem;display:grid}.seal{width:8.4rem;height:8.4rem;color:var(--ink);--fill-scale:0;--fill-from:.08;--fill-to:.62;--fill-opacity-from:.92;--r-from:8px;--r-to:24px;--dash-from:50;border-radius:50%}.seal svg{width:100%;height:100%;display:block}.seal-fill{transform-origin:50px 50px;transform:scale(var(--fill-scale));transition:transform .4s,opacity .4s}.seal-bound{fill:none;stroke:var(--oxblood);stroke-width:1.45px;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240px;opacity:0;pointer-events:none}.seal.is-marking .seal-fill{transition:none;animation:.9s cubic-bezier(.4,.05,.2,1) forwards seal-bound-fill}.seal.is-marking .seal-bound{opacity:1;animation:.9s cubic-bezier(.4,.05,.2,1) forwards seal-bound-draw}@keyframes seal-bound-draw{0%{r:var(--r-from);stroke-dashoffset:var(--dash-from)}to{r:var(--r-to);stroke-dashoffset:0}}@keyframes seal-bound-fill{0%{transform:scale(var(--fill-from));opacity:var(--fill-opacity-from)}to{transform:scale(var(--fill-to));opacity:.92}}@media (prefers-reduced-motion:reduce){.seal.is-marking .seal-fill,.seal.is-marking .seal-bound{animation:none}}.seal-label{color:var(--ink);font-size:1.2rem;font-style:italic}.seal[aria-pressed=true] .seal-label,.kept .seal-label{color:var(--oxblood)}.ceremony{text-align:center;max-width:22rem;margin:0 auto .35rem;font-size:1.08rem;font-style:italic;line-height:1.4}.continue{text-align:center;gap:.45rem;max-width:22rem;margin:1rem auto 0;display:grid}.continue-action{color:var(--oxblood);font-size:1.12rem;font-style:italic}.month{border-top:1px solid var(--ink-faint);margin-top:2.6rem;padding-top:1.6rem}.month-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.month-nav{width:1.6rem;color:var(--ink-soft);font-size:1.2rem}.month-nav:disabled{opacity:.25;cursor:default}.dow{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);grid-template-columns:repeat(7,1fr);margin-bottom:.45rem;font-size:.68rem;font-weight:600;display:grid}.grid{grid-template-columns:repeat(7,1fr);justify-items:center;gap:.55rem .2rem;display:grid}.day{place-items:center;width:1.35rem;height:1.35rem;display:grid}.dot{background:var(--ink);border-radius:50%;width:.42rem;height:.42rem}.dot.empty{background:0 0}.day.today .dot.empty{box-shadow:inset 0 0 0 1px var(--ink-soft);background:0 0;width:.55rem;height:.55rem}.day.today .dot:not(.empty){box-shadow:0 0 0 1px var(--paper), 0 0 0 2px var(--oxblood);background:var(--oxblood)}.best-line{text-align:center;color:var(--ink-soft);margin:1.15rem 0 0;font-size:.95rem;font-style:italic}.switcher{border-top:1px solid var(--ink-faint);margin-top:2.2rem;padding-top:1.4rem}.switcher .smallcaps{margin:0 0 .85rem}.switcher ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.switcher li button{text-align:left;justify-content:space-between;gap:1rem;width:100%;font-size:1.2rem;font-style:italic;display:flex}.switcher-meta{color:var(--ink-soft);font-size:.95rem}.switcher-begin{color:var(--oxblood);margin-top:1rem;font-size:1.1rem;font-style:italic}.switcher-cap{color:var(--ink-soft);margin:1rem 0 0;font-size:.98rem;font-style:italic}.blank,.setup,.archive,.edit{flex-direction:column;min-height:calc(100dvh - 5.5rem);display:flex}.home-title{letter-spacing:-.03em;margin:0 0 1.8rem;font-size:2.2rem;font-style:italic;font-weight:500}.home-begin-row{flex-wrap:wrap;align-items:baseline;gap:.85rem 1.1rem;margin-top:1.8rem;display:flex}.home-limit{color:var(--ink-soft);margin:0;font-size:1.02rem;font-style:italic}.home-privacy{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:2.4rem;font-size:.78rem;font-weight:600;display:block}.home-privacy:hover{color:var(--oxblood)}.home-empty{gap:1.1rem;margin-top:2rem;display:grid}.home-empty p{margin:0;font-size:1.4rem;font-style:italic}.home-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.habit-swipe{border:1px solid var(--ink-faint);background:color-mix(in srgb, var(--oxblood) 14%, var(--paper));touch-action:pan-y;position:relative;overflow:hidden}.habit-swipe.is-kept{background:var(--paper)}.habit-swipe-keep{width:4.8rem;color:var(--oxblood);pointer-events:none;place-items:center;padding-left:.35rem;font-size:1.05rem;font-style:italic;display:grid;position:absolute;inset:0 auto 0 0}.habit-card,.archive-item{text-align:left;border:1px solid var(--ink-faint);background:var(--paper);gap:.3rem;width:100%;padding:1.2rem 1.25rem 1.3rem;display:grid;position:relative}.habit-swipe .habit-card{touch-action:pan-y;will-change:transform;border:0}.habit-card.is-settling{transition:transform .18s}@media (prefers-reduced-motion:reduce){.habit-card.is-settling{transition:none}}.habit-card,.archive-item{--progress:0;overflow:hidden}.habit-card:before,.archive-item:before{content:"";width:calc((100% - .7rem) * var(--progress));background:color-mix(in srgb, var(--oxblood) 18%, var(--paper));pointer-events:none;z-index:0;position:absolute;top:.35rem;bottom:.35rem;left:.35rem}.habit-card>*,.archive-item>*{z-index:1;position:relative}.habit-card:after,.archive-item:after{content:"";border:1px solid color-mix(in srgb, var(--ink) 10%, var(--paper));pointer-events:none;z-index:2;position:absolute;inset:.35rem}.habit-card:hover:after,.archive-item:hover:after{border-color:color-mix(in srgb, var(--oxblood) 38%, var(--paper))}.home-list strong{font-size:1.55rem;font-style:italic;font-weight:500}.home-meta,.home-share{color:var(--ink-soft);font-size:1rem;font-style:italic}.home-share{color:var(--oxblood)}.blank{text-align:center;justify-content:center;gap:1.4rem;padding-bottom:3rem;position:relative}.blank p,.lede{margin:0;font-size:1.55rem;font-style:italic}.primary-text{color:var(--oxblood);font-size:1.2rem;font-style:italic}.setup-title{margin:0 0 1.6rem;font-size:1.7rem;font-style:italic;font-weight:500}.name-input,.edit input[type=text],.hour-select{border:0;border-bottom:1px solid var(--ink-faint);background:0 0;border-radius:0;width:100%;padding:.35rem 0 .5rem;font-size:1.55rem;font-style:italic}.name-input::placeholder{color:var(--ink-faint);font-style:italic}.aims{gap:.35rem;margin:1.75rem 0 2rem;display:grid}.aim{text-align:left;border-bottom:1px solid #0000;gap:.1rem;width:100%;padding:.55rem 0;display:grid}.aim.is-selected{border-bottom-color:var(--oxblood)}.aim-name{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:600}.aim-days{color:var(--ink-soft);font-size:1.15rem;font-style:italic}.aim.is-selected .aim-days{color:var(--oxblood)}.continue-percent{color:var(--oxblood);margin:0;font-size:1.12rem;font-style:italic}.setup-continue{color:var(--oxblood);align-self:flex-start;margin-top:auto;font-size:1.2rem;font-style:italic}.setup-continue:disabled{color:var(--ink-faint);cursor:default}.vow{gap:1rem;margin:0 0 1.4rem;display:grid}.vow p{margin:0;font-size:1.18rem;font-style:italic;line-height:1.45}.vow-meta{color:var(--ink-soft);margin:0 0 1.6rem;font-size:.95rem;font-style:italic}.vow-label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:600}.signature{margin-bottom:1.8rem;font-size:1.85rem}.vow-signature-read{font-size:1.35rem}.archive-list{gap:1.35rem;margin:0;padding:0;list-style:none;display:grid}.archive-item{gap:.2rem}.archive-item strong{font-size:1.45rem;font-style:italic;font-weight:500}.archive-meta,.muted{color:var(--ink-soft);margin:0;font-size:.98rem;font-style:italic}.outcome{letter-spacing:.16em;text-transform:uppercase;color:var(--oxblood);font-size:.72rem}.outcome.spaced{margin-top:.6rem}.edit h2,.archive h1,.detail-title{margin:0 0 1.5rem;font-size:1.8rem;font-style:italic;font-weight:500}.field{gap:.45rem;margin-bottom:1.6rem;display:grid}.field label,.aim-static span{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:600}.aim-static p{margin:.2rem 0 0;font-size:1.2rem;font-style:italic}.note{color:var(--ink-soft);margin:0 0 1rem;font-size:1.02rem;font-style:italic}.danger{color:var(--oxblood);margin-top:2.4rem;font-size:1.15rem;font-style:italic}.dialog-backdrop{z-index:40;padding:max(1.25rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:color-mix(in srgb, var(--ink) 42%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--paper);width:min(100%,22rem);color:var(--ink);border:1px solid var(--ink-faint);box-shadow:0 18px 50px color-mix(in srgb, var(--ink) 22%, transparent);padding:1.6rem 1.45rem 1.5rem}.dialog-title{margin:0 0 .75rem;font-size:1.55rem;font-style:italic;font-weight:500}.dialog-body{color:var(--ink-soft);margin:0;font-size:1.08rem;font-style:italic;line-height:1.4}.dialog-actions{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.6rem;display:flex}.dialog-confirm{margin-top:0}.empty-archive{color:var(--ink-soft);margin-top:2rem;font-size:1.15rem;font-style:italic}.privacy,.archive,.edit{flex-direction:column;min-height:calc(100dvh - 5.5rem);display:flex}.privacy h1{margin:0 0 1.5rem;font-size:1.8rem;font-style:italic;font-weight:500}.privacy-body{gap:1rem;display:grid}.privacy-body p{color:var(--ink-soft);margin:0;font-size:1.12rem;font-style:italic;line-height:1.45}.privacy-body a{color:var(--oxblood)}.sign-in-page{flex-direction:column;gap:.85rem;display:flex}.sign-in-brand{letter-spacing:-.02em;margin:.35rem 0 0;font-size:clamp(2.4rem,10vw,3.1rem);font-style:italic;font-weight:500;line-height:1.05}.sign-in-lede{color:var(--ink-soft);margin:0 0 .5rem;font-size:1.15rem;font-style:italic}.sign-in-clerk{width:100%;margin-top:.5rem}.sign-in-note{color:var(--ink-soft);margin:1.25rem 0 0;font-size:.98rem;font-style:italic}.sign-in-page code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;font-style:normal}@media (width>=720px){.page{min-height:min(52rem,100dvh - 3.5rem);margin:.5rem 0;box-shadow:0 18px 50px #3b32261f}}
