*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html{font-size:62.5%}:root{--bg: #1c1b19;--side: #141312;--line: #2a2826;--line2: #34312e;--nav: #24221f;--sel: #262421;--field: #161513;--ink: #f3efe8;--soft: #cfc9c0;--m2: #a39d94;--mute: #8f897f;--ph: #7a746c;--box: #6a655e;--accent: #ee6c4d;--on-accent: #1c1b19;--danger: #e5776a;--color-oxide: #c94b22;--color-spruce: #2f6b56;--color-cobalt: #2c5f8a;--color-ochre: #c4892a;--color-plum: #7a4568;--color-slate: #4a5563;--serif: "Gloock", Georgia, serif;--sans: "Instrument Sans", Helvetica, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;color-scheme:dark}:root[data-theme=light]{--bg: #f7f3ec;--side: #eee8de;--line: #e0d8cb;--line2: #d2c9bb;--nav: #e3dbce;--sel: #ece5d8;--field: #fffdf9;--ink: #1f1c18;--soft: #3d3934;--m2: #6b645b;--mute: #736c63;--ph: #9a9389;--box: #a79f93;--danger: #9b2c2c;color-scheme:light}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:1.5rem;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::placeholder{color:var(--ph)}kbd{font:500 1.1rem var(--mono);border:1px solid var(--line2);border-radius:4px;padding:.2rem .6rem;color:var(--soft)}.boot{min-height:100vh;display:grid;place-items:center;color:var(--mute);letter-spacing:.08em;text-transform:uppercase;font-size:1.2rem}.shell{min-height:100vh;display:grid;grid-template-columns:216px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"side top" "side main"}.sidebar{grid-area:side;align-self:start;padding:3.2rem 2rem 2.8rem;display:flex;flex-direction:column;gap:3.6rem;background:var(--side);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow-y:auto}.sideTop{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.sideMenu,.sideFoot{display:contents}.menuToggle,.menuTheme,.planToggle,.planAddBtn{display:none}.brand{display:flex;align-items:center;gap:1rem;padding:0 .8rem}.brandMark{width:20px;height:20px;border-radius:50%;background:var(--accent);display:grid;place-items:center;flex:none}.brandMark span{width:7px;height:7px;border-radius:50%;background:var(--side)}.wordmark{font-family:var(--serif);font-size:2.3rem;letter-spacing:.02em;line-height:1}.nav,.sideGoals{display:flex;flex-direction:column;gap:.2rem;font-size:1.4rem}.nav a{padding:.8rem;border-radius:4px;color:var(--m2)}.nav a:hover{color:var(--ink)}.nav a.active{background:var(--nav);color:var(--ink)}.sideGoals{color:var(--soft)}.sideGoals a{padding:.6rem .8rem;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sideGoals a:hover,.sideGoals a.active{color:var(--ink);background:var(--nav)}.label,.legendTitle,.form label>span:first-child{font-size:1.1rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--m2)}.sideGoals .label{padding:0 .8rem .8rem}.who{margin-top:auto;padding:0 .8rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;font-size:1.3rem;color:var(--m2);overflow-wrap:anywhere}.textBtn{background:none;border:0;padding:0;cursor:pointer;color:var(--m2)}.textBtn:hover{color:var(--ink)}.main{grid-area:main;min-width:0;padding:2rem 5.6rem 2.6rem;display:flex;flex-direction:column;gap:2rem}.topbar{grid-area:top;display:flex;justify-content:flex-end;padding:2.4rem 5.6rem 0}.themeToggle{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:6px;font-size:1.2rem}.themeToggle button{border:0;background:transparent;color:var(--mute);padding:.5rem 1.2rem;border-radius:4px;cursor:pointer}.themeToggle button[aria-pressed=true]{background:var(--nav);color:var(--ink)}.dateline{display:flex;align-items:baseline;justify-content:space-between;gap:1.6rem;margin-bottom:2.8rem}.dateline h1,.sectionTitle h2{margin:0;font-family:var(--serif);font-weight:400;font-size:2.8rem;letter-spacing:.01em;line-height:1.1;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:9px;text-decoration-skip-ink:none}.subhead{margin:0 0 1.6rem;font-size:1.6rem;font-weight:600}.home{flex:1;display:flex;flex-direction:column;gap:3.6rem;outline:0}.homeReview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);column-gap:4rem;row-gap:1.8rem;margin:0 -1.2rem;padding:0 1.2rem 3.6rem;border-bottom:1px solid var(--line)}.homeReview[data-collapsed]{display:block;padding-bottom:2.4rem}.reviewReopen{color:var(--m2);text-decoration:underline;text-underline-offset:3px}.reviewDone:hover .reviewReopen{color:var(--ink)}.homePlan{display:flex;flex-direction:column;gap:1.8rem;min-width:0}.sectionHead{display:flex;justify-content:space-between;align-items:baseline;gap:1.6rem}.sectionTitle{display:flex;align-items:baseline;gap:1.6rem}.dayStamp{font:500 1.2rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--m2)}.sectionCount{font-size:1.3rem;color:var(--m2)}.checkList{display:flex;flex-direction:column;margin:0 -1.2rem;border-top:1px solid var(--line)}.checkList>.empty{padding:1.6rem 1.2rem;margin:0;border-bottom:1px solid var(--line)}.empty a{color:var(--ink);box-shadow:inset 0 -1px 0 var(--accent)}.checkRow{display:flex;align-items:center;gap:1.2rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);cursor:pointer}.checkRow:hover,.planTask:hover{background:color-mix(in srgb,var(--sel) 55%,transparent)}.home:focus-within .checkRow[data-selected=true],.home:focus-within .planTask[data-selected=true]{background:var(--sel)}.checkBox{width:18px;height:18px;border-radius:3px;border:1.5px solid var(--box);color:var(--bg);font-size:1.1rem;font-weight:700;display:grid;place-items:center;flex:none}[aria-checked=true]>.checkBox{background:var(--ink);border-color:var(--ink)}.checkText{flex:1;min-width:0;font-size:1.5rem}[aria-checked=true]>.checkText{color:var(--mute);text-decoration:line-through}.checkGoal{font-size:1.2rem;color:var(--mute);white-space:nowrap}.reviewNotes{display:flex;flex-direction:column;gap:1.2rem;min-width:0}.notesField{flex:1;min-height:9rem;resize:none;border:1px solid var(--line2);border-radius:4px;background:var(--field);padding:1.2rem 1.4rem;font-size:1.5rem;line-height:1.5;outline:0}.notesField[data-active=true]{border-color:var(--accent)}.reviewActions{display:flex;align-items:center;justify-content:flex-end;min-height:42px}.accentBtn,.solidBtn{display:inline-flex;align-items:center;gap:1rem;border:0;border-radius:4px;background:var(--accent);color:var(--on-accent);font-size:1.4rem;font-weight:600;padding:1.1rem 1.8rem;cursor:pointer}.accentBtn:focus-visible,.solidBtn:focus-visible,.reviewDone:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btnKeys{font-size:1.2rem;opacity:.6}.reviewDone{display:flex;align-items:center;gap:.8rem;border:0;background:none;padding:0;font-size:1.4rem;color:var(--soft);cursor:pointer}.accentMark{color:var(--accent)}.planGoal{display:flex;flex-direction:column;gap:.2rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line)}.planGoal[data-active=true]{background:var(--sel)}.planGoalHead{display:flex;align-items:baseline;gap:1.2rem;cursor:pointer}.planKey{font:500 1.1rem var(--mono);color:var(--mute);width:10px;flex:none}.planGoal[data-active=true] .planKey{color:var(--accent)}.planName{font-size:1.5rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;flex:none}.planMeasure{font-size:1.3rem;color:var(--mute);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planTasks{display:flex;flex-direction:column;padding-left:2.2rem}.planTask{display:flex;align-items:center;gap:1rem;padding:.5rem .8rem;margin:0 -.8rem;border-radius:3px;cursor:pointer}.taskDelete{display:grid;place-items:center;flex:none;border:0;background:none;padding:.2rem;color:var(--mute);cursor:pointer;opacity:0}.planTask:hover .taskDelete,.home:focus-within .planTask[data-selected=true] .taskDelete{opacity:1}.taskDelete:hover{color:var(--danger)}.planTask .checkBox{width:16px;height:16px;font-size:1rem}.planInputRow{display:flex;align-items:center;gap:1rem}.planInput{flex:1;min-width:0;border:0;border-bottom:1.5px solid var(--accent);outline:0;background:transparent;font-size:1.5rem;padding:.6rem 0;margin-top:.2rem}.keys{margin-top:auto;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:.8rem 2rem;font-size:1.2rem;color:var(--mute)}.keys span{display:flex;align-items:center;gap:.6rem}.goalGrid{display:flex;flex-direction:column;border-top:1px solid var(--line)}.goalRow{display:grid;grid-template-columns:1rem 1fr auto;gap:1.2rem;align-items:center;padding:1.2rem;border-bottom:1px solid var(--line)}.goalRow:hover{background:var(--sel)}.goalRow b{font-weight:500}.pip{width:.9rem;height:.9rem;border-radius:50%;flex-shrink:0}.statusMark{font:500 1.1rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.muted{color:var(--mute)}.empty{padding:2.4rem 0;color:var(--mute)}.milestones{display:flex;flex-direction:column;gap:1.2rem;max-width:64rem;margin-bottom:4rem}.milestoneList{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.milestone{display:flex;align-items:center;gap:1.2rem;min-height:5.2rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.milestone[data-done=true] .checkBox{background:var(--ink);border-color:var(--ink)}.milestone[data-done=true] .milestoneText{color:var(--mute);text-decoration:line-through}.milestoneCheck{padding:0;background:transparent;cursor:pointer}.milestoneCheck:hover{border-color:var(--accent)}.milestone[data-open=true] .milestoneText{font-weight:500}.milestoneText{flex:1;min-width:0}.milestoneDate{font:500 1.1rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);white-space:nowrap}.milestone .accentBtn{padding:.8rem 1.4rem}.milestoneAdd{display:flex;gap:.8rem}.milestoneAdd .field{flex:1;min-width:0}.milestones .hint{margin:0}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:2.4rem;overflow:hidden;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:celebrationFade .25s ease-out}.confetti span{position:absolute;top:-4vh;left:var(--x);width:var(--w);height:var(--h);opacity:0;animation:confettiFall var(--fall) cubic-bezier(.25,.4,.45,1) var(--delay) forwards}.celebrationCard{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.2rem;width:min(52rem,100%);padding:4.8rem 3.2rem 3.6rem;text-align:center;background:var(--side);border:1px solid var(--line2);border-radius:12px;box-shadow:0 30px 80px #00000059;animation:celebrationPop .6s cubic-bezier(.2,1.4,.4,1) both}.celebrationBurst{width:7.2rem;height:7.2rem;margin-bottom:.8rem;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:3.4rem;font-weight:700;animation:celebrationRing 1.2s ease-out .2s both}.celebrationGoal{margin:0;font:500 1.2rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--m2)}.celebrationCard h1{margin:0;font-family:var(--serif);font-weight:400;font-size:4.4rem;line-height:1.1}.celebrationText{margin:0 0 2rem;font-size:1.8rem;color:var(--soft)}@keyframes celebrationFade{0%{opacity:0}}@keyframes celebrationPop{0%{opacity:0;transform:scale(.7) translateY(2rem)}}@keyframes celebrationRing{0%{transform:scale(.4);box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent)}45%{transform:scale(1.12)}70%{transform:scale(1)}to{box-shadow:0 0 0 4rem transparent}}@keyframes confettiFall{0%{opacity:1;transform:translate(0) rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--drift),110vh) rotate(var(--spin))}}@media (prefers-reduced-motion: reduce){.confetti{display:none}.celebration,.celebrationCard,.celebrationBurst{animation:none}}.history{display:flex;flex-direction:column;gap:3.6rem}.history .dateline{margin-bottom:0}.historyDay{display:flex;flex-direction:column;gap:1.2rem}.historyDay .sectionTitle h2.dayStamp{margin:0;font:500 1.2rem var(--mono);letter-spacing:.08em;text-decoration:none}.history{outline:0}.history:focus-within .checkRow[data-selected=true]{background:var(--sel)}.historyNotes{margin:0;padding-left:1.4rem;border-left:2px solid var(--accent);color:var(--soft);white-space:pre-wrap}.historyMore{display:flex;justify-content:center}.form{display:flex;flex-direction:column;gap:1.8rem;max-width:64rem}.form label{display:flex;flex-direction:column;gap:.6rem}.hint{margin:-1rem 0 0;color:var(--mute);font-size:1.3rem}.field,.select,.area{border:1px solid var(--line2);border-radius:4px;background:var(--field);padding:1rem 1.2rem;outline:0}.area{resize:vertical;min-height:8rem;line-height:1.5}.field:focus,.select:focus,.area:focus{border-color:var(--accent)}.field:disabled{color:var(--mute)}.ghostBtn,.dangerBtn{border:1px solid var(--line2);border-radius:4px;background:transparent;color:var(--soft);font-size:1.4rem;padding:1rem 1.6rem;cursor:pointer}.ghostBtn:hover{border-color:var(--m2);color:var(--ink)}.dangerBtn{border-color:var(--danger);color:var(--danger)}.ghostBtn:disabled,.solidBtn:disabled,.accentBtn:disabled{opacity:.45;cursor:not-allowed}.colorRow,.statusRow,.formActions{display:flex;flex-wrap:wrap;gap:.8rem}.colorSwatch{width:2.4rem;height:2.4rem;border-radius:50%;border:2px solid transparent;outline:2px solid transparent;cursor:pointer}.colorSwatch[data-selected=true]{border-color:var(--bg);outline-color:var(--ink)}.form .statusRow label{flex-direction:row;align-items:center;gap:.5rem;font-size:1.5rem;accent-color:var(--accent)}.form .formActions{margin-top:.6rem}.form>div>.legendTitle{display:block;margin-bottom:.8rem}.shareLink{margin:2rem 0 0;overflow-wrap:anywhere}.shareLink a,.userList a{box-shadow:inset 0 -1px 0 var(--accent)}.userList{list-style:none;padding:0;margin:3.2rem 0 0;border-top:1px solid var(--line)}.userList li{display:flex;flex-wrap:wrap;align-items:baseline;gap:1.2rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.auth{min-height:100vh;display:grid;place-items:center;padding:2.4rem}.authCard{width:min(42rem,100%);background:var(--side);border:1px solid var(--line);border-radius:12px;padding:3.2rem}.authCard h1{font-family:var(--serif);font-weight:400;font-size:3.2rem;margin:0 0 .6rem}.authCard p{margin:0 0 2.4rem;color:var(--mute)}.authCard form{display:flex;flex-direction:column;gap:1.6rem}.authCard label{display:flex;flex-direction:column;gap:.6rem}.authCard .solidBtn{justify-content:center}.error{color:var(--danger);margin:0}.switchAuth{margin-top:1.6rem;color:var(--mute)}@keyframes menuIn{0%{opacity:0}}@keyframes menuItemIn{0%{opacity:0;transform:translateY(-8px)}}@media (max-width: 900px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"side" "main"}.topbar{display:none}.sidebar{position:relative;z-index:2;top:auto;align-self:stretch;height:auto;overflow:visible;padding:0;gap:0;border-right:0;border-bottom:1px solid var(--line)}.sideTop{padding:1rem 1.2rem 1rem 2rem}.brand{padding:0;gap:.9rem}.brandMark{width:18px;height:18px}.brandMark span{width:6px;height:6px}.wordmark{font-size:2.1rem}.menuToggle{display:flex;align-items:center;justify-content:center;gap:.8rem;min-width:44px;min-height:44px;padding:0 1rem;border:0;background:none;font-size:1.4rem;color:var(--soft);cursor:pointer}.burger{display:flex;flex-direction:column;gap:4px;width:18px}.burger span{display:block;height:1.5px;background:currentColor;transition:transform .2s ease,opacity .15s ease}.menuToggle[aria-expanded=true] .burger span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.menuToggle[aria-expanded=true] .burger span:nth-child(2){opacity:0}.menuToggle[aria-expanded=true] .burger span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.sideMenu{display:none}.sidebar[data-open=true]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;height:100dvh;overflow-y:auto;border-bottom:0}body:has(.sidebar[data-open=true]){overflow:hidden}.sidebar[data-open=true] .sideMenu{flex:1;display:flex;flex-direction:column;gap:2.8rem;padding:.8rem 2rem 2.4rem;border-top:1px solid var(--line);animation:menuIn .22s ease-out}.sidebar[data-open=true] .sideMenu>*{animation:menuItemIn .3s ease-out backwards}.sidebar[data-open=true] .sideGoals{animation-delay:.05s}.sidebar[data-open=true] .sideFoot{margin-top:auto;animation-delay:.1s}@media (prefers-reduced-motion: reduce){.burger span,.sidebar[data-open=true] .sideMenu,.sidebar[data-open=true] .sideMenu>*{transition:none;animation:none}}.nav{font-size:1.6rem;margin:0 -.8rem}.nav a{min-height:44px;display:flex;align-items:center;padding:0 .8rem}.sideGoals{font-size:1.5rem;margin:0 -.8rem}.sideGoals .label{padding:0 .8rem .6rem}.sideGoals a{padding:.7rem .8rem}.sideFoot{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.who{margin:0;min-width:0;padding:0}.menuTheme{display:flex;align-items:center;flex:none;min-height:40px;padding:0 1.4rem;border:1px solid var(--line2);border-radius:6px;background:none;font-size:1.3rem;color:var(--soft);cursor:pointer}.main{padding:2.8rem 2rem 3.2rem}.homeReview{grid-template-columns:minmax(0,1fr)}.homeReview>span:empty{display:none}.keys{display:none}}@media (max-width: 640px){.dateline h1,.home .sectionTitle h2{font-size:2.6rem;line-height:1.15;text-underline-offset:8px}.home .sectionHead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem 1.2rem;align-items:baseline}.home .sectionTitle{display:contents}.home .sectionTitle h2{grid-column:1 / -1}.homeReview{margin:0 -2rem;padding:0 2rem 3.2rem;row-gap:1.6rem}.homeReview[data-collapsed] .reviewDone{grid-column:1 / -1;justify-content:center;min-height:50px;border:1px solid var(--line2);border-radius:6px;font-size:1.5rem}.checkList{margin:0 -2rem}.checkList>.empty{padding:1.6rem 2rem}.checkRow{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:1.4rem;row-gap:.2rem;align-items:center;min-height:56px;padding:.9rem 2rem}.checkRow .checkBox{grid-row:span 2;width:22px;height:22px;border-radius:4px;font-size:1.3rem}.checkRow .checkText{font-size:1.6rem;line-height:1.3}.checkGoal{grid-column:2;white-space:normal}.notesField,.field,.area,.select{font-size:1.6rem}.reviewActions .accentBtn{flex:1;justify-content:center;min-height:50px;border-radius:6px;font-size:1.6rem}.btnKeys{display:none}.planGoal{padding:.6rem 2rem 1rem;gap:0}.planGoalHead{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.2rem;row-gap:.2rem;align-items:center;min-height:44px}.planKey{display:none}.planName{font-size:1.6rem;white-space:normal}.planMeasure{grid-column:1}.planToggle{display:grid;place-items:center;grid-column:2;grid-row:1 / span 2;width:32px;height:32px;padding:0;border:1px solid var(--accent);border-radius:50%;background:none;color:var(--accent);font-size:2.2rem;font-weight:300;line-height:1;cursor:pointer}.planGoalHead:not(:has(.planMeasure)) .planToggle{grid-row:1}.planGoal[data-active=true] .planToggle{border-color:var(--line2);color:var(--ink)}.planTasks{padding-left:0}.planTask{min-height:44px;gap:1.2rem}.planTask .checkBox{width:20px;height:20px;border-radius:4px;font-size:1.2rem}.planTask .checkText{font-size:1.6rem}.taskDelete{padding:1rem;margin-right:-1rem}.planInputRow{margin-top:.4rem}.planInput{min-height:44px;margin-top:0;padding:0;font-size:1.6rem}.planAddBtn{display:flex;align-items:center;min-height:40px;padding:0 1.6rem;border:0;border-radius:6px;background:var(--accent);color:var(--on-accent);font-size:1.4rem;font-weight:600;cursor:pointer}}@media (hover: none){.checkRow:hover,.planTask:hover{background:none}.home:focus-within .checkRow[data-selected=true],.home:focus-within .planTask[data-selected=true],.history:focus-within .checkRow[data-selected=true]{background:none}.taskDelete{opacity:1}}
