:root{--bg:var(--lightningcss-light,#eef2fb)var(--lightningcss-dark,#0a1230);--sheet:var(--lightningcss-light,#fbfcff)var(--lightningcss-dark,#0e1a42);--grid:var(--lightningcss-light,#14286e17)var(--lightningcss-dark,#8aa4ff1a);--text:var(--lightningcss-light,#0e1736)var(--lightningcss-dark,#eef3ff);--muted:var(--lightningcss-light,#4a5784)var(--lightningcss-dark,#a9b6dc);--star:var(--lightningcss-light,#2d46b8)var(--lightningcss-dark,#8aa4ff);--flare:var(--lightningcss-light,#c42f17)var(--lightningcss-dark,#ff7a5c);--on-flare:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0a1230);--border:var(--lightningcss-light,#7584ad)var(--lightningcss-dark,#6f80b3);--hair:var(--lightningcss-light,#cdd5ea)var(--lightningcss-dark,#1f2c5c);--atlas:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--ease:cubic-bezier(.19, 1, .22, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--border) transparent}body{color:var(--text);font-variant-numeric:tabular-nums;background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:-1px -1px;background-size:56px 56px,56px 56px;min-height:100dvh;margin:0;font:1rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}::selection{background:var(--star);color:var(--bg)}a{color:var(--star);text-underline-offset:.2em}h1{font:italic 400 2.4rem/1.05 var(--atlas);letter-spacing:-.01em;text-wrap:balance;margin:.6rem 0 .2rem}h2{font:italic 400 1.35rem/1.2 var(--atlas);margin:2rem 0 .5rem}p{text-wrap:pretty;max-width:65ch}.muted{color:var(--muted)}.coords{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8125rem}.error{color:var(--flare);font-weight:600}:focus-visible{outline:3px solid var(--flare);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:-999px}.skip-link:focus{background:var(--sheet);color:var(--text);z-index:10;padding:.5rem .75rem;top:1rem;left:1rem}.site-header{justify-content:space-between;align-items:center;max-width:36rem;margin:0 auto;padding:.4rem 1rem .4rem 1.25rem;display:flex}.brand{font:italic 400 1.15rem var(--atlas)}.theme-toggle{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;min-width:44px;min-height:44px;display:grid}.page{max-width:36rem;margin:0 auto;padding:.5rem 0 7rem;position:relative}.page>h1,.page>p,.page>form,.page>section,.page>.button,.page>.actions{margin-left:1.25rem;margin-right:1.25rem}.page>.button{margin-top:1rem}.tabbar{background:var(--sheet);border-top:1px solid var(--hair);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{text-align:center;max-width:12rem;min-height:52px;color:var(--muted);flex:1;padding:.95rem .5rem .85rem;font-weight:600;text-decoration:none;position:relative}.tabbar a.active{color:var(--text)}.tabbar a.active:before{content:"";border:2px solid var(--flare);border-radius:50%;width:9px;height:9px;margin-left:-4.5px;position:absolute;top:.3rem;left:50%}.habit-list{background:var(--sheet);border-block:1px solid var(--hair);margin:1.25rem 0;padding:0;list-style:none}.habit-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.25rem .9rem;padding:.9rem 1.25rem;display:grid}.habit-row+.habit-row{border-top:1px solid var(--hair)}.habit-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.habit-name{overflow-wrap:anywhere;color:var(--text);font-size:1.05rem;font-weight:650;text-decoration:none}a.habit-name:hover{text-decoration:underline}.habit-meta{color:var(--muted);font-size:.875rem}.is-skipped .habit-name{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}.check{border:2px solid var(--flare);color:#0000;cursor:pointer;width:48px;height:48px;transition:background .25s var(--ease), border-color .25s var(--ease);background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.check .tick{stroke-dasharray:1;stroke-dashoffset:1px}.is-done .check{background:var(--text);border-color:var(--text);color:var(--bg)}.is-done .check .tick{stroke-dashoffset:0}.is-skipped .check{border-color:var(--border)}@media (hover:hover){.check:hover{background:color-mix(in srgb, var(--flare) 18%, transparent)}.is-done .check:hover{background:var(--text)}}.plate{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 70%, transparent);border-radius:2px;grid-column:1/-1;margin-top:.5rem}.constellation{width:100%;max-width:420px;height:auto;margin:0 auto;display:block}.constellation .ticks{stroke:var(--border);stroke-width:1px;fill:none}.constellation .ghost{fill:none;stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4;stroke-linejoin:round}.constellation .link{stroke:var(--star);stroke-width:1.8px;stroke-linecap:round}.constellation .star.lit{fill:var(--text)}.constellation .halo{fill:none;stroke:var(--star);stroke-width:1px}.constellation .star.due{fill:var(--bg);stroke:var(--border);stroke-width:1.5px}.constellation .star.off{fill:var(--border);opacity:.5}.constellation .skip-mark{stroke:var(--muted);stroke-width:2px;stroke-linecap:round;fill:none}.constellation .today-ring{fill:none;stroke:var(--flare);stroke-width:1.8px}.constellation .label{fill:var(--muted);letter-spacing:.04em;font-size:10px}.constellation .label.now{fill:var(--text);font-weight:700}.constellation.met .link{stroke-width:2.6px}.constellation.met .star.lit{fill:var(--star)}.button{background:var(--text);color:var(--bg);border:2px solid var(--text);font:inherit;cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;min-height:48px;padding:.6rem 1.2rem;font-weight:650;text-decoration:none;display:inline-flex}.button.secondary{color:var(--text);border-color:var(--border);background:0 0}.link-button{color:var(--star);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;min-height:44px;padding:.35rem 0;font-size:.9rem;text-decoration:underline}.link-button.danger{color:var(--flare);margin-top:1.5rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;margin-bottom:1rem;display:flex}.field{border:0;min-width:0;margin:1.25rem 0;padding:0}.field>label:not(.inline),legend{margin-bottom:.35rem;padding:0;font-weight:650;display:block}input[type=text],input:not([type]),input[type=number],input[type=time]{width:100%;font:inherit;border:2px solid var(--border);background:var(--sheet);color:var(--text);min-height:48px;caret-color:var(--flare);border-radius:.6rem;padding:.6rem .75rem}input::placeholder{color:var(--muted);opacity:1}input[type=checkbox]{accent-color:var(--star);width:1.25rem;height:1.25rem}.field>label.inline,.inline{align-items:center;gap:.6rem;min-height:44px;font-weight:500;display:flex}.day-picker{flex-wrap:wrap;gap:.35rem;display:flex}.day-chip{position:relative}.day-chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.day-chip span{border:2px solid var(--border);background:var(--sheet);border-radius:.6rem;place-items:center;min-width:46px;min-height:46px;padding:0 .5rem;font-weight:650;display:grid}.day-chip input:checked+span{background:var(--text);border-color:var(--text);color:var(--bg)}.day-chip input:focus-visible+span{outline:3px solid var(--flare);outline-offset:2px}section{max-width:36rem}[role=status]{font-weight:600}@media (prefers-reduced-motion:no-preference){.constellation .link.fresh{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .5s var(--ease) 50ms forwards}.constellation .star.fresh,.constellation .halo.fresh{transform-box:fill-box;transform-origin:50%;animation:light .5s var(--ease) both}.is-done .check .tick{animation:draw .35s var(--ease) both}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes light{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}}.habit-row>.habit-text:only-child{grid-column:1/-1}.segmented{border:2px solid var(--border);border-radius:.6rem;margin:1rem 1.25rem 0;display:inline-flex;overflow:hidden}.segmented button{font:inherit;background:var(--sheet);min-height:44px;color:var(--text);cursor:pointer;border:0;padding:0 1.1rem;font-weight:650}.segmented button+button{border-left:2px solid var(--border)}.segmented button[aria-pressed=true]{background:var(--text);color:var(--bg)}.history-item{padding:.9rem 1.25rem 1rem}.history-item+.history-item{border-top:1px solid var(--hair)}.history-item .habit-name{margin:0;font-size:1.05rem}.history-item .plate{margin-top:.6rem}.constellation .star.part{fill:var(--muted)}.constellation.history .link{stroke-width:1.8px}.legend{margin:0 1.25rem;font-size:.875rem}.header-controls a.theme-toggle{text-decoration:none}.header-controls{align-items:center;display:flex}.header-controls a.theme-toggle[aria-current=page]{outline:2px solid var(--border);outline-offset:-4px}.prose{padding:0 1.25rem}.prose h1{margin-left:0}.prose ol,.prose ul{max-width:65ch;padding-left:1.4rem}.prose li{margin:.5rem 0;padding-left:.2rem}.prose section{margin:0}.prose section h2{margin-top:1.75rem}
