@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#25221e;--paper:#fffdf7;--cream:#f5f1e8;--mono-muted:#766e65;--lime:#e8ff70;--purple:#6c48ff;--pink:#ff8dc7;--yellow:#fff4a8;--pos:#3d9b63;--neg:#d24f35;--bg-top:#ebe8e1;--bg-bottom:#dfe4e8;--shell-shadow-accent:#6c48ff2e;--sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono Variable", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:linear-gradient(165deg, var(--bg-top) 0%, #e6eae5 48%, var(--bg-bottom) 100%);margin:0;font-size:15px;line-height:1.45}button,input{font:inherit;color:var(--ink)}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:3px}h1,h2,h3{letter-spacing:-.05em;margin:0;line-height:1.05}.eyebrow{color:var(--mono-muted);letter-spacing:.09em;text-transform:uppercase;font-family:var(--mono);margin:0;font-size:.63rem;font-weight:700}.muted{color:#5d554f}.small{font-size:.8rem}.app{place-items:center;min-height:100svh;padding:clamp(1rem,3vw,2.5rem);display:grid}.shell-card{background:var(--paper);border:3px solid var(--ink);width:min(100%,56rem);box-shadow:.65rem .65rem var(--ink), 1.1rem 1.1rem var(--shell-shadow-accent);border-radius:1.8rem;padding:clamp(1.4rem,2.5vw,2rem) clamp(1.5rem,3vw,2.35rem);position:relative}.main{min-height:24rem;padding:.35rem .15rem .5rem}.app-header{border-bottom:2px solid #25221e1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem;padding:.2rem .15rem 1.35rem;display:flex}.title-lockup{align-items:center;gap:.75rem;display:flex}.spark-mark{background:var(--pink);border:2px solid var(--ink);width:2.65rem;height:2.65rem;box-shadow:3px 3px var(--ink);border-radius:50% 42% 54% 46%;flex:none;place-items:center;font-size:1.2rem;display:grid;transform:rotate(-7deg)}.brand-title{letter-spacing:-.075em;margin-top:.05rem;font-size:clamp(1.55rem,6vw,1.9rem);font-weight:790}.nav-pills{gap:.4rem;display:flex}.nav-item{background:var(--paper);border:2px solid var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;box-shadow:2px 2px var(--ink);border-radius:999px;padding:.42rem .85rem;font-size:.63rem;font-weight:750;transition:transform .13s,background .15s,box-shadow .13s}.nav-item:hover{background:var(--lime);box-shadow:3px 3px var(--ink);transform:translate(-1px,-1px)}.nav-item.on{background:var(--ink);color:var(--paper)}.shell-footer{border-top:2px solid #25221e1f;justify-content:flex-end;align-items:center;gap:.42rem;margin-top:1.75rem;padding:1.25rem .25rem .1rem;display:flex}.shell-footer strong{font-size:.8rem;font-family:var(--mono)}.page{width:100%}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:1.75rem;padding-bottom:.25rem;display:flex}.page-title{letter-spacing:-.065em;margin-top:.2rem;font-size:clamp(1.55rem,4vw,2.05rem);font-weight:780}.section-title{margin:2rem 0 .75rem!important}.empty{text-align:center;background:var(--cream);color:#5d554f;border:2px dashed #aaa098;border-radius:1.35rem;padding:clamp(2.5rem,6vw,3.75rem) clamp(1.25rem,4vw,2.5rem);font-weight:570}.empty-goals{margin-top:.5rem}.empty-mark{background:var(--paper);border:2.5px solid var(--ink);width:3.25rem;height:3.25rem;box-shadow:3px 3px var(--ink);border-radius:50% 42% 54% 46%;place-items:center;margin:0 auto 1rem;font-size:1.35rem;display:grid;transform:rotate(-6deg)}.empty-title{letter-spacing:-.05em;color:var(--ink);margin:0 0 .55rem;font-size:clamp(1.2rem,4vw,1.45rem);font-weight:760}.empty-body{max-width:26rem;margin:0 auto;font-size:.92rem;line-height:1.55}.empty .big-button{margin-top:1.25rem}.big-button{background:var(--ink);width:100%;color:var(--paper);border:3px solid var(--ink);letter-spacing:-.02em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.95rem 1.25rem;font-size:.92rem;font-weight:760;transition:transform .13s,box-shadow .13s,background .18s;display:flex;box-shadow:0 5px #8c73ff}.big-button:hover:not(:disabled){background:var(--purple);transform:translateY(-2px)}.big-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #8c73ff}.big-button:disabled{cursor:not-allowed;opacity:.56}.big-button.slim{width:auto;padding:.55rem 1.1rem;font-size:.78rem}.big-button.is-working{animation:.4s steps(2,end) infinite shuffle}.text-button{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--mono-muted);cursor:pointer;background:0 0;border:none;padding:.4rem .2rem;font-size:.68rem;font-weight:750}.text-button:hover{color:var(--ink);-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-decoration-thickness:1px}.text-button.danger:hover{color:var(--neg)}.text-button.back{margin-bottom:.6rem}.input,.input-lg{background:var(--paper);border:2px solid var(--ink);width:100%;box-shadow:2px 2px var(--ink);border-radius:.85rem;outline:none;margin-bottom:.5rem;padding:.65rem .8rem;transition:box-shadow .13s,transform .13s}.input:focus,.input-lg:focus{box-shadow:3px 3px var(--ink);transform:translate(-1px,-1px)}.input-lg{letter-spacing:-.05em;border-width:3px;border-radius:1.1rem;padding:.85rem 1rem;font-size:clamp(1.15rem,5vw,1.45rem);font-weight:720}.input-lg::placeholder,.input::placeholder{color:#25221e57}.field-label{margin:.7rem 0 .4rem;display:block}.today-meta{flex-wrap:wrap;gap:.45rem;display:flex}.streak-pill,.done-pill{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--ink);box-shadow:2px 2px var(--ink);white-space:nowrap;border-radius:999px;padding:.4rem .7rem;font-size:.63rem;font-weight:750}.streak-pill{background:var(--yellow)}.done-pill{background:var(--lime)}.focus-list{flex-direction:column;gap:.95rem;display:flex}.focus-card{border:3px solid var(--ink);border-radius:1.25rem;align-items:center;gap:.85rem;padding:1rem 1.1rem;transition:transform .18s,box-shadow .18s;display:flex}.focus-card:nth-child(odd){transform:rotate(-.6deg)}.focus-card:nth-child(2n){transform:rotate(.6deg)}.focus-card:hover{transform:translateY(-3px)rotate(0)}.focus-body{cursor:pointer;min-width:0}.focus-step{letter-spacing:-.04em;font-size:1.05rem;font-weight:720}.focus-context{color:#25221e99;margin-top:.3rem!important}.check{border:2.5px solid var(--ink);background:var(--paper);cursor:pointer;width:1.7rem;height:1.7rem;box-shadow:2px 2px var(--ink);border-radius:.55rem;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;line-height:1;transition:transform .1s,background .15s;display:flex}.check:hover{transform:rotate(-6deg)scale(1.06)}.check:active{transform:scale(.88)}.steps{margin:0 0 .3rem;padding:0;list-style:none}.step{align-items:center;gap:.7rem;padding:.42rem 0;display:flex}.step.done .step-title{color:#76685c;-webkit-text-decoration:line-through #25221e66;text-decoration:line-through #25221e66;text-decoration-thickness:2px}.step-title{flex:1;font-weight:570}.step-title.is-next{font-weight:760}.next-tag{font-style:normal;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--lime);border:1.5px solid var(--ink);border-radius:999px;margin-left:.5rem;padding:.12rem .4rem;font-size:.55rem;font-weight:800;display:inline-block;transform:rotate(-2deg)}.step-delete{color:#0000;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1}.step:hover .step-delete,.plan-step:hover .step-delete{color:var(--mono-muted)}.step-delete:hover{color:var(--neg)!important}.goal-grid{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1.15rem;display:grid}.goal-card{text-align:left;border:3px solid var(--ink);cursor:pointer;border-radius:1.3rem;padding:1.35rem 1.4rem;transition:transform .18s,box-shadow .18s}.goal-grid .goal-card:nth-child(odd){transform:rotate(-1deg)}.goal-grid .goal-card:nth-child(2n){transform:rotate(1deg)}.goal-card:hover{transform:translateY(-3px)rotate(0)}.goal-card h3{letter-spacing:-.05em;margin:.65rem 0 .35rem;font-size:1.2rem;font-weight:760}.card-meta{color:#25221e99!important}.goal-next{margin:.55rem 0 0;font-size:.8rem;font-weight:620}.goal-card.achieved{background:var(--cream);opacity:.85;box-shadow:4px 4px #aaa098}.achieved-mark{font-size:1.5rem;font-weight:800;line-height:1}.arc-wrap{position:relative}.arc-label{text-align:center;font-family:var(--mono);font-size:.72rem;font-weight:780;position:absolute;bottom:0;left:0;right:0}.goal-hero{border:3px solid var(--ink);border-radius:1.4rem;justify-content:space-between;align-items:center;gap:1.2rem;margin-bottom:1.3rem;padding:1.2rem 1.3rem;display:flex;transform:rotate(-.4deg)}.goal-why{color:#25221ecc;margin:.45rem 0;font-style:italic;font-weight:570}.goal-hero .card-meta{margin-top:.35rem!important}.banner{background:var(--lime);border:3px solid var(--ink);box-shadow:4px 4px var(--ink);border-radius:1.2rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem;padding:.85rem 1.1rem;font-weight:720;display:flex}.milestone{margin-bottom:1.3rem}.milestone-head{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.milestone-num{border:2px solid var(--ink);width:1.6rem;height:1.6rem;font-family:var(--mono);border-radius:50% 42% 54% 46%;flex:none;place-items:center;font-size:.72rem;font-weight:800;display:grid;transform:rotate(-5deg)}.milestone-head h2{letter-spacing:-.04em;flex:1;font-size:1.05rem;font-weight:760}.danger-zone{border-top:2px dotted #25221e47;margin-top:2rem;padding-top:.8rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;display:grid}.stat-card{border:3px solid var(--ink);border-radius:1.2rem;padding:.95rem 1rem}.stat-card.s-pink{background:#ffd9ea;transform:rotate(-.8deg);box-shadow:4px 4px #ff78b9}.stat-card.s-purple{background:#d8d0ff;transform:rotate(.8deg);box-shadow:4px 4px #8c73ff}.stat-card.s-yellow{background:var(--yellow);transform:rotate(-.6deg);box-shadow:4px 4px #e3c93f}.stat-card.s-mint{background:#c9f2dd;transform:rotate(.6deg);box-shadow:4px 4px #4fc98e}.stat-value{letter-spacing:-.06em;font-size:2rem;font-weight:800;line-height:1.05;font-family:var(--mono)}.stat-card .eyebrow{color:#25221e99;margin-top:.15rem}.stat-sub{color:#25221eb3;margin-top:.3rem;font-size:.72rem;font-weight:620}.stat-sub.pos{color:var(--pos)}.stat-sub.neg{color:var(--neg)}.consistency-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.consistency-head .section-title{margin-bottom:.35rem!important}.range-pills{flex-shrink:0}.heatmap{background:var(--cream);border:2px dashed #aaa098;border-radius:1rem;gap:3px;margin-top:.6rem;padding:.7rem;display:flex;overflow-x:auto}.heatmap-col{flex-direction:column;gap:3px;display:flex}.heatmap-cell{background:#fffdf7;border:1.5px solid #25221e2b;border-radius:.22rem;width:.8rem;height:.8rem}.heatmap-cell.future{background:0 0;border-color:#0000}.heatmap-cell.l1{background:#f1ffb0;border-color:#25221e55}.heatmap-cell.l2{background:var(--lime);border-color:var(--ink)}.heatmap-cell.l3{border-color:var(--ink);background:#b6e62e}.trajectory-list{flex-direction:column;gap:1rem;display:flex}.trajectory-head{justify-content:space-between;margin-bottom:.35rem;display:flex}.trajectory-title{letter-spacing:-.03em;font-weight:720}.bar{background:var(--paper);border:2px solid var(--ink);border-radius:999px;height:.85rem;overflow:hidden}.bar-fill{height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.trajectory-meta{margin-top:.3rem!important}.overlay{z-index:10;background:#fffdf7f0;justify-content:center;align-items:center;padding:1.2rem;display:flex;position:fixed;inset:0}.composer{background:var(--paper);border:3px solid var(--ink);width:min(100%,31rem);max-height:88vh;box-shadow:.65rem .65rem var(--ink), 1.1rem 1.1rem #ff8dc752;border-radius:1.8rem;padding:1.6rem;overflow-y:auto}.composer-title{letter-spacing:-.06em;margin:.2rem 0 .9rem;font-size:clamp(1.3rem,6vw,1.7rem);font-weight:780}.example-chips{flex-wrap:wrap;gap:.4rem;margin:.2rem 0 .6rem;display:flex}.chip{background:var(--cream);border:2px solid var(--ink);cursor:pointer;box-shadow:2px 2px var(--ink);border-radius:999px;padding:.32rem .7rem;font-size:.72rem;font-weight:650;transition:transform .13s,background .15s}.chip:hover{background:var(--lime);transform:translate(-1px,-1px)rotate(-1deg)}.composer-row{flex-wrap:wrap;gap:1rem;display:flex}.composer-row>div{flex:1;min-width:9rem}.swatches{gap:.45rem;padding-top:.2rem;display:flex}.swatch{border:2px solid var(--ink);cursor:pointer;border-radius:50% 42% 54% 46%;width:1.55rem;height:1.55rem;transition:transform .12s}.swatch.on{outline:2.5px solid var(--ink);outline-offset:2px;transform:scale(1.18)rotate(-8deg)}.swatch:hover{transform:scale(1.1)}.composer .big-button{margin-top:1.1rem}.composer .text-button{margin:.5rem auto 0;display:block}.wisdom{background:var(--yellow);border:3px solid var(--ink);border-radius:1.1rem;margin-bottom:1rem;padding:.8rem .95rem;font-size:.85rem;font-weight:620;box-shadow:inset 0 -5px #ff8dc773}.wisdom .eyebrow{margin-bottom:.3rem}.plan-preview{flex-direction:column;gap:.9rem;display:flex}.plan-milestone{background:var(--cream);border:2px dashed #aaa098;border-radius:1.1rem;padding:.75rem .85rem}.plan-ms-label{color:var(--ink)!important;margin-bottom:.4rem!important}.plan-step{align-items:center;gap:.55rem;padding:.18rem 0;display:flex}.plan-dot{border:1.5px solid var(--ink);border-radius:50% 42% 54% 46%;flex:none;width:.6rem;height:.6rem}.plan-input{background:0 0;border:none;border-bottom:1.5px solid #0000;outline:none;flex:1;min-width:0;padding:.15rem 0;font-size:.85rem;font-weight:570}.plan-input:focus{border-bottom-color:var(--ink)}.add-step{margin:.15rem 0 0!important;padding-left:0!important}.edit-hint{margin:.8rem 0 0}.onboarding{text-align:center}.onboarding-dots{justify-content:center;gap:.4rem;margin-bottom:1.1rem;display:flex}.onboarding-dot{background:#25221e2b;border-radius:999px;width:1.4rem;height:.3rem;transition:background .2s}.onboarding-dot.on{background:var(--ink)}.onboarding-mark{border:2.5px solid var(--ink);width:3.4rem;height:3.4rem;box-shadow:3px 3px var(--ink);border-radius:50% 42% 54% 46%;place-items:center;margin:0 auto .8rem;font-size:1.4rem;font-weight:800;display:grid;transform:rotate(-7deg)}.onboarding .composer-title{margin:.3rem 0 .5rem}.onboarding-body{color:#5d554f;max-width:24rem;margin:0 auto;font-size:.88rem;font-weight:570;line-height:1.5}.onboarding-demo{background:var(--cream);text-align:left;border:2px dashed #aaa098;border-radius:1rem;margin:1rem 0 .2rem;padding:.7rem .9rem}.onboarding-demo p{font-family:var(--mono);margin:.15rem 0;font-size:.72rem;font-weight:650}@keyframes shuffle{50%{transform:translate(4px)}}@media (width<=560px){.app{align-items:start;padding:.75rem}.shell-card{box-shadow:.4rem .4rem var(--ink), .7rem .7rem var(--shell-shadow-accent);border-radius:1.45rem;padding:1.1rem 1rem}.main{min-height:18rem}.page-header{margin-bottom:1.35rem}.goal-hero{flex-direction:column-reverse;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
